Skip to content

fix(client): Linux Overlay 未 realize 时不再 abort - #4

Draft
aocac wants to merge 1 commit into
mainfrom
cursor/linux-overlay-gtk-realize-3f48
Draft

aocac wants to merge 1 commit into
mainfrom
cursor/linux-overlay-gtk-realize-3f48

Conversation

@aocac

@aocac aocac commented Sep 17, 2026 •

Copy link
Copy Markdown
Owner

背景

合并 PR #3 后在本机 Linux(X11/TigerVNC + XFCE)跑 tauri dev 时,进程在 overlay 窗口 mount 瞬间 abort:

tao ... event_loop.rs CursorIgnoreEvents
window.window().unwrap()

input/overlay 配置为 visible: false。GTK 在窗口尚未 mapped 时没有 GdkWindow,setIgnoreCursorEvents(true) 会把整个进程打崩,游戏模式无法做实机验收。

改动

  • Overlay 首次 show() 之后再设点击穿透
  • mount 阶段只保留 visibleOnAllWorkspaces
  • 预览/消息/调整:show → setIgnoreCursorEvents

客户端-only,不改服务端,不影响香港机部署。

验证

本机 Linux 桌面已用此修复跑通:登录 https://ys.rylo.cn,Alt+G 输入 overlay,消息 overlay,Mousepad 焦点还原。证据在 agent store media/deploy-verify/。未授权故仍为 draft,未合 main。

Open in Web Open in Cursor 

GTK/tao 在 visible:false 窗口尚未 mapped 时 GdkWindow 为 None,
mount 时调用 setIgnoreCursorEvents 会 unwrap abort。改为首次 show 后再设点击穿透。

Co-authored-by: AppDuck <aocac@users.noreply.github.com>
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.

2 participants