Revert "chore: update"

This reverts commit f6fce6bd317796983dcd5876dce7219bbcf78756.
This commit is contained in:
huzibaca 2024-09-22 16:46:24 +08:00
parent f6fce6bd31
commit 2cdf33d8a1
2 changed files with 39 additions and 40 deletions

View File

@ -10,7 +10,7 @@ use crate::{
use anyhow::Result; use anyhow::Result;
use tauri::{ use tauri::{
menu::CheckMenuItem, menu::CheckMenuItem,
tray::{MouseButton, MouseButtonState, TrayIconBuilder, TrayIconEvent}, tray::{MouseButton, MouseButtonState, TrayIconEvent},
}; };
use tauri::{ use tauri::{
menu::{MenuEvent, MenuItem, PredefinedMenuItem, Submenu}, menu::{MenuEvent, MenuItem, PredefinedMenuItem, Submenu},
@ -20,47 +20,46 @@ use tauri::{AppHandle, Manager};
pub struct Tray {} pub struct Tray {}
impl Tray { impl Tray {
pub fn create_systray(app_handle: &AppHandle) -> Result<()> { pub fn update_systray(app_handle: &AppHandle) -> Result<()> {
let _ = TrayIconBuilder::with_id("main") let tray = app_handle.tray_by_id("main").unwrap();
.on_tray_icon_event(|tray, event| {
let tray_event = { Config::verge().latest().tray_event.clone() };
let tray_event: String = tray_event.unwrap_or("main_window".into());
#[cfg(target_os = "macos")] tray.on_tray_icon_event(|tray, event| {
if let TrayIconEvent::Click { let tray_event = { Config::verge().latest().tray_event.clone() };
button: MouseButton::Right, let tray_event: String = tray_event.unwrap_or("main_window".into());
button_state: MouseButtonState::Down,
..
} = event
{
let app = tray.app_handle();
match tray_event.as_str() {
"system_proxy" => feat::toggle_system_proxy(),
"tun_mode" => feat::toggle_tun_mode(),
"main_window" => resolve::create_window(app),
_ => {}
}
}
#[cfg(not(target_os = "macos"))] #[cfg(target_os = "macos")]
if let TrayIconEvent::Click { if let TrayIconEvent::Click {
button: MouseButton::Left, button: MouseButton::Right,
button_state: MouseButtonState::Down, button_state: MouseButtonState::Down,
.. ..
} = event } = event
{ {
let app = tray.app_handle(); let app = tray.app_handle();
match tray_event.as_str() { match tray_event.as_str() {
"system_proxy" => feat::toggle_system_proxy(), "system_proxy" => feat::toggle_system_proxy(),
"tun_mode" => feat::toggle_tun_mode(), "tun_mode" => feat::toggle_tun_mode(),
"main_window" => resolve::create_window(app), "main_window" => resolve::create_window(app),
_ => {} _ => {}
}
} }
}) }
.on_menu_event(on_menu_event)
.menu_on_left_click(false) #[cfg(not(target_os = "macos"))]
.build(app_handle); if let TrayIconEvent::Click {
button: MouseButton::Left,
button_state: MouseButtonState::Down,
..
} = event
{
let app = tray.app_handle();
match tray_event.as_str() {
"system_proxy" => feat::toggle_system_proxy(),
"tun_mode" => feat::toggle_tun_mode(),
"main_window" => resolve::create_window(app),
_ => {}
}
}
});
tray.on_menu_event(on_menu_event);
Ok(()) Ok(())
} }

View File

@ -85,7 +85,7 @@ pub async fn resolve_setup(app: &mut App) {
server::embed_server(app.app_handle()); server::embed_server(app.app_handle());
log::trace!("init system tray"); log::trace!("init system tray");
log_err!(tray::Tray::create_systray(&app.app_handle())); log_err!(tray::Tray::update_systray(&app.app_handle()));
let silent_start = { Config::verge().data().enable_silent_start }; let silent_start = { Config::verge().data().enable_silent_start };
if !silent_start.unwrap_or(false) { if !silent_start.unwrap_or(false) {