The tray's right-click menu is drawn by the app: one tree from tray.rs (stable submenu keys), one frameless always-on-top menu-N window per panel rendered by tray-menu.html with the design system, placed inside the monitor's work area. A pure panel book keeps transient and pinned panels apart; pinned panels (pin button, Ctrl+click, middle click) are draggable, step aside from each other and are saved in state.json (menuPins) and restored at start. tray_update pushes the tree to the open panels, which update in place; closed panels are destroyed. The native menu, rendered from the same tree, stays as the fallback and on Linux. Only menu-* windows get the menu_* commands (menu.json). In-app context menus get the same behaviour through a pure menu stack (ui/menu-stack.ts): pin a menu, tear off a submenu, pinned panels survive the next menu, are draggable and re-read their entries from live sources so data changes update them in place. Also drops a stray diff3 marker line from CHANGELOG.md.
11 lines
548 B
Rust
11 lines
548 B
Rust
// App command manifest: every #[tauri::command] gets an `allow-<name>` permission, and a command no capability lists
|
|
// is denied. The list lives in src/commands_list.rs so tests/security.rs can compare it with the capability files.
|
|
include!("src/commands_list.rs");
|
|
|
|
fn main() {
|
|
tauri_build::try_build(
|
|
tauri_build::Attributes::new()
|
|
.app_manifest(tauri_build::AppManifest::new().commands(Box::leak([COMMANDS, CARD_COMMANDS, MENU_COMMANDS].concat().into_boxed_slice()))),
|
|
)
|
|
.expect("tauri build script failed");
|
|
}
|