mirror of
https://github.com/jeffvli/feishin.git
synced 2026-06-10 22:32:17 +02:00
fix: strip playback menu accelerators while command palette is open (#2055)
On macOS, menu item accelerators (e.g. Space for Play/Pause) fire even when an input has focus, bypassing the renderer-side useHotkeys guard added in #1925. Typing a space character in the command palette search toggled play/pause instead of inserting a space. Track command palette open state in the main process via IPC. When the palette is open, rebuild the application menu with empty playback accelerators so single-key shortcuts no longer intercept keystrokes intended for the search input. Restore accelerators when the palette closes. Co-authored-by: Jack McCrea <jack@MacBookPro.lan>
This commit is contained in:
@@ -201,17 +201,22 @@ export const useAppStore = createWithEqualityFn<AppSlice>()(
|
||||
set((state) => {
|
||||
state.commandPalette.opened = false;
|
||||
});
|
||||
window.api?.utils?.setCommandPaletteOpen?.(false);
|
||||
},
|
||||
open: () => {
|
||||
set((state) => {
|
||||
state.commandPalette.opened = true;
|
||||
});
|
||||
window.api?.utils?.setCommandPaletteOpen?.(true);
|
||||
},
|
||||
opened: false,
|
||||
toggle: () => {
|
||||
let nextOpened = false;
|
||||
set((state) => {
|
||||
state.commandPalette.opened = !state.commandPalette.opened;
|
||||
nextOpened = state.commandPalette.opened;
|
||||
});
|
||||
window.api?.utils?.setCommandPaletteOpen?.(nextOpened);
|
||||
},
|
||||
},
|
||||
commandPaletteSearchSectionsExpanded: {},
|
||||
|
||||
Reference in New Issue
Block a user