Skip to content

Instantly share code, notes, and snippets.

@0xdevalias
Created August 24, 2025 02:08
Show Gist options
  • Save 0xdevalias/c65f550feb97b5c4aa61433ba473bb43 to your computer and use it in GitHub Desktop.
Save 0xdevalias/c65f550feb97b5c4aa61433ba473bb43 to your computer and use it in GitHub Desktop.
Some notes and tools for providing reminders for Gmail keyboard shortcuts / etc

Gmail Shortcut Suggestions / Reminders

Some notes and tools for providing reminders for Gmail keyboard shortcuts / etc.

Table of Contents

Unsorted

  • https://support.google.com/mail/answer/6594
  • https://chromewebstore.google.com/detail/keyed-for-gmail/bjffmeipkljmcomfmooofphhncafbhgh
    • Keyed for Gmail

    • Keyed teaches you Gmail's keyboard shortcuts by intercepting your mouse clicks and showing you the faster way. Instead of blocking functionality or overwhelming you with tutorials, Keyed provides just-in-time learning based on your actual Gmail usage.

    • chrome-extension://jifpbeccnghkjeaalbbjmodiffmgedin/crxviewer.html?crx=https%3A%2F%2Fclients2.google.com%2Fservice%2Fupdate2%2Fcrx%3Fresponse%3Dredirect%26os%3Dmac%26arch%3Dx86-64%26os_arch%3Dx86-64%26nacl_arch%3Dx86-64%26prod%3Dchromiumcrx%26prodchannel%3Dunknown%26prodversion%3D9999.0.9999.0%26acceptformat%3Dcrx2%2Ccrx3%26x%3Did%253Dbjffmeipkljmcomfmooofphhncafbhgh%2526uc
  • https://chromewebstore.google.com/detail/Gmail%20Shortcut%20Nudges/nfiaapgfpmpjanmlekaakondnbebnebd
    • Gmail Shortcut Nudges

    • Gmail Shortcut Nudges teaches you to use Gmail's keyboard shortcuts by showing a tooltip displaying what shortcut you can use to trigger the button you're hovering on. It also blocks clicking on the most commonly clicked-on buttons so you're conditioned to use keyboard shortcuts and blaze through your emails.

    • chrome-extension://jifpbeccnghkjeaalbbjmodiffmgedin/crxviewer.html?crx=https%3A%2F%2Fclients2.google.com%2Fservice%2Fupdate2%2Fcrx%3Fresponse%3Dredirect%26os%3Dmac%26arch%3Dx86-64%26os_arch%3Dx86-64%26nacl_arch%3Dx86-64%26prod%3Dchromiumcrx%26prodchannel%3Dunknown%26prodversion%3D9999.0.9999.0%26acceptformat%3Dcrx2%2Ccrx3%26x%3Did%253Dnfiaapgfpmpjanmlekaakondnbebnebd%2526uc
      • let forcedBindings = JSON.parse(`{
            "div[act='19']": { "keys": "u", "name": "Go back" },
            "div[act='7']": { "keys": "e", "name": "Archive" },
            "div[act='10']": { "keys": "#", "name": "Delete" },
            "div[act='2']": { "keys": "shift u", "name": "Mark unread" },
            "div[act='290']": { "keys": "b", "name": "Postpone" },
            "div.adF .h0 > :nth-child(2)": { "keys": "k", "name": "Previous conversation" },
            "div.adF .h0 > :nth-child(3)": { "keys": "j", "name": "Next conversation" },
            "div.T-I-KE": { "keys": "c", "name": "New message" },
            ".aHS-bnt": { "keys": "g,i", "name": "Inbox" },
            ".aHS-bnu": { "keys": "g,t", "name": "Sent" },
            ".aHS-bnq": { "keys": "g,d", "name": "Drafts" },
            ".aaq": { "keys": "r", "name": "Reply (top of conversation)" },
            ".bkH": { "keys": "r", "name": "Reply (bottom of conversation)" },
            "#r": { "keys": "r", "name": "Reply (top of conversation list)" },
            ".bkI": { "keys": "a", "name": "Reply all (bottom of conversation)" },
            "#r2": { "keys": "a", "name": "Reply all (top of conversation list)" },
            ".bkG": { "keys": "f", "name": "Forward (bottom of conversation)" },
            "#r3": { "keys": "f", "name": "Forward (top of conversation list)" },
            ".aoO": { "keys": "cmd enter", "name": "Send" }
        }`);
        
        let optionalBindings = JSON.parse(`{
          "[role='grid']": { "text": "Open: <span class='binding-key'>o</span> or <span class='binding-key'>enter</span>, Down: <span class='binding-key'>j</span> or <span class='binding-key'>↓</span>, Up: <span class='binding-key'>k</span> or <span class='binding-key'>↑</span> <BR>", "name": "Navigating inbox" },
          "[role='grid'] .btb .aXw.T-KT": { "keys": "s", "name": "Star/unstar (inbox)" },
          "[role='grid'] .btb [role='checkbox']": { "keys": "x", "name": "Select email" },
          "form[role='search'] .gb_Se": { "keys": "/", "name": "Search" }
        }`);
        
        //bindings I've discarded:
        // "div.G-tF > :nth-child(4) > :nth-child(1)": { "keys": "v", "name": "Move to" },
        // "div.G-tF > :nth-child(4) > :nth-child(2)": { "keys": "l", "name": "Labels" },
        // "div.G-tF .nf": { "keys": ".", "name": "Other actions" },
        // ".aHS-bnw": { "keys": "g s", "name": "Followed messages" },
        // ".og": { "keys": "meta ⇧ d", "name": "Discard Draft" },
        // ".Hl ~ .Ha": { "keys": "esc", "name": "Save & close" },
        // "[role='navigation'].ajl .aHS-aHO": { "keys": "g,a", "name": "All Mail" },
        // ".pE": { "keys": "meta shift c", "name": "Add CC" },
        // ".pB": { "keys": "meta shift b", "name": "Add BCC" },
        // ".acZ .T-KT": { "keys": "s", "name": "Star/unstar (message view)" },
        // "div[act='9']": { "keys": "!", "name": "Send to spam" },
  • https://chromewebstore.google.com/detail/Simplehuman%2C%20keyboard%20shortcuts%20and%20command%20bar%20for%20Gmail/nipfocapamlefjhldhcagammlldbangf
    • Simplehuman, keyboard shortcuts and command bar for Gmail

    • Advanced keyboard shortcuts, natural language snooze, and smart email management features for Gmail.

    • Simplehuman adds keyboard shortcuts and smart features to Gmail, to make it work like Superhuman.

    • https://www.simplehuman.email/pricing/
      • 15 day free trial, $5/month, $59/year, $119/lifetime
    • https://www.simplehuman.email/learn-to-use/
        1. Learn keyboard shortcuts ⏎

        Learn the keyboard shortcuts for the email actions you frequently use, either from the Command Center or when you are about to click the button.

    • chrome-extension://jifpbeccnghkjeaalbbjmodiffmgedin/crxviewer.html?crx=https%3A%2F%2Fclients2.google.com%2Fservice%2Fupdate2%2Fcrx%3Fresponse%3Dredirect%26os%3Dmac%26arch%3Dx86-64%26os_arch%3Dx86-64%26nacl_arch%3Dx86-64%26prod%3Dchromiumcrx%26prodchannel%3Dunknown%26prodversion%3D9999.0.9999.0%26acceptformat%3Dcrx2%2Ccrx3%26x%3Did%253Dnipfocapamlefjhldhcagammlldbangf%2526uc
      • contentScript.bundle.js (prettified)
        • In module 3719, around lines ~40051 to ~41058 seen to be a bunch of definitions for keybindings/etc
        • In module 8233, around lines ~44204 to ~44293 seem to be a bunch of selectors related to showing the onhover tooltips to remind users of the shortcut keys
          • "Press <span class='binding-key'>".concat(e.keys, '</span>');
        • Around lines ~54849 to ~55744 seem to be definitions for the various commands registered in the Cmd+K toolbar such as archive, open, etc
        • Around lines ~49055 to ~49084 in modules 4014, 9821, 6065, 4610, 6538, 9284; are various i18n translation JSON objects
        • Some libraries it seems to use:

See Also

My Other Related Deepdive Gist's and Projects

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment