Development v0.1.7, with a dual-target Firefox/Chrome compatibility pass.
Assign temporary jump keys to open tabs so you can quickly move between them while you work. Tree Style Tab users can also show compact Jump Slot badges in the TST sidebar in the Firefox build.
This source tree now supports two browser targets:
- Firefox: Manifest V2, loaded from
manifest.firefox.jsonor the rootmanifest.json. - Chrome/Chromium: Manifest V3, loaded from
manifest.chrome.jsonor from the generateddist/chrome/manifest.json.
The recommended package layout is one repo with browser-specific build outputs, not separate repos.
Implemented:
- In-popup help screen with shortcut reference
- Global Jump Slots
1through9 - Jump commands:
- Firefox defaults:
Alt+1throughAlt+9on Windows/default,Ctrl+1throughCtrl+9on Linux,MacCtrl+1throughMacCtrl+9on macOS - Chrome/Chromium: commands are declared, but slot shortcuts should be assigned from the extension shortcut settings page
- Firefox defaults:
- Assignment commands:
- Firefox defaults:
Alt+Shift+1throughAlt+Shift+9on Windows/default,Ctrl+Shift+1throughCtrl+Shift+9on Linux,MacCtrl+Shift+1throughMacCtrl+Shift+9on macOS - Chrome/Chromium: commands are declared, but slot shortcuts should be assigned from the extension shortcut settings page
- Firefox defaults:
- Unassign-current-tab command:
- Firefox defaults:
Alt+Shift+0on Windows/default,Ctrl+Shift+0on Linux,MacCtrl+Shift+0on macOS - Chrome/Chromium: command is declared, but the shortcut should be assigned from the extension shortcut settings page
- Firefox defaults:
- Toolbar popup fallback
- Tab context-menu fallback
- Options page with:
- browser-specific shortcut settings button
- TST badge toggle in Firefox
- toolbar-icon feedback toggle
- desktop notification feedback toggle
- Optional Tree Style Tab badges via TST Extra Tab Contents API in Firefox
- Closed tabs lose their assignment
- Browser startup clears assignments
Not implemented in v1:
- Per-window slot scope
- Multi-key chord assignment
- Non-TST
document.titlemutation - Page-defined shortcut interception
- Open
about:debugging#/runtime/this-firefox. - Click Load Temporary Add-on...
- Choose
manifest.jsonfrom the Firefox build folder, or choose the rootmanifest.jsonfrom this source folder. - Open several tabs.
- Use the toolbar popup or tab context menu to assign slots.
- Try the keyboard shortcuts.
- If shortcuts do not fire, open Manage Extension Shortcuts from the options page and adjust them.
- Open
chrome://extensions. - Enable Developer mode.
- Click Load unpacked.
- Choose the
dist/chromefolder. - Open
chrome://extensions/shortcutsto assign slot shortcuts. - Use the toolbar popup or tab context menu to assign slots.
Firefox controls final shortcut assignment. Some shortcut defaults may be unavailable if Firefox, the OS/window manager, or another add-on has already taken them.
Chrome/Chromium only gets a default shortcut for opening the toolbar popup. The jump/assign/unassign commands are declared, but most shortcut assignments should be made manually from Chrome's extension shortcuts page.
Tree Style Tab integration is optional and Firefox-only in this build. If TST is not installed or its sidebar is not visible, the Firefox build still works through commands, the toolbar popup, and tab context menus. The Chrome/Chromium build hides the TST badge option.
Desktop notifications depend on browser and operating-system notification settings.
The important extension state is already stored in storage.local: slots and options. Popup UI state, timers, command lists, context menus, and TST badge rendering are derived or temporary and do not need to be persisted.
For Firefox development, you can load the repository root as a temporary add-on.
For release builds:
npm run buildThis creates:
dist/firefoxdist/chrome
When developing locally, manifest.json is the Firefox manifest source, and manifest.chrome.json is the Chrome/Chromium manifest source.
For real extension state, open the options page and click Open Popup as Tab. This opens popup.html as a normal extension tab, so it does not disappear when DevTools focus changes.
- Transparent-background icon.
- Removed
popup-dev.htmlandmock-browser.js. - Slot number badge in the popup now acts as the Jump button.
- Popup Assign button now becomes Unassign when a slot is already assigned.
- Added keyboard command for unassigning the current tab.
- Renamed toolbar badge feedback option to “Briefly flash tab assignments on the TabJump toolbar icon.”
- Added optional desktop notifications for slot assignment/unassignment feedback.
- Desktop notifications default off in Firefox and on in Chrome/Chromium.
- Removed multi-key chord assignment from the roadmap.
- Added
manifest.chrome.jsonfor Manifest V3. - Kept
manifest.firefox.jsonand the rootmanifest.jsonfor Firefox Manifest V2. - Added
platform.jsto provide a small browser API compatibility layer. - Added Chrome-compatible
actionandcontextMenussupport. - Added browser-specific shortcut settings behavior.
- Kept the short toolbar badge
setTimeout; it is intentionally not converted toalarms. - Disabled/hid Tree Style Tab badge controls outside the Firefox build.
- Added optional desktop notifications as a more visible Chrome/Chromium feedback channel.
- Avoided rebuilding context menus on every Chrome MV3 service-worker wake.
- Added optional desktop notifications for slot assignment/unassignment feedback.
- Desktop notifications default off in Firefox and on in Chrome/Chromium.
- Added popup-local shortcuts:
- Popup digit keys
1to9jump to the assigned slot Athen1-9to assign,Uthen1-9to unassign a slotUthen0to unassign the current tab.Hfor Help/Back,Ofor Options
- Popup digit keys
- Highlighted the slot assigned to the current tab in the popup.