diff --git a/src-tauri/icons/win-tray-icon-activated.png b/src-tauri/icons/tray-icon-activated.png similarity index 100% rename from src-tauri/icons/win-tray-icon-activated.png rename to src-tauri/icons/tray-icon-activated.png diff --git a/src-tauri/icons/win-tray-icon-tun.png b/src-tauri/icons/tray-icon-tun.png similarity index 100% rename from src-tauri/icons/win-tray-icon-tun.png rename to src-tauri/icons/tray-icon-tun.png diff --git a/src-tauri/icons/tray-icon.png b/src-tauri/icons/tray-icon.png index be2533a7..29616c85 100644 Binary files a/src-tauri/icons/tray-icon.png and b/src-tauri/icons/tray-icon.png differ diff --git a/src-tauri/icons/win-tray-icon.png b/src-tauri/icons/win-tray-icon.png deleted file mode 100644 index 29616c85..00000000 Binary files a/src-tauri/icons/win-tray-icon.png and /dev/null differ diff --git a/src-tauri/src/core/tray.rs b/src-tauri/src/core/tray.rs index 456c1234..d38aa313 100644 --- a/src-tauri/src/core/tray.rs +++ b/src-tauri/src/core/tray.rs @@ -135,21 +135,18 @@ impl Tray { let system_proxy = verge.enable_system_proxy.as_ref().unwrap_or(&false); let tun_mode = verge.enable_tun_mode.as_ref().unwrap_or(&false); - #[cfg(target_os = "windows")] - { - 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() - }; + let mut indication_icon = if *system_proxy { + include_bytes!("../../icons/tray-icon-activated.png").to_vec() + } else { + include_bytes!("../../icons/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)); + if *tun_mode { + indication_icon = include_bytes!("../../icons/tray-icon-tun.png").to_vec(); } + let _ = tray.set_icon(tauri::Icon::Raw(indication_icon)); + let _ = tray.get_item("system_proxy").set_selected(*system_proxy); let _ = tray.get_item("tun_mode").set_selected(*tun_mode); @@ -160,7 +157,6 @@ impl Tray { map }; - #[cfg(not(target_os = "linux"))] let _ = tray.set_tooltip(&format!( "Clash Verge {version}\n{}: {}\n{}: {}", t!("System Proxy", "系统代理"), @@ -185,7 +181,6 @@ impl Tray { pub fn on_system_tray_event(app_handle: &AppHandle, event: SystemTrayEvent) { match event { - #[cfg(not(target_os = "linux"))] SystemTrayEvent::LeftClick { .. } => Tray::on_left_click(app_handle), SystemTrayEvent::MenuItemClick { id, .. } => match id.as_str() { mode @ ("rule_mode" | "global_mode" | "direct_mode" | "script_mode") => { diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index ec3cdb09..8eed7898 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -10,13 +10,8 @@ "beforeBuildCommand": "pnpm run web:build" }, "tauri": { - "systemTray": { - "iconPath": "icons/tray-icon.ico", - "iconAsTemplate": true - }, "bundle": { "active": true, - "targets": ["deb", "appimage", "nsis", "app", "dmg", "updater"], "identifier": "io.github.clash-verge-rev.clash-verge-rev", "icon": [ "icons/32x32.png", @@ -30,32 +25,7 @@ "copyright": "© 2022 zzzgydi All Rights Reserved", "category": "DeveloperTool", "shortDescription": "A Clash Meta GUI based on tauri.", - "longDescription": "A Clash Meta GUI based on tauri.", - "deb": { - "depends": ["openssl"] - }, - "macOS": { - "frameworks": [], - "minimumSystemVersion": "", - "exceptionDomain": "", - "signingIdentity": null, - "entitlements": null - }, - "windows": { - "certificateThumbprint": null, - "digestAlgorithm": "sha256", - "timestampUrl": "", - "webviewInstallMode": { - "type": "embedBootstrapper", - "silent": true - }, - "nsis": { - "displayLanguageSelector": true, - "installerIcon": "icons/icon.ico", - "languages": ["SimpChinese", "English"], - "license": "../LICENSE" - } - } + "longDescription": "A Clash Meta GUI based on tauri." }, "updater": { "active": true, diff --git a/src-tauri/tauri.linux.conf.json b/src-tauri/tauri.linux.conf.json new file mode 100644 index 00000000..9949323b --- /dev/null +++ b/src-tauri/tauri.linux.conf.json @@ -0,0 +1,13 @@ +{ + "tauri": { + "systemTray": { + "iconPath": "icons/tray-icon.png" + }, + "bundle": { + "targets": ["deb", "appimage", "updater"], + "deb": { + "depends": ["openssl"] + } + } + } +} diff --git a/src-tauri/tauri.macos.conf.json b/src-tauri/tauri.macos.conf.json new file mode 100644 index 00000000..0230cd3e --- /dev/null +++ b/src-tauri/tauri.macos.conf.json @@ -0,0 +1,18 @@ +{ + "tauri": { + "systemTray": { + "iconPath": "icons/tray-icon.ico", + "iconAsTemplate": true + }, + "bundle": { + "targets": ["app", "dmg", "updater"], + "macOS": { + "frameworks": [], + "minimumSystemVersion": "", + "exceptionDomain": "", + "signingIdentity": null, + "entitlements": null + } + } + } +} diff --git a/src-tauri/tauri.windows.conf.json b/src-tauri/tauri.windows.conf.json new file mode 100644 index 00000000..eafa6556 --- /dev/null +++ b/src-tauri/tauri.windows.conf.json @@ -0,0 +1,25 @@ +{ + "tauri": { + "systemTray": { + "iconPath": "icons/tray-icon.png" + }, + "bundle": { + "targets": ["nsis", "updater"], + "windows": { + "certificateThumbprint": null, + "digestAlgorithm": "sha256", + "timestampUrl": "", + "webviewInstallMode": { + "type": "embedBootstrapper", + "silent": true + }, + "nsis": { + "displayLanguageSelector": true, + "installerIcon": "icons/icon.ico", + "languages": ["SimpChinese", "English"], + "license": "../LICENSE" + } + } + } + } +}