30 lines
1.0 KiB
Rust
30 lines
1.0 KiB
Rust
#![cfg_attr(
|
|
all(not(debug_assertions), target_os = "windows"),
|
|
windows_subsystem = "windows"
|
|
)]
|
|
use tauri::{CustomMenuItem, SystemTray, SystemTrayMenu, SystemTrayMenuItem, MenuItem};
|
|
|
|
#[tauri::command]
|
|
fn my_custom_command(msg: String) -> String {
|
|
println!("I was invoked from JS! {}", msg);
|
|
return "Hello from Rust".into()
|
|
}
|
|
|
|
fn main() {
|
|
// here `"quit".to_string()` defines the menu item id, and the second parameter is the menu item label.
|
|
let quit = CustomMenuItem::new("quit".to_string(), "Quit");
|
|
let hide = CustomMenuItem::new("hide".to_string(), "Hide");
|
|
let tray_menu = SystemTrayMenu::new()
|
|
.add_item(quit)
|
|
.add_native_item(SystemTrayMenuItem::Separator)
|
|
.add_item(hide);
|
|
let tray = SystemTray::new().with_menu(tray_menu);
|
|
|
|
tauri::Builder::default()
|
|
.system_tray(tray)
|
|
// This is where you pass in your commands
|
|
.invoke_handler(tauri::generate_handler![my_custom_command])
|
|
.run(tauri::generate_context!())
|
|
.expect("error while running tauri application");
|
|
}
|