Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save Locussta/71b08f3a280efeabc3544d39791c3ca5 to your computer and use it in GitHub Desktop.

Select an option

Save Locussta/71b08f3a280efeabc3544d39791c3ca5 to your computer and use it in GitHub Desktop.
# My Google Chrome Extensions.md
# Copyright (c) 2019 Evandro Coan
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
  1. https://www.chanhvuong.com/3954/disable-annoying-chrome-media-control-key-extension-to-windows-10-volume-osd/

    1. To disable Chrome’s media control key extension to the Windows 10 volume OSD, follow these steps:
    2. Using Chrome, browse to “chrome://flags/” to access the experimental hidden settings.
    3. Search for the “Hardware Media Key Handling” function.
    4. Disable it by changing the dropdown selection from Default to Disabled.
    5. Click the “Relaunch Now” button on the popup at the bottom.
  2. Tampermonkey

  3. Fix GitHub snippet edit small size

    // ==UserScript==
    // @name         Fix GitHub snippet edit small size
    // @namespace    http://tampermonkey.net/
    // @version      0.1
    // @description  try to take over the world!
    // @author       You
    // @match        https://gist.github.com/evandrocoan/*
    // @require http://code.jquery.com/jquery-3.4.1.min.js
    // ==/UserScript==
    
    (function() {
        'use strict';
        let keepclosing = async () => {
            let viewedbar = $('div[class="CodeMirror cm-s-github-light CodeMirror-wrap"]').not('span[data-donot-process-this-again]');
    
            // console.log('running');
            // console.log(viewedbar);
            if(viewedbar.length)
            {
                viewedbar.css("height", "700px");
                viewedbar.attr('data-donot-process-this-again', true);
            }
            setTimeout(keepclosing, 500);
        }
        setTimeout(keepclosing, 500);
    })();
    
  4. Force GMail Archive button to go to back after clicking on it

    // ==UserScript==
    // @name         Force GMail Archive button to go to back after clicking on it
    // @namespace    *
    // @version      0.1
    // @description  Force GMail Archive button to go to back after clicking on it
    // @author       Evandro Coan
    //
    // @include https://mail.google.com/*
    // @require http://code.jquery.com/jquery-3.4.1.min.js
    // ==/UserScript==
    (function() {
        'use strict';
        let keepclosing = async () => {
            let viewedbar = $('div[data-tooltip="Archive"][tabindex="0"]').not('span[data-donot-process-this-again]');
            // console.log('running');
            // console.log(viewedbar);
            if(viewedbar.length)
            {
                let previousItem = function() {
                    // let viewedbar = $('div[data-tooltip][tabindex="0"][role="button"]').filter(function() {
                    //     return $(this).attr('data-tooltip').match(/.*Back.*/);
                    // });
                    let viewedbar = $('div[data-tooltip="All Mail"]');
                    if(viewedbar.length) {
                        viewedbar.click();
                    }
                    return false;
                };
                viewedbar.on('click', previousItem);
                viewedbar.attr('data-donot-process-this-again', true);
            }
            setTimeout(keepclosing, 500);
        }
        setTimeout(keepclosing, 500);
    
        let keepopening = async () => {
            let expandbutton = $('div[data-tooltip="Show trimmed content"]');
    
            setTimeout(keepopening, 500);
            if( expandbutton.length ) {
                expandbutton.click();
            }
        }
        setTimeout(keepopening, 500);
    })();
  5. Force GMail Archive refresh page every 5 seconds

    // ==UserScript==
    // @name         Force GMail Archive refresh page every 5 seconds
    // @namespace    *
    // @version      0.1
    // @description  This is because on Linux the page some times takes long time to refresh
    // @author       Evandro Coan
    //
    // @include https://mail.google.com/*
    // @require http://code.jquery.com/jquery-3.4.1.min.js
    // ==/UserScript==
    
    (function() {
        'use strict';
        let keepclosing = async () => {
            let viewedbar = $('div[aria-label="Refresh"]');
    
            if(viewedbar.length)
            {
                console.log('Clicking refresh');
                viewedbar.click();
            }
            else {
                console.log(viewedbar);
            }
        }
        setInterval(keepclosing, 5000);
    })();
  6. Remove youtube channels logo and always show all videos

    // ==UserScript==
    // @name         Remove youtube channels logo and always show all videos
    // @namespace    *
    // @version      0.1
    // @description  https://stackoverflow.com/questions/60480918/how-to-simulate-click-in-react-app-using-tampermonkey
    // @author       You
    //
    // @include https://*youtube.com/*
    // @require http://code.jquery.com/jquery-3.4.1.min.js
    // ==/UserScript==
    
    (function() {
        'use strict';
        let showmoreregex = new RegExp("Show \\d+ more"); // expression here
    
        let keepclosing = async () => {
            let menubuttons = $('tp-yt-paper-tab');
    
            if( menubuttons.length ) {
                // console.log("removing running...");
                let videosButton = menubuttons[1];
                let ariaSelected = $(videosButton).attr('aria-selected');
    
                // console.log(`ariaSelected ${ariaSelected}`);
                if( ariaSelected == 'false' ) {
                    menubuttons[1].click();
                }
    
                // delete youtube useless top bar/logo
                let topbar = $('.style-scope.ytd-c4-tabbed-header-renderer');
                if(topbar.length) {
                     topbar.hide();
                }
            }
    
            let showmorebutton = $('tp-yt-paper-item[class="style-scope ytd-guide-entry-renderer"]').filter(function () {
                return showmoreregex.test($(this).text());
            });
    
            // console.log(`showmorebutton ${showmorebutton.text()}`);
            if( showmorebutton.length ) {
                showmorebutton[0].click();
            }
    
            setTimeout(keepclosing, 1000);
        }
        setTimeout(keepclosing, 1000);
    })();
  7. Remove youtube viewed videos

    // ==UserScript==
    // @name         Remove youtube viewed videos
    // @namespace    *
    // @version      0.1
    // @description  https://webapps.stackexchange.com/questions/145612/how-to-stop-the
    // @author       You
    //
    // @include https://*youtube.com/*
    // @require http://code.jquery.com/jquery-3.4.1.min.js
    // ==/UserScript==
    
    (function() {
        'use strict';
        let keepclosing = async () => {
            let viewedbar = $('.style-scope.ytd-thumbnail-overlay-resume-playback-renderer');
            if(viewedbar.length) {
                // console.log("removing running...");
                let parent = viewedbar.closest('.style-scope.ytd-rich-grid-renderer');
                if(parent.length) {
                    // use hide instead of remove to avoid mass flickering of the page
                    parent.hide();
                }
            }
            // console.log("running");
            setTimeout(keepclosing, 500);
        }
        setTimeout(keepclosing, 500);
    })();
  8. Close GitHub Notifications bar

    // ==UserScript==
    // @name         Close GitHub Notifications bar
    // @namespace    *
    // @version      0.1
    // @description  https://github.com/sindresorhus/refined-github/issues/3061
    //               https://gist.github.com/evandrocoan/0e25dd233f3f99352a8147041809ba8d
    //
    // @author       You
    // @include http://*github.com/*
    // @include https://*github.com/*
    // @require http://code.jquery.com/jquery-3.4.1.min.js
    // ==/UserScript==
    
    (function() {
        'use strict';
        clickButton('button[aria-label="Close notification controls"].btn-octicon.js-flash-close');
        deleteElement('.js-sticky.js-sticky-offset-scroll.top-0.gh-header-sticky.is-stuck');
    
        // http://en.enisozgen.com/hide-github-academic-discount-coupon-error/
        deleteElement('.flash.flash-full.js-notice.flash-error');
    
        function deleteElement(selector) {
            let delayed = () => {
                let element = $(String(selector));
                if(element.length) {
                    console.log(`Deleting '${element.text().replace(/\s+/g, ' ').trim()}' button`);
                    element.remove();
                }
                setTimeout(delayed, 2000);
            }
            setTimeout(delayed, 2000);
        }
        function clickButton(selector) {
            let delayed = () => {
                let element = $(String(selector));
                if(element.length) {
                    console.log(`Closing element '${element.html()}' button`);
                    element.click();
                }
                setTimeout(delayed, 2000);
            }
            setTimeout(delayed, 2000);
        }
    })();
  9. Close stackexchange up vote beg bar

    // ==UserScript==
    // @name         Close Stackexchange Up Vote Notifications bar
    // @namespace    *
    // @version      0.1
    // @description  https://meta.stackexchange.com/questions/89045/disable
    // @author       You
    //
    // https://meta.stackexchange.com/questions/81379/can-we-have-a-list-of-all
    // @include https://*askubuntu.com/*
    // @include https://*mathoverflow.net/*
    // @include https://*blogoverflow.com/*
    // @include https://*serverfault.com/*
    // @include https://*stackoverflow.com/*
    // @include https://*stackexchange.com/*
    // @include https://*stackapps.com/*
    // @include https://*stackmod.blog/*
    // @include https://*stackoverflow.blog/*
    // @include https://*stackoverflowbusiness.com/*
    // @include https://*superuser.com/*
    // @include https://*tex-talk.net/*
    // @include https://*thesffblog.com/*
    // @require http://code.jquery.com/jquery-3.4.1.min.js
    // ==/UserScript==
    
    (function() {
        'use strict';
        let keepclosing = async () => {
            let closebutton = $('#overlay-header');
            if(closebutton.length) {
                console.log('Close Stackexchange Up Vote Notifications bar');
                closebutton.remove();
                setTimeout(keepclosing, 2000);
            }
            let begteampromotion = $('.teams-promo.overflow-hidden.z-active.bs-md.bg-black-750.fc-white.fs-body2.js-teams-promo');
            if(begteampromotion.length) {
                console.log('Close Stackexchange Team Bag Notifications bar');
                begteampromotion.remove();
                setTimeout(keepclosing, 2000);
            }
        }
        setTimeout(keepclosing, 2000);
    })();
  10. Close Lastfm top bar player

    // ==UserScript==
    // @name         Close Lastfm player bar
    // @namespace    *
    // @version      0.1
    // @description  https://github.com/sindresorhus/refined-github/issues/3061
    // @author       You
    // https://meta.stackexchange.com/questions/81379/can-we-have-a-list-of-all
    // @include https://*last.fm/*
    // @require http://code.jquery.com/jquery-3.4.1.min.js
    // ==/UserScript==
    
    let things = `
    // https://stackoverflow.com/questions/7474354/include-jquery-in-the-javascript-console
    var jq = document.createElement('script');
    jq.src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js";
    document.getElementsByTagName('head')[0].appendChild(jq);
    // ... give time for script to load, then type (or see below for non wait option)
    jQuery.noConflict();
    `;
    
    (function() {
        'use strict';
        deleteElement('div[data-more-string="More…"].navlist.navlist--more.masthead-nav.hidden-xs');
        deleteElement('.masthead-logo');
        deleteElement('.top-bar');
        function deleteElement(selector) {
            let delayed = () => {
                // Avoid reprocessing when on background/not focused
                if (document.hasFocus()) {
                    // console.log('Tab is active');
                }
                else {
                    // console.log('Tab is not active');
                    setTimeout(delayed, 1000);
                    return;
                }
    
                let element = $(String(selector));
                if(element.length) {
                    console.log(`Deleting element '${element.text().replace(/\s+/g, ' ').trim()}' button`);
                    element.remove();
                }
                setTimeout(delayed, 2000);
            }
            setTimeout(delayed, 200);
        }
    
        $('#content').css({'padding-top': '0px'});
        if( String(window.location.href).toLowerCase().includes('ironhead4life') ) {
            setTimeout(fixScrobleLink, 1000);
        }
        function fixScrobleLink() {
            // Avoid reprocessing when on background/not focused
            if (document.hasFocus()) {
                // console.log('Tab is active');
            }
            else {
                // console.log('Tab is not active');
                setTimeout(fixScrobleLink, 1000);
                return;
            }
    
            $('.chartlist-name>a').each(function(index, item) {
                // console.log(index)
                let newitem = $(item).attr('href');
    
                if( ! String(newitem).includes('IronHead4Life') ) {
                    let newitemsrc = String(newitem).replace('/music/', '/user/IronHead4Life/library/music/');
    
                    // console.log(newitemsrc);
                    $(item).attr('href', newitemsrc);
                    $(item).attr ('target', '_blank');
                }
            });
            setTimeout(fixScrobleLink, 1000);
        }
    })();
  11. W Zoom, 1.0.17

    • A Chrome extension which can perform per-tab/per-origin/per-path zooming
  12. Discourse Forum Notifications

  13. Application Launcher for Drive (by Google)

    • Open Drive files directly from your browser in compatible applications installed on your computer.
  14. Full Page Screen Capture

    • Capture a screenshot of your current page in entirety and reliably—without requesting any extra permissions!
  15. GitHub Repository Size

    • Automatically adds repository size to GitHub's repository summary
  16. BackStop

    • Stop Backspace returning to previous page
  17. Google Docs Offline

    • Get things done offline with the Google Docs family of products.
  18. Isometric Contributions

    • Renders an isometric pixel view of GitHub contribution graphs.
  19. Notifier for GitHub

    • Displays your GitHub notifications unread count
  20. Open in new tab

    • Open links in new tab for a list of specified domains. Useful for sites such as hackernews
  21. Mute Tab 1.4

    • Restores the 'Mute Tab' functionality of versions prior to Chrome 71.
  22. Refined GitHub

    • Simplifies the GitHub interface and adds useful features
    • Features to disable, by filename: shorten-links add- move-marketplace-link-to-profile-dropdown set-default-repositories-type-to-sources infinite-scroll hide-useless-comments hide-watch-and-fork-count fit-textareas
    • *Custom CSS
    /* fix GitHub Actions console output last line being half-cut */
    body {
      line-height: 150%;
    }
    
    /* Stop adding scroll bar on quoted blocks/images */
    /* https://github.com/sindresorhus/refined-github/issues/2491 */
    .comment-body blockquote,
    .comment-body pre {
      max-height: none !important;
      overflow-y: visible !important;
    }
    
    /* How to remove the sticky issues top bar? */
    /* https://github.com/sindresorhus/refined-github/issues/3086 */
    .Box-header#js-issues-toolbar,
    .Box#js-issues-toolbar > .Box-header {
      position: relative;
    }
  23. Save to Pocket

    • Pocket Extension for Chrome - The best way to save articles, videos and more
  24. Shortkeys (Custom Keyboard Shortcuts)

    • Custom keyboard shortcuts for your browser
  25. Simple Speed Dial

    • A speed dial functionally similar to the one used in Opera.
  26. Ultra light newtab page with bookmarks on it

    • Ultra light new tab with bookmark navigator
  27. Web Scrobbler

    • Scrobble music all around the web!
  28. Session Buddy

    • Manage Browser Tabs and Bookmarks with Ease
  29. Selection Highlighter

    • Passively highlights occurrences of selected text. Maintains current text selection.
  30. Disable HTML5 Autoplay (Reloaded)

    • Disable autoplay and preloading of HTML5 video and audio players.
  31. Notifier for Gmail™

    • Multiple label and account notifier for Google Mail (Gmail)
  32. Change Timezone (Time Shift)

    • Easily change your timezone to a desired value and protect your privacy.
  33. Chromium Wheel Smooth Scroller

    • Make scroll behavior smooth, ease-in-out manner, customizable with dynamically plotted curve. With bouncy edge feature.
  34. Calculadora de jornada - Ahgora

    • Adiciona uma tabela com informações adicionais e a hora estimada de saída do trabalho na pagina de batidas de ponto do ahgora.
  35. Checker Plus for Google Calendar

    • See your next events, get meeting notifications and snooze events without opening the Google Calendar page!
  36. jQuery Inject

    • Injects jQuery in the page.
  37. Chrome extension source viewer

    • View source code of Chrome extensions, Firefox addons or Opera extensions (crx/nex/xpi) from the Chrome web store and elsewhere.
  38. OpenList

    • Utilities to create and open lists of tabs.
  39. TabCopy

    • Quickly copy tabs to the clipboard
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment