fix(windows): 修复自绘窗口圆角与外框贴合#125
Conversation
There was a problem hiding this comment.
Sorry @Cooper-X-Oak, you have reached your weekly rate limit of 500000 diff characters.
Please try again later or upgrade to continue using Sourcery
|
补充了一版 Windows 圆角贴合修复:
本机补充验证:
构建临时目录继续放在 D 盘,C 盘 |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8f5b7682ce
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| let native_frame_bits = (WS_CAPTION.0 | WS_THICKFRAME.0) as i32; | ||
| if style & native_frame_bits != 0 { | ||
| SetWindowLongW(hwnd, GWL_STYLE, style & !native_frame_bits); |
There was a problem hiding this comment.
Keep WS_THICKFRAME so borderless window stays resizable
Clearing WS_THICKFRAME here removes the native sizing border on Windows, so users can no longer resize the main window by dragging edges/corners after this commit. The frontend title bar (WindowChrome) only wires move/min/max/close actions and does not implement custom resize hit-testing, so there is no fallback path for resizing once this style bit is stripped.
Useful? React with 👍 / 👎.
|
继续保持 Draft。根据本机测试版复现,窗口交互问题拆成三条:
本机验证:
仍不转 ready,等人工视觉/手感确认圆角、边缘热区和按钮 hover。 |
|
Governance note: This draft PR is treated as the canonical implementation anchor for Keep in scope:
Keep out of scope:
Reference docs:
|
|
自动推进更新:\n\n- 已把当前工作区中属于 A 族群(窗口外观契约)的代码单独切回这条 canonical draft PR\n- 本轮新增点主要是:Windows shell radius / console radius 收紧、自绘 resize handles、tauri.conf main window frameless create、静态 UI guard 扩展\n- 已完成验证:\n - |
|
@Cooper-X-Oak 这条 PR 是 draft + CONFLICTING。main 在过去合入了 #145 提醒:此前评估发现本 PR 当前的 这次关闭不是否定内容(DWM 圆角 + resize handles 的实现是对的),纯粹清场。 |
|
自动回归补充:\n\n- fresh-start smoke:powershell -ExecutionPolicy Bypass -File openless-all/app/scripts/windows-open-dev.ps1 -ExePath <#125 GNU dev exe> 通过\n- 进程状态:可见主窗口、Responding=True\n- 已完成自动门禁:\n - |
治理归属
docs/windows-window-governance-board.zh-CN.mddocs/2026-05-02-window-capability-family-audit.mddocs/github-tracking/windows-window-family-canonical-map.md修复要点
show(),降低首帧 native chrome 与自绘 chrome 不一致的概率。WindowChrome/FloatingShell/ 全局窗口背景圆角,减少四周圆角、边框和 shadow 的多层错位。关联 Issue
Closes #127
回归背景:#103 曾记录 Windows 原生标题栏与应用内自绘标题栏同时出现;这次 PR 先保持 Draft,用来继续收敛 Windows custom chrome 的圆角和外框一致性。
测试计划
npm run buildcargo check --lib --manifest-path openless-all\app\src-tauri\Cargo.toml --target x86_64-pc-windows-gnunpm run tauri build -- --target x86_64-pc-windows-gnu --no-bundleHasSystemCaption=False,HasThickFrame=True。Draft 说明
当前本地测试版已经明显改善,但四周圆角仍需要继续人工回归确认;因此先保持 Draft,不转 Ready。
本机验证备注
本机 C 盘空间紧张,构建验证已将
TMP/TEMP和CARGO_TARGET_DIR指向 D 盘临时目录,避免继续写入大量AppData\Local\Temp\openless-*。