// Copyright 2019-2023 Tauri Programme within The Commons Conservancy // SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: MIT use tauri_plugin_deep_link::DeepLinkExt; // Learn more about Tauri commands at https://tauri.app/v1/guides/features/command #[tauri::command] fn greet(name: &str) -> String { format!("Hello, {name}! You've been greeted from Rust!") } #[cfg_attr(mobile, tauri::mobile_entry_point)] pub fn run() { #[allow(unused_mut)] let mut builder = tauri::Builder::default(); #[cfg(desktop)] { builder = builder.plugin(tauri_plugin_single_instance::init(|_app, argv, _cwd| { println!("single instance triggered: {argv:?}"); })); } builder .plugin(tauri_plugin_deep_link::init()) .plugin( tauri_plugin_log::Builder::default() .level(log::LevelFilter::Info) .build(), ) .setup(|app| { // ensure deep links are registered on the system // this is useful because AppImages requires additional setup to be available in the system // and calling register() makes the deep links immediately available - without any user input // additionally, we manually register on Windows on debug builds for development #[cfg(any(target_os = "linux", all(debug_assertions, windows)))] app.deep_link().register_all()?; app.deep_link().on_open_url(|event| { dbg!(event.urls()); }); Ok(()) }) .invoke_handler(tauri::generate_handler![greet]) .run(tauri::generate_context!()) .expect("error while running tauri application"); }