Add mouse window controls and finer display scaling (#63)

Add configurable mouse and wheel bindings, window move and resize, tab drops, cross-output dragging, and device settings. Adjust display scaling in 0.05 increments.

Preserve opposite-edge positioning during scrolling resizes and show rows for edge drops into tabbed columns.
This commit is contained in:
Samuel Onoja authored and GitHub committed 2026-10-25 14:14:35 +01:00
1 parent ab11269246
commit ad00e55fe4
35 files changed
+3454 -512

No files matched your search

+9 -5
View File
@@ -22,15 +22,19 @@ Run `feresectl launcher toggle` to open or close it from a script.
| Action | Result |
| --- | --- |
| Super + left-button drag on a floating window | Move the window |
| Super + right-button drag on a floating window | Resize the edge or corner selected by the starting 3×3 region |
| Super + left-button drag | Move a floating or tiled window |
| Super + right-button drag | Resize the edge or corner selected by the starting 3×3 region |
| Right-click while moving | Switch the drop between floating and tiled |
| Escape during a drag | Cancel the move or resize |
| Hold Shift during a move or resize | Bypass edge snapping |
| Super + Shift + Space | Switch the focused window between tiled and floating |
You can drag from inside the window; a title bar or resize border is not required.
To place an app freely, toggle it to floating, then Super-drag it.
The central resize region selects the nearest corner. Moving and resizing snap
to nearby edges; continuing to drag beyond 20 logical pixels releases the snap.
Drop a tiled window beside another window to reorder it, or in its center to
join a tab group. Drag across monitors to move to the workspace shown there.
Scroll or hold at a horizontal screen edge to reach more scrolling columns.
The central resize region selects the nearest corner. Floating windows snap to
nearby edges; continuing to drag beyond 20 logical pixels releases the snap.
## Focus, move, and resize