Create native application menus with keyboard shortcuts and event handlers in Tauri v2. Use when defining window menu bars, handling menu item click events, binding keyboard accelerators, or adapting menus for macOS/Windows/Linux conventions.
ALWAYS use this skill when the user mentions:
Trigger phrases include:
use tauri::menu::{Menu, Submenu, MenuItem, PredefinedMenuItem};
tauri::Builder::default()
.setup(|app| {
let file_menu = Submenu::with_items(app, "File", true, &[
&MenuItem::with_id(app, "new", "New", true, Some("CmdOrCtrl+N"))?,
&MenuItem::with_id(app, "open", "Open", true, Some("CmdOrCtrl+O"))?,
&PredefinedMenuItem::separator(app)?,
&MenuItem::with_id(app, "quit", "Quit", true, Some("CmdOrCtrl+Q"))?,
])?;
let menu = Menu::with_items(app, &[&file_menu])?;
app.set_menu(menu)?;
Ok(())
})
.on_menu_event(|app, event| match event.id.as_ref() {
"new" => { /* handle new */ }
"quit" => { app.exit(0); }
_ => {}
})
Some("CmdOrCtrl+N") formaton_menu_event callback with match on event IDstauri menu, window menu, menu bar, keyboard shortcut, accelerator, context menu