feat: Support Open/Close Dashboard Hotkey

#439
This commit is contained in:
MystiPanda 2024-02-24 13:39:30 +08:00
parent 8e4d7e989b
commit 2835e79973
No known key found for this signature in database
GPG Key ID: 47D0F0284DC57888
6 changed files with 13 additions and 7 deletions

View File

@ -65,7 +65,7 @@ impl Hotkey {
} }
let f = match func.trim() { let f = match func.trim() {
"open_dashboard" => feat::open_dashboard, "open_or_close_dashboard" => feat::open_or_close_dashboard,
"clash_mode_rule" => || feat::change_clash_mode("rule".into()), "clash_mode_rule" => || feat::change_clash_mode("rule".into()),
"clash_mode_global" => || feat::change_clash_mode("global".into()), "clash_mode_global" => || feat::change_clash_mode("global".into()),
"clash_mode_direct" => || feat::change_clash_mode("direct".into()), "clash_mode_direct" => || feat::change_clash_mode("direct".into()),

View File

@ -10,13 +10,19 @@ use crate::log_err;
use crate::utils::resolve; use crate::utils::resolve;
use anyhow::{bail, Result}; use anyhow::{bail, Result};
use serde_yaml::{Mapping, Value}; use serde_yaml::{Mapping, Value};
use tauri::{AppHandle, ClipboardManager}; use tauri::{AppHandle, ClipboardManager, Manager};
// 打开面板 // 打开面板
pub fn open_dashboard() { pub fn open_or_close_dashboard() {
let handle = handle::Handle::global(); let handle = handle::Handle::global();
let app_handle = handle.app_handle.lock(); let app_handle = handle.app_handle.lock();
if let Some(app_handle) = app_handle.as_ref() { if let Some(app_handle) = app_handle.as_ref() {
if let Some(window) = app_handle.get_window("main") {
if let Ok(true) = window.is_focused() {
let _ = window.close();
return;
}
}
resolve::create_window(app_handle); resolve::create_window(app_handle);
} }
} }

View File

@ -14,7 +14,7 @@ const ItemWrapper = styled("div")`
`; `;
const HOTKEY_FUNC = [ const HOTKEY_FUNC = [
"open_dashboard", "open_or_close_dashboard",
"clash_mode_rule", "clash_mode_rule",
"clash_mode_global", "clash_mode_global",
"clash_mode_direct", "clash_mode_direct",

View File

@ -138,7 +138,7 @@
"Download Speed": "Download Speed", "Download Speed": "Download Speed",
"Upload Speed": "Upload Speed", "Upload Speed": "Upload Speed",
"open_dashboard": "Open Dashboard", "open_or_close_dashboard": "Open/Close Dashboard",
"clash_mode_rule": "Rule Mode", "clash_mode_rule": "Rule Mode",
"clash_mode_global": "Global Mode", "clash_mode_global": "Global Mode",
"clash_mode_direct": "Direct Mode", "clash_mode_direct": "Direct Mode",

View File

@ -118,7 +118,7 @@
"Cancel": "Отмена", "Cancel": "Отмена",
"Exit": "Выход", "Exit": "Выход",
"open_dashboard": "Open Dashboard", "open_or_close_dashboard": "Open/Close Dashboard",
"clash_mode_rule": "Режим правил", "clash_mode_rule": "Режим правил",
"clash_mode_global": "Глобальный режим", "clash_mode_global": "Глобальный режим",
"clash_mode_direct": "Прямой режим", "clash_mode_direct": "Прямой режим",

View File

@ -138,7 +138,7 @@
"Download Speed": "下载速度", "Download Speed": "下载速度",
"Upload Speed": "上传速度", "Upload Speed": "上传速度",
"open_dashboard": "打开面板", "open_or_close_dashboard": "打开/关闭面板",
"clash_mode_rule": "规则模式", "clash_mode_rule": "规则模式",
"clash_mode_global": "全局模式", "clash_mode_global": "全局模式",
"clash_mode_direct": "直连模式", "clash_mode_direct": "直连模式",