aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authoruser <user@clank>2026-09-02 14:57:13 +0200
committeruser <user@clank>2026-09-02 14:57:13 +0200
commitd698946464f25a0eb43730ffad15656f3247f56b (patch)
tree0d040eb64e433122f982ea45912eba37ab54822a /docs
parentAdd competitive multiplayer support. (diff)
downloadslosh-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.md2
-rw-r--r--docs/slosh.17
-rw-r--r--docs/slosh.516
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