是否有我可以在 Xlib 中设置的事件掩码,以便在 window 标题更改时接收事件

Is there an event mask I can set in Xlib to receive an event whenever a window title is changes

我正在用 Xlib 用 C++ 编写一个 window 管理器(主要是 c 的东西,但我需要 unordered_map),我目前更新 window 标题的方法是获取 window 当它收到任何不相关的事件时标题。这个问题是,如果我打开 XTerm,例如,标题栏会显示“xterm”,直到我执行发送事件的操作(例如单击标题栏),然后 window 标题更改为“用户名@主机名:西部数据”。它应该在仅显示“xterm”一瞬间后更新为该格式。它也应该在您每次使用 cd 命令时更改。

是否有我可以用来执行此操作的事件掩码?我查看了 list of Xlib event masks,但找不到执行此操作的事件掩码。

客户端应在应用程序 window 上设置 _NET_WM_NAME application window property. If you want to get events when application updates this property you can set PropertyChangeMask。掩码值为 0x400000.