我正在使用 gdm,我的目标是禁用特定 X 窗口 ID 上的用户交互。
我尝试使用 xprop 更改许多 X-win 属性,例如 WM_PROTOCOLS、WM_HINTS、_NET_WM_ALLOWED_ACTIONS。虽然,我成功地更改了看起来 wm 忽略我的更改而不是采用默认值或需要 xsync(like) 步骤来反映这些更改的属性。
使用 xprop 如下更改 WM_HINTS:
xprop -id 0x6a001f9 -format WM_HINTS 32cbcxxiixx -set WM_HINTS 3,False,1,0x0,0x0,0,0,0x0,0x0
xprop -id 0x6a001f9 WM_HINTS [之前] 的结果:
WM_HINTS(WM_HINTS):
Client accepts input or input focus: True
Initial state is Normal State.
xprop -id 0x6a001f9 WM_HINTS [之后]的结果:
WM_HINTS(CARDINAL):
Client accepts input or input focus: False
Initial state is Normal State.
除了从 WM_HINTS 变为 CARDINAL 的属性类型之外,其他一切都如预期的那样,但窗口#0x6a001f9 仍然接收输入。
xwininfo 的输出证实:
xwininfo -id 0x6a001f9 -wm ====>
xwininfo: Window id: 0x6a001f9 "Log Attribute Selection"
No window manager hints defined
Window manager hints:
Displayed on desktop 0
Process id: (unknown)
Frame extents: 4, 4, 24, 4
我错过了什么?