diff --git a/addon-tab-preload.js b/addon-tab-preload.js index b3d45e5a..8b6b14aa 100644 --- a/addon-tab-preload.js +++ b/addon-tab-preload.js @@ -5,6 +5,10 @@ // identity from the sender's file:// URL, so a page hosted anywhere else // gets nothing back from these handlers. const { contextBridge, ipcRenderer } = require("electron"); +// Clicks in an add-on tab close an overlay sidebar panel the same way clicks +// in a web tab or Settings do (see home-preload / settings-preload). Push +// mode is unaffected — main gates on sidebarPanelMode. +window.addEventListener("pointerdown", () => { ipcRenderer.send("tab-pointerdown"); }, true); contextBridge.exposeInMainWorld("silentmode", { storage: { get: (key, fallback = null) => ipcRenderer.invoke("addon-storage-get", key, fallback), diff --git a/settings-preload.js b/settings-preload.js index 4aaead47..f575f1cd 100644 --- a/settings-preload.js +++ b/settings-preload.js @@ -1,4 +1,8 @@ const { contextBridge, ipcRenderer } = require("electron"); +// A click inside the Settings tab closes an open sidebar panel (overlay mode) +// — same signal home-preload sends in a web tab. Without this, clicking the +// Settings icon with an overlay panel open did nothing to the panel. +window.addEventListener("pointerdown", () => { ipcRenderer.send("tab-pointerdown"); }, true); contextBridge.exposeInMainWorld("cfg", { get: () => ipcRenderer.invoke("settings-get"), set: (key, value) => ipcRenderer.invoke("settings-set", key, value),