diff options
| author | Akshay Nair <phenax5@gmail.com> | 2024-08-25 00:32:18 +0530 |
|---|---|---|
| committer | Akshay Nair <phenax5@gmail.com> | 2024-08-25 00:32:18 +0530 |
| commit | d1c6524ad7f1a805b2a2b0394df2b8cbb286d3e8 (patch) | |
| tree | 0d5fc436e42f104f8c758efd1ad2d0a38b46e78d /modules/firefox.home/chrome/globalKeybindings.uc.js | |
| parent | db667b17820599d850d22d6d9345fb507d399a0d (diff) | |
| download | nixos-config-d1c6524ad7f1a805b2a2b0394df2b8cbb286d3e8.tar.gz nixos-config-d1c6524ad7f1a805b2a2b0394df2b8cbb286d3e8.zip | |
Refactor firefox config
Diffstat (limited to 'modules/firefox.home/chrome/globalKeybindings.uc.js')
| -rw-r--r-- | modules/firefox.home/chrome/globalKeybindings.uc.js | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/modules/firefox.home/chrome/globalKeybindings.uc.js b/modules/firefox.home/chrome/globalKeybindings.uc.js index 51326fd..1ff868c 100644 --- a/modules/firefox.home/chrome/globalKeybindings.uc.js +++ b/modules/firefox.home/chrome/globalKeybindings.uc.js @@ -12,7 +12,7 @@ RELEASE: [ [ctrl(shift(key('J'))), moveSelectedTabBy(+1)], [ctrl(shift(key('K'))), moveSelectedTabBy(-1)], - [ctrl(shift(key('B'))), toggleTabSidebar()], + [ctrl(shift(key('B'))), sidetabs.toggle()], [ctrl(alt(key('p'))), togglePassthrough(), { modes: ALL_MODES }], ], PRESS: [ @@ -40,8 +40,15 @@ const moveSelectedTabBy = incr => () => updateSelectedTabIndex(incr); const togglePassthrough = () => () => UC.globalKeybindings.updateMode(m => m !== MODE_PASSTHRU ? MODE_PASSTHRU : MODE_NORMAL) - const getSidebarId = () => [...SidebarController.sidebars].find(([_, p]) => p.label?.match(/sidetabs/i))?.[0]; - const toggleTabSidebar = () => () => SidebarController.toggle(getSidebarId() ?? undefined); + const sidetabs = { + getExtensionId: () => [...SidebarController.sidebars].find(([_, p]) => p.label?.match(/sidetabs/i))?.[0], + ensureOpen: () => !SidebarController.isOpen && SidebarController.show(sidetabs.getExtensionId() ?? undefined), + toggle: () => () => { + sidetabs.ensureOpen(); + const sidebar = document.getElementById('sidebar-box'); + sidebar?.classList.toggle('open'); + }, + } const MODE_PASSTHRU = 'passthru'; const MODE_NORMAL = ''; @@ -96,16 +103,21 @@ handleKeyUpEvent: e => module.evaluateKeybindings(module.keybindings.RELEASE, e), handleKeyDownEvent: e => module.evaluateKeybindings(module.keybindings.PRESS, e), + onWindowReady: (win) => { + win.addEventListener('keyup', module.handleKeyUpEvent, true); + win.addEventListener('keydown', module.handleKeyDownEvent, true); + + sidetabs.ensureOpen(); + }, + init(win) { - let observe = () => { + const observe = () => { Services.obs.removeObserver(observe, 'browser-window-before-show'); - win.addEventListener('keyup', module.handleKeyUpEvent, true); - win.addEventListener('keydown', module.handleKeyDownEvent, true); + module.onWindowReady(win) } if (win.__SSi) { - win.addEventListener('keyup', module.handleKeyUpEvent, true); - win.addEventListener('keydown', module.handleKeyDownEvent, true); + module.onWindowReady(win) } else { Services.obs.addObserver(observe, 'browser-window-before-show'); } |
