From 8884d5f6d38984b1562a1229717f611500eed875 Mon Sep 17 00:00:00 2001 From: MrStashley Date: Wed, 13 Mar 2024 16:09:37 -0700 Subject: [PATCH] added new keybinding for minimize --- assets/default-keybindings.json | 4 ++++ src/electron/emain.ts | 8 +++++++- src/electron/preload.js | 1 + src/models/model.ts | 4 ++++ src/types/custom.d.ts | 1 + 5 files changed, 17 insertions(+), 1 deletion(-) diff --git a/assets/default-keybindings.json b/assets/default-keybindings.json index 86a31d96b..e745c2e59 100644 --- a/assets/default-keybindings.json +++ b/assets/default-keybindings.json @@ -3,6 +3,10 @@ "command": "system:toggleDeveloperTools", "keys": ["Cmd:Option:i"] }, + { + "command": "system:minimizeWindow", + "keys": ["Cmd:m"] + }, { "command": "generic:cancel", "keys": ["Escape"] diff --git a/src/electron/emain.ts b/src/electron/emain.ts index bf0adec10..9779a5ddd 100644 --- a/src/electron/emain.ts +++ b/src/electron/emain.ts @@ -263,7 +263,6 @@ const menuTemplate: Electron.MenuItemConstructorOptions[] = [ { type: "separator" }, { role: "services" }, { type: "separator" }, - { role: "hide", accelerator: cmdOrAlt + "m" }, { role: "hideOthers" }, { type: "separator" }, { role: "quit" }, @@ -513,6 +512,13 @@ electron.ipcMain.on("toggle-developer-tools", (event) => { event.returnValue = true; }); +electron.ipcMain.on("minimize-window", (event) => { + if (MainWindow != null) { + MainWindow.hide(); + } + event.returnValue = true; +}); + electron.ipcMain.on("get-id", (event) => { event.returnValue = instanceId + ":" + event.processId; }); diff --git a/src/electron/preload.js b/src/electron/preload.js index 14be4eb10..1da2ace82 100644 --- a/src/electron/preload.js +++ b/src/electron/preload.js @@ -1,6 +1,7 @@ let { contextBridge, ipcRenderer } = require("electron"); contextBridge.exposeInMainWorld("api", { + minimizeWindow: () => ipc.Renderer.send("minimize-window"), toggleDeveloperTools: () => ipcRenderer.send("toggle-developer-tools"), getId: () => ipcRenderer.sendSync("get-id"), getPlatform: () => ipcRenderer.sendSync("get-platform"), diff --git a/src/models/model.ts b/src/models/model.ts index ee7fa3539..6bc214977 100644 --- a/src/models/model.ts +++ b/src/models/model.ts @@ -222,6 +222,10 @@ class Model { getApi().toggleDeveloperTools(); return true; }); + this.keybindManager.registerKeybinding("system", "electron", "system:minimizeWindow", (waveEvent) => { + getApi().minimizeWindow(); + return true; + }); } initAppKeybindings() { diff --git a/src/types/custom.d.ts b/src/types/custom.d.ts index 20630fdfd..c682b3b10 100644 --- a/src/types/custom.d.ts +++ b/src/types/custom.d.ts @@ -880,6 +880,7 @@ declare global { }; type ElectronApi = { + minimizeWindow: () => void; toggleDeveloperTools: () => void; getId: () => string; getIsDev: () => boolean;