Skip to content
This repository was archived by the owner on Jul 23, 2026. It is now read-only.

Commit 0443d53

Browse files
committed
wiki
1 parent 13d3fdc commit 0443d53

2 files changed

Lines changed: 48 additions & 3 deletions

File tree

docs/mango-ext-features/extended-layouts.md

Lines changed: 44 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,13 @@ Mango-exts `canvas` layout is similar to window managers like hevel. It lets you
1212
|`canvas_tiling_gap`|int| determines the size of window gaps when using canvas_tiling|
1313
|`canvas_pan_on_kill`|bool| wether or not to pan to another window when the current window is killed|
1414
|`canvas_anchor_animate`|bool| when set to 1, smoothly animates the pan when jumping to an anchor point. Default: 0 (instant teleport)|
15+
|`tag_carousel`|bool| when set to 1, tag switching wraps around carousel-style (last tag loops back to first). Default: 0 |
16+
17+
#### Window rules
18+
19+
|rule|Description|
20+
|:---|:---|
21+
|`canvas_notile:1`| exclude matching windows from canvas tiling. Add as a windowrule parameter. |
1522

1623
#### canvas_tiling options
1724

@@ -28,9 +35,10 @@ Mango-exts `canvas` layout is similar to window managers like hevel. It lets you
2835

2936
|dispatcher|Description|
3037
|:--- |:---|
31-
|`canvas-overview-toggle`| toggles the canvas layouts' overview feature. This lets you see all of your windows at once and quickly reposition your view.|
38+
|`canvas_overview_toggle`| toggles the canvas layouts' overview feature. This lets you see all of your windows at once and quickly reposition your view.|
3239
|`toggleminimap`| toggles the minimap, which displays all of your windows along with a visual indicator of your current view.|
33-
|`canvas_zoom_resize,<arg>`| zooms in/out, direction and strength are determined by <arg>|
40+
|`canvas_zoom_resize,<arg>`| zooms in/out. `<arg>` is a multiplier: values > 1.0 zoom in, values < 1.0 zoom out (e.g. `1.4` to zoom in, `0.6` to zoom out).|
41+
|`canvas_pan,<dx>,<dy>`| pans the viewport by `<dx>,<dy>` pixels in canvas coordinates. Use `axisbind` for directional panning with keyboard.|
3442
|`canvas_fill_viewport`| resizes the currently focused window to make it fill up the entire current viewport|
3543
|`canvas_centerview`| moves the viewport to center the currently focused window|
3644
|`canvas_drag_pan`| enters canvas drag-pan mode (use with `mousebind` to bind to a mouse button)|
@@ -76,8 +84,41 @@ Set anchors appear as color-coded dots on the minimap (red, orange, yellow, gree
7684

7785
> **Note:** Anchors are stored in memory only and reset when the compositor restarts. Zoom is not affected by anchors — only the pan position is saved and restored.
7886
87+
### Recommended keybind setup
88+
89+
```ini
90+
# Canvas navigation
91+
mousebind = ALT, BTN_MIDDLE, canvas_drag_pan
92+
bind = SUPER, SPACE, canvas_centerview
93+
bind = SUPER, i, canvas_fill_viewport
94+
bind = SUPER, o, toggleminimap
95+
bind = SUPER, p, canvas_overview_toggle
96+
97+
# Zoom (via axisbind for smooth scrolling)
98+
axisbind = SUPER, UP, canvas_zoom_resize, 1.4
99+
axisbind = SUPER, DOWN, canvas_zoom_resize, 0.6
100+
101+
# Tiling
102+
canvas_tiling = 5
103+
canvas_tiling_gap = 5
104+
canvas_pan_on_kill = 1
105+
```
106+
107+
### Touch & touchpad gestures
108+
109+
Canvas supports touch and touchpad gestures out of the box:
110+
111+
|gesture|action|
112+
|:---|:---|
113+
|3-finger drag| pan the viewport |
114+
|2-finger pinch| zoom in/out |
115+
116+
These are always active on canvas layouts and do not require additional config.
117+
79118

80119
## Dwindle
81120

82-
The `dwindle` layout as known from WMs like bspwm and hyprland.Creating new windows splits the currently focused window either horizontally or vertically depending on its proportions.
121+
The `dwindle` layout as known from WMs like bspwm and Hyprland. Windows are arranged in a binary tree: creating a new window splits the currently focused window either horizontally or vertically, alternating based on the window's proportions (wider windows split vertically, taller windows split horizontally).
122+
123+
Closing a window removes its leaf from the tree and the sibling takes over the freed space. Swapping windows exchanges their positions in the tree while preserving the split structure.
83124

docs/visuals/animations.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,8 @@ Control the speed of animations (in milliseconds).
6464
| `animation_duration_tag` | integer | `300` | Tag animation duration (ms) |
6565
| `animation_duration_close` | integer | `300` | Close animation duration (ms) |
6666
| `animation_duration_focus` | integer | `0` | Focus change (opacity transition) animation duration (ms) |
67+
| `animation_duration_canvas_pan` | integer | `300` | Canvas pan animation duration (ms) |
68+
| `animation_duration_canvas_zoom` | integer | `300` | Canvas zoom animation duration (ms) |
6769

6870
```ini
6971
animation_duration_move=500
@@ -88,6 +90,8 @@ You can visualize and generate curve values using online tools like [cssportal.c
8890
| `animation_curve_focus` | string | `0.46,1.0,0.29,0.99` | Focus change (opacity transition) animation bezier curve |
8991
| `animation_curve_opafadein` | string | `0.46,1.0,0.29,0.99` | Open opacity animation bezier curve |
9092
| `animation_curve_opafadeout` | string | `0.5,0.5,0.5,0.5` | Close opacity animation bezier curve |
93+
| `animation_curve_canvas_pan` | string | `0.46,1.0,0.29,0.99` | Canvas pan animation bezier curve |
94+
| `animation_curve_canvas_zoom` | string | `0.46,1.0,0.29,0.99` | Canvas zoom animation bezier curve |
9195

9296
```ini
9397
animation_curve_open=0.46,1.0,0.29,0.99

0 commit comments

Comments
 (0)