Merge pull request 'fix/kitty-terminal' (#145) from fix/kitty-terminal into main

Reviewed-on: #145
This commit is contained in:
clawdie 2026-06-26 02:19:48 +02:00
commit d6c5ec727a
11 changed files with 117 additions and 11 deletions

View file

@ -548,7 +548,7 @@ once the desktop is proven stable on hardware:
Listed for completeness so the lean/full split stays honest:
- **Desktop session:** `xfce4-desktop`, `xfce4-panel`, `xfce4-session`,
`xfce4-settings`, `xfce4-wm`, `xfce4-terminal`,
`xfce4-settings`, `xfce4-wm`, `kitty`,
`xfce4-whiskermenu-plugin`, `sddm`, `xinit`, `xterm`.
- **GTK / desktop integration:** `gsettings-desktop-schemas`,
`adwaita-icon-theme`, `adwaita-icon-theme-legacy`,

View file

@ -3,7 +3,7 @@ Type=Application
Version=1.0
Name=Enable Mother Link
Comment=Let this agent's Pi call mother's tools over MCP (opt-in)
Exec=xfce4-terminal --title "Enable Mother Link" --geometry=90x28 --command "/usr/local/bin/clawdie-enable-mother"
Exec=kitty -T "Enable Mother Link" -o initial_window_width=90c -o initial_window_height=28c /usr/local/bin/clawdie-enable-mother
Icon=network-transmit-receive
Terminal=false
Categories=System;Utility;

View file

@ -3,7 +3,7 @@ Type=Application
Version=1.0
Name=Join Hive
Comment=Register this machine as a Colibri agent
Exec=xfce4-terminal --title "Join Hive" --geometry=80x24 --command "/usr/local/bin/clawdie-join-hive"
Exec=kitty -T "Join Hive" -o initial_window_width=80c -o initial_window_height=24c /usr/local/bin/clawdie-join-hive
Icon=network-server
Terminal=false
Categories=System;Utility;

View file

@ -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"
if command -v xfce4-terminal >/dev/null 2>&1; then
xfce4-terminal --title "Clawdie desktop rescue" \
--command "sh -lc 'echo XFCE startup fallback. See ~/.xsession-errors.; exec sh'" &
# 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
) &

View file

@ -3,7 +3,7 @@ Type=Application
Version=1.0
Name=Colibri Dashboard
Comment=Open the live Colibri operator dashboard in a terminal
Exec=xfce4-terminal --title "Colibri Dashboard" --geometry=120x30 --command "/usr/local/bin/colibri-tui"
Exec=kitty -T "Colibri Dashboard" -o initial_window_width=120c -o initial_window_height=30c /usr/local/bin/colibri-tui
Icon=utilities-terminal
Terminal=false
Categories=System;Utility;

View file

@ -36,4 +36,4 @@ HOST=$(echo "$STATUS" | python3 -c "import sys,json; print(json.load(sys.stdin)[
echo "<txt>🟢 ${AGENTS:-?} agents · ${TASKS:-?} tasks</txt>"
echo "<tool>Colibri: ${HOST:-?} | socket: ${SOCKET} | agents: ${AGENTS:-?} | started tasks: ${TASKS:-?}</tool>"
echo "<txtclick>xfce4-terminal --title 'Colibri Status' --command 'colibri status'</txtclick>"
echo "<txtclick>kitty -T 'Colibri Status' colibri status</txtclick>"

View 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

View 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

View file

@ -1,7 +1,7 @@
[Desktop Entry]
Version=1.0
Type=Application
Exec=xfce4-terminal
Exec=kitty
Icon=utilities-terminal
StartupNotify=true
Terminal=false

View file

@ -66,7 +66,7 @@
</property>
<property name="plugin-4" type="string" value="launcher">
<property name="items" type="array">
<value type="string" value="xfce4-terminal.desktop"/>
<value type="string" value="kitty.desktop"/>
</property>
</property>
<property name="plugin-5" type="string" value="separator">

View file

@ -10,7 +10,10 @@ xfce4-panel
xfce4-session
xfce4-settings
xfce4-wm
xfce4-terminal
# GPU-accelerated terminal — replaces xfce4-terminal.
# Kitty: fast, keyboard-driven, respects terminal color themes,
# supports modern escape codes ratatui uses (REVERSED, italic, true color).
kitty
mousepad
# Keep runtime desktop caches/schemas explicit. These are dependencies of GTK
# and XFCE packages, but explicit entries make the live-session contract clear.