新增: 功能路线图 + 9份需求契约
- feature-roadmap.md: 现有能力盘点 + P1/P2/P3方向 + 竞品参考 - AI深度视差: 远程推理方案(服务端Depth-Anything + 客户端WebGL) - 自动升级模块文档: 设计规格/任务规划/决策记录 - 9份需求契约: 视频/颜色提取/时间段/番茄钟/播放列表/电池/网页/便签/监控
This commit is contained in:
@@ -219,3 +219,47 @@ go build -o u-desktop.exe .
|
||||
3. Modal 在壁纸层渲染,用户看不到也点不到
|
||||
|
||||
**修复**: 星座设置改为托盘子菜单直接选择(`AddSubMenuItem`),不依赖 WebView 交互。城市选择通过点击天气文字触发,因壁纸层可接收鼠标事件(WorkerW 的子窗口不在图标层之上但仍可点击)。
|
||||
|
||||
---
|
||||
|
||||
## 2026-05-28 追加
|
||||
|
||||
### Windows 桌面周期性重置壁纸
|
||||
|
||||
**症状**: 程序运行一段时间后,壁纸和卡片消失,被系统默认壁纸覆盖。
|
||||
|
||||
**根因**: Windows 桌面窗口管理器(DWM)会周期性重建 WorkerW,导致 WebView2 的 SetParent 关系断裂。
|
||||
|
||||
**修复**: 在 `fullscreenMonitor` 中每 10 秒检测 `GetParent(wvHwnd)`,父窗口变化时自动重新嵌入新 WorkerW。
|
||||
|
||||
```go
|
||||
parent, _, _ := procGetParent.Call(wvHwnd)
|
||||
if parent != lastParent {
|
||||
ww := findWorkerW()
|
||||
if ww != 0 && ww != parent {
|
||||
embedWorkerW(ww, screenW, screenH)
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 鼠标键盘事件穿透
|
||||
|
||||
**问题**: WebView2 覆盖在桌面上方,拦截所有鼠标/键盘事件,桌面图标无法操作。
|
||||
|
||||
**修复**: 设置 `WS_EX_TRANSPARENT | WS_EX_LAYERED` 扩展样式,事件穿透到下层桌面。
|
||||
|
||||
```go
|
||||
procSetWindowLongPtrW.Call(wvHwnd, gwlExStyle, wsExTransparent|wsExLayered)
|
||||
```
|
||||
|
||||
### 托盘左键点击
|
||||
|
||||
**问题**: 原版 systray 库左键/右键都弹菜单,无法区分。
|
||||
|
||||
**修复**: 修改 vendor 中的 `systray_windows.go`,左键 `WM_LBUTTONUP` 发送信号到 `TrayClickCh` 通道而非弹菜单。主程序监听此通道打开设置窗口。
|
||||
|
||||
### 配置路径迁移
|
||||
|
||||
**变更**: 配置从 `{exeDir}/config/settings.json` 迁移到 `~/.u-desktop/settings.json`。
|
||||
|
||||
**原因**: 构建清理 `dist/` 目录会删除用户配置。用户目录不受影响,且多版本共用同一配置。
|
||||
|
||||
Reference in New Issue
Block a user