Skip to content

Commit bee805d

Browse files
committed
feat (core): 隐藏应用区分平台
1 parent af31b14 commit bee805d

2 files changed

Lines changed: 29 additions & 4 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ CodeForge 是一款轻量级、高性能的桌面代码执行器,专为开发
3838

3939
**系统要求:**
4040
- Node.js 18+
41-
- Rust 1.70+
41+
- Rust 1.8+
4242

4343
**构建步骤:**
4444

src-tauri/src/setup/menus/app.rs

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use log::info;
22
use tauri::{
3-
AppHandle, Emitter,
3+
AppHandle, Emitter, Manager,
44
menu::{MenuItemBuilder, Submenu, SubmenuBuilder},
55
};
66

@@ -16,11 +16,18 @@ pub fn create_app_submenu(app: &AppHandle) -> tauri::Result<Submenu<tauri::Wry>>
1616
.accelerator("CmdOrCtrl+,")
1717
.build(app)?;
1818

19+
#[cfg(target_os = "macos")]
1920
let hide_item = MenuItemBuilder::new("隐藏 CodeForge")
2021
.id("hide")
2122
.accelerator("CmdOrCtrl+H")
2223
.build(app)?;
2324

25+
#[cfg(not(target_os = "macos"))]
26+
let hide_item = MenuItemBuilder::new("最小化 CodeForge")
27+
.id("hide")
28+
.accelerator("CmdOrCtrl+M")
29+
.build(app)?;
30+
2431
let restart_item = MenuItemBuilder::new("重启 CodeForge")
2532
.id("restart")
2633
.accelerator("CmdOrCtrl+R")
@@ -59,8 +66,26 @@ pub fn handle_app_menu_event(app: &AppHandle, event_id: &str) {
5966
let _event = app.emit("show-settings", ());
6067
}
6168
"hide" => {
62-
info!("隐藏应用 CodeForge");
63-
let _ = app.hide();
69+
#[cfg(target_os = "macos")]
70+
{
71+
info!("隐藏应用 CodeForge");
72+
let _ = app.hide();
73+
}
74+
75+
#[cfg(not(target_os = "macos"))]
76+
{
77+
info!("最小化应用 CodeForge");
78+
// 获取主窗口并最小化
79+
if let Some(window) = app.get_webview_window("main") {
80+
let _ = window.minimize();
81+
} else {
82+
// 如果找不到 main 窗口,尝试获取第一个可用窗口
83+
let windows = app.webview_windows();
84+
if let Some((_, window)) = windows.iter().next() {
85+
let _ = window.minimize();
86+
}
87+
}
88+
}
6489
}
6590
"restart" => {
6691
info!("CodeForge 应用重启");

0 commit comments

Comments
 (0)