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:Olivier Fourdan <fourdan@xfce.org> Closes: #450