From 714a4428ef22496f42618dd92c3c7bef56c1171f Mon Sep 17 00:00:00 2001 From: Mauro Balades Date: Sat, 10 Aug 2024 10:52:53 +0200 Subject: [PATCH] refactor: Update ZenKeyboardShortcuts to toggle web panels and improve shortcuts Remove unnecessary console.log statement in ZenThemeBuilder Disable Firefox shortcuts in ZenKeyboardShortcuts Initialize shortcuts only on the browser page Update ZenProfileDialogUI to improve profiles list and profile creation Remove unnecessary code in ZenWorkspaces.mjs Activate docShell for tab in ZenViewSplitter Remove redundant code in ZenViewSplitter --- src/ZenKeyboardShortcuts.mjs | 29 ++++++++++++++++++++++------- src/ZenThemeBuilder.mjs | 2 +- src/ZenViewSplitter.mjs | 2 +- src/ZenWorkspaces.mjs | 10 +++++----- 4 files changed, 29 insertions(+), 14 deletions(-) diff --git a/src/ZenKeyboardShortcuts.mjs b/src/ZenKeyboardShortcuts.mjs index 6b30622..fe16f7b 100644 --- a/src/ZenKeyboardShortcuts.mjs +++ b/src/ZenKeyboardShortcuts.mjs @@ -15,6 +15,11 @@ const kZKSActions = { showPreviousTab: ["gBrowser.tabContainer.advanceSelectedTab(-1, true)", "show-previous-tab", "tab-action"], showAllTabsPanel: ["gTabsPanel.showAllTabsPanel()", "show-all-tabs-panel", "tab-action"], + // Compact mode actions + zenToggleCompactMode: ["gZenCompactModeManager.toggle()", "zen-toggle-compact-mode", "compact-mode-action"], + zenToggleCompactModeSidebar: ["gZenCompactModeManager.toggleSidebar()", "zen-toggle-compact-mode-sidebar", "compact-mode-action"], + zenToggleCompactModeToolbar: ["gZenCompactModeManager.toggleToolbar()", "zen-toggle-compact-mode-toolbar", "compact-mode-action"], + // Page actions sendWithMail: ["command:Browser:SendLink", "send-with-mail", "page-action"], savePage: ["command:Browser:SavePage", "save-page", "page-action"], @@ -132,7 +137,8 @@ var gZenKeyboardShortcuts = { _initShortcuts() { if (window.location.href == "chrome://browser/content/browser.xhtml") { - Services.prefs.addObserver(kZKSStorageKey, this._initSavedShortcuts.bind(this)); + console.info("Zen CKS: Initializing shortcuts"); + Services.prefs.addObserver(kZKSStorageKey, this._onShortcutChange.bind(this)); Services.prefs.addObserver("zen.keyboard.shortcuts.disable-firefox", this._disableFirefoxShortcuts.bind(this)); this._initSavedShortcuts(); this._disableFirefoxShortcuts(); @@ -141,18 +147,27 @@ var gZenKeyboardShortcuts = { _disableFirefoxShortcuts() { let disable = Services.prefs.getBoolPref("zen.keyboard.shortcuts.disable-firefox"); - let keySet = document.getElementById("mainKeyset"); - if (!keySet) { - throw new Error("Zen CKS: No main keyset found"); + if (!disable) { + return; } - if (disable) { - console.log("Zen CKS: Disabling Firefox shortcuts"); + window.SessionStore.promiseInitialized.then(() => { + let keySet = document.getElementById("mainKeyset"); + if (!keySet) { + throw new Error("Zen CKS: No main keyset found"); + } for (let child of keySet.children) { if (!child.id.startsWith("zen-key_")) { child.setAttribute("disabled", true); } } - } + console.info("Remove already exist shortcut keys"); + }); + }, + + _onShortcutChange() { + console.info("Zen CKS: Shortcut changed"); + this.__savedShortcuts = null; + this._initSavedShortcuts(); }, _getCommandAttribute(action) { diff --git a/src/ZenThemeBuilder.mjs b/src/ZenThemeBuilder.mjs index 019cb6c..565d911 100644 --- a/src/ZenThemeBuilder.mjs +++ b/src/ZenThemeBuilder.mjs @@ -24,7 +24,7 @@ var gZenThemeBuilder = { return; } - console.log("gZenThemeBuilder: init builder UI"); + console.info("gZenThemeBuilder: init builder UI"); const kTemplate = ` diff --git a/src/ZenViewSplitter.mjs b/src/ZenViewSplitter.mjs index 88a81f6..72bcc80 100644 --- a/src/ZenViewSplitter.mjs +++ b/src/ZenViewSplitter.mjs @@ -422,7 +422,7 @@ var gZenViewSplitter = new class { // see browser-custom-elements.js's patch tab.linkedBrowser.zenModeActive = active; try { - console.log(tab.linkedBrowser); + console.info(tab.linkedBrowser); tab.linkedBrowser.docShellIsActive = active; } catch (e) { console.error(e); diff --git a/src/ZenWorkspaces.mjs b/src/ZenWorkspaces.mjs index fd9888d..efc4351 100644 --- a/src/ZenWorkspaces.mjs +++ b/src/ZenWorkspaces.mjs @@ -8,9 +8,9 @@ var ZenWorkspaces = { console.warn("ZenWorkspaces: !!! ZenWorkspaces is disabled in hidden windows !!!"); return; // We are in a hidden window, don't initialize ZenWorkspaces } - console.log("ZenWorkspaces: Initializing ZenWorkspaces..."); + console.info("ZenWorkspaces: Initializing ZenWorkspaces..."); await this.initializeWorkspaces(); - console.log("ZenWorkspaces: ZenWorkspaces initialized"); + console.info("ZenWorkspaces: ZenWorkspaces initialized"); }, get workspaceEnabled() { @@ -100,14 +100,14 @@ var ZenWorkspaces = { json.workspaces = []; } json.workspaces.push(workspaceData); - console.log("ZenWorkspaces: Saving workspace", workspaceData); + console.info("ZenWorkspaces: Saving workspace", workspaceData); await IOUtils.writeJSON(this._storeFile, json); this._workspaceCache = null; }, async removeWorkspace(windowID) { let json = await this._workspaces(); - console.log("ZenWorkspaces: Removing workspace", windowID); + console.info("ZenWorkspaces: Removing workspace", windowID); await this.changeWorkspace(json.workspaces.find(workspace => workspace.uuid !== windowID)); this._deleteAllTabsInWorkspace(windowID); json.workspaces = json.workspaces.filter(workspace => workspace.uuid !== windowID); @@ -338,7 +338,7 @@ var ZenWorkspaces = { workspace.used = workspace.uuid === window.uuid; } this.unsafeSaveWorkspaces(workspaces); - console.log("ZenWorkspaces: Changing workspace to", window.uuid); + console.info("ZenWorkspaces: Changing workspace to", window.uuid); for (let tab of gBrowser.tabs) { if (tab.getAttribute("zen-workspace-id") === window.uuid && !tab.pinned) { if (!firstTab) {