Field notes

Session management

Colour-coded workspace sessions with Ghostty, tmux theming and launcher scripts. Each project opens in its own window, in its own colour, with its name in the title.

Everyday

Session launchers9

Launch Ghostty + tmux for titan-api (blue)
Launch Ghostty + tmux for yaklab (green)
Launch Ghostty + tmux for scratch (mauve)
Dashboard: btop, bandwhich, iftop, gping in 2×2 grid (red)
Remote: SSH to zeus, sync tmux config, tmux in ~/Development/yaklab (pink)
Launch Ghostty + tmux for any named session
Remote: SSH to host, sync tmux config+plugins, create split layout
List all available session configs
Launch all configured sessions at once

Fish abbreviations4

tt titan-api
tt yaklab
tt scratch
tt-all

macOS window switching6

App switcher, now shows session names in titles
Cycle between windows of the same app (Ghostty)
Mission Control, see all windows with titles
Switch between macOS Spaces
Jump to Space by number (enable in System Settings)
Show Desktop

Configure

Ghostty7

Set Ghostty window title on launch
Load per-session color overrides
Execute command in new Ghostty window
Show native window decorations
Use macOS tab-style title bar
Per-session cursor color override
Per-session selection color override

tmux session theming6

Auto-applies accent colors on session create/attach
Trigger theme on new session
Trigger theme on session switch
Colored border for active pane
Colored tab for active window
tmux user variable storing current accent hex

Dynamic window titles5

Enable terminal title propagation
#{session_name} · #{b:pane_current_path} · #{pane_current_command}
Example: how titles appear in Cmd-Tab
Example: project context at a glance
Example: Claude session title

Config files8

Base Ghostty configuration
Per-session Ghostty color overrides
tmux config (theme hooks + titles added)
Per-session accent color script
Session launcher (local + remote)
All sessions launcher script
SSH host config (zeus: IdentityFile + IdentitiesOnly)
Claude Code launcher (synced to zeus via rsync)

Reference

Colour scheme6

Blue, #89b4fa (Catppuccin Mocha blue)
Green, #a6e3a1 (Catppuccin Mocha green)
Mauve, #cba6f7 (Catppuccin Mocha mauve)
Pink, #f5c2e7 (Catppuccin Mocha pink, remote)
Red, #f47067 (monitoring dashboard)
Pink, #f5c2e7 (Catppuccin Mocha pink)

Remote sessions7

tt auto-syncs ~/.config/tmux/ to remote before attach
tt auto-syncs ~/.tmux/plugins/ to remote before attach
Session name ending triggers remote mode (e.g. yaklab-zeus)
Remote working directory (derived from session name)
Remote tmux creation wrapped in bash (zeus default shell is fish)
Remote layout matches local: Claude Code + file listing
Mac Studio M2 Ultra, tmux 3.6a, fish, claude installed

Monitor dashboard6

TL pane, system overview (CPU, RAM, disk, network, processes)
TR pane, per-process bandwidth usage (Rust, /opt/homebrew/bin/)
BL pane, real-time interface traffic by connection
BR pane, live ping graph (Cloudflare, Google, homelab, Yaklab)
4 panes via split-window -h then two split-window -v
bandwhich and iftop need root for packet capture