← ClaudeAtlas

adding-tauri-system-traylisted

Implement Tauri system tray functionality including tray icon setup, tray menu creation, event handling, and runtime updates in the notification area. USE WHEN adding a menu-bar or system-tray icon, tray menu, or notification-area behavior to a Tauri app.
Sheshiyer/skill-clusters · ★ 0 · Web & Frontend · score 69
Install: claude install-skill Sheshiyer/skill-clusters
# Tauri System Tray Implementation This skill covers implementing system tray (notification area) functionality in Tauri v2 applications. ## Configuration Enable the tray-icon feature in `src-tauri/Cargo.toml`: ```toml [dependencies] tauri = { version = "2", features = ["tray-icon"] } ``` ## Basic Tray Setup Create a tray icon in `src-tauri/src/lib.rs`: ```rust use tauri::tray::TrayIconBuilder; #[cfg_attr(mobile, tauri::mobile_entry_point)] pub fn run() { tauri::Builder::default() .setup(|app| { // Use TrayIconBuilder::with_id() to reference the tray later let tray = TrayIconBuilder::with_id(app, "main-tray") .icon(app.default_window_icon().unwrap().clone()) .tooltip("My Tauri App") .build(app)?; Ok(()) }) .run(tauri::generate_context!()) .expect("error while running tauri application"); } ``` ## Tray Menu ### Basic Menu with Items ```rust use tauri::{ menu::{Menu, MenuItem}, tray::TrayIconBuilder, }; #[cfg_attr(mobile, tauri::mobile_entry_point)] pub fn run() { tauri::Builder::default() .setup(|app| { let show_item = MenuItem::with_id(app, "show", "Show Window", true, None::<&str>)?; let hide_item = MenuItem::with_id(app, "hide", "Hide Window", true, None::<&str>)?; let quit_item = MenuItem::with_id(app, "quit", "Quit", true, None::<&str>)?; let menu = Menu::with_items(app, &[&