detached c22bfd8

docs: document per-tab floating panes

commit
c22bfd8c34f6cc332d237e447e62e3edb0c60599
author
brice · · 2026-07-10 10:40 UTC
parent
a0541a8
signature
GPG VerifiedCD88F9E564E0102646FB6077A1A07C7C7C3E349D · arch-gpg Verified for the committer email
1 file · +15 -0
M README.md +15 -0
@@ -49,8 +49,14 @@ vev reads `$XDG_CONFIG_HOME/vev/config`, or `~/.config/vev/config` when `XDG_CON
4949 # Theme: auto follows the client; dark/light force built-in palettes.
5050 theme = auto
5151
52+# One prewarmed floating terminal per tab. An empty command uses the normal shell.
53+floating.command =
54+floating.width = 80%
55+floating.height = 80%
56+
5257 # Rebindable actions. Leave a line out to keep its built-in binding.
5358 open-palette = alt+space
59+toggle-floating-pane = alt+f
5460 jump-attention = alt+a
5561 focus-pane-left = alt+h
5662 focus-pane-right = alt+l
@@ -97,6 +103,7 @@ code.back-session = BSK
97103 code.forward-session = FSK
98104 code.session-picker = SSP
99105 code.visual-mode = VIS
106+code.toggle-floating-pane = FLT
100107 code.rename-session = RNS
101108 code.detach = DET
102109 ```
@@ -105,6 +112,8 @@ Configuring an action replaces all of its built-in aliases. In the example above
105112
106113 Key specs support `alt+<char>`, `alt+space`, and `alt+left/right/up/down`; digit key specs support `alt+1` through `alt+9`, not `alt+0`. `jump-attention` first opens the oldest attention tab in the current session; if none exists, it opens the oldest attention tab in another session. Invalid entries are logged as warnings and skipped where possible; duplicate config keys use the last value, binding conflicts keep the later action's defaults, and command-code conflicts drop the conflicting override.
107114
115+`floating.width` and `floating.height` require exact percentages from `1%` through `100%`; invalid values log a warning and retain the `80%` default. Reloaded floating settings apply to future floating processes only. Running processes, visibility, terminal screens, and scrollback remain unchanged, and only the configuration—not floating runtime state—is restored after a daemon restart.
116+
108117 ### Bar right anchors
109118
110119 The top and bottom bar right anchors run configurable commands on the daemon host. By default, `bar.top-right = vev-bar-top-right` prints CPU, memory, then hour text (for example `C 12% M 48% 09:41`), and `bar.bottom-right = vev-bar-bottom-right` prints compact git state for the focused pane's `VEV_PANE_CWD`. Set either value empty to disable that anchor, or set it to another command to replace it.
@@ -145,6 +154,7 @@ All bindings use Alt directly; there is no prefix key.
145154 | Key | Action |
146155 |---|---|
147156 | Alt+Space | open the command palette |
157+| Alt+f | show or hide the current tab's floating terminal |
148158 | Alt+1 .. Alt+9 | switch to tab by number |
149159 | Alt+h/j/k/l | focus pane left/down/up/right |
150160 | Alt+Arrow | focus pane by direction |
@@ -172,6 +182,7 @@ Successful commands are promoted near the top the next time the palette opens.
172182 | BSK / FSK | move back / forward through recent sessions |
173183 | SSP | open session picker |
174184 | VIS | enter visual mode |
185+| FLT | show or hide the current tab's floating terminal |
175186 | RNS | rename session |
176187 | RNT | rename current tab |
177188 | DET | detach |
@@ -193,6 +204,10 @@ Open it with `SSP` in the palette. It lists sessions and tabs, previews the sele
193204
194205 Tabs hold pane layouts. Panes can be split left/right/up/down, stacked, focused by direction, and closed from the command palette. Clicking a pane focuses it.
195206
207+Each tab also owns one independent floating terminal. It prewarms asynchronously on the tab's first visit, opens centered at the configured percentage of the pane-content area, and dims normal pane content while leaving status bars and popup chrome crisp. Hiding it retains the process, screen, and scrollback; switching tabs restores each tab's own visible or hidden state. Process exit clears the slot so the next open recreates it. The title combines the foreground process and OSC terminal title as `ProcessName: ProcessTerminalTitle`, falling back to either available title and then the configured command or shell.
208+
209+While visible, the floating terminal receives ordinary input, bracketed paste, mouse input, clipboard-path injection, and scrollback/copy mode. Global vev bindings remain active, and a bare Esc is passed to the floating application. `Alt+f` and `FLT` toggle visibility; there is no separate floating-pane close command.
210+
196211 The top bar shows numbered tabs. The bottom bar shows the active session followed by recent sessions, fading toward older entries. Ephemeral sessions are marked with `*`, for example `0*`.
197212
198213 ## Scrollback mode and copy
@@ -49,8 +49,14 @@ vev reads `$XDG_CONFIG_HOME/vev/config`, or `~/.config/vev/config` when `XDG_CON
49 # Theme: auto follows the client; dark/light force built-in palettes.49 # Theme: auto follows the client; dark/light force built-in palettes.
50 theme = auto50 theme = auto
51 51
52+# One prewarmed floating terminal per tab. An empty command uses the normal shell.
53+floating.command =
54+floating.width = 80%
55+floating.height = 80%
56+
52 # Rebindable actions. Leave a line out to keep its built-in binding.57 # Rebindable actions. Leave a line out to keep its built-in binding.
53 open-palette = alt+space58 open-palette = alt+space
59+toggle-floating-pane = alt+f
54 jump-attention = alt+a60 jump-attention = alt+a
55 focus-pane-left = alt+h61 focus-pane-left = alt+h
56 focus-pane-right = alt+l62 focus-pane-right = alt+l
@@ -97,6 +103,7 @@ code.back-session = BSK
97 code.forward-session = FSK103 code.forward-session = FSK
98 code.session-picker = SSP104 code.session-picker = SSP
99 code.visual-mode = VIS105 code.visual-mode = VIS
106+code.toggle-floating-pane = FLT
100 code.rename-session = RNS107 code.rename-session = RNS
101 code.detach = DET108 code.detach = DET
102 ```109 ```
@@ -105,6 +112,8 @@ Configuring an action replaces all of its built-in aliases. In the example above
105 112
106 Key specs support `alt+<char>`, `alt+space`, and `alt+left/right/up/down`; digit key specs support `alt+1` through `alt+9`, not `alt+0`. `jump-attention` first opens the oldest attention tab in the current session; if none exists, it opens the oldest attention tab in another session. Invalid entries are logged as warnings and skipped where possible; duplicate config keys use the last value, binding conflicts keep the later action's defaults, and command-code conflicts drop the conflicting override.113 Key specs support `alt+<char>`, `alt+space`, and `alt+left/right/up/down`; digit key specs support `alt+1` through `alt+9`, not `alt+0`. `jump-attention` first opens the oldest attention tab in the current session; if none exists, it opens the oldest attention tab in another session. Invalid entries are logged as warnings and skipped where possible; duplicate config keys use the last value, binding conflicts keep the later action's defaults, and command-code conflicts drop the conflicting override.
107 114
115+`floating.width` and `floating.height` require exact percentages from `1%` through `100%`; invalid values log a warning and retain the `80%` default. Reloaded floating settings apply to future floating processes only. Running processes, visibility, terminal screens, and scrollback remain unchanged, and only the configuration—not floating runtime state—is restored after a daemon restart.
116+
108 ### Bar right anchors117 ### Bar right anchors
109 118
110 The top and bottom bar right anchors run configurable commands on the daemon host. By default, `bar.top-right = vev-bar-top-right` prints CPU, memory, then hour text (for example `C 12% M 48% 09:41`), and `bar.bottom-right = vev-bar-bottom-right` prints compact git state for the focused pane's `VEV_PANE_CWD`. Set either value empty to disable that anchor, or set it to another command to replace it.119 The top and bottom bar right anchors run configurable commands on the daemon host. By default, `bar.top-right = vev-bar-top-right` prints CPU, memory, then hour text (for example `C 12% M 48% 09:41`), and `bar.bottom-right = vev-bar-bottom-right` prints compact git state for the focused pane's `VEV_PANE_CWD`. Set either value empty to disable that anchor, or set it to another command to replace it.
@@ -145,6 +154,7 @@ All bindings use Alt directly; there is no prefix key.
145 | Key | Action |154 | Key | Action |
146 |---|---|155 |---|---|
147 | Alt+Space | open the command palette |156 | Alt+Space | open the command palette |
157+| Alt+f | show or hide the current tab's floating terminal |
148 | Alt+1 .. Alt+9 | switch to tab by number |158 | Alt+1 .. Alt+9 | switch to tab by number |
149 | Alt+h/j/k/l | focus pane left/down/up/right |159 | Alt+h/j/k/l | focus pane left/down/up/right |
150 | Alt+Arrow | focus pane by direction |160 | Alt+Arrow | focus pane by direction |
@@ -172,6 +182,7 @@ Successful commands are promoted near the top the next time the palette opens.
172 | BSK / FSK | move back / forward through recent sessions |182 | BSK / FSK | move back / forward through recent sessions |
173 | SSP | open session picker |183 | SSP | open session picker |
174 | VIS | enter visual mode |184 | VIS | enter visual mode |
185+| FLT | show or hide the current tab's floating terminal |
175 | RNS | rename session |186 | RNS | rename session |
176 | RNT | rename current tab |187 | RNT | rename current tab |
177 | DET | detach |188 | DET | detach |
@@ -193,6 +204,10 @@ Open it with `SSP` in the palette. It lists sessions and tabs, previews the sele
193 204
194 Tabs hold pane layouts. Panes can be split left/right/up/down, stacked, focused by direction, and closed from the command palette. Clicking a pane focuses it.205 Tabs hold pane layouts. Panes can be split left/right/up/down, stacked, focused by direction, and closed from the command palette. Clicking a pane focuses it.
195 206
207+Each tab also owns one independent floating terminal. It prewarms asynchronously on the tab's first visit, opens centered at the configured percentage of the pane-content area, and dims normal pane content while leaving status bars and popup chrome crisp. Hiding it retains the process, screen, and scrollback; switching tabs restores each tab's own visible or hidden state. Process exit clears the slot so the next open recreates it. The title combines the foreground process and OSC terminal title as `ProcessName: ProcessTerminalTitle`, falling back to either available title and then the configured command or shell.
208+
209+While visible, the floating terminal receives ordinary input, bracketed paste, mouse input, clipboard-path injection, and scrollback/copy mode. Global vev bindings remain active, and a bare Esc is passed to the floating application. `Alt+f` and `FLT` toggle visibility; there is no separate floating-pane close command.
210+
196 The top bar shows numbered tabs. The bottom bar shows the active session followed by recent sessions, fading toward older entries. Ephemeral sessions are marked with `*`, for example `0*`.211 The top bar shows numbered tabs. The bottom bar shows the active session followed by recent sessions, fading toward older entries. Ephemeral sessions are marked with `*`, for example `0*`.
197 212
198 ## Scrollback mode and copy213 ## Scrollback mode and copy

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 2

Tags 13

↑↓ moveenter openesc close