Skip to content
Snippets Groups Projects
Olivier Fourdan's avatar
Olivier Fourdan authored
Tiling works by moving and resizing windows to a specific location  on
screen.

GTK clients using client-side decorations (aka CSD) draw the drop shadow
themselves and use the property _GTK_FRAME_EXTENTS to let the window
manager or compositor know about the actual relative frame size and
location.

GTK automatically removes the drop shadow on some specific window
states, such as fullscreen or maximized, and restores the drop shadow
when the window returns to a normal state.

If that update occurs after the tiled size was computed, the drop shadow
is not accounted for and the window will appear smaller than the actual
expected tiled size.

To avoid that issue, the window manager should recompute the tiled size
whenever the _GTK_FRAME_EXTENTS is updated.

Store the tiled mode and recompute the tiled size/location of windows
when the frame extents or the screen size change.

Signed-off-by: default avatarOlivier Fourdan <fourdan@xfce.org>
Closes: #450
93154517
History