// ==UserScript== // @name Google Cleaner // @description Hide (toggle) top bar (All, Videos, News...) and adds quick filtering to the left sidebar. // @version 3.5 // @include http://www.google.*/search* // @include http://www.google.*/webhp* // @include http://www.google.*/images* // @include http://www.google.*/imghp* // @include https://www.google.*/search* // @include https://www.google.*/webhp* // @include https://encrypted.google.com/search* // @grant GM_addStyle // @namespace https://greasyfork.org/users/153157 // @downloadURL none // ==/UserScript== var head = document.getElementsByTagName('head')[0]; function init() { toggleNavBar(); toggleFiltersBar(); addLinks(); cleanGoogle(); } var isBarVisible = false; var hideNavBarStyle = dom(""); function toggleNavBar() { if (isBarVisible) { head.removeChild(hideNavBarStyle); } else { head.appendChild(hideNavBarStyle); } isBarVisible = !isBarVisible; } var isFiltersBarVisible = false; var hideFiltersBarStyle = dom(""); function toggleFiltersBar() { if (isFiltersBarVisible) { head.removeChild(hideFiltersBarStyle); } else { head.appendChild(hideFiltersBarStyle); } isFiltersBarVisible = !isFiltersBarVisible; } function addLinks() { var parent = document.getElementById('rcnt'); createLink("
Toggle topbar
", toggleNavBar, parent); createLink("
Past year
", showPastYearPosts, parent); createLink("
+
", toggleFiltersBar, parent); var filtersBar = createLink("
", null, parent); createLink("
Past year
", showPastYearPosts, filtersBar); createLink("
Any time
", showAnyTimePosts, filtersBar); createLink("
Past hour
", showPastHourPosts, filtersBar); createLink("
Past 24 hours
", showPast24HoursPosts, filtersBar); createLink("
Past week
", showPastWeekPosts, filtersBar); createLink("
Past month
", showPastMonthPosts, filtersBar); createLink("
Custom range
", showCustomRangePosts, filtersBar); } function showPastYearPosts() { doLink("qdr_y"); } function showAnyTimePosts() { doLink("qdr_"); } function showPastHourPosts() { doLink("qdr_h"); } function showPast24HoursPosts() { doLink("qdr_d"); } function showPastWeekPosts() { doLink("qdr_w"); } function showPastMonthPosts() { doLink("qdr_m"); } function showCustomRangePosts() { toggleNavBar(); document.getElementById("cdr_opt").children[1].click(); } function doLink(linkId) { document.getElementById(linkId).firstChild.click(); } function createLink(nodeString, onclick, parent) { if (!parent) return null; var link = dom(nodeString); link.addEventListener("click", onclick, false); parent.appendChild(link); return link; } function dom(nodeString) { var div = document.createElement('div'); div.innerHTML = nodeString; return div.firstChild; } function cleanGoogle() { GM_addStyle_from_string(` #sfcnt { margin-bottom: -15px; } .r { height: 26px; } .LC20lb { position: relative; top: -49px; } .g { margin-top: 46px; } .xA33Gc { display: none; } .TbwUpd { margin-left: 1px; } .rpCHfe { color: green } `); } function GM_addStyle_from_string(str) { var node = document.createElement('style'); node.innerHTML = str; document.body.appendChild(node); } init();