@@ -6,14 +6,15 @@ import {
66 MoonIcon ,
77 PaperClipIcon ,
88} from " @heroicons/vue/20/solid"
9- import { ref , onMounted , onBeforeUnmount , toRefs , watch } from " vue"
10- import { useRoute } from " vue-router"
9+ import { ref , onMounted , toRefs , watch } from " vue"
10+ import { useRoute , useRouter } from " vue-router"
1111import { useStorage , useThrottleFn } from " @vueuse/core"
1212
1313import { appWindow } from " @tauri-apps/api/window"
1414
1515import { useDarkMode } from " ../../composables/useDarkMode"
1616import { register , unregisterAll } from " @tauri-apps/api/globalShortcut"
17+ import { app } from " @tauri-apps/api"
1718
1819const $props = withDefaults (
1920 defineProps <{
@@ -25,6 +26,7 @@ const $props = withDefaults(
2526)
2627const { titleText } = toRefs ($props )
2728const $route = useRoute ()
29+ const $router = useRouter ()
2830
2931const title = ref (" Rocox Codex" )
3032const titleStack = useStorage <string []>(" rocox-title-stack" , [])
@@ -105,14 +107,24 @@ function removeMoveClass(event: MouseEvent) {
105107}
106108
107109const { isDarkMode, toggleDarkMode } = useDarkMode ()
110+ const alwaysUseFocusShortcut = useStorage (" rocox-shortcut-use-focus" , true )
108111
109112onMounted (async () => {
110113 await unregisterAll ()
111- await register (" CommandOrControl+D" , () => {
112- toggleDarkMode ()
114+ await register (" CommandOrControl+D" , async () => {
115+ if (alwaysUseFocusShortcut .value ) {
116+ if (await appWindow .isFocused ()) toggleDarkMode ()
117+ } else toggleDarkMode ()
113118 })
114- await register (" CommandOrControl+P" , () => {
115- throttleToggleIspinned ()
119+ await register (" CommandOrControl+P" , async () => {
120+ if (alwaysUseFocusShortcut .value ) {
121+ if (await appWindow .isFocused ()) throttleToggleIspinned ()
122+ } else throttleToggleIspinned ()
123+ })
124+ await register (" CommandOrControl+Q" , async () => {
125+ if (alwaysUseFocusShortcut .value ) {
126+ if (await appWindow .isFocused ()) $router .go (0 )
127+ } else $router .go (0 )
116128 })
117129})
118130 </script >
0 commit comments