以下内容由AI整理
%LOCALAPPDATA%\Programs\ClipHostRust)点击任务栏上的应用图标时,图标正常高亮(说明系统前台焦点已切换到目标应用),但窗口不会提升到最前,旧窗口依然盖在最上面,看起来就像"当前窗口被置顶了一样"。
vis=False,包括 GPUI 主窗、悬浮预览、托盘窗),干扰依旧发生 —— 说明问题出在后台常驻逻辑(剪贴板监听/钩子/窗口操作),与可见悬浮窗的遮挡无关故障发生时,系统前台焦点(GetForegroundWindow)已经切到目标窗口(所以任务栏图标亮了),但 Z 序顶层(GetTopWindow 枚举到的第一个可见普通窗口)仍是旧窗口,两个结果持续分叉 1.5~2 秒,期间目标窗口始终无法浮上来。
示例日志(FG=焦点窗口,TOP=屏幕顶层普通窗口):
13:12:15.591 FG=Obsidian TOP=Vivaldi ← 点击了 Obsidian 图标,焦点已切,但 Vivaldi 仍盖在上面
13:12:19.420 FG=Vivaldi TOP=VSCode ← 同样,焦点切了窗口没上来
13:12:21.719 FG=DSH TOP=VSCode
结论:焦点切换成功、窗口提升(z-order raise)失败。10-20 时 Alt+Tab 特权路径尚不受影响,10-29 起 Alt+Tab 同样中招,说明干扰发生在比任务栏切换路径更底层的窗口提升环节。期间 explorer / dwm / ClipHost 进程均响应正常(responding=True,无挂起窗口),可排除"应用假死拖住切换"。提升失败并非永久 —— 目标窗口常在数秒后自行浮上来,提示存在持续与系统竞争 Z 序的动作而非一次性拦截。10-20 与 10-29 两次诊断均有完整的 250ms 轮询日志,如需要可提供。
Alt+Tab 失效现场(2026-10-29 15:53,用户连续重试的 9 秒;FG=焦点窗口,Z0=屏幕顶层普通窗口,"任务切换"= Alt+Tab 切换器):
15:53:42.70 FG=explorer"任务切换" Z0=DSH NEXT ← 按下 Alt+Tab
15:53:43.48 FG=vivaldi"创建话题" Z0=DSH NEXT ← 选中 vivaldi:焦点已切,窗口仍在 DSH NEXT 之下(提升失败)
15:53:44.76 FG=explorer"任务切换" Z0=DSH NEXT ← 没切过去,再按 Alt+Tab
15:53:46.04 FG=vivaldi Z0=vivaldi ← 重试后才升到顶层
15:53:47.33 FG=DSH NEXT Z0=vivaldi ← 切到另一窗口:焦点已切,窗口又被压住
15:53:49.41 FG=DSH NEXT Z0=vivaldi ← DSH NEXT 仍被压着(不在前三)
15:53:50.18 FG=explorer"任务切换" Z0=DSH NEXT ← 约 0.8 秒后 DSH NEXT 才自行浮上来,此时用户已在重试
ClipHost Rust 版(Tauri 标识 net.getquicker.cliphost.tauri + GPUI 渲染窗 Zed::Window + ClipHostHoverPopup 悬浮预览)可能存在以下行为之一:
退出 ClipHost 后问题消失(2026-10-20 与 2026-10-29 的 v0.32.2 上均通过对照验证)。等待修复~