Documents what each function needs for full functionality -- other repo functions it calls, and external CLI tools it uses or falls back gracefully without (e.g. rm/trash, ls/eza+lsd) -- matching the existing CLASSIFICATION convention's placement and the ~20 functions that already carried this label. Also broadens verify-manual.py's dependency-resolution check to recognize this repo's other existence-check idioms (command -q, command -v, which -- not just type -q) and dng2avif's dynamic type -q $cmd loop, since several genuine dependencies (eza, lsd, fastfetch, fd, ps, ...) are only ever guarded that way. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HdzcdfzUSzskSsCS1U4j5X
38 lines
952 B
Fish
38 lines
952 B
Fish
# Copyright (C) 2026 Rootiest
|
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
# CATEGORY
|
|
# 14-miscellaneous
|
|
#
|
|
# DEPENDENCIES
|
|
# tmux
|
|
#
|
|
# SYNOPSIS
|
|
# tmux-clean
|
|
#
|
|
# DESCRIPTION
|
|
# Kills all detached (unattached) tmux sessions, leaving any currently
|
|
# attached sessions running.
|
|
#
|
|
# EXIT STATUS
|
|
# 0 Always
|
|
#
|
|
# EXAMPLE
|
|
# tmux-clean
|
|
function tmux-clean --description 'Kill all tmux sessions except the current one'
|
|
__fish_help_header (status current-function) $argv; and return 0
|
|
|
|
# Get a list of all session names that are NOT currently attached
|
|
set sessions (tmux list-sessions -F '#{session_name} #{session_attached}' | string match -rv ' 1$' | string split -f1 ' ')
|
|
|
|
if test -n "$sessions"
|
|
for session in $sessions
|
|
echo "Stopping session: $session"
|
|
tmux kill-session -t "$session"
|
|
end
|
|
echo "Clean-up complete."
|
|
else
|
|
echo "No detached sessions to clean."
|
|
end
|
|
end
|