Skip to content

Commit 4e9c6db

Browse files
committed
Keep cross-platform tray menu imports available
Linux release builds use MenuBuilder for the shared tray menu, while MenuItemBuilder and SubmenuBuilder are only used in the macOS native menu bar. Gate only the macOS-only imports so Linux builds no longer warn about them and still compile the shared tray path. Constraint: Linux builds compile the shared tray setup path and require MenuBuilder Constraint: MenuItemBuilder and SubmenuBuilder are only referenced inside cfg(target_os = "macos") Rejected: Gate the whole tauri::menu import on macOS | Linux still needs MenuBuilder for tray menu construction Confidence: high Scope-risk: narrow Directive: Do not gate MenuBuilder by platform unless setup_system_tray is also made platform-specific Tested: cargo fmt --check Tested: git diff --check Not-tested: Local Linux cargo check beyond system GTK/WebKit pkg-config setup; GitHub release Linux job is the verification surface
1 parent 49bfaba commit 4e9c6db

1 file changed

Lines changed: 2 additions & 1 deletion

File tree

desktop/src-tauri/src/lib.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,9 @@ use std::{
1616

1717
use portable_pty::{native_pty_system, ChildKiller, CommandBuilder, MasterPty, PtySize};
1818
use serde::{Deserialize, Serialize};
19+
use tauri::menu::MenuBuilder;
1920
#[cfg(target_os = "macos")]
20-
use tauri::menu::{MenuBuilder, MenuItemBuilder, SubmenuBuilder};
21+
use tauri::menu::{MenuItemBuilder, SubmenuBuilder};
2122
use tauri::tray::{MouseButton, MouseButtonState, TrayIconBuilder, TrayIconEvent};
2223
use tauri::Emitter;
2324
use tauri::{AppHandle, Manager, PhysicalPosition, PhysicalSize, RunEvent, State, WindowEvent};

0 commit comments

Comments
 (0)