feat(iso): ship kitty.conf + tmux.conf defaults and xterm rescue fallback
Closes the OOTB config gaps from the kitty swap (b4c86b6). Kitty installed but
shipped with bare defaults and no tmux passthrough; rescue path lost its
headless fallback when xfce4-terminal was removed.
Changes:
- panel-skel/.config/kitty/kitty.conf: font 13pt (Hack, from hack-font pkg),
quiet-dark theme + full 16-color palette, scrollback, tab bar, beam cursor.
Lands at ~/.config/kitty/kitty.conf for the clawdie user via existing
panel-skel staging (no build.sh change).
- panel-skel/.config/tmux/tmux.conf: extended-keys on + csi-u so modifier
keys (Shift-Enter, Ctrl-Arrow, Alt-Enter) reach TUIs (pi, zot, colibri-tui)
run inside tmux. XDG path (~/.config/tmux/tmux.conf), read natively by the
live USB's tmux 3.5a. Plus escape-time 0, focus-events, mouse, sane indexing.
- clawdie-xfce-session-inner: rescue terminal now falls back kitty -> xterm.
Kitty is GPU-only; without a GL surface (bhyve no-GPU VMs) it can fail to
start, leaving the operator with no rescue shell. xterm stays installed.
No build.sh change needed: both configs ride the existing
`cp -R panel-skel/.config/.` into /etc/skel/.config and /home/clawdie/.config
(build.sh:2087, :2095).
Pre-merge: confirm `pkg search kitty` on the FreeBSD build host (couldn't
reach the network from the dev sandbox).
(Sam & Claude)
This commit is contained in:
parent
b4c86b68f4
commit
7b245d6f65
3 changed files with 103 additions and 0 deletions
|
|
@ -95,9 +95,15 @@ manual_xfce_desktop() {
|
|||
if ! pgrep -U "$(id -u)" -x xfce4-panel >/dev/null 2>&1 || \
|
||||
! pgrep -U "$(id -u)" -x xfwm4 >/dev/null 2>&1; then
|
||||
echo "Panel or window manager missing after fallback startup; opening rescue terminal"
|
||||
# Kitty is GPU-accelerated; on a headless/bhyve surface with no GL
|
||||
# it may fail to start. Fall back to xterm (always installed) so the
|
||||
# rescue shell stays reachable even without a working GPU.
|
||||
if command -v kitty >/dev/null 2>&1; then
|
||||
kitty -T "Clawdie desktop rescue" \
|
||||
sh -lc 'echo XFCE startup fallback. See ~/.xsession-errors.; exec sh' &
|
||||
elif command -v xterm >/dev/null 2>&1; then
|
||||
xterm -T "Clawdie desktop rescue" \
|
||||
-e sh -lc 'echo XFCE startup fallback. See ~/.xsession-errors.; exec sh' &
|
||||
fi
|
||||
fi
|
||||
) &
|
||||
|
|
|
|||
66
live/operator-session/panel-skel/.config/kitty/kitty.conf
Normal file
66
live/operator-session/panel-skel/.config/kitty/kitty.conf
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
# Clawdie operator USB — Kitty terminal defaults
|
||||
# Ships at ~/.config/kitty/kitty.conf for the clawdie user.
|
||||
# Tweak freely; reload live with Ctrl+Shift+F5 (or restart kitty).
|
||||
# Pick a different look interactively: kitty +kitten themes
|
||||
# Full reference: man kitty.conf
|
||||
|
||||
# ── Font ───────────────────────────────────────────────────
|
||||
# Hack ships via the `hack-font` package on the live USB. Bumped above
|
||||
# kitty's 11pt default so operator dashboards (colibri-tui, tmux, pi) stay
|
||||
# legible on laptop panels.
|
||||
font_family Hack
|
||||
bold_font auto
|
||||
italic_font auto
|
||||
bold_italic_font auto
|
||||
font_size 13.0
|
||||
|
||||
# ── Window ─────────────────────────────────────────────────
|
||||
remember_window_size no
|
||||
initial_window_width 110c
|
||||
initial_window_height 30c
|
||||
window_padding_width 6
|
||||
hide_window_decorations no
|
||||
|
||||
# ── Scrollback / mouse ─────────────────────────────────────
|
||||
scrollback_lines 10000
|
||||
copy_on_select yes
|
||||
url_style curly
|
||||
open_url_with default
|
||||
strip_trailing_spaces always
|
||||
|
||||
# ── Tab bar (only when more than one tab is open) ──────────
|
||||
tab_bar_min_tabs 2
|
||||
tab_bar_edge bottom
|
||||
tab_bar_style powerline
|
||||
tab_title_template {title}
|
||||
|
||||
# ── Theme: quiet dark ──────────────────────────────────────
|
||||
# A calm, high-contrast dark scheme tuned for long operator sessions.
|
||||
# Programs that use the 16 ANSI colors (ls, git, vim, syntax highlighters)
|
||||
# stay coherent with the foreground/background.
|
||||
foreground #c8d3f5
|
||||
background #1b1d2b
|
||||
cursor #c8d3f5
|
||||
selection_foreground #1b1d2b
|
||||
selection_background #3b3f54
|
||||
|
||||
color0 #1b1d2b
|
||||
color8 #5b6078
|
||||
color1 #f7768e
|
||||
color9 #f7768e
|
||||
color2 #9ece6a
|
||||
color10 #9ece6a
|
||||
color3 #e0af68
|
||||
color11 #e0af68
|
||||
color4 #7aa2f7
|
||||
color12 #7aa2f7
|
||||
color5 #bb9af7
|
||||
color13 #bb9af7
|
||||
color6 #7dcfff
|
||||
color14 #7dcfff
|
||||
color7 #a9b1d6
|
||||
color15 #c0caf5
|
||||
|
||||
# ── Cursor ─────────────────────────────────────────────────
|
||||
cursor_shape beam
|
||||
cursor_blink_interval 0
|
||||
31
live/operator-session/panel-skel/.config/tmux/tmux.conf
Normal file
31
live/operator-session/panel-skel/.config/tmux/tmux.conf
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
# Clawdie operator USB — tmux defaults
|
||||
# Ships at ~/.config/tmux/tmux.conf (tmux 3.1+ reads the XDG path; the live
|
||||
# USB's tmux port is 3.5a). Reload after edits:
|
||||
# tmux source-file ~/.config/tmux/tmux.conf
|
||||
|
||||
# ── Modifier-key passthrough (the reason this file exists) ─
|
||||
# Kitty reports Shift/Ctrl/Alt-modified keys; tmux must forward them so TUIs
|
||||
# (pi, zot, colibri-tui) receive Shift-Enter, Ctrl-Arrow, Alt-Enter, etc.
|
||||
# csi-u is the most reliable format and needs tmux 3.5+ (we have 3.5a).
|
||||
set -g extended-keys on
|
||||
set -g extended-keys-format csi-u
|
||||
|
||||
# ── Responsiveness ──────────────────────────────────────────
|
||||
# Zero escape time so TUIs (ratatui, pi, vim) feel instant; forward focus
|
||||
# events so apps that track focus react promptly.
|
||||
set -s escape-time 0
|
||||
set -sg focus-events on
|
||||
|
||||
# ── History ─────────────────────────────────────────────────
|
||||
set -g history-limit 50000
|
||||
|
||||
# ── Window numbering matches the keyboard, renumber on close ─
|
||||
set -g base-index 1
|
||||
setw -g pane-base-index 1
|
||||
set -g renumber-windows on
|
||||
|
||||
# ── Mouse (operator convenience: select, scroll, resize) ────
|
||||
set -g mouse on
|
||||
|
||||
# ── Don't let running apps rename windows out from under us ─
|
||||
set -g allow-rename off
|
||||
Loading…
Add table
Reference in a new issue