From ce0fc08500f65cf0477438aec03c57f5eb297607 Mon Sep 17 00:00:00 2001 From: Pragadesh-45 <54320162+Pragadesh-45@users.noreply.github.com> Date: Thu, 14 Aug 2025 20:48:15 +0530 Subject: [PATCH] Feat/ Add Global Shortcuts for Zoom, Minimize, and Close on Windows (fixes: #4108) (#4110) Co-authored-by: sanjai0py --- .../src/providers/Hotkeys/keyMappings.js | 8 ++++---- packages/bruno-electron/src/index.js | 15 ++++++++++++++- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/packages/bruno-app/src/providers/Hotkeys/keyMappings.js b/packages/bruno-app/src/providers/Hotkeys/keyMappings.js index 05ad4531b..b88300c8f 100644 --- a/packages/bruno-app/src/providers/Hotkeys/keyMappings.js +++ b/packages/bruno-app/src/providers/Hotkeys/keyMappings.js @@ -5,10 +5,10 @@ const KeyMapping = { newRequest: { mac: 'command+b', windows: 'ctrl+b', name: 'New Request' }, closeTab: { mac: 'command+w', windows: 'ctrl+w', name: 'Close Tab' }, openPreferences: { mac: 'command+,', windows: 'ctrl+,', name: 'Open Preferences' }, - minimizeWindow: { - mac: 'command+Shift+Q', - windows: 'control+Shift+Q', - name: 'Minimize Window' + closeBruno: { + mac: 'command+Q', + windows: 'ctrl+shift+q', + name: 'Close Bruno' }, switchToPreviousTab: { mac: 'command+pageup', diff --git a/packages/bruno-electron/src/index.js b/packages/bruno-electron/src/index.js index 047a35f31..3998e634d 100644 --- a/packages/bruno-electron/src/index.js +++ b/packages/bruno-electron/src/index.js @@ -11,7 +11,7 @@ if (isDev) { } const { format } = require('url'); -const { BrowserWindow, app, session, Menu, ipcMain } = require('electron'); +const { BrowserWindow, app, session, Menu, globalShortcut, ipcMain } = require('electron'); const { setContentSecurityPolicy } = require('electron-util'); if (isDev && process.env.ELECTRON_USER_DATA_PATH) { @@ -165,6 +165,19 @@ app.on('ready', async () => { } return { action: 'deny' }; }); + + // Quick fix for Electron issue #29996: https://github.com/electron/electron/issues/29996 + globalShortcut.register('Ctrl+=', () => { + mainWindow.webContents.setZoomLevel(mainWindow.webContents.getZoomLevel() + 1); + }); + + globalShortcut.register('CommandOrControl+M', () => { + mainWindow.minimize(); + }); + + globalShortcut.register('CommandOrControl+H', () => { + mainWindow.minimize(); + }); mainWindow.webContents.on('did-finish-load', () => { let ogSend = mainWindow.webContents.send;