Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save realAzazello/10907d99bf342365630b1f1db969897b to your computer and use it in GitHub Desktop.
Save realAzazello/10907d99bf342365630b1f1db969897b to your computer and use it in GitHub Desktop.
[Userscript] Adds icons next to Google's search bar, each let you search the query terms from other sites.
// ==UserScript==
// @name Search YouTube and More From Within Google
// @namespace lednerg
// @author lednerg
// @license MIT
// @description Adds icons next to Google's search bar which let you search from other sites.
// @version 2023.7.08
// @include /https?:\/\/(www\.)?google\.(com|(?:com?\.)?\w\w)\/.*/
// @run-at document-end
// @supportURL https://pastebin.com/D1PnSq6M
// @attribution changes [d:07.08.23][u:<ul><li>realAzazello modified... For Gmaps, Google modified query string to '?output=search&'
// @attribution changes [d:06.01.23][u:<ul><li>realAzazello modified... reordered 'newButtonsList'</li></ul>]
// @attribution changes [d:04.26.23][u:<ul><li>realAzazello modified... custom 'newButtonsList'; removed direct favicon urls, replaced with base64</li></ul>]
// @attribution changes [d:04.24.23][u:<ul><li>realAzazello added... @grant @homepage @downloadURL</li></ul>]
// @attribution https://github.com/lednerg
// @grant none
// @homepage https://github.com/darkred/Userscripts/issues/55#issuecomment-1504731677
// @downloadURL https://pastebin.com/raw/JqjSbqgY
// ==/UserScript==
/* I am not providing any kind of help or support for this script at this time.
* I've tested it for a week in Chrome and Firefox and it seems to be fine, but your mileage may vary.
* If it stopped working, then Google probably changed something about their website some time after this was written.
* EDIT April 22 2023: No longer using GM_AddStyle, which I hear doesn't work for Greasemonkey anymore. Also added a background for
* the button container for whenever Google does their "Google doodle" things. The search form on the Google homepage is now centered. */
/* You can change the buttons as you like below. The only caveat is that the search terms need to be the very last part of the URL.
* The domains are separate from the rest so that when there's no search query entered, the buttons will point to the domains.
* I'm using favicons, which maybe isn't the best idea, but I don't feel like embedding images. That would work, though. */
const newButtonsList = [
/* [0] = Title, [1] = Domain, [2] = Search URL, [3] = Image URL */
[ 'GSearch CLEAN', 'https://www.google.com/', 'search?q=', 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADmUlEQVR4Ab1XA5AjQRQ9G6UrnV0627Zt27Zt27Zt27Z9FyeXiZN3v1NzW9vTmd3J6lW9cKbf6690EmlFIBDIQGzr9/vXE+8RjUSPTIP82Xq6pg27VvPCGoTz08KbiE5oBF3rIG6ge/PGWBhAGlpkAdEHzRCMeInzyEjqcHedj258gbgBM/KU1syjVbwo3aBHCPh+foe0YyMsw/vC0KI2dDVLQ1ejFAzNasI8tDekLWvh+/5VzYQOQGENOxfFfb9+wDplNHTVS0JXrUTUpGusk0aye0Ka4CPBi6cNFXbn2RPQ16vIi2igvn4luC6dVUuHWBOs4KCAtGtzOKICbXOnqKVjbqhW8yl2rrqwqUcb2Nctg/P4QThPHKLXy2Hq2ZYXXzgTCARUu4NLBetzZbHp61YQhI3tG8N9/zbU4L53C4bW9fF3+XwtnbH+f79nVA4Z++IBgri5fxcEbDZEh4Bk19qaEkUhPQt/W24Bxwd4z6SEdVSOCHHWcn6LCXEN0m7Fwr+ec/ZpJrznkwcpLcsEfZ3icJ4+hvgAaa9hBu5x+X9Qk4lH0H0wJ+D1xpeB28yAEZHgvZqFM+B71gZRoeoMu2ZeeuEVBhMz4OEMXEjJGfC/nxBnBnbc8CgNuBPUwKYr7pAGDFGm4GnrODOw97YQAZ1YhA9rcQa+Xy0Ij9+LcPFR5xcMXHnlFYtQbMPZEeLHTuRE+d2NcfjDeYSL3bc8goFfloDYhuwMxw+iT3CcT42Zh4uh+O5mQdY83BUGpxla8dcZQPPFEifeeY0j1CBqGTxskhPu20W3pjJhju3PjIDFHf0o9viAUbucwu73iPmXAKT7/2O0AZHw065Dxf3tBBP1j/bC1R/3oYa35s/odmQ3CVo5cRYNh1sI/9rIP8d5/X6+0k59vioLi2x+ciAWPNyEvW9PYd+701jxdAe6nx+HErubB78vtXkUqsz5FmHg2mufUtxDmrmVB5J5UGDb6yOCuFaW2NEZFRfeFXpfNjBL7Rj+DAqc+XKd0tE+bAOl9rTEuqdHQok/BpBK7VyYRz69cvgl6THu5iKU3NNck3ivixPxyvQhlPhvALmi+0NSmDfBF+eWV4fQ//JU1DnSA6X3tmQ7pTbthh4XJgRr4bXpI2QI4rTBQurKYiSeIo7Awi7sXIOJ1Oz0SvTGQthDnKWW83CisZ4ohSEsEdfKrRY3YAdIYis2v4m3iTqiW6ZO/mwNG6/yhNOEf6HhfzYhUKeuAAAAAElFTkSuQmCC'],
[ 'GMaps', 'https://maps.google.com/', '?output=search&q=', 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADTklEQVR4AcWUY7AbURxHb23btruoEdYKatt4rG3b5ia1bdu2oyKeF93e7Uw69yHZF/bMnM/nN/+9s8B3YIpCEarahSK+9ywUoZ5QKFI1o2CUaniByG8NK02GaUGoKD7yV/aCkeo5yM8FI1UwocWiNV95040q5AzxZGPeoMYLRKilKKLCg7hFozW2htOMkD/D5FbHn26UByWOAsOQLk/xwlEqWG+K4V8clzfDNCag+PlWHftUHf7c6SleCElP/s3GPDvTOMivuJZHltMIKPPrJjwTb/C1JAdUH/+LjXBpEU3TlwG+ohHQu9EAyPpJVN/Vue8BiMcrjtFxxt3WW7Vju09xlZgugcJONu5WJaDh2G4r/8aLx7Av3jxFMMPIE041VRFMN0WgkCGpeP1lh20kI3UQ2yQFQHJBweF4HHe3bPDVmlN/EyAB/OnWYoIZpm94vOHCW5DcJXeiAZBQSCJ9GbAnyQFi0mKam78n8IBgprmtO9547htI7ewGUdztVl8GXEsUF5Iu67qcZjgZpASegDAFiv/izdJAettgPA4pRnrJlwEPEg4wzcsPbWdSvQcc8Gfq39fePMHJRnEJRvo0+QOE5Ek8ro8tAe1nUrPa4XmQHXig8eRf2eusX6jHw/5eYLM7/qtvOWg/ncY9ADrOpFoBPFB7a/RCPIpL7JIqfLgAPYyN6+RVHbaj6dgwrgs5AV0i9b9PrwSpVhyuvASFnF4GDE/+X1BUo6C2CaGP25MRDyf0FbrGGvvZ1Hufncipq81IrHgwoTTTrizwBcu2bPvZEJea05lgM2WLOG9xUiE7BXwl7mTa8igQ5y1uPpMW9trLYyNepZTyRsAf7KdTT/Y2YPx+mjNOMJLtwF/gMZAOhV4kFV9/qCJnnFRIPxM7O+UGgWA7naYGClrw+KljRSHFEUfaCaW8PggG6LV3cccfn8gN6yja2Tm/u0IyBgQT9B4WfTuZ2d5Q0fY39+llxwEEKUAwYX88zZXN9nM/OumXGkp5HhAKauyQFEMRvZcBjpq7ZA1AKCF3Sbp5GTAOhAP2z5bE6R/g3z2kUIyESjigJiNrCcIJxUhPYAPugXCDvwV0/ggQbmpt75IVxa1IRx2lvBD4HxCMTM5eAgTAH+U/98Xb8bmuAAAAAElFTkSuQmCC'],
[ 'HN via GS', 'https://www.google.com/', 'search?q=site:news.ycombinator.com+-intitle:hiring ', 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgBAMAAACBVGfHAAAAJ1BMVEX/ZgD/ZgD/ZAD/dS//ilb/////bRn/WgD/2sz/5tz/y7j/s5X///6IkwITAAAAAXRSTlP89O1mUQAAAIxJREFUeAFjYBREAQIMgmiAagJCSiBSSREuoGwMZAsZG8EFVEKdBAXVgARMQLx1uqBgVUQhwgzTEEWh1GC4GUDZyELxpcvhtoD1q4UmIQmIL51eFVWIJCCkGpIapIjs0uqIpdtRnC5+NKYIVWBrdCGq51TDFVEEhETDBakvIHMcLUzVC6kaL2gAIzkAAMrMNT10p2L6AAAAAElFTkSuQmCC'],
[ 'The Movie Database', 'https://www.themoviedb.org/', 'search?query=', 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAACZ0lEQVR4AeyUA9AcQRCFX8/t7Sm2bdu2k1KKscqxbacc2yqnzNi2betu3T+29rett+ia17sz35CGj5+CsiWLFb10/8WkT9//jFM0vQYzJGSCiGB4ZfeLciWL7GrXsMa2z99//aaZi1YUOXXu7qo3n39MUDRDZkamigjwypJWpWyJHYM7NZ5HrQeNnPXg5cdlIdXwECFLxAz4PJLaoHr5RVS5/bCHH779rodsUIVSRR9R6ZYDte+/g24iZKmYgZJF/TqVajGQf/wJIjsAShTxowCgACDnArDFEC4BSZYAAgCyfUSLnRfIDgnkWNcA0wSESB1A5Tpl0bhLfRStUBImSdBYQGcXdDvGKMeIEDBYRHsmoH76DO3yeVgvn6UMgC1G3RaVMWRCV/hKFYVqucIfCSq7Ih/NsqPKUmROc3wn2l70g3D/+09oR/eCH9wGiBIDsE1/IRkjZ/ZG5QaVEDJEzEZsGJaccjwALR6AsHMkQ3/6BNbOTUDwP0CUMIBlMarWLo1x8/tB+P12g2kGcHICWsQ/QQW8ZR3w+hkgROIA1eqUiQQgrw8qpw/AbtxlA4RU8NZ1wMuniQMwMwoX82Hs3H4oU70sQmYGTsGb17C2rgf+/k58CgAbomXXOug/piOEzw8lvdMACWpQgXbyEPjK2aQXoSMhCPXbVEfT7g0RKFMcBkl2pc6Qxngcz9mKWsytagLq1x9QL5yBeec6YFmpO4hknxvegBcQBGYCOzkQ2InseAnkLQYH/4NVBSCRtqM4bP8JNBIZCTcCB3ddMOqAUQcMeLN8wDsmA981KwN2TjcPYOd0wLvnAIAYmb1vl5o/AAAAAElFTkSuQmCC'],
[ 'Wikipedia', 'https://en.wikipedia.org/w/index.php?title=Special:Search&', 'search=', 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAM1BMVEUAAAD+/v41NTUBAQEAAABZWVknJycWFhaZmZmIiIjp6ellZWXMzMzX19eurq54eHhHR0dExXFyAAAAAXRSTlMAQObYZgAAAPtJREFUeAG8kAWOBDAMA9d1Sin+/7XXbpZZdBaURlMrhx28ycGCD/n0bvkBwJf8C+AoIvRAWGtMyHGtCWkfxW+DRopuuIjUtTQJDStevNoXWaRjRSllLd1O8FFhgEZx2BmkAmHC8HwpOUyxSA50VqOjXgAl50URvNWPBRcAnmwnhbcduthqQCO9KYTFBG7eDWoK1T47AZX9DuiUYT/TuhX3MGpnD51kPprSA9Dl+BCKl7jWHHEHmHsLWhNZZMxPQCLTEuy+cYF6D9i8Q5e2Lcyz4AGwKdJbX0p7AegC2qnvxAsAxQRAYH8J6Dg1a/lvpKRJinMW4cxLMPsDAJjSCaG8cPmnAAAAAElFTkSuQmCC'],
[ 'HotPads', 'https://www.google.com/', 'search?q=site:hotpads.com ', 'data:image/png;base64,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'],
[ 'Github _Issues_ via GS', 'https://www.google.com/', 'search?q=site:github.com+intitle:Issue ', 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAM1BMVEX///+6u711eHtaXWFMUFQkKS7j5OQwNTrx8fKRk5bV1tc+Q0esrrDIycqDhomeoaNna24OVeM5AAAA/ElEQVR4AX3T0a6EIAwE0AEY2oLr3v//2iumIaC650UfJkw1BZMQUyZzigEPShQOEhUXJlyIYaaZN1kxVOEDqXAqfCQ6nZ9j46TFRDL7fDxswNbIdBDKBgQeDIciPHwAqJcWBVBHSaQHVoVdBCD0ilVgJ+NFcaGNXUC8HeA2djsSO8Udu4TsVXeJhwx27TVA8IQHjR3a7xka0ttXBB9y9+fLCLsH+X3+DQxjGQwLGyuBSFrIZNs/cJ9vI70BKKRUzeRYkD8OxU+TUuQsPFU6em8mI9Rsg6PL09JWTNal9bWPZrYGpN4uzhLIipldA4aLsovAicSCOy0jrBj+Adb8C4ZUKU58AAAAAElFTkSuQmCC'],
[ 'YouTube', 'https://www.youtube.com/', 'results?search_query=', 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH2wYeAy4af4jdTwAAAGxQTFRF////AAAARGasZonIZonJf0oMnXATosXjuZJHupJH1a5u1a9u1q9u2Pv92Pz+7hwA7xwA7x0A76n/9eaq9uaq9uer/yIS/yMS/yMT/1VP/5ma/5ub/7Ky/7q6/87P/9HS/9nZ/9rZ//Dv////FMdPwgAAAAF0Uk5TAEDm2GYAAAABYktHRCMqYmw6AAAAgUlEQVQY02XOSRKCQBBE0SoccKTEgexWEfXf/44uGAzDv8p4qzQ2C4qSKQM/Oj+w85K1z3G8h5NXZ8erP1hWA1x8z8pnbL3o4Td7SklTzcsESEoMZOP8gsg0ZGjVvrsBEhlxhRE0gJRMIreQH9x1o5Mpoo6IiKjrONQy03gkSZJ9ADD8GMoQXQkSAAAAAElFTkSuQmCC'],
[ 'Userscripts [GreasyFork]', 'https://www.google.com/', 'search?q=site:greasyfork.org/en/scripts+-inurl:code|feedback|stats|versions ', 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABXElEQVQ4jZWTParCQBSFz+CgFoYkGCJoITKVexBclOAC3IKFnWV24A5cgK0QUEwsVEQ0YmEx5xUvb1Dyo+/CbYaZb849914gGwrADMAawDPNdXqmcu6/xXwwGLBerxNAUc5zXwohVgDY7/cZRRGllGWQVeZnAAzDkLVajUqpbyBGiRoOh+x2u2y1WtxsNgay2+0+QRQAzFzX5fF4ZLvdpu/73G63rFQqnEwm3O/3rFarRYAZUodpWZaBNJtNxnHMv1gsFkWAtQTQA4AkSaCUQhiGmE6n6HQ6xqDT6VTUtR7w22dDtSyL1+uVWmuj4HA4sNFo5Cl4mhJe07ZtLpdLBkHA8/lMrTUvlwtd182UgNSIQqcdx+H9fqfWmrfbjY7jUAjxZqIqAwCg53l8PB4G8lKOGe15GUAIQc/zmCQJSXI0GuWO9OqTEtu2OR6PKaXMjPJXSlC2TC/xr3X+AblgI7SP3jS+AAAAAElFTkSuQmCC'],
[ 'Wolfram Alpha', 'https://www.wolframalpha.com/', 'input/?i=', 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABpUlEQVR4AcXXA2weYRzH8Xtn2wvmLdxibOFsb/Fsh7PNsMGs2rbd2EVQu43r/vttUl79HJPPGb/TA83IIBe1nTihOTFw4SkoQAlmOhHgJaTLZysu8B2nMWWQbRvQCOnSgo2D7DcRx/BdJUAEBNV4h5Vd611IgOikwdW1zzI8QSkEyapPQPpoQzDeQobwHt5ohvThrhLgOcQk71UCXIaY5LZKgAMQkxwd68UX4ybEJNcxZ6iLzcE23IMfiiAWaEce/uMWNmOaxugTxCFu3f/1D8hIxvAKZRQ8Mb77gPHwtzFAGCbpD5qEWBsCJGLaUAdOQybEIjmYPVzy2ciCWCRjpLtPsOEVRA/1/kNs/Ah99H+AhwO/4Te4Ond2gzjko8ZoOrbgDjyQD7FIMQJwHzswd6hHOM/kyugmlo61RjwKMcl+lfbAbYhJLqkE+AAxyTOVAO66k7TAb4RgbxGBNv0vpxIgGYIyPMfyPs3ydIhOXJ9j1+IT6iEIVwnwCycxcZBtm9AC6dKI9UMU7xfwy4qe0xdIl+dO9A1noQQFmOJUD/kkdhk5RwcG/iEc5TSHBwAAAABJRU5ErkJggg=='],
[ 'Reddit via GS', 'https://www.google.com/', 'search?q=site:www.reddit.com+-inurl:user|PhillyWiki|news|politics+-intitle:hiring ', 'data:image/jpeg;base64,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'],
[ 'Just Watch', 'https://www.justwatch.com/', 'us/search?q=', 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAD2UlEQVR4AcSWU3skQRSGs/9hbbPHaIaj2Frbtm3btm3btm37Ms+3NdXpScec7EW7qs578J1qHwAl3EepSvV9y1RrsLt01frvyRXeOFLX3u22pdilAGWq1BtMPqZknuQ1kBS3TQrgplEbL04It20fd0joy/9z7PbJKucLRphxYhmH7q2NqFTbq1F475PVh2vrOdzbxuPhLhGX14vo2caMynW8A5E1wAaWAAgU4PFuCU/3+mHFBA4WToMqdYsB4HoqwKNdEo4uFdA43kDfr5sm4Nb2QPRqZ0Xl2l4EuLGRxeFFLJol6VGuRn3P+7VTRLw+YsObo3bc2BaEbm04VKjpBYC4CC3KV/cYTgOYSgAO2/D2qANvjznx4WQILmxwoEodhhQrU3QAp1ewGNXdiLpa9aJyCpQIvCEQSyf4wcLq0LcjSdf+cPTrLFGQwtfARpaq4OYWAcO7mVGLkRfdMF3Aq8NBWDFRBCfqPOP7EYCv56Lw63IcnhyKRq8OEkkNU7gaUIrw8R5f3N4moWNzE+KjjBAlXabx/ToJ+HY+Cj8vxeH3lQT8uZqIRwdiYOb0hQHgPTLcPluAzabD+H4sxvRhUUujSTd+QGc5AgrA44Mx6N5WgiAZcGhFGCLCLPkDuLmZNKLtAnbMYREZmubFmsmyCh7ttWFEDw41GzAyQBcZ4PGhSPTpKKFiLfl9kM2Ev9eSSESScHhlGEJc5rwBzB1qRnSYOtQKgFyEigoe73dhEDEeEWpC7w5Cpm5pIwDEuAJBj1XTnLkDzBhkRphLm+m9qg9QgFdHgjFxoC/CQkwk5LzHc+UIcgNckwGUY+u8kDyoYJNchJunW+Fy6NQypH3g+UE7ZgwVwRhkyP6d5BQ82B9Jc680J5sqBSfWhiMmwpqPItxO9oKdIlXBxuk8fP10mDWMp4fOpM2kAnUR3tsbjY4tRUi+RhxfHY74aGs+VbApnQoIjB+6tDQhLsoAUdLmKMNfl+Opx08OxcJSUBne2szTFNwmjWhsbwvqaZl0KVg6ToSVV0AUFURSgBdHYzCgq5/SEQsGcGENh/G9TWigZzIUYWorPmInHdGJxeP8YCKtuD/pA08PhWFwd19UrVsErTghUqfsgpn2gjcqGX48FYKLm1yoXo9RS7DwALc3szi4kEWTeAPKVk97v35q2mZ0e4cNPduxaukVHcCtTRzuphbh4SUCkmMN9P3G6SIxHIA+HayoovbYGwBqGT7b548lYzlaeMXyS3aTqoCnu+HFtSK6tTJ57e/437A2y+e0gJrl5v/zkwyBiYu2zfIB75gMeNdswDunA949BwAxarAPAl+M+AAAAABJRU5ErkJggg==']
/* [ 'YouTube Music', 'https://music.youtube.com/', 'search?q=', 'https://music.youtube.com/favicon.ico'], */
/* [ 'Thesaurus', 'https://www.thesaurus.com/', 'browse/', 'https://www.thesaurus.com/assets/favicon-tcom-dae75822a91aa45e01d52041b4baf101.png'], */
/* [ 'Bing', 'https://www.bing.com/', 'search?q=', 'https://www.bing.com/favicon.ico'], */
/* [ 'Twitter', 'https://twitter.com/', 'search?q=', 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAABZUlEQVR4AWLQWfWQpmjUAjxo1IJRC2wBpJTDQkVRFIafKBujZrnGjbNd84wHiJNs27btrm3rrFbW1T73m20u/yMsW0cBg6zue5XCYLFQcC41JK0I3PsYaWvC+BkugYFljrbmWPp/H/86FOnhB2hGZbTg/dBhFoEBhsoEAO23Su9+5s/9nA0R/ANtXEgNJTtiAgObfB28gZaKt8Wen2ZarhRgjVL8nagGmetC+IFMb5lgqOtOZAtsLVgjcIhFZqD+RLYj0IFzGCwUcRctc7XgNNcyA7GBhAW+EWvnHK3XCjqDhg3OUpvAEegFTgAdA+nrwnuF4zCw7DSlwqOPscRxUAmtiYqY5NDXImz/6mPprlAP1sDgcjdFLokdCkPGW6Kstmbhtoim2IWNsRsvFXNsjURvBmvgiMROc11S0+BhVvmhFAUDhewrISgbg4/qlyUdeEnl+sBk7SOgfcBSb3jWaKMWjFoAABKespvtvzYlAAAAAElFTkSuQmCC'] */
]
let searchForm = document.querySelector('*[name="q"]');
let searchTerms = searchForm.value;
if (searchForm) {
searchForm.addEventListener('input', function(event) {
searchTerms = event.target.value;
letsRock(true);
});
}
let newButtonsHTML = ''
function makeButtonsHTML() {
newButtonsHTML = '<div class="customSearch">';
for ( var i = 0; i < newButtonsList.length; i++ ) {
newButtonsHTML = newButtonsHTML.concat( '<a title="', newButtonsList[i][0], '" class="customSearchItem" href="', newButtonsList[i][1] );
if (searchTerms) { newButtonsHTML = newButtonsHTML.concat( newButtonsList[i][2], encodeURIComponent(searchTerms) ) }
newButtonsHTML = newButtonsHTML.concat( '" target="_self"><span><img src="', newButtonsList[i][3], '" /></span></a>');
}
newButtonsHTML = newButtonsHTML.concat( '</div>' );
}
function letsRock(update) {
var container = document.querySelector('.customSearch');
if (!update && container ) { return }
makeButtonsHTML();
var insertHere = document.querySelector('button[aria-label="Search"]') || document.querySelector('button[aria-label="Google Search"]') || document.querySelector('div[aria-label="Search by image"]');
/* First one is for most results pages such as All, News, Videos, Books, etc. Second one is for the Images results page. Third one is for Google's home page. */
if (container) { container.remove() }
insertHere.insertAdjacentHTML('afterend', newButtonsHTML);
}
const bodyColor = window.getComputedStyle(document.querySelector('body')).backgroundColor;
const buttonWidth = Math.ceil(newButtonsList.length / 2) * 16;
document.body.appendChild(document.createElement('style')).textContent = `
.customSearch {
position: relative;
left: 10px;
display: flex;
flex-flow: column wrap;
align-items: center;
justify-content: space-around;
gap: 4px;
height: 44px;
width: 0;
padding: 0;
}
.customSearchItem:hover {
filter: drop-shadow(1px 1px 1px #000)
drop-shadow(0px 0px 2px #8b9ba1)
drop-shadow(0px 0px 2px #8b9ba1)
drop-shadow(0px 0px 2px #8b9ba1)
drop-shadow(0px 0px 2px #8b9ba1);
}
.customSearchItem {
display: flex;
height: 18px;
width: 18px;
padding: 1px 5px;
margin: 0px;
}
.customSearchItem svg,
.customSearchItem img,
.customSearchItem > span {
height: 16px;
width: 16px;
}
/* .minidiv = when search box is fixed to the top after scrolling down */
.minidiv .RNNXgb {
margin-top: 10px !important;
height: 32px !important;
}
.minidiv .customSearch {
margin: -6px 0;
}
/* for Google.com home page */
div[aria-label="Search by image"] + .customSearch {
left: 20px;
}
/* centering on home page */
.o3j99.ikrT4e.om7nvf .A8SBwf[jscontroller="cnjECf"] {
position: relative;
left: -`+ buttonWidth +`px;
}
.o3j99.ikrT4e.om7nvf .FPdoLc.lJ9FBc {
position: relative;
left: `+ buttonWidth +`px;
}
/* for Google doodle underneath buttons */
.customSearch:before {
z-index: -1;
position: absolute;
left: 0;
content: "";
background-color: `+ bodyColor +`;
opacity: .8;
width: `+ (buttonWidth * 2) +`px;
height: 55px;
}
.minidiv .customSearch:before {
opacity: 0;
}
`;
letsRock();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment