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:
1 parent
ab11269246
commit
ad00e55fe4
35 files changed
+3454
-512
No files matched your search
@@ -152,7 +152,7 @@ impl App {
|
||||
default: 1.,
|
||||
min: 0.75,
|
||||
max: 3.,
|
||||
step: 0.25,
|
||||
step: 0.05,
|
||||
suffix: "×",
|
||||
integer: false,
|
||||
},
|
||||
|
||||
@@ -375,7 +375,7 @@ impl App {
|
||||
);
|
||||
}
|
||||
Page::Shortcuts => {
|
||||
body = body.push(self.note("Keyboard and swipe bindings share the same actions. Use Swipe3Up, Swipe3Down, Swipe3Left, or Swipe3Right as a shortcut (also supports 4 or 5 fingers). Actions include toggle-overview, spawn, focus, move, workspace-next, workspace-previous, workspace-back-and-forth, and none. Leave Argument empty for actions such as toggle-overview or none."));
|
||||
body = body.push(self.note("Keyboard, mouse and swipe bindings share the same actions. Mouse shortcuts can use MouseLeft, MouseRight, MouseMiddle, MouseBack, MouseForward or WheelUp/Down/Left/Right with modifiers. Use pointer-move or pointer-resize for dragging. Swipes use Swipe3Up, Swipe3Down, Swipe3Left or Swipe3Right (also supports 4 or 5 fingers). Actions such as toggle-overview and none need no argument."));
|
||||
let mut gestures = row([]).spacing(6);
|
||||
for (keys, label) in [
|
||||
("Swipe3Up", "Customize swipe up"),
|
||||
|
||||
@@ -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",
|
||||
|
||||
Reference in new issue
Block a user