Skip to content

Linux convenience script for easily disabling or unreserving hardcoded Firefox keyboard shortcuts based on Gautam Iyer's article.

Notifications You must be signed in to change notification settings

vxsl/firefox-keyboard-shortcut-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

What is this?

Linux convenience script for easily disabling or unreserving hardcoded Firefox keyboard shortcuts based on Gautam Iyer's article.

This script is provided as is, without any warranty or guarantee of any kind. Use at your own risk.

Why?

I wanted to make this since <Ctrl+w> annoyingly closed the tab when using Leetcode in Vim mode. The manual steps laid out in the above article were painful to go through each time the Firefox package was updated on my system.

The script is generalized though, so any command found in the Commands section or in mainKeyset.xhtml can be unreserved or disabled.

Initial setup

apt-get install xmlstarlet # or equivalent for your system's package manager
git clone https://github.com/vxsl/firefox-keyboard-shortcut-manager
cd firefox-keyboard-shortcut-manager
chmod +x run.sh

Example

For example, to

  1. allow addons to use <Ctrl+w> (i.e. unreserve cmd_close), and
  2. prevent "about:processes" from opening on <shift+Esc> (i.e. disable View:AboutProcesses):
./run.sh --remove View:AboutProcesses
./run.sh --unreserve cmd_close
# then restart Firefox process

If something breaks:

This script makes a backup copy of the untouched omni.ja file on its first run.

If the script somehow breaks your Firefox installation (sorry!), this should reset Firefox to its original state:

./run.sh --reset
# then restart Firefox process

If that doesn't work, uninstalling then reinstalling Firefox using your distro's package manager will resolve any further issues.

Commands

At the time of writing, some commands that appear to be modifiable using this method are as follows. For reference, an excerpt of browser.xhtml titled mainKeyset.xhtml is included in this repository.

- cmd_newNavigator
- cmd_newNavigatorTabNoEvent
- Browser:OpenLocation
- Tools:Search
- Tools:Downloads
- Tools:Addons
- Browser:OpenFile
- Browser:SavePage
- cmd_print
- cmd_close
- cmd_closeWindow
- cmd_toggleMute
- cmd_handleBackspace
- cmd_handleShiftBackspace
- Browser:Back
- Browser:Forward
- BrowserHome()
- Browser:Reload
- Browser:ReloadSkipCache
- View:FullScreen
- View:ReaderView
- View:PictureInPicture
- cmd_delete
- cmd_find
- cmd_findAgain
- cmd_findPrevious
- Browser:AddBookmarkAs
- Browser:ShowAllBookmarks
- Browser:Stop
- Browser:ShowAllHistory
- cmd_fullZoomReduce
- cmd_fullZoomEnlarge
- cmd_fullZoomReset
- cmd_switchTextDirection
- Tools:PrivateBrowsing
- Browser:Screenshot
- Tools:Sanitize
- cmd_quitApplication
- History:RestoreLastClosedTabOrWindowOrSession
- History:UndoCloseWindow
- wrCaptureCmd
- wrToggleCaptureSequenceCmd

About

Linux convenience script for easily disabling or unreserving hardcoded Firefox keyboard shortcuts based on Gautam Iyer's article.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published