#!/bin/bash # sethmux cheat sheet — runs in the persistent help tab # Read-only: all keyboard input is silently consumed # Redraws on terminal resize via trap stty -echo -icanon 2>/dev/null 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 # Read-only: consume all stdin silently, redraw on resize while IFS= read -r -s -n 1 -t 86400 _ 2>/dev/null; do :; done