From 21ef25bb565e1c70107f68193bcaf0e24b19e312 Mon Sep 17 00:00:00 2001 From: Gitea Actions Bot Date: Mon, 21 Sep 2026 07:03:41 +0000 Subject: [PATCH] chore(docs): regenerate manual, man page, and component registry --- docs/fish-config.1 | 60 +++++++++++++++++++++++++++++++-------------- docs/fish-config.md | 41 ++++++++++++++++++++----------- 2 files changed, 69 insertions(+), 32 deletions(-) diff --git a/docs/fish-config.1 b/docs/fish-config.1 index 400132b..7b8412a 100644 --- a/docs/fish-config.1 +++ b/docs/fish-config.1 @@ -1664,7 +1664,8 @@ gitup --all Synopsis: hist Searches fish history interactively using fzf, inserts the selected command -into the command line, and copies it to the clipboard via wl-copy. +into the command line, and copies it to the clipboard via wl-copy, xclip, +or win32yank (WSL2). Exit Status: 0 Command selected and inserted, or fzf was cancelled @@ -1674,6 +1675,8 @@ Example: hist \f[R] .fi +.PP +\f[B]Dependencies:\f[R] \f[V]_fish_clipboard_copy\f[R] .SS mkrep .IP .nf @@ -2414,8 +2417,8 @@ tab \f[C] Synopsis: p [args...] -Outputs clipboard contents to stdout. Uses wl-paste on Wayland, -falls back to xclip on X11. Supports -h/--help for usage info. +Outputs clipboard contents to stdout. Uses wl-paste on Wayland, xclip on +X11, or win32yank on WSL2. Supports -h/--help for usage info. Arguments: -h, --help Show usage help @@ -2433,14 +2436,16 @@ p | grep foo p > file.txt \f[R] .fi +.PP +\f[B]Dependencies:\f[R] \f[V]_fish_clipboard_paste\f[R] .SS paste .IP .nf \f[C] Synopsis: paste [args...] -Outputs clipboard contents to stdout. Uses wl-paste on Wayland, -falls back to xclip on X11. +Outputs clipboard contents to stdout. Uses wl-paste on Wayland, xclip on +X11, or win32yank on WSL2. Arguments: args... Arguments forwarded to the clipboard tool @@ -2456,14 +2461,16 @@ Example: paste > file.txt \f[R] .fi +.PP +\f[B]Dependencies:\f[R] \f[V]_fish_clipboard_paste\f[R] .SS y .IP .nf \f[C] Synopsis: y [text...] -Copies text to the system clipboard using wl-copy (Wayland) or xclip (X11). -Reads from stdin when no arguments are given. +Copies text to the system clipboard using wl-copy (Wayland), xclip (X11), +or win32yank (WSL2). Reads from stdin when no arguments are given. Arguments: text Text to copy; reads from stdin if omitted @@ -2478,6 +2485,8 @@ ls | y cat file.txt | y \f[R] .fi +.PP +\f[B]Dependencies:\f[R] \f[V]_fish_clipboard_copy\f[R] .SS 5.10 Network .SS fast .IP @@ -4197,6 +4206,18 @@ Sandbox; needed only by \f[V]md --read-only\f[R], which uses it to make MarkText unable to save over the file it opened. Every other \f[V]md\f[R] invocation works without it. T} +T{ +\f[V]win32yank.exe\f[R] +T}@T{ +Clipboard bridge for WSL2; backs the +\f[V]y\f[R]/\f[V]p\f[R]/\f[V]paste\f[R]/\f[V]hist\f[R] clipboard +fallback chain when neither \f[V]wl-copy\f[R]/\f[V]wl-paste\f[R] nor +\f[V]xclip\f[R] are present. +\f[V]fish-deps\f[R] only offers to install it when WSL2 is detected +(\f[V]microsoft\f[R] in \f[V]/proc/sys/kernel/osrelease\f[R]), +downloading the \f[V]x86_64\f[R] binary from GitHub releases to +\f[V]\[ti]/.local/bin\f[R]. +T} .TE .SS Terminal Emulators .PP @@ -4904,7 +4925,7 @@ Done desktop notifications Graphical desktop with a notification daemon spwin Kitty or WezTerm tab Kitty, WezTerm, or Konsole split Kitty or WezTerm -hist fzf + wl-copy (Wayland clipboard) +hist fzf + wl-copy, xclip, or win32yank.exe (WSL2) logs fzf + ov; reads from \[ti]/.terminal_history/ upgrade paru or yay (Arch Linux only) WakaTime hook wakatime CLI and a configured API key @@ -5329,12 +5350,15 @@ IMPORTANT: A number of functions call Linux-specific subsystems directly, with no fallback: - \f[V]systemd-inhibit\f[R] (\f[V]wake-lock\f[R]) - \f[V]zramctl\f[R] / \f[V]swapon\f[R] (\f[V]swapstat\f[R]) - \f[V]sbctl\f[R] and UEFI Secure Boot state -(\f[V]sbver\f[R]) - \f[V]wl-copy\f[R] / \f[V]xclip\f[R] for clipboard -access (\f[V]y\f[R], \f[V]p\f[R], \f[V]paste\f[R], \f[V]hist\f[R]) \[em] -Wayland or X11 only, no \f[V]pbcopy\f[R]/\f[V]pbpaste\f[R] fallback - -GNU coreutils flags such as \f[V]stat -c\f[R] and \f[V]numfmt\f[R] -(\f[V]sudo-toggle\f[R], \f[V]dng2avif\f[R]), which differ or don\[cq]t -exist under a BSD userland +(\f[V]sbver\f[R]) - GNU coreutils flags such as \f[V]stat -c\f[R] and +\f[V]numfmt\f[R] (\f[V]sudo-toggle\f[R], \f[V]dng2avif\f[R]), which +differ or don\[cq]t exist under a BSD userland +.PP +Clipboard access (\f[V]y\f[R], \f[V]p\f[R], \f[V]paste\f[R], +\f[V]hist\f[R]) is the exception: it falls back through +\f[V]wl-copy\f[R]/\f[V]wl-paste\f[R] (Wayland), \f[V]xclip\f[R] (X11), +and \f[V]win32yank.exe\f[R] (WSL2), so it works on all three. +There is still no \f[V]pbcopy\f[R]/\f[V]pbpaste\f[R] fallback for macOS. .PP \f[B]macOS\f[R] is not supported. \f[V]_fish_deps_detect_pm\f[R] does check for \f[V]brew\f[R], but that @@ -5347,10 +5371,10 @@ Fish itself has no native Windows build; upstream\[cq]s own port. This config is not tested under WSL either. WSL2 runs a real Linux kernel and can run \f[V]systemd\f[R], so basic -shell use may work, but \f[V]zramctl\f[R], \f[V]sbctl\f[R], and Secure -Boot state are meaningless inside a VM, and clipboard integration would -need a WSL-specific path (\f[V]clip.exe\f[R], \f[V]win32yank\f[R]) that -does not exist here. +shell use may work; \f[V]zramctl\f[R], \f[V]sbctl\f[R], and Secure Boot +state are still meaningless inside a VM, but clipboard integration works +via \f[V]win32yank.exe\f[R] (see above) once it\[cq]s installed on the +Windows side and reachable through WSL interop. .PP \f[B]Assumed present on any Linux system this runs on:\f[R] \f[V]git\f[R], \f[V]gpg\f[R], \f[V]tar\f[R], and GNU coreutils (for diff --git a/docs/fish-config.md b/docs/fish-config.md index 4446bee..58f44f2 100644 --- a/docs/fish-config.md +++ b/docs/fish-config.md @@ -1260,7 +1260,8 @@ functions). They are active in all interactive sessions. Synopsis: hist Searches fish history interactively using fzf, inserts the selected command - into the command line, and copies it to the clipboard via wl-copy. + into the command line, and copies it to the clipboard via wl-copy, xclip, + or win32yank (WSL2). Exit Status: 0 Command selected and inserted, or fzf was cancelled @@ -1269,6 +1270,8 @@ functions). They are active in all interactive sessions. Example: hist +**Dependencies:** `_fish_clipboard_copy` + ### mkrep Synopsis: mkrep [--cd | --no-cd] [--mkdir | --no-mkdir] [--git | --no-git] @@ -1923,8 +1926,8 @@ functions). They are active in all interactive sessions. Synopsis: p [args...] - Outputs clipboard contents to stdout. Uses wl-paste on Wayland, - falls back to xclip on X11. Supports -h/--help for usage info. + Outputs clipboard contents to stdout. Uses wl-paste on Wayland, xclip on + X11, or win32yank on WSL2. Supports -h/--help for usage info. Arguments: -h, --help Show usage help @@ -1941,12 +1944,14 @@ functions). They are active in all interactive sessions. p | grep foo p > file.txt +**Dependencies:** `_fish_clipboard_paste` + ### paste Synopsis: paste [args...] - Outputs clipboard contents to stdout. Uses wl-paste on Wayland, - falls back to xclip on X11. + Outputs clipboard contents to stdout. Uses wl-paste on Wayland, xclip on + X11, or win32yank on WSL2. Arguments: args... Arguments forwarded to the clipboard tool @@ -1961,12 +1966,14 @@ functions). They are active in all interactive sessions. Example: paste > file.txt +**Dependencies:** `_fish_clipboard_paste` + ### y Synopsis: y [text...] - Copies text to the system clipboard using wl-copy (Wayland) or xclip (X11). - Reads from stdin when no arguments are given. + Copies text to the system clipboard using wl-copy (Wayland), xclip (X11), + or win32yank (WSL2). Reads from stdin when no arguments are given. Arguments: text Text to copy; reads from stdin if omitted @@ -1980,6 +1987,8 @@ functions). They are active in all interactive sessions. ls | y cat file.txt | y +**Dependencies:** `_fish_clipboard_copy` + ## 5.10 Network ### fast @@ -3379,6 +3388,7 @@ matter if you already use that specific tool. Skipped by | `screen` | GNU screen; fallback backend for `jobrunner` when `tmux` is unavailable. | | `marktext` | Markdown editor; backs the `md` wrapper, which is the only thing that references it. No distro packages it under a common name, so `fish-deps` offers the AUR package (`marktext-bin`) on Arch and otherwise installs upstream's AppImage to `~/.local/bin/marktext`. | | `firejail` | Sandbox; needed only by `md --read-only`, which uses it to make MarkText unable to save over the file it opened. Every other `md` invocation works without it. | +| `win32yank.exe` | Clipboard bridge for WSL2; backs the `y`/`p`/`paste`/`hist` clipboard fallback chain when neither `wl-copy`/`wl-paste` nor `xclip` are present. `fish-deps` only offers to install it when WSL2 is detected (`microsoft` in `/proc/sys/kernel/osrelease`), downloading the `x86_64` binary from GitHub releases to `~/.local/bin`. | ## Terminal Emulators @@ -3929,7 +3939,7 @@ These features couple the shell to specific external tools. Disabling spwin Kitty or WezTerm tab Kitty, WezTerm, or Konsole split Kitty or WezTerm - hist fzf + wl-copy (Wayland clipboard) + hist fzf + wl-copy, xclip, or win32yank.exe (WSL2) logs fzf + ov; reads from ~/.terminal_history/ upgrade paru or yay (Arch Linux only) WakaTime hook wakatime CLI and a configured API key @@ -4261,11 +4271,14 @@ no fallback: - `systemd-inhibit` (`wake-lock`) - `zramctl` / `swapon` (`swapstat`) - `sbctl` and UEFI Secure Boot state (`sbver`) -- `wl-copy` / `xclip` for clipboard access (`y`, `p`, `paste`, `hist`) — - Wayland or X11 only, no `pbcopy`/`pbpaste` fallback - GNU coreutils flags such as `stat -c` and `numfmt` (`sudo-toggle`, `dng2avif`), which differ or don't exist under a BSD userland +Clipboard access (`y`, `p`, `paste`, `hist`) is the exception: it falls back +through `wl-copy`/`wl-paste` (Wayland), `xclip` (X11), and `win32yank.exe` +(WSL2), so it works on all three. There is still no `pbcopy`/`pbpaste` +fallback for macOS. + **macOS** is not supported. `_fish_deps_detect_pm` does check for `brew`, but that alone does not make the functions above work — they have no macOS equivalent path today. @@ -4273,10 +4286,10 @@ equivalent path today. **Windows** is not supported. Fish itself has no native Windows build; upstream's own "Windows" install docs are Cygwin/WSL workarounds, not a real port. This config is not tested under WSL either. WSL2 runs a real Linux -kernel and can run `systemd`, so basic shell use may work, but `zramctl`, -`sbctl`, and Secure Boot state are meaningless inside a VM, and clipboard -integration would need a WSL-specific path (`clip.exe`, `win32yank`) that -does not exist here. +kernel and can run `systemd`, so basic shell use may work; `zramctl`, +`sbctl`, and Secure Boot state are still meaningless inside a VM, but +clipboard integration works via `win32yank.exe` (see above) once it's +installed on the Windows side and reachable through WSL interop. **Assumed present on any Linux system this runs on:** `git`, `gpg`, `tar`, and GNU coreutils (for `stat`, `date`, `numfmt`). These are not tracked by