我正在使用 gdm,我的目标是禁用特定 X 窗口 ID 上的用户交互。
我尝试使用 xprop 更改许多 X-win 属性,例如 WM_PROTOCOLS、WM_HINTS、_NET_WM_ALLOWED_ACTIONS。虽然,我成功地更改了属性,但看起来 wm 忽略了我的更改而不是采用默认值,或者需要 xsync(类似)步骤来反映这些更改。
使用 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.
Run Code Online (Sandbox Code Playgroud)
xprop -id 0x6a001f9 WM_HINTS [之后] 的结果:
WM_HINTS(CARDINAL):
Client accepts input or input focus: False
Initial state is Normal State.
Run Code Online (Sandbox Code Playgroud)
除了属性类型从 WM_HINTS 更改为 CARDINAL 之外,其他一切都按预期进行,但窗口 # 0x6a001f9 仍然接收输入。
xwininfo 的输出确认:
xwininfo -id 0x6a001f9 -wm …