The Meowgorithm Dotfiles, Collectors’ Edition
#!/usr/bin/env bash
set -euo pipefail
# Manage zellij sessions, tabs, and panes.
#
# Usage:
# zellij_session.sh <command> [options]
#
# Sessions:
# new <name> [workdir] Create detached session (idempotent)
# kill <name> Kill session (resurrectable)
# delete <name> Kill session and purge resurrectable state
# list Full tree: sessions, tabs, panes
# list-sessions Session names only
# exists <name> Check if session exists (exit 0/1)
# attached <name> Check if session has clients (exit 0/1)
#
# Tabs:
# new-tab <session> [name] Create tab, prints tab id
# list-tabs <session> List tabs (id, position, name)
# go-to-tab <session> <index|name> Focus tab by index or name
# close-tab <session> [tab_id] Close tab (focused tab if no id)
# rename-tab <session> <tab_id> <n> Rename tab by stable id
#
# Panes (pane = terminal_1, plugin_2, or bare number; default: focused):
# split <session> [right|down] [name] [workdir] New shell pane, prints pane id
# run <session> [name] [workdir] <cmd...> New pane running cmd, prints pane id
# (no shell: use bash -c '...' for compound cmds)
# list-panes <session> [--json|--all] List panes
# kill-pane <session> [pane] Close pane
# focus <session> <pane> Focus pane
# rename-pane <session> [pane] <n> Rename pane
# resize <session> [pane] <increase|decrease> <right|down|up|left>
# clear <session> [pane] Clear pane buffers (viewport + scrollback)
# fullscreen <session> [pane] Toggle fullscreen on pane
# info <session> [pane] Show pane details as JSON
# -h, --help Show this help
usage() {
sed -n '4,/^$/p' "$0" | sed 's/^# \?//' >&2