From 2ab99ac4fe2d33174202a9d6728fbcc6e7c1225e Mon Sep 17 00:00:00 2001 From: Danila Poyarkov Date: Sat, 28 Feb 2026 12:58:34 +0300 Subject: [PATCH] Windows build support: conditional macOS app menu, devtools feature MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Gate OpenPencil app submenu (About/Services/Hide/Quit) behind #[cfg(target_os = "macos")] — Windows/Linux don't have it - Enable tauri "devtools" feature in Cargo.toml (required for open_devtools/close_devtools on non-macOS) --- desktop/Cargo.toml | 2 +- desktop/src/lib.rs | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/desktop/Cargo.toml b/desktop/Cargo.toml index d5854a48d..ec866a6eb 100644 --- a/desktop/Cargo.toml +++ b/desktop/Cargo.toml @@ -18,7 +18,7 @@ crate-type = ["staticlib", "cdylib", "rlib"] tauri-build = { version = "2", features = [] } [dependencies] -tauri = { version = "2", features = [] } +tauri = { version = "2", features = ["devtools"] } tauri-plugin-opener = "2" serde = { version = "1", features = ["derive"] } serde_json = "1" diff --git a/desktop/src/lib.rs b/desktop/src/lib.rs index 5eb3326b9..bc2fdbe45 100644 --- a/desktop/src/lib.rs +++ b/desktop/src/lib.rs @@ -22,6 +22,7 @@ pub fn run() { let _ = app.emit("menu-event", event.id().0.as_str()); }) .setup(|app| { + #[cfg(target_os = "macos")] let app_menu = SubmenuBuilder::new(app, "OpenPencil") .item(&PredefinedMenuItem::about(app, Some("About OpenPencil"), None)?) .separator() @@ -223,9 +224,13 @@ pub fn run() { ) .build()?; - let menu = MenuBuilder::new(app) + let mut builder = MenuBuilder::new(app); + #[cfg(target_os = "macos")] + { + builder = builder.item(&app_menu); + } + let menu = builder .items(&[ - &app_menu, &file_menu, &edit_menu, &view_menu,