Re: [hackers] Re: [dwm][PATCH v3] manage: For isfloating/oldstate check/set, ensure trans client actually exists

From: Miles Alan <>
Date: Wed, 23 Mar 2022 13:28:46 -0400

On Mon, Mar 21, 2022, at 10:19 AM, Chris Down wrote:
> 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:

Hi Chris,

Thanks for confirming & adding details on pinentry. That's interesting
bit from wm-spec. I'll have to test and investigate a bit more when my
time frees up.

On the surface, SDL apps & pinentry work the same way then with setting
WM_TRANSIENT_FOR to the root window. Somehow though in other WMs (for
example i3), they manage to handle SDL apps as defaulting to become tiled
(meanwhile still pinentry seems to properly default to float in i3),
so I wonder how their handling differentiating these two instances;
while dwm currently cannot.

Received on Wed Mar 23 2022 - 18:28:46 CET

This archive was generated by hypermail 2.3.0 : Wed Mar 23 2022 - 18:36:36 CET