feat(gui): Enforce single instance of GUI to be running (#135)

* feat(gui): Only allow a single instance of the application

* feat(tauri): Remove unused tauri-plugin-dialog crate/yarn package
This commit is contained in:
binarybaron 2024-11-06 19:39:32 +01:00 committed by GitHub
parent efaf51f499
commit 12528a9d4e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 61 additions and 191 deletions

View file

@ -126,9 +126,19 @@ fn setup(app: &mut tauri::App) -> Result<(), Box<dyn std::error::Error>> {
#[cfg_attr(mobile, tauri::mobile_entry_point)]
pub fn run() {
tauri::Builder::default()
let mut builder = tauri::Builder::default();
#[cfg(desktop)]
{
builder = builder.plugin(tauri_plugin_single_instance::init(|app, _, _| {
let _ = app.get_webview_window("main")
.expect("no main window")
.set_focus();
}));
}
builder
.plugin(tauri_plugin_updater::Builder::new().build())
.plugin(tauri_plugin_dialog::init())
.plugin(tauri_plugin_process::init())
.plugin(tauri_plugin_store::Builder::new().build())
.plugin(tauri_plugin_clipboard_manager::init())