Skip to content

feat: 支持 macOS 关闭窗口后常驻与 Dock 恢复 - #17

Open
Clarence12138 wants to merge 1 commit into
Skitre:mainfrom
Clarence12138:feat/macos-close-and-dock-reopen
Open

Clarence12138 wants to merge 1 commit into
Skitre:mainfrom
Clarence12138:feat/macos-close-and-dock-reopen

Conversation

@Clarence12138

@Clarence12138 Clarence12138 commented Sep 22, 2026 •

Copy link
Copy Markdown

问题

macOS 主窗口关闭后被销毁,无法提供关闭窗口后继续运行、点击 Dock 恢复同一工作环境的桌面行为;无边框窗口的默认 AppKit Close 动作也不能满足 Cmd+W 关闭需求。

变更

  • macOS 与 Windows 主窗口关闭时保留 WebView / Host;前端先处理草稿写入与未保存文件确认,再隐藏窗口。
  • 处理 macOS RunEvent::Reopen,显示、取消最小化并聚焦已有主窗口。
  • macOS 原生菜单接管 Cmd+W,对焦点窗口调用 Tauri close(),保留 CloseRequested 路径。
  • Cmd+Q / Quit 继续走独立退出确认和进程清理路径;分离的扩展窗口保留各自关闭逻辑。
  • 提取平台关闭策略,补充前端/Rust 回归测试和快捷键说明。

基线与范围

独立基于最新 Skitre/PiCove:main(102d9e1),提取 4bdde6d;不依赖其他 PR,无新增依赖、不修改 Pi SDK。

验证

在 Apple Silicon macOS / Node 24.5.0 / pnpm 9.15.0 下:

  • pnpm install --frozen-lockfile
  • pnpm verify:quick(docs、fixtures、release metadata、lint、typecheck、完整 JS 测试)
  • protocol 589 tests、Host 817 tests、desktop 1221 tests 通过;Host 5 tests 按现有配置跳过。
  • pnpm build
  • pnpm test:rust:122 passed、1 ignored。
  • pnpm lint:rust:Rust fmt 与 Clippy -D warnings 通过。
  • git diff --check

手工验收

  • 关闭按钮 / Cmd+W 隐藏主窗口后,Host 和终端继续运行,Dock 能恢复同一窗口。
  • Cmd+Q / Quit 仍完成确认与子进程清理。
  • 扩展浮窗关闭行为与 Windows 托盘行为无回归。

生产构建成功,Vite 仍提示部分 chunk 超过 500 kB。自动化通过不代表原生 GUI、安装包或跨平台发布验收已完成。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant