Mouse Bindings
Move and resize windows with MOD + drag, and how tiled drag-reorder works.
Mouse bindings are built in and follow mod_key. They are not configurable yet.
| Binding | Action |
|---|---|
MOD + left drag | Move the window under the cursor |
MOD + right drag | Resize the window (nearest corner follows) |
Moving windows
Dragging a tiled window moves it freely under the cursor.
By default (drag_center_cursor) the window recenters under the cursor when you
grab it, so it follows balanced under the pointer. Grab a window dead-center and
it barely moves; grab near a corner and it jumps. Set drag_center_cursor = false to keep the window pinned at the exact grab point.
While dragging, the window leaves the tiling and the rest reflow to fill the gap. The layout never shows a hole. Dragging a stack window collapses the stack; dragging the master promotes the top stack window in its place.
Dragging a window in a tabbed group pulls it out of the group as the drag begins. A group left with one member dissolves into an ordinary tile.
Drop and reorder
On release the window is inserted where you dropped it, reordering the master/stack. The insert point follows the slot under the cursor:
- Drop on the left half of the master to become master.
- Drop on a stack slot's upper or lower half to land above or below it.
The reorder_ratio layout option controls how far you must drag before the
placement shifts.
Resizing windows
A floating window resizes freely from the grabbed corner. A tiled window drags the split divider under that edge instead, so the resize stays gap-free.
tile— moves the master/stack boundary, or the boundary between two stacked windows.dwindle— moves whichever divider the grabbed edge borders, at any depth. A corner drag moves both.grid— a side edge moves the column divider within the row; a top or bottom edge moves the divider between rows. A corner drag moves both.
See Layout for the keyboard resize actions.
Dropping onto another monitor re-homes the window to that monitor's active workspace. A floating window stays where you drop it.
Applications can start a move or resize themselves, such as dragging a client-side titlebar. Sweets honors this while the pointer button stays held. The request must carry that press's serial and come from the same window; stale, cross-window, or synthetic requests are ignored.