Code Monkey home page Code Monkey logo

tbkeys's Introduction

tbkeys

tbkeys is a bootstrapped extension for Thunderbird that uses Mousetrap to bind key sequences to custom commands.

Install

  • Download the tbkeys.xpi file from one of the releases listed on the GitHub releases page.
  • Open the Add-ons Manager in Thunderbird (Tools->Add-ons).
  • Click on the gear icon in the upper right and choose "Install Add-on From File..." and then select the downloaded tbkeys.xpi file.
  • The add-on will self-update from the GitHub releases page when future updates are released.

Default keybindings

The default keybindings are modeled on GMail's keybindings.

Key Function
c Compose new message
r Reply
a Reply all
f Forward
# Delete
u Refresh mail. If a message tab is open, close it.
j Next message
k Previous message
o Open message
x Archive message

Customizing keybindings

To customize keybindings, modify the "Key bindings" entry in the add-on's preferences pane which can be accessed from the add-on's entry in the Add-ons Manager ("Add-ons" in the Thunderbird menu). The "Key bindings" entry should be a JSON object mapping keybindings (with Mousetrap syntax as described here to javascript code to execute (see here for cmd name references). This old wiki page about Keyconfig also has some commands that are still valid. The Developer Toolbox (Tools->Developer Tools->Developer Toolbox in the menu) can be useful for poking around at the UI to find the name of an element to call a function on. The preferences page will not allow invalid JSON to be submitted, but it does not sanity check the keybindings otherwise.

Common keybindings

Here are some commonly desired keybindings:

  • Next tab: window.document.getElementById("tabmail-tabs").advanceSelectedTabs(1, true)
  • Previous tab: window.document.getElementById("tabmail-tabs").advanceSelectedTabs(-1, true)
  • Close tab: window.document.getElementById('tabmail-tabs').selectedItem.getElementsByClassName('tab-close-button')[0].click()
  • Scroll message list: window.document.getElementById('threadTree').scrollByLines(1)
  • Scroll message body: window.document.getElementById("messagepane").contentDocument.documentElement.getElementsByTagName("body")[0].scrollBy(0, 100)
  • Create new folder: goDoCommand('cmd_newFolder')
  • Subscribe to feed: window.openSubscriptionsDialog(window.GetSelectedMsgFolders()[0])

tbkeys's People

Contributors

dependabot[bot] avatar icyerasor avatar kbsky avatar willsalmanj avatar wshanks avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.