aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--wiki/Configuration:-Gestures.md53
-rw-r--r--wiki/Configuration:-Miscellaneous.md22
-rw-r--r--wiki/Gestures.md23
-rw-r--r--wiki/Overview.md52
-rw-r--r--wiki/_Sidebar.md1
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)