Skip to content

Implement grid resize

Grid resize is window resizing aligned to a grid. This allows to precisely tile windows to taste. Grid resize can be triggered by window menu or mouse button 9. This feature depends on compositing.

UPDATE: Prefer clientConstrainPos() and clientReconfigure() over clientMaxSpace() and clientConfigure(). Do not grid resize fullscreen clients and clients w/o XFWM_FLAG_HAS_RESIZE | XFWM_FLAG_IS_RESIZABLE. Apply OPACITY_RESIZE during grid resize.

UPDATE 2: Hide grid window from the window manager (override redirect). Allow grid resize during initial window placement triggered by Shift+Control modifiers.

UPDATE 3: With grid window placement, we need to update DisplayInfo timestamp, otherwise order of events may mess up. Do grid placement with active compositor, only. Improve readability of gridResizeEventFilter().

Edited by Björn Fischer

Merge request reports