diff --git a/frontend/src-tauri/Cargo.toml b/frontend/src-tauri/Cargo.toml index dcd73e6..893e2ec 100644 --- a/frontend/src-tauri/Cargo.toml +++ b/frontend/src-tauri/Cargo.toml @@ -15,22 +15,22 @@ name = "haystack_lib" crate-type = ["staticlib", "cdylib", "rlib"] [build-dependencies] -tauri-build = { version = "2", features = [] } +tauri-build = { version = "2.0.0-beta.12", features = [] } [dependencies] -tauri = { version = "2", features = ["macos-private-api"] } -tauri-plugin-opener = "2" +tauri = { version = "2.0.0-beta.12", features = ["macos-private-api"] } +tauri-plugin-opener = "2.0.0-beta.12" serde = { version = "1", features = ["derive"] } serde_json = "1" -tauri-plugin-dialog = "2" +tauri-plugin-dialog = "2.0.0-beta.12" notify = "6.1.1" base64 = "0.21.7" tokio = { version = "1.36.0", features = ["full"] } -tauri-plugin-store = "2" -tauri-plugin-http = "2" +tauri-plugin-store = "2.0.0-beta.12" +tauri-plugin-http = "2.0.0-beta.12" [target."cfg(target_os = \"macos\")".dependencies] cocoa = "0.26" [target."cfg(not(any(target_os = \"android\", target_os = \"ios\")))".dependencies] -tauri-plugin-global-shortcut = "2" +tauri-plugin-global-shortcut = "2.0.0-beta.12" diff --git a/frontend/src-tauri/src/shortcut.rs b/frontend/src-tauri/src/shortcut.rs index 1032f91..7a65bf5 100644 --- a/frontend/src-tauri/src/shortcut.rs +++ b/frontend/src-tauri/src/shortcut.rs @@ -1,5 +1,6 @@ use tauri::App; use tauri::AppHandle; +use tauri::Emitter; use tauri::Manager; use tauri::Runtime; use tauri_plugin_global_shortcut::GlobalShortcutExt; @@ -105,7 +106,7 @@ fn _register_shortcut(app: &AppHandle, shortcut: Shortcut) { let main_window = app.get_webview_window("main").unwrap(); // Register global shortcut and define its behavior app.global_shortcut() - .on_shortcut(shortcut, move |_app, scut, event| { + .on_shortcut(shortcut, move |app, scut, event| { if scut == &shortcut { if let ShortcutState::Pressed = event.state() { // Toggle window visibility @@ -114,6 +115,8 @@ fn _register_shortcut(app: &AppHandle, shortcut: Shortcut) { } else { main_window.show().unwrap(); // Show window main_window.set_focus().unwrap(); // Focus window + // Emit focus-search event + app.emit("focus-search", ()).unwrap(); } } } @@ -129,7 +132,7 @@ fn _register_shortcut_upon_start(app: &App, shortcut: Shortcut) { app.handle() .plugin( tauri_plugin_global_shortcut::Builder::new() - .with_handler(move |_app, scut, event| { + .with_handler(move |app, scut, event| { if scut == &shortcut { if let ShortcutState::Pressed = event.state() { // Toggle window visibility @@ -138,6 +141,8 @@ fn _register_shortcut_upon_start(app: &App, shortcut: Shortcut) { } else { window.show().unwrap(); // Show window window.set_focus().unwrap(); // Focus window + // Emit focus-search event + app.emit("focus-search", ()).unwrap(); } } } diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index 05fb8fd..6d3009b 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -141,6 +141,7 @@ function App() { value={searchQuery()} onInput={onInputChange} placeholder="Search for stuff..." + autofocus class="appearance-none inline-flex w-full min-h-[40px] text-base bg-transparent rounded-l-md outline-none placeholder:text-gray-600" />