detached 6d66691

docs: document move pane to tab

commit
6d66691ca0f07e50f7d9ba718231224ef69834b1
author
brice · · 2025-12-27 15:57 UTC
parent
5a2d950
signature
unsigned
3 files · +11 -0
M CHANGELOG.md +6 -0
@@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file.
44
55 ## [Unreleased]
66
7+### Added
8+- **Move pane to tab**: New pane-mode actions to move the active pane to another tab.
9+ - `Ctrl+P → m`: Opens a tab picker modal.
10+ - `Ctrl+P → M`: Moves the active pane to the next tab (creates a new tab if needed).
11+ - New config: `workspace.switch_to_tab_on_move` (default: true).
12+
713 ### Fixed
814 - Startup: defer WebView pool prewarm until after initial tab creation to reduce cold-start navigation latency.
915 - README CLI examples: updated to match current commands/flags (`purge --force` only, `logs` usage, `sessions list --limit`, removed deprecated `--dmenu` root flag).
@@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file.
4 4
5 ## [Unreleased]5 ## [Unreleased]
6 6
7+### Added
8+- **Move pane to tab**: New pane-mode actions to move the active pane to another tab.
9+ - `Ctrl+P → m`: Opens a tab picker modal.
10+ - `Ctrl+P → M`: Moves the active pane to the next tab (creates a new tab if needed).
11+ - New config: `workspace.switch_to_tab_on_move` (default: true).
12+
7 ### Fixed13 ### Fixed
8 - Startup: defer WebView pool prewarm until after initial tab creation to reduce cold-start navigation latency.14 - Startup: defer WebView pool prewarm until after initial tab creation to reduce cold-start navigation latency.
9 - README CLI examples: updated to match current commands/flags (`purge --force` only, `logs` usage, `sessions list --limit`, removed deprecated `--dmenu` root flag).15 - README CLI examples: updated to match current commands/flags (`purge --force` only, `logs` usage, `sessions list --limit`, removed deprecated `--dmenu` root flag).
M README.md +2 -0
@@ -77,6 +77,8 @@ Some features are very alpha/experimental (notably consume-or-expel panes) and m
7777 | **↓** / **D** (in pane mode) | Split Down | Create new pane below |
7878 | **S** (in pane mode) | Stack Pane | Create stacked pane (Zellij-style) |
7979 | **X** (in pane mode) | Close Pane | Close current pane |
80+| **m** (in pane mode) | Move Pane To Tab | Opens a tab picker modal |
81+| **M** (in pane mode) | Move Pane To Next Tab | Moves to the next tab, creates new tab if needed |
8082 | **Enter** (in pane mode) | Confirm Action | Confirm pane operation |
8183 | **Escape** (in pane mode) | Exit Pane Mode | Return to normal navigation |
8284 | **Alt+Arrow Keys** | Navigate Panes | Move focus between panes |
@@ -77,6 +77,8 @@ Some features are very alpha/experimental (notably consume-or-expel panes) and m
77 | **↓** / **D** (in pane mode) | Split Down | Create new pane below |77 | **↓** / **D** (in pane mode) | Split Down | Create new pane below |
78 | **S** (in pane mode) | Stack Pane | Create stacked pane (Zellij-style) |78 | **S** (in pane mode) | Stack Pane | Create stacked pane (Zellij-style) |
79 | **X** (in pane mode) | Close Pane | Close current pane |79 | **X** (in pane mode) | Close Pane | Close current pane |
80+| **m** (in pane mode) | Move Pane To Tab | Opens a tab picker modal |
81+| **M** (in pane mode) | Move Pane To Next Tab | Moves to the next tab, creates new tab if needed |
80 | **Enter** (in pane mode) | Confirm Action | Confirm pane operation |82 | **Enter** (in pane mode) | Confirm Action | Confirm pane operation |
81 | **Escape** (in pane mode) | Exit Pane Mode | Return to normal navigation |83 | **Escape** (in pane mode) | Exit Pane Mode | Return to normal navigation |
82 | **Alt+Arrow Keys** | Navigate Panes | Move focus between panes |84 | **Alt+Arrow Keys** | Navigate Panes | Move focus between panes |
M docs/CONFIG.md +3 -0
@@ -201,6 +201,7 @@ border = "#363636"
201201 | Key | Type | Default | Description |
202202 |-----|------|---------|-------------|
203203 | `workspace.new_pane_url` | string | `"about:blank"` | URL loaded for new panes/tabs (supports `http(s)://`, `dumb://`, `file://`, `about:`) |
204+| `workspace.switch_to_tab_on_move` | bool | `true` | When moving a pane to another tab, automatically switch to the destination tab |
204205
205206 **Example:**
206207 ```toml
@@ -225,6 +226,8 @@ split-up = ["arrowup", "u"]
225226 split-down = ["arrowdown", "d"]
226227 stack-pane = ["s"]
227228 close-pane = ["x"]
229+move-pane-to-tab = ["m"]
230+move-pane-to-next-tab = ["M", "shift+m"]
228231
229232 # Consume-or-expel (niri-style) - very alpha
230233 consume-or-expel-left = ["bracketleft", "["]
@@ -201,6 +201,7 @@ border = "#363636"
201 | Key | Type | Default | Description |201 | Key | Type | Default | Description |
202 |-----|------|---------|-------------|202 |-----|------|---------|-------------|
203 | `workspace.new_pane_url` | string | `"about:blank"` | URL loaded for new panes/tabs (supports `http(s)://`, `dumb://`, `file://`, `about:`) |203 | `workspace.new_pane_url` | string | `"about:blank"` | URL loaded for new panes/tabs (supports `http(s)://`, `dumb://`, `file://`, `about:`) |
204+| `workspace.switch_to_tab_on_move` | bool | `true` | When moving a pane to another tab, automatically switch to the destination tab |
204 205
205 **Example:**206 **Example:**
206 ```toml207 ```toml
@@ -225,6 +226,8 @@ split-up = ["arrowup", "u"]
225 split-down = ["arrowdown", "d"]226 split-down = ["arrowdown", "d"]
226 stack-pane = ["s"]227 stack-pane = ["s"]
227 close-pane = ["x"]228 close-pane = ["x"]
229+move-pane-to-tab = ["m"]
230+move-pane-to-next-tab = ["M", "shift+m"]
228 231
229 # Consume-or-expel (niri-style) - very alpha232 # Consume-or-expel (niri-style) - very alpha
230 consume-or-expel-left = ["bracketleft", "["]233 consume-or-expel-left = ["bracketleft", "["]

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 8

Tags 42

↑↓ moveenter openesc close