- tmux-ip: show the first directly-held public/WAN IP on a non-tunnel interface,
else the LAN/private IP. No external 'what's my IP' lookup and no DigitalOcean
special-case (a droplet's eth0 public IP is found by the same interface scan);
RFC1918/link-local/CGNAT classed as not-WAN, so a NAT'd box shows its LAN IP.
- tmux-net: show ✕ when there's no local IP and no VPN tunnel (offline). VPN ⇡
overlay unchanged.
- .tmux.conf: window-status icon + path now native tmux formats (no per-redraw
#() forks); tmux-window-icon kept as fallback.
Add tmux-vpn-ip helper (parses ifconfig for utun* on macOS, falls back
to tun/wg/ppp on Linux) and a tmux-net wrapper that conditionally
emits "⌂ <local> / ⇡ <vpn>" when a VPN tunnel is up, or just "<local>"
when it's not. status-right now calls tmux-net.
- Switch default-terminal from screen-256color to tmux-256color
(better italics/undercurl/SGR support for nvim, Claude Code, etc.)
- Add terminal-features RGB for the common outer terminals so
truecolor escape sequences pass through cleanly
- Enable focus-events so inner programs can redraw when the pane
regains focus
Tracks shell configs (zsh/bash), vim, tmux, irssi, fonts, themes,
and ~/.local/bin scripts. Sensitive files (.ssh, .gnupg, history,
credentials) and large app data are excluded via .gitignore.