sminez / penrose

A library for writing an X11 tiling window manager
https://sminez.github.io/penrose/
MIT License
1.23k stars 86 forks source link

Nautilus dialogs tile despite being both transient and having an auto-float type #310

Closed sminez closed 2 weeks ago

sminez commented 2 weeks ago

Describe the bug

Trigger what appears to be any dialogue window for Nautilus (and presumably dialogues for other programs but not confirmed) and observe that the window ends up tiled rather than floating.

To Reproduce

Expected behavior

Dialogues and transient windows are always set to floating.

Versions & OS Details

Additional context

_NET_WM_OPAQUE_REGION(CARDINAL) = 12, 0, 426, 12, 0, 12, 450, 118, 12, 130, 426, 12 _MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 0x3, 0x1, 0x0, 0x0, 0x0 WM_TRANSIENT_FOR(WINDOW): window id # 0x2c00004 _NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_DIALOG XdndAware(ATOM) = BITMAP _NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 46137616, 46137617 _NET_WM_USER_TIME(CARDINAL) = 49718493 _NET_WM_USER_TIME_WINDOW(WINDOW): window id # 0x2c0010f WM_CLIENT_LEADER(WINDOW): window id # 0x2c00002 _NET_WM_PID(CARDINAL) = 614093 WM_LOCALE_NAME(STRING) = "en_GB.UTF-8" WM_CLIENT_MACHINE(STRING) = "feorag" WM_NORMAL_HINTS(WM_SIZE_HINTS): program specified minimum size: 450 by 142 program specified maximum size: 450 by 142 WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING, _NET_WM_SYNC_REQUEST WM_CLASS(STRING) = "org.gnome.Nautilus", "org.gnome.Nautilus" WM_ICON_NAME(STRING) = "New Folder" _NET_WM_ICON_NAME(UTF8_STRING) = "New Folder" WM_NAME(STRING) = "New Folder" _NET_WM_NAME(UTF8_STRING) = "New Folder"

sminez commented 2 weeks ago

It looks as though Nautilus was unconditionally sending a client message on startup to force itself out of full screen state if it had been placed in it. This was messing with how Penrose handles floating state (full screen is just floating with the dimensions of the screen) thanks to that removal of full screen state being applied unconditionally.