Hi Miles,
Miles Alan writes:
>Interesting - thanks for reporting. I'd be curious what WM_TRANSIENT_FOR
>is set to in pinentry's case. The case I'm trying to address is resizable
>SDL applications which, as mentioned earlier, wholesale set WM_TRANSIENT_FOR
>to the root window. I'm not sure on the correct behavior / if this patch
>is correct or not. Essentially this patch changes things so that if
>WM_TRANSIENT_FOR is an invalid window (doesn't map to a client), then
>the window won't be treated as floating (as is it really "transient"
>in that case.. vs just being a separate top-level window?).
WM_TRANSIENT_FOR is set to the root window in the pinentry's case:
% xprop | grep TRANSIENT
WM_TRANSIENT_FOR(WINDOW): window id # 0x523
% xwininfo -root -tree | grep 0x523
xwininfo: Window id: 0x523 (the root window) (has no name)
Root window id: 0x523 (the root window) (has no name)
I see the following practical text in wm-spec related to this[0]:
>If the WM_TRANSIENT_FOR property is set to None or Root window, the window
>should be treated as a transient for all other windows in the same group. It
>has been noted that this is a slight ICCCM violation, but as this behavior is
>pretty standard for many toolkits and window managers, and is extremely
>unlikely to break anything, it seems reasonable to document it as standard.
0:
https://specifications.freedesktop.org/wm-spec/wm-spec-latest.html#idm45623487728576
Received on Mon Mar 21 2022 - 15:19:55 CET