mirror of
https://github.com/antebudimir/feishin.git
synced 2026-01-01 10:23:33 +00:00
Add hotkeys manager
- Add configuration to settings store - Initialize global hotkeys on startup from renderer
This commit is contained in:
parent
6056504f00
commit
d7f24262fd
7 changed files with 432 additions and 12 deletions
|
|
@ -42,6 +42,26 @@ type MpvSettings = {
|
|||
replayGainPreampDB?: number;
|
||||
};
|
||||
|
||||
export enum BindingActions {
|
||||
GLOBAL_SEARCH = 'globalSearch',
|
||||
LOCAL_SEARCH = 'localSearch',
|
||||
MUTE = 'volumeMute',
|
||||
NEXT = 'next',
|
||||
PAUSE = 'pause',
|
||||
PLAY = 'play',
|
||||
PLAY_PAUSE = 'playPause',
|
||||
PREVIOUS = 'previous',
|
||||
SHUFFLE = 'toggleShuffle',
|
||||
SKIP_BACKWARD = 'skipBackward',
|
||||
SKIP_FORWARD = 'skipForward',
|
||||
STOP = 'stop',
|
||||
TOGGLE_FULLSCREEN_PLAYER = 'toggleFullscreenPlayer',
|
||||
TOGGLE_QUEUE = 'toggleQueue',
|
||||
TOGGLE_REPEAT = 'toggleRepeat',
|
||||
VOLUME_DOWN = 'volumeDown',
|
||||
VOLUME_UP = 'volumeUp',
|
||||
}
|
||||
|
||||
export interface SettingsState {
|
||||
general: {
|
||||
followSystemTheme: boolean;
|
||||
|
|
@ -60,6 +80,7 @@ export interface SettingsState {
|
|||
volumeWheelStep: number;
|
||||
};
|
||||
hotkeys: {
|
||||
bindings: Record<BindingActions, { allowGlobal: boolean; hotkey: string; isGlobal: boolean }>;
|
||||
globalMediaHotkeys: boolean;
|
||||
};
|
||||
playback: {
|
||||
|
|
@ -118,6 +139,25 @@ const initialState: SettingsState = {
|
|||
volumeWheelStep: 5,
|
||||
},
|
||||
hotkeys: {
|
||||
bindings: {
|
||||
globalSearch: { allowGlobal: false, hotkey: 'mod+k', isGlobal: false },
|
||||
localSearch: { allowGlobal: false, hotkey: 'mod+f', isGlobal: false },
|
||||
next: { allowGlobal: true, hotkey: '', isGlobal: false },
|
||||
pause: { allowGlobal: true, hotkey: '', isGlobal: false },
|
||||
play: { allowGlobal: true, hotkey: '', isGlobal: false },
|
||||
playPause: { allowGlobal: true, hotkey: '', isGlobal: false },
|
||||
previous: { allowGlobal: true, hotkey: '', isGlobal: false },
|
||||
skipBackward: { allowGlobal: true, hotkey: '', isGlobal: false },
|
||||
skipForward: { allowGlobal: true, hotkey: '', isGlobal: false },
|
||||
stop: { allowGlobal: true, hotkey: '', isGlobal: false },
|
||||
toggleFullscreenPlayer: { allowGlobal: false, hotkey: '', isGlobal: false },
|
||||
toggleQueue: { allowGlobal: false, hotkey: '', isGlobal: false },
|
||||
toggleRepeat: { allowGlobal: true, hotkey: '', isGlobal: false },
|
||||
toggleShuffle: { allowGlobal: true, hotkey: '', isGlobal: false },
|
||||
volumeDown: { allowGlobal: true, hotkey: '', isGlobal: false },
|
||||
volumeMute: { allowGlobal: true, hotkey: '', isGlobal: false },
|
||||
volumeUp: { allowGlobal: true, hotkey: '', isGlobal: false },
|
||||
},
|
||||
globalMediaHotkeys: false,
|
||||
},
|
||||
playback: {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue