diff --git a/src-tauri/icons/mac-tray-icon-sys.png b/src-tauri/icons/mac-tray-icon-sys.png new file mode 100644 index 00000000..6debc2e9 Binary files /dev/null and b/src-tauri/icons/mac-tray-icon-sys.png differ diff --git a/src-tauri/icons/mac-tray-icon-tun.png b/src-tauri/icons/mac-tray-icon-tun.png new file mode 100644 index 00000000..a3b650bc Binary files /dev/null and b/src-tauri/icons/mac-tray-icon-tun.png differ diff --git a/src-tauri/icons/tray-icon-activated.png b/src-tauri/icons/tray-icon-sys.png similarity index 100% rename from src-tauri/icons/tray-icon-activated.png rename to src-tauri/icons/tray-icon-sys.png diff --git a/src-tauri/src/core/tray.rs b/src-tauri/src/core/tray.rs index d38aa313..4976130d 100644 --- a/src-tauri/src/core/tray.rs +++ b/src-tauri/src/core/tray.rs @@ -136,13 +136,21 @@ impl Tray { let tun_mode = verge.enable_tun_mode.as_ref().unwrap_or(&false); let mut indication_icon = if *system_proxy { - include_bytes!("../../icons/tray-icon-activated.png").to_vec() + #[cfg(not(target_os = "macos"))] + let icon = include_bytes!("../../icons/tray-icon-sys.png").to_vec(); + #[cfg(target_os = "macos")] + let icon = include_bytes!("../../icons/mac-tray-icon-sys.png").to_vec(); + icon } else { include_bytes!("../../icons/tray-icon.png").to_vec() }; if *tun_mode { - indication_icon = include_bytes!("../../icons/tray-icon-tun.png").to_vec(); + #[cfg(not(target_os = "macos"))] + let icon = include_bytes!("../../icons/tray-icon-tun.png").to_vec(); + #[cfg(target_os = "macos")] + let icon = include_bytes!("../../icons/mac-tray-icon-tun.png").to_vec(); + indication_icon = icon } let _ = tray.set_icon(tauri::Icon::Raw(indication_icon));