diff --git a/src-tauri/icons/win-tray-icon-tun.png b/src-tauri/icons/win-tray-icon-tun.png new file mode 100644 index 00000000..a929db92 Binary files /dev/null and b/src-tauri/icons/win-tray-icon-tun.png differ diff --git a/src-tauri/src/core/tray.rs b/src-tauri/src/core/tray.rs index af3bbc2a..cbc7f3c3 100644 --- a/src-tauri/src/core/tray.rs +++ b/src-tauri/src/core/tray.rs @@ -145,12 +145,16 @@ impl Tray { #[cfg(target_os = "windows")] { - let indication_icon = if *system_proxy { + let mut indication_icon = if *system_proxy { include_bytes!("../../icons/win-tray-icon-activated.png").to_vec() } else { include_bytes!("../../icons/win-tray-icon.png").to_vec() }; + if *tun_mode { + indication_icon = include_bytes!("../../icons/win-tray-icon-tun.png").to_vec(); + } + let _ = tray.set_icon(tauri::Icon::Raw(indication_icon)); }