aboutsummaryrefslogtreecommitdiff
path: root/modules/firefox.home/chrome/globalKeybindings.uc.js
diff options
context:
space:
mode:
authorAkshay Nair <phenax5@gmail.com>2024-08-25 00:32:18 +0530
committerAkshay Nair <phenax5@gmail.com>2024-08-25 00:32:18 +0530
commitd1c6524ad7f1a805b2a2b0394df2b8cbb286d3e8 (patch)
tree0d5fc436e42f104f8c758efd1ad2d0a38b46e78d /modules/firefox.home/chrome/globalKeybindings.uc.js
parentdb667b17820599d850d22d6d9345fb507d399a0d (diff)
downloadnixos-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.js28
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');
}