Google Custom Style with Tampermonkey Settings

Customize Google's logos, buttons, icons, and text with Tampermonkey's settings interface

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

// ==UserScript==
// @name         Google Custom Style with Tampermonkey Settings
// @namespace    http://tampermonkey.net/
// @version      0.2
// @description  Customize Google's logos, buttons, icons, and text with Tampermonkey's settings interface
// @author       You
// @match        https://www.google.com/*
// @grant        GM_addStyle
// @grant        GM_registerMenuCommand
// @grant        GM_setValue
// @grant        GM_getValue
// ==/UserScript==

(function() {
    'use strict';

    // Default settings
    let defaultSettings = {
        logoSize: 100,
        logoPosition: 0,
    };

    // Get stored settings or use defaults
    let logoSize = GM_getValue('logoSize', defaultSettings.logoSize);
    let logoPosition = GM_getValue('logoPosition', defaultSettings.logoPosition);

    // Apply initial styles
    function applyStyles() {
        GM_addStyle(`
            img[alt="Google"] {
                width: ${logoSize}px !important;
                transform: translateX(${logoPosition}px) !important;
            }
        `);
    }

    // Function to prompt user for input and save settings
    function openSettings() {
        logoSize = parseInt(prompt('Set logo size (50-300):', logoSize), 10);
        logoPosition = parseInt(prompt('Set logo position (-100 to 100):', logoPosition), 10);

        // Save new settings
        GM_setValue('logoSize', logoSize);
        GM_setValue('logoPosition', logoPosition);

        // Apply new styles
        applyStyles();
    }

    // Register the settings menu command in Tampermonkey
    GM_registerMenuCommand('Customize Google Style', openSettings);

    // Apply the initial styles when the script runs
    applyStyles();
})();