NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name Dashgum Modifications // @namespace b3eb33c8741512e49c51ce31d4ec2861 // @include http://*shazbat.tv/* // @include https://*shazbat.tv/* // @version 1.3.12 // @grant unsafeWindow // @updateURL https://openuserjs.org/meta/thebob/Dashgum_Modifications.meta.js // @downloadURL https://openuserjs.org/install/thebob/Dashgum_Modifications.user.js // ==/UserScript== var $jQ = unsafeWindow.jQuery; $jQ("<style type='text/css'> li.mt { margin-top: 10px !important; }</style>").appendTo("head"); $jQ("<style type='text/css'> .notices { margin-left: 10px !important; } </style>").appendTo("head"); $jQ("<style type='text/css'> span.message { white-space: normal !important; }</style>").appendTo("head"); $jQ("<style type='text/css'> ul.dropdown-menu.extended.inbox { width: 340px !important; }</style>").appendTo("head"); $jQ("<style type='text/css'> #motd { left: -175px !important; top: 45px !important; width: 500px !important; height: 15px !important; overflow: hidden !important;}</style>").appendTo("head"); $jQ("<style type='text/css'> .header { height: 65px !important; }</style>").appendTo("head"); $jQ("<style type='text/css'> #search { width: 200px !important; }</style>").appendTo("head"); $jQ("<style type='text/css'> .notify-row { margin-left: -340px !important; }</style>").appendTo("head"); $jQ("<style type='text/css'> ul.top-menu { margin-top: 5px !important; }</style>").appendTo("head"); $jQ("<style type='text/css'> #chat-col { padding: 7px 7px 0px 7px !important; }</style>").appendTo("head"); $jQ("<style type='text/css'> .ds { margin-left: 10px !important; margin-top: 10px !important; width: 250px !important; } </style>").appendTo("head"); $jQ("<style type='text/css'> div#sidebar { width: 270px !important; opacity: 1 !important; } </style>").appendTo("head"); $jQ("<style type='text/css'> .sidebar-closed { margin-left: -60px !important; } </style>").appendTo("head"); $jQ("<style type='text/css'> .sidebar-closed #sidebar { display: none !important; } </style>").appendTo("head"); $jQ("<style type='text/css'> section#container.sidebar-closed { width: 106% !important; } </style>").appendTo("head"); $jQ("<style type='text/css'> .main-chart { float: left !important; padding-left: 20px !important; min-width: 90% !important;} </style>").appendTo("head"); $jQ("<style type='text/css'> .show .play { display: none !important; }</style>").appendTo("head"); $jQ("<style type='text/css'> #rightbar { width: !important; } </style>").appendTo("head"); $jQ("<style type='text/css'> .chatrow { overflow-x: hidden !important; } </style>").appendTo("head"); $jQ("<style type='text/css'> .searchbar-int { margin-left: 55px !important; }</style>").appendTo("head"); $jQ("<style type='text/css'> #middle-content { margin-left: 50px !important; } </style>").appendTo("head"); $jQ("<style type='text/css'> #watermark, span#unseededlist { display: none !important; }</style>").appendTo("head"); $jQ("<style type='text/css'> #unseeded { width: 100% !important; }</style>").appendTo("head"); $jQ("<style type='text/css'> #unseeded button { float: right !important; font-size: 11px !important; padding: 3px 9px !important; }</style>").appendTo("head"); $jQ("<style type='text/css'> ul.sidebar-menu li a { padding: 5px 0 5px 10px !important; }</style>").appendTo("head"); $jQ("<style type='text/css'> span#username { padding-left: 6px; color: #F2F2F2; font-weight: 700; font-size: 14px; }</style>").appendTo("head"); $jQ("<style type='text/css'> a.followed { color: #385380 !important; }</style>").appendTo("head"); var headerlink = $jQ('header.header a.internal'); headerlink.attr("id","headerlink"); var motd = headerlink.children("span"); motd.addClass("hidden-xs"); motd.addClass("visible-sm"); motd.addClass("visible-md"); // reformat notices var notices = $jQ('ul#nav-accordion span').first(); notices.attr("id","notices"); notices.addClass("notices"); // grab username and remove it from it's current position var username = $jQ('h5.centered').first().text(); $jQ("h5.centered").first().text(""); // resize user icon and place username to the right var usericon = $jQ('p.centered a.internal'); usericon.children(0).attr("width","30"); usericon.append('<span id="username">' + username + '</span>'); // hide searchbar ONLY when screenwidth is really narrow var searchbar = $jQ('#top_menu.nav.notify-row.pull-right'); searchbar.removeClass("hidden-md"); searchbar.addClass("visible-md"); searchbar.addClass("visible-sm"); // now update internal searchbar to only show var searchbar = $jQ('section.wrapper div.showback').first(); searchbar.removeClass("visible-md"); searchbar.addClass("searchbar-int"); searchbar.attr("id","searchbar-int"); var nav = $jQ("#nav-accordion"); var chatcol = $jQ('div#rightbar div').first(); chatcol.attr("id","chat-col"); chatcol.removeClass("col-lg-3"); chatcol.addClass("col-sm-3"); var rightcol = $jQ('div#rightbar'); rightcol.appendTo("#nav-accordion"); // Add a filter to show only unseeded torrents on the "My Torrents" page: var target = document.querySelector("div#middle-content"); var tmpMutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver; new tmpMutationObserver(lookForTorrentsPage).observe(target, { childList: true, subtree: true }); function lookForTorrentsPage(){ if ($jQ("div.showback h4").text() == "Torrents"){ var unseedButton = $jQ("div#unseeded button"); if (unseedButton.length === 0) { addUnseededFilter(); } } } function addUnseededFilter(){ $jQ('<div id="unseeded"><button>Unseeded</button></div>').insertAfter( $jQ("div.showback h4") ); var unseedButton = $jQ("div#unseeded button"); $jQ("div#unseeded button").click(function(){ if (unseedButton.text() == "Unseeded"){ $jQ("#torrent-table tr.eprow, table.table.table-striped.table-advance tr").not('.highlight').hide(); unseedButton.text("Show All"); } else { $jQ("#torrent-table tr.eprow, table.table.table-striped.table-advance tr").not('.highlight').show(); unseedButton.text("Unseeded"); } }); } // load unseeded filter if we're landing on the "my torrents" page lookForTorrentsPage(); // fix typo for in /assets/js/common-scripts.js (close => closed): function respView(){ var wSize=$jQ(window).width(); if(wSize<=768){$jQ('#container').addClass('sidebar-closed');$jQ('#sidebar > ul').hide();} if(wSize>768){$jQ('#container').removeClass('sidebar-closed');$jQ('#sidebar > ul').show();} } $jQ(window).on('load',respView); $jQ(window).on('resize',respView); // Changelog: // v1.3.12 - defaulted [annoying] unseeded torrent list (main window) to display:none. "unseeded warning" still shows up under star rank.