diff options
| -rw-r--r-- | wiki/Configuration:-Gestures.md | 53 | ||||
| -rw-r--r-- | wiki/Configuration:-Miscellaneous.md | 22 | ||||
| -rw-r--r-- | wiki/Gestures.md | 23 | ||||
| -rw-r--r-- | wiki/Overview.md | 52 | ||||
| -rw-r--r-- | wiki/_Sidebar.md | 1 |
5 files changed, 149 insertions, 2 deletions
diff --git a/wiki/Configuration:-Gestures.md b/wiki/Configuration:-Gestures.md index cb1446fd..4b9760ce 100644 --- a/wiki/Configuration:-Gestures.md +++ b/wiki/Configuration:-Gestures.md @@ -14,6 +14,16 @@ gestures { delay-ms 100 max-speed 1500 } + + dnd-edge-workspace-switch { + trigger-height 50 + delay-ms 100 + max-speed 1500 + } + + hot-corners { + // off + } } ``` @@ -41,3 +51,46 @@ gestures { } } ``` + +### `dnd-edge-workspace-switch` + +<sup>Since: next release</sup> + +Scroll the workspaces up/down when moving the mouse cursor against a monitor edge during drag-and-drop (DnD) while in the overview. +Also works on a touchscreen. + +The options are: + +- `trigger-height`: size of the area near the monitor edge that will trigger the scrolling, in logical pixels. +- `delay-ms`: delay in milliseconds before the scrolling starts. +Avoids unwanted scrolling when dragging things across monitors. +- `max-speed`: maximum scrolling speed; 1500 corresponds to one screen height per second. +The scrolling speed increases linearly as you move your mouse cursor from `trigger-width` to the very edge of the monitor. + +```kdl +gestures { + // Increase the trigger area and maximum speed. + dnd-edge-workspace-switch { + trigger-height 100 + max-speed 3000 + } +} +``` + +### `hot-corners` + +<sup>Since: next release</sup> + +Put your mouse at the very top-left corner of a monitor to toggle the overview. +Also works during drag-and-dropping something. + +`off` disables the hot corners. + +```kdl +// Disable the hot corners. +gestures { + hot-corners { + off + } +} +``` diff --git a/wiki/Configuration:-Miscellaneous.md b/wiki/Configuration:-Miscellaneous.md index 8049dec2..1d5bf0f8 100644 --- a/wiki/Configuration:-Miscellaneous.md +++ b/wiki/Configuration:-Miscellaneous.md @@ -1,5 +1,3 @@ -### Overview - This page documents all top-level options that don't otherwise have dedicated pages. Here are all of these options at a glance: @@ -25,6 +23,10 @@ cursor { hide-after-inactive-ms 1000 } +overview { + zoom 0.5 +} + clipboard { disable-primary } @@ -143,6 +145,22 @@ cursor { } ``` +### `overview` + +<sup>Since: next release</sup> + +Settings for the [Overview](./Overview.md). + +`zoom` controls how much the workspaces zoom out in the overview. +It ranges from 0 to 0.75 where lower values make everything smaller. + +```kdl +// Make workspaces four times smaller than normal in the overview. +overview { + zoom 0.25 +} +``` + ### `clipboard` <sup>Since: 25.02</sup> diff --git a/wiki/Gestures.md b/wiki/Gestures.md index 72dabde0..c66f95ea 100644 --- a/wiki/Gestures.md +++ b/wiki/Gestures.md @@ -68,3 +68,26 @@ Move the view horizontally with three-finger horizontal swipes. Scroll the tiling view when moving the mouse cursor against a monitor edge during drag-and-drop (DnD). Also works on a touchscreen. + +#### Drag-and-Drop Edge Workspace Switch + +<sup>Since: next release</sup> + +Scroll the workspaces up/down when moving the mouse cursor against a monitor edge during drag-and-drop (DnD) while in the overview. +Also works on a touchscreen. + +#### Drag-and-Drop Hold to Activate + +<sup>Since: next release</sup> + +While drag-and-dropping, hold your mouse over a window to activate it. +This will bring a floating window to the top for example. + +In the overview, you can also hold the mouse over a workspace to switch to it. + +#### Hot Corner to Toggle the Overview + +<sup>Since: next release</sup> + +Put your mouse at the very top-left corner of a monitor to toggle the overview. +Also works during drag-and-dropping something. diff --git a/wiki/Overview.md b/wiki/Overview.md new file mode 100644 index 00000000..dc40feb4 --- /dev/null +++ b/wiki/Overview.md @@ -0,0 +1,52 @@ +### Overview + +<sup>Since: next release</sup> + +The Overview is a zoomed-out view of your workspaces and windows. +It lets you see what's going on at a glance, navigate, and drag windows around. + +Open it with the `toggle-overview` bind, via the top-left hot corner, or via a touchpad four-finger swipe up. +While in the overview, all keyboard binds keep working, while pointing devices get easier: + +- Mouse: left click for interactive-move, right click to scroll a workspace left/right (no holding Mod required). +- Touchpad: two-finger scrolling that matches the normal three-finger gestures. +- Touchscreen: one-finger scrolling, or one-finger long press for interactive move. + +> [!TIP] +> The overview needs to draw a background under every workspace. +> So, layer-shell surfaces work this way: the *background* and *bottom* layers zoom out and remain under workspaces, while the *top* and *overlay* layers remain on top of the overview. +> +> Put your bar on the *top* layer. + +Drag-and-drop will scroll the workspaces up/down in the overview, and will activate a workspace if you hold it above for a moment. +Combined with the hot corner, this lets you do a mouse-only DnD across workspaces. + +https://github.com/user-attachments/assets/5f09c5b7-ff40-462b-8b9c-f1b8073a2cbb + +You can also drag-and-drop a window to a new workspace above, below, or in-between existing workspaces. + +https://github.com/user-attachments/assets/b76d5349-aa20-4889-ab90-0a51554c789d + +### Configuration + +Overview settings are in the [`overview`](./Configuration:-Miscellaneous.md#overview) section at the top level of the config. + +You can set the zoom-out level like this: + +```kdl +// Make workspaces four times smaller than normal in the overview. +overview { + zoom 0.25 +} +``` + +You can also disable the hot corner: + +```kdl +// Disable the hot corners. +gestures { + hot-corners { + off + } +} +``` diff --git a/wiki/_Sidebar.md b/wiki/_Sidebar.md index d06003e0..a19f44d4 100644 --- a/wiki/_Sidebar.md +++ b/wiki/_Sidebar.md @@ -5,6 +5,7 @@ * [Workspaces](./Workspaces.md) * [Floating Windows](./Floating-Windows.md) * [Tabs](./Tabs.md) +* [Overview](./Overview.md) * [Screencasting](./Screencasting.md) * [Layer‐Shell Components](./Layer%E2%80%90Shell-Components.md) * [IPC, `niri msg`](./IPC.md) |
