Sweets
Configuration

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.

BindingAction
MOD + left dragMove the window under the cursor
MOD + right dragResize 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.

On this page