Force single instance and close alphabet window on main window close

This commit is contained in:
Lncvrt committed 2025-07-26 13:05:57 -07:00
1 parent 35f4b651af
commit e25f16b616
2 files changed
+23

No files matched your search

+3
View File
@@ -18,3 +18,6 @@ serde = { version = "1.0.219", features = ["derive"] }
serde_json = "1.0.141" serde_json = "1.0.141"
tauri-plugin-os = "2.3.0" tauri-plugin-os = "2.3.0"
[target.'cfg(not(any(target_os = "android", target_os = "ios")))'.dependencies]
tauri-plugin-single-instance = "2.3.2"
+20
View File
@@ -1,9 +1,29 @@
use tauri::{Manager, WindowEvent};
#[cfg_attr(mobile, tauri::mobile_entry_point)] #[cfg_attr(mobile, tauri::mobile_entry_point)]
pub fn run() { pub fn run() {
#[allow(unused_variables)] #[allow(unused_variables)]
tauri::Builder::default() tauri::Builder::default()
.plugin(tauri_plugin_single_instance::init(|app, args, cwd| {
let _ = app
.get_webview_window("main")
.expect("no main window")
.set_focus();
}))
.plugin(tauri_plugin_os::init()) .plugin(tauri_plugin_os::init())
.invoke_handler(tauri::generate_handler![]) .invoke_handler(tauri::generate_handler![])
.setup(|app| {
let main_win = app.get_webview_window("main").unwrap();
let main_win_clone = main_win.clone();
main_win.on_window_event(move |event| {
if let WindowEvent::CloseRequested { api, .. } = event {
if let Some(win) = main_win_clone.app_handle().get_webview_window("alphabet") {
let _ = win.close();
}
}
});
Ok(())
})
.run(tauri::generate_context!()) .run(tauri::generate_context!())
.expect("error while running tauri application"); .expect("error while running tauri application");
} }