diff options
| author | user <user@clank> | 2026-09-02 14:57:13 +0200 |
|---|---|---|
| committer | user <user@clank> | 2026-09-02 14:57:13 +0200 |
| commit | d698946464f25a0eb43730ffad15656f3247f56b (patch) | |
| tree | 0d040eb64e433122f982ea45912eba37ab54822a /docs | |
| parent | Add competitive multiplayer support. (diff) | |
| download | slosh-d698946464f25a0eb43730ffad15656f3247f56b.tar.gz slosh-d698946464f25a0eb43730ffad15656f3247f56b.tar.xz slosh-d698946464f25a0eb43730ffad15656f3247f56b.zip | |
multi-attach: the config knobs
The patch made shared attach unconditional; these make it a policy.
multi_attach false restores the classic displacing attach
(EXIT_REPLACED, which old clients already understand). size_follows
picks whose size the shared screen takes: active (the patch's rule),
smallest (the tmux rule: filler, never a crop), or largest. The size
fold lives in apply_canvas, so any attach, resize or departure can
move the canvas under the folding policies -- including a non-active
client leaving, which under smallest may have been the very client
holding the floor down. A config reload re-applies both knobs to the
running session.
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/config.md | 2 | ||||
| -rw-r--r-- | docs/slosh.1 | 7 | ||||
| -rw-r--r-- | docs/slosh.5 | 16 |
3 files changed, 23 insertions, 2 deletions
diff --git a/docs/config.md b/docs/config.md index 72668f0..71ca297 100644 --- a/docs/config.md +++ b/docs/config.md @@ -84,7 +84,7 @@ theme { frame_focus "#00ff88" } // ...but that one colour is mine | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | geometry | `gap` `gap_aspect` `padding` `compact` `rounded` `title_align` `title_inset` `min_pane` `min_split` | | chrome | `status_bar` `status_line` `status_pad` `hints` `version_banner` `pane_buttons` `bell_indicator` and the marks (`zoom_mark` `zoom_on_mark` `close_mark` `min_mark` `newtab_mark` `bell_mark`) | -| behaviour | `focus_follows_mouse` `ctrl_d_exits` `scroll_lines` `scrollback` `scrollback_bytes` `toast_ms` `splash_ms` `hover_delay_ms` `double_click_ms` `word_separators` `anim_ms` `modal_scrim` `dim_unfocused` `float_shadow` `keep_dead` `in_band_shaders` `shell` `editor` | +| behaviour | `focus_follows_mouse` `ctrl_d_exits` `scroll_lines` `scrollback` `scrollback_bytes` `toast_ms` `splash_ms` `hover_delay_ms` `double_click_ms` `word_separators` `anim_ms` `modal_scrim` `dim_unfocused` `float_shadow` `keep_dead` `in_band_shaders` `multi_attach` `size_follows` `shell` `editor` | | projects | `project_roots` `project_layout` (see [workspaces](workspaces.md)) | | colour | `theme { }` | | effects | `shaders { }`, `states { }` (see [shaders](shaders.md) and [chrome](chrome.md)) | diff --git a/docs/slosh.1 b/docs/slosh.1 index 67b993b..3fb3ff1 100644 --- a/docs/slosh.1 +++ b/docs/slosh.1 @@ -56,7 +56,12 @@ then the client with the most recent keyboard or mouse activity, sets the shared screen size. Resizing that active client resizes the session; resizing another client changes only its view. A smaller view follows the cursor over the shared screen, and a larger one is filled with blank cells. Detaching -leaves the other clients attached. +leaves the other clients attached. Both halves are configurable: +.B multi_attach +restores the old displacing attach, and +.B size_follows +picks whose size rules \(em see +.BR slosh (5). .PP A trailing .B \-\- diff --git a/docs/slosh.5 b/docs/slosh.5 index 561bea1..4437035 100644 --- a/docs/slosh.5 +++ b/docs/slosh.5 @@ -147,6 +147,22 @@ The glyphs themselves, each one string. Hovering focuses \(em never at the cost of what you were doing: not during a prefix, a drag, or a modal. .TP +.BI multi_attach\ bool +Several terminals may attach to one session at once (the default). +Off, a new client displaces the previous one, which is the classic +\[dq]move my session here and close it there\[dq]. +.TP +.BI size_follows\ active\ |\ smallest\ |\ largest +Whose size the shared screen takes when several clients are attached. +.B active +(the default) follows the newest attachment, then the last client to type or +click; smaller clients see a cursor-following crop and larger ones blank +filler. +.B smallest +is the tmux rule: nobody is cropped, the roomiest terminal pays in filler. +.B largest +gives the big display everything and the small ones a crop. +.TP .BI ctrl_d_exits\ bool Ctrl-D at an idle shell prompt sends .B exit |
