feat: 任务栏图标嵌入、窗口置顶钉子与进程资源采样

- build.rs + embed-resource 嵌入 icon.ico:gpui 从 exe 资源 ID 1
  加载窗口类图标,此前缺失导致任务栏显示系统默认图标
- 标题栏新增钉子按钮:sysmon::set_topmost 经 raw-window-handle
  取 HWND 调 SetWindowPos(HWND_TOPMOST),Pin/PinOff 图标随状态切换
- sysmon 模块:CPU 时间差分、工作集/峰值/提交内存、线程/句柄采样
  与运行时长基准(Windows 实现,其余平台返回空采样)
This commit is contained in:
2026-09-29 17:00:59 +08:00
parent 4290ffdeeb
commit a9c92e0974
9 changed files with 288 additions and 0 deletions
+4
View File
@@ -103,6 +103,8 @@ pub struct MqttXApp {
log_file: Option<(String, std::io::BufWriter<std::fs::File>)>,
/// 系统外观变化订阅:设置为「跟随系统」时重应用主题,随实体存活
_appearance_obs: gpui_kit::Subscription,
/// 窗口置顶状态(标题栏钉子按钮切换)
pinned: bool,
}
impl MqttXApp {
@@ -312,6 +314,7 @@ impl MqttXApp {
file_dialog_open: false,
log_file: None,
_appearance_obs: appearance_obs,
pinned: false,
}
}
@@ -1070,6 +1073,7 @@ impl MqttXApp {
let w3 = app_weak.clone();
let w4 = app_weak.clone();
let w5 = app_weak.clone();
let w6 = app_weak.clone();
menu.item(
PopupMenuItem::new("阿里云设备")
.on_click(move |_, window, cx| {