NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name StackExchange Tweaks // @namespace SET // @description Minor visual tweaks to StackExchange (remove the new sidebar from Q/A pages, for classic look) // @version 1.1.0 // @license MIT // @include https://stackoverflow.com/* // @include https://*.stackoverflow.com/* // @include https://superuser.com/* // @include https://serverfault.com/* // @include https://*.stackexchange.com/* // @include https://askubuntu.com/* // @include https://mathoverflow.net/* // @include https://stackapps.com/* // @run-at document-start // @grant GM_addStyle // ==/UserScript== // ==Options== // Swap the positions of the notifications block and the username/stats block // in the header // // This pushes the user profile off towards the corner, and brings the action // buttons closer to the center // var swapProfileAndButtons = true; // Hide the 2018 sidebar when we are on question pages (reduces visual noise) // var hideSidebarOnQuestionPages = true; // If you don't like things to be 3D when they don't need to be // var noShadows = true; // Lighten the new stats above the question, if you find them distracting // var deemphasiseStats = true; // Ensure we can see which questions we have already viewed in the past // var makeVisitedLinksClearer = true; // ==/Options== if (swapProfileAndButtons) { //var secondaryNav = document.querySelector('.secondary-nav') //secondaryNav.parentNode.insertBefore(secondaryNav, secondaryNav.parentNode.firstChild) var profileElementInner = document.querySelector('.my-profile'); if (profileElementInner) { var profileElementContainer = profileElementInner.parentNode; profileElementContainer.parentNode.appendChild(profileElementContainer); } else { console.warn("Could not find .my-profile element"); } } if (hideSidebarOnQuestionPages) { if (document.location.pathname.match(/^\/(q|questions)\//)) { GM_addStyle('#left-sidebar { display: none; }'); // On some sites this leaves an unnecessary line down the left of the content, which we can remove. // But on some sites, the lines is an all sides, so we don't want to remove it! /* if (document.location.hostname.match(/^(stackoverflow.com|(politics|physics|earthscience).stackexchange.com)$/)) { GM_addStyle('#content { border-left: none; }'); } */ // General purpose solution: do on the left whatever the right is doing. const contentElem = document.querySelector('#content'); if (contentElem) { contentElem.style.borderLeft = getComputedStyle(contentElem)['border-right'] || 'none'; } } } if (noShadows) { // The "Featured on Meta" box on the right, above "Related" and "Hot Network Questions" GM_addStyle('.s-sidebarwidget { box-shadow: none; }'); } if (deemphasiseStats) { // There isn't a clear ID or class for the stats, so I used this monstrosity GM_addStyle('#question-header + .grid.fw-wrap.bb { opacity: 0.5; font-size: 0.9em; }'); } if (makeVisitedLinksClearer) { setTimeout(() => { // Because this needs to work on multiple websites, I opted for a classic dark magenta GM_addStyle('.question-hyperlink:visited, .answer-hyperlink:visited { color: #481691; }'); // I thought it might be a problem that the links in the search results had params which were removed when we visited the page, but apparently that wasn't a problem. /* const links = document.querySelectorAll('a'); for (const link of links) { link.href = link.href.replace(/r=SearchResults/, '').replace(/\?$/, ''); } */ }, 1000); }