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

+63
View File
@@ -827,6 +827,69 @@ pub fn fields(page: Page) -> Vec<Field> {
"Avoid accidental pointer movement.",
true,
),
toggle(
"input.touchpad.disable_while_mouse_connected",
"Disable touchpad with a mouse",
"Pause the built-in touchpad while an external mouse is connected.",
false,
),
range(
"input.touchpad.accel_speed",
"Touchpad speed",
"Adjust pointer acceleration for the touchpad.",
RangeSpec {
default: 0.0,
min: -1.0,
max: 1.0,
step: 0.05,
suffix: "",
integer: false,
},
),
toggle(
"input.mouse.natural_scroll",
"Mouse natural scrolling",
"Reverse the direction of the mouse wheel.",
false,
),
toggle(
"input.mouse.left_handed",
"Left-handed mouse",
"Swap the primary and secondary mouse buttons.",
false,
),
toggle(
"input.mouse.middle_emulation",
"Emulate middle click",
"Press both mouse buttons together to middle-click.",
false,
),
range(
"input.mouse.accel_speed",
"Mouse speed",
"Adjust pointer acceleration for connected mice.",
RangeSpec {
default: 0.0,
min: -1.0,
max: 1.0,
step: 0.05,
suffix: "",
integer: false,
},
),
range(
"input.mouse.scroll_factor",
"Mouse scroll speed",
"Scale wheel scrolling in applications.",
RangeSpec {
default: 1.0,
min: 0.1,
max: 5.0,
step: 0.1,
suffix: "×",
integer: false,
},
),
range(
"input.touchpad.swipe_threshold",
"Swipe distance",