소스 검색

feat: Support different tray icon for macos

MystiPanda 1 년 전
부모
커밋
7de6622d74
4개의 변경된 파일10개의 추가작업 그리고 2개의 파일을 삭제
  1. BIN
      src-tauri/icons/mac-tray-icon-sys.png
  2. BIN
      src-tauri/icons/mac-tray-icon-tun.png
  3. 0 0
      src-tauri/icons/tray-icon-sys.png
  4. 10 2
      src-tauri/src/core/tray.rs

BIN
src-tauri/icons/mac-tray-icon-sys.png


BIN
src-tauri/icons/mac-tray-icon-tun.png


+ 0 - 0
src-tauri/icons/tray-icon-activated.png → src-tauri/icons/tray-icon-sys.png


+ 10 - 2
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));