Grooveshark Resizeable Queue

Brings back the good old button for manual queue resizing

  1. // ==UserScript==
  2. // @name Grooveshark Resizeable Queue
  3. // @namespace torvin
  4. // @include http://grooveshark.com/*
  5. // @version 1.1
  6. // @require https://code.jquery.com/jquery-2.1.1.min.js
  7. // @description Brings back the good old button for manual queue resizing
  8. // ==/UserScript==
  9. const queueIcon = 'data:image/png;base64,' +
  10. 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACx' +
  11. 'jwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAABp0RVh0' +
  12. 'U29mdHdhcmUAUGFpbnQuTkVUIHYzLjUuMTAw9HKhAAAAfklEQVQ4T7WT0QnAMAhE2/2XygDZyfZC' +
  13. '0g99koC0cBREX85objO7Sp8AUu/dq70xS9RW3ShOALKGEvQIAK6Wy38A1LNidD/oIPQ7L/AcAKdp' +
  14. 'CmWA2vDiFhIHuA80RtkNJ81YWKgMQJuH0yEAJmbbGAC7xFXg/99byBJ28TLgAWfJnAPegGRzAAAA' +
  15. 'AElFTkSuQmCC';
  16.  
  17. var interval = setInterval(function() {
  18. if (!$('#queue-menu-btn').length)
  19. return;
  20. clearInterval(interval);
  21. $('#queue-menu-btn').after(
  22. $('<a>').attr('id', 'queue-size').addClass('btn btn-large btn-l-gray btn-icon-only').css({
  23. 'width': '32px',
  24. 'height': '32px',
  25. 'padding': 0,
  26. }).append(
  27. $('<i>').css({
  28. 'background-image': 'url("' + queueIcon + '")',
  29. 'left': '8px',
  30. 'top': '8px',
  31. 'margin': 0,
  32. }).addClass('icon')
  33. ).click(function() {
  34. var size = $('#main.queue-small').length ? 'm' : 's';
  35. unsafeWindow.GS.trigger("queue:setSize", size, true, true)
  36. })
  37. );
  38. }, 500);