Files
sethmux/sethmux-help.sh
T
Mortdecai ff33967020 feat: persistent help tab with keybindings cheat sheet
- Colorized reference card auto-redraws on resize
- Ctrl-A ? jumps to help tab (recreates if closed)
- Fixed tmux config syntax error in capture/logging bindings
2026-03-26 19:20:47 -04:00

80 lines
3.4 KiB
Bash
Executable File

#!/bin/bash
# sethmux cheat sheet — runs in the persistent help tab
# Redraws on terminal resize via trap
draw() {
clear
COLS=$(tput cols)
W=$((COLS > 80 ? 80 : COLS))
ORANGE=$'\033[38;2;211;84;0m'
DIM=$'\033[2m'
BOLD=$'\033[1m'
WHITE=$'\033[97m'
GRAY=$'\033[90m'
RST=$'\033[0m'
UL=$'\033[4m'
echo ""
echo "${ORANGE}${BOLD} sethmux cheat sheet${RST}"
echo "${GRAY} ─────────────────────────────────────────────${RST}"
echo ""
echo "${ORANGE}${UL}Tabs${RST}${GRAY} (kitty-style)${RST}"
echo " ${WHITE}Ctrl+Shift+T${RST} New tab"
echo " ${WHITE}Ctrl+Shift+W${RST} Close tab"
echo " ${WHITE}Ctrl+Shift+Right${RST} Next tab"
echo " ${WHITE}Ctrl+Shift+Left${RST} Previous tab"
echo " ${WHITE}Ctrl+Shift+1-9${RST} Go to tab N"
echo " ${WHITE}Ctrl+Shift+. / ,${RST} Move tab fwd / back"
echo ""
echo "${ORANGE}${UL}Splits & Panes${RST}"
echo " ${WHITE}Ctrl+Shift+Enter${RST} New split"
echo " ${WHITE}Ctrl+Shift+] / [${RST} Next / prev pane"
echo " ${WHITE}Ctrl+Shift+L${RST} Cycle layouts"
echo " ${WHITE}F11${RST} Zoom pane (fullscreen)"
echo " ${WHITE}Ctrl-A v${RST} Split vertical ${DIM}(dvorak)${RST}"
echo " ${WHITE}Ctrl-A s${RST} Split horizontal ${DIM}(dvorak)${RST}"
echo ""
echo "${ORANGE}${UL}Scrollback & Copy${RST}"
echo " ${WHITE}Ctrl+Shift+Up/Down${RST} Scroll line"
echo " ${WHITE}Ctrl+Shift+PgUp/Dn${RST} Scroll page"
echo " ${WHITE}Ctrl+Shift+Home/End${RST} Top / bottom"
echo " ${WHITE}Ctrl+Shift+H${RST} Scrollback in pager"
echo " ${WHITE}Ctrl+Shift+C${RST} Enter copy mode (vi)"
echo " ${WHITE}Ctrl+Shift+V${RST} Paste"
echo " ${DIM} In copy mode: v=select y=yank q=quit${RST}"
echo ""
echo "${ORANGE}${UL}AI Workflow${RST}"
echo " ${WHITE}Ctrl-A S${RST} Save pane → ~/logs/"
echo " ${WHITE}Ctrl-A L${RST} Toggle live logging"
echo " ${WHITE}Ctrl+Shift+Delete${RST} Clear terminal+history"
echo ""
echo "${ORANGE}${UL}Quick Access${RST}${GRAY} (no prefix)${RST}"
echo " ${WHITE}Alt-T${RST} New tab"
echo " ${WHITE}Alt-W${RST} Close tab"
echo " ${WHITE}Alt-1..5${RST} Go to tab 1-5"
echo " ${WHITE}Alt-Left/Right${RST} Prev / next tab"
echo ""
echo "${ORANGE}${UL}Session Windows${RST}"
echo " ${WHITE}1:code${RST} ${WHITE}2:git${RST} ${WHITE}3:run${RST} ${WHITE}4:logs${RST} ${WHITE}5:help${RST} ${DIM}(this)${RST}"
echo ""
echo "${ORANGE}${UL}Mobile Toolbar${RST}"
echo " ${DIM}Row 1:${RST} +Tab Next Prev │ ^C ^D Clr │ Esc Tab ▲ ▼"
echo " ${DIM}Row 2:${RST} Sel Paste Zoom Save │ V.Spl H.Spl Pane Kill"
echo ""
echo "${ORANGE}${UL}Notifications${RST}"
echo " ${WHITE}sethmux-notify \"msg\"${RST} Push to browser"
echo " ${WHITE}cmd | sethmux-notify${RST} Pipe output"
echo ""
echo "${GRAY} ─────────────────────────────────────────────${RST}"
echo "${GRAY} Status bar shows: cwd + git branch + time${RST}"
echo "${GRAY} Scrollback: 200K lines │ Prefix: Ctrl-A${RST}"
echo ""
}
trap draw WINCH
draw
# Stay alive, redraw on resize
while true; do sleep 86400; done