This commit is contained in:
7
client/app/plugins/00.build-info.ts
Normal file
7
client/app/plugins/00.build-info.ts
Normal file
@@ -0,0 +1,7 @@
|
||||
export default defineNuxtPlugin({
|
||||
setup() {
|
||||
console.group('Build Info')
|
||||
console.log(`COMMIT_SHA: ${__COMMIT_SHA__}`)
|
||||
console.groupEnd()
|
||||
},
|
||||
})
|
||||
45
client/app/plugins/01.register-hotkeys.ts
Normal file
45
client/app/plugins/01.register-hotkeys.ts
Normal file
@@ -0,0 +1,45 @@
|
||||
import { isRegistered, register, unregister, unregisterAll } from '@tauri-apps/plugin-global-shortcut'
|
||||
|
||||
export default defineNuxtPlugin({
|
||||
async setup() {
|
||||
const { isTauri, toggleInput, toggleOutput } = useApp()
|
||||
const preferences = usePreferences()
|
||||
|
||||
if (!isTauri.value)
|
||||
return
|
||||
|
||||
await unregisterAll()
|
||||
|
||||
watch(preferences.toggleInputHotkey, async (shortcut, prevShortcut) => {
|
||||
await registerHotkey(shortcut, prevShortcut, toggleInput)
|
||||
}, {
|
||||
immediate: true,
|
||||
})
|
||||
|
||||
watch(preferences.toggleOutputHotkey, async (shortcut, prevShortcut) => {
|
||||
await registerHotkey(shortcut, prevShortcut, toggleOutput)
|
||||
}, {
|
||||
immediate: true,
|
||||
})
|
||||
|
||||
async function registerHotkey(shortcut: string, prevShortcut: string | undefined, cb: () => void) {
|
||||
if (!!prevShortcut && await isRegistered(prevShortcut)) {
|
||||
await unregister(prevShortcut)
|
||||
}
|
||||
|
||||
if (!shortcut)
|
||||
return
|
||||
|
||||
if (await isRegistered(shortcut)) {
|
||||
await unregister(shortcut)
|
||||
}
|
||||
|
||||
await register(shortcut, ({ state }) => {
|
||||
if (state !== 'Released')
|
||||
return
|
||||
|
||||
cb()
|
||||
})
|
||||
}
|
||||
},
|
||||
})
|
||||
Reference in New Issue
Block a user