From 0c7f7df4ec960866e03e7c355f47288adfc064f6 Mon Sep 17 00:00:00 2001
From: Gitea Actions
Date: Tue, 16 Jun 2026 19:15:54 +0000
Subject: [PATCH] chore(docs): regenerate man page, HTML docs, and wiki
---
docs/fish-config.1 | 36 +++++++++++++++++++-------
docs/html/11-7-customization.html | 24 ++++++++++++++++-
docs/html/9-5-functions-reference.html | 3 ---
docs/html/index.html | 2 --
docs/html/sitemap.json | 2 +-
docs/wiki/5-functions-reference.md | 5 ----
docs/wiki/7-customization.md | 32 ++++++++++++++++++-----
7 files changed, 77 insertions(+), 27 deletions(-)
diff --git a/docs/fish-config.1 b/docs/fish-config.1
index 301f063..86cabbd 100644
--- a/docs/fish-config.1
+++ b/docs/fish-config.1
@@ -1816,14 +1816,6 @@ idle or sleeping until the command completes.
wake-lock rsync -avz src/ dest/
\f[R]
.fi
-.SS zellij
-.IP
-.nf
-\f[C]
-Synopsis: zellij [args...]
-Launches zellij with the Catppuccin Mocha theme applied.
-\f[R]
-.fi
.PP
* * * * *
.SH 6. DEPENDENCY CATALOG
@@ -2203,7 +2195,11 @@ SCROLLBACK_HISTORY_MAX_FILES, matching the paru/yay wrapper behaviour.
The zellij capture works differently: Zellij has no live
output-streaming facility like pipe-pane, so the log is taken as a
one-shot snapshot when the shell exits, via
-\f[V]zellij action dump-screen --full\f[R].
+\f[V]zellij action dump-screen --full --ansi\f[R] (the \[en]ansi flag
+preserves color).
+The dump is captured on the fish process\[cq]s stdout and written to the
+log file by fish itself (not via \f[V]--path\f[R], which would make the
+zellij server write the file).
A fish_exit handler (registered whenever $ZELLIJ is set) writes the
pane\[cq]s full scrollback and then prunes old zellij_*.log files the
same way.
@@ -2211,6 +2207,28 @@ Because the capture happens at exit, toggling __fish_config_op_logging
takes effect on the next exit with no restart or sentinel coordination
needed \[em] the C5 guard is re-checked when the handler fires.
.PP
+LIMITATION \[em] zellij capture only fires on a clean shell exit (typing
+\f[V]exit\f[R], Ctrl-D, or a logout), because that is when the fish_exit
+handler runs.
+It does NOT capture when you close a pane or quit zellij through zellij
+itself:
+.IP \[bu] 2
+Closing a pane signals the shell and tears the pane down concurrently,
+so even if the handler runs, \f[V]dump-screen\f[R] may find the pane
+buffer already gone.
+.IP \[bu] 2
+Quitting zellij kills the zellij server, and \f[V]dump-screen\f[R] needs
+a live server to read from \[em] there is nothing left to snapshot.
+.PP
+This is a structural difference from tmux, NOT a bug.
+tmux streams pane output to disk continuously via pipe-pane, so whatever
+was printed is already saved no matter how the pane dies.
+Zellij can only snapshot, and the only reliable snapshot point from the
+shell is a clean exit.
+To guarantee a zellij pane is logged, end the session with
+\f[V]exit\f[R] or Ctrl-D rather than zellij\[cq]s close-pane or quit
+actions.
+.PP
The Kitty watcher is managed by the kitty-logging command: it installs a
version-marked watcher (fish-config-watcher.py) into the Kitty config
directory and wires it into kitty.conf via a managed block.
diff --git a/docs/html/11-7-customization.html b/docs/html/11-7-customization.html
index 64881fc..4c6ba38 100644
--- a/docs/html/11-7-customization.html
+++ b/docs/html/11-7-customization.html
@@ -721,12 +721,34 @@ behaviour.
The zellij capture works differently: Zellij has no live
output-streaming facility like pipe-pane, so the log is taken as a
one-shot snapshot when the shell exits, via
-zellij action dump-screen --full. A fish_exit handler
+zellij action dump-screen --full --ansi (the --ansi flag
+preserves color). The dump is captured on the fish process's stdout and
+written to the log file by fish itself (not via --path,
+which would make the zellij server write the file). A fish_exit handler
(registered whenever $ZELLIJ is set) writes the pane's full scrollback
and then prunes old zellij_*.log files the same way. Because the capture
happens at exit, toggling __fish_config_op_logging takes effect on the
next exit with no restart or sentinel coordination needed — the C5 guard
is re-checked when the handler fires.
+LIMITATION — zellij capture only fires on a clean shell exit (typing
+exit, Ctrl-D, or a logout), because that is when the
+fish_exit handler runs. It does NOT capture when you close a pane or
+quit zellij through zellij itself:
+
+- Closing a pane signals the shell and tears the pane down
+concurrently, so even if the handler runs,
dump-screen may
+find the pane buffer already gone.
+- Quitting zellij kills the zellij server, and
+
dump-screen needs a live server to read from — there is
+nothing left to snapshot.
+
+This is a structural difference from tmux, NOT a bug. tmux streams
+pane output to disk continuously via pipe-pane, so whatever was printed
+is already saved no matter how the pane dies. Zellij can only snapshot,
+and the only reliable snapshot point from the shell is a clean exit. To
+guarantee a zellij pane is logged, end the session with
+exit or Ctrl-D rather than zellij's close-pane or quit
+actions.
The Kitty watcher is managed by the kitty-logging command: it
installs a version-marked watcher (fish-config-watcher.py) into the
Kitty config directory and wires it into kitty.conf via a managed block.
diff --git a/docs/html/9-5-functions-reference.html b/docs/html/9-5-functions-reference.html
index 39fbf22..f1f886e 100644
--- a/docs/html/9-5-functions-reference.html
+++ b/docs/html/9-5-functions-reference.html
@@ -1205,9 +1205,6 @@ Runs a command under systemd-inhibit, preventing the system from going
idle or sleeping until the command completes.
wake-lock rsync -avz src/ dest/
-
zellij
-Synopsis: zellij [args...]
-Launches zellij with the Catppuccin Mocha theme applied.