Add support for mouse back nav button to Settings screen (#3195)

This commit is contained in:
Pedro Veloso
2025-07-31 18:11:50 +02:00
committed by GitHub
parent 5b6dd1387a
commit 71c8d9e7aa
6 changed files with 88 additions and 3 deletions
+11
View File
@@ -83,6 +83,8 @@ type ElectronAPI = {
setWakelock: (enable: boolean) => Promise<boolean>;
getWakelockState: () => Promise<boolean>;
openNotificationsSettings: () => Promise<boolean>;
onMouseBackButtonClicked: (callback: () => void) => void;
offMouseBackButtonClicked: (callback: () => void) => void;
on: (
channel: string,
callback: (event: Electron.IpcRendererEvent, ...args: unknown[]) => void
@@ -175,6 +177,15 @@ const electronAPI: ElectronAPI = {
setWakelock: (enable: boolean) => ipcRenderer.invoke('set-wakelock', enable),
getWakelockState: () => ipcRenderer.invoke('get-wakelock-state'),
openNotificationsSettings: () => ipcRenderer.invoke('open-notifications-settings'),
onMouseBackButtonClicked: (callback: () => void) => {
// Wrapper that ignores the event parameter.
const wrappedCallback = (_event: Electron.IpcRendererEvent) => callback();
ipcRenderer.on('mouse-back-button-clicked', wrappedCallback);
return wrappedCallback;
},
offMouseBackButtonClicked: (callback: () => void) => {
ipcRenderer.removeListener('mouse-back-button-clicked', callback);
},
on: (
channel: string,
callback: (event: Electron.IpcRendererEvent, ...args: unknown[]) => void