fix/kitty-terminal #145
11 changed files with 117 additions and 11 deletions
2
BUILD.md
2
BUILD.md
|
|
@ -548,7 +548,7 @@ once the desktop is proven stable on hardware:
|
||||||
Listed for completeness so the lean/full split stays honest:
|
Listed for completeness so the lean/full split stays honest:
|
||||||
|
|
||||||
- **Desktop session:** `xfce4-desktop`, `xfce4-panel`, `xfce4-session`,
|
- **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`.
|
`xfce4-whiskermenu-plugin`, `sddm`, `xinit`, `xterm`.
|
||||||
- **GTK / desktop integration:** `gsettings-desktop-schemas`,
|
- **GTK / desktop integration:** `gsettings-desktop-schemas`,
|
||||||
`adwaita-icon-theme`, `adwaita-icon-theme-legacy`,
|
`adwaita-icon-theme`, `adwaita-icon-theme-legacy`,
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ Type=Application
|
||||||
Version=1.0
|
Version=1.0
|
||||||
Name=Enable Mother Link
|
Name=Enable Mother Link
|
||||||
Comment=Let this agent's Pi call mother's tools over MCP (opt-in)
|
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
|
Icon=network-transmit-receive
|
||||||
Terminal=false
|
Terminal=false
|
||||||
Categories=System;Utility;
|
Categories=System;Utility;
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ Type=Application
|
||||||
Version=1.0
|
Version=1.0
|
||||||
Name=Join Hive
|
Name=Join Hive
|
||||||
Comment=Register this machine as a Colibri agent
|
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
|
Icon=network-server
|
||||||
Terminal=false
|
Terminal=false
|
||||||
Categories=System;Utility;
|
Categories=System;Utility;
|
||||||
|
|
|
||||||
|
|
@ -95,9 +95,15 @@ manual_xfce_desktop() {
|
||||||
if ! pgrep -U "$(id -u)" -x xfce4-panel >/dev/null 2>&1 || \
|
if ! pgrep -U "$(id -u)" -x xfce4-panel >/dev/null 2>&1 || \
|
||||||
! pgrep -U "$(id -u)" -x xfwm4 >/dev/null 2>&1; then
|
! pgrep -U "$(id -u)" -x xfwm4 >/dev/null 2>&1; then
|
||||||
echo "Panel or window manager missing after fallback startup; opening rescue terminal"
|
echo "Panel or window manager missing after fallback startup; opening rescue terminal"
|
||||||
if command -v xfce4-terminal >/dev/null 2>&1; then
|
# Kitty is GPU-accelerated; on a headless/bhyve surface with no GL
|
||||||
xfce4-terminal --title "Clawdie desktop rescue" \
|
# it may fail to start. Fall back to xterm (always installed) so the
|
||||||
--command "sh -lc 'echo XFCE startup fallback. See ~/.xsession-errors.; exec sh'" &
|
# 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
|
||||||
fi
|
fi
|
||||||
) &
|
) &
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ Type=Application
|
||||||
Version=1.0
|
Version=1.0
|
||||||
Name=Colibri Dashboard
|
Name=Colibri Dashboard
|
||||||
Comment=Open the live Colibri operator dashboard in a terminal
|
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
|
Icon=utilities-terminal
|
||||||
Terminal=false
|
Terminal=false
|
||||||
Categories=System;Utility;
|
Categories=System;Utility;
|
||||||
|
|
|
||||||
|
|
@ -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 "<txt>🟢 ${AGENTS:-?} agents · ${TASKS:-?} tasks</txt>"
|
||||||
echo "<tool>Colibri: ${HOST:-?} | socket: ${SOCKET} | agents: ${AGENTS:-?} | started tasks: ${TASKS:-?}</tool>"
|
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>"
|
||||||
|
|
|
||||||
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
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
[Desktop Entry]
|
[Desktop Entry]
|
||||||
Version=1.0
|
Version=1.0
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=xfce4-terminal
|
Exec=kitty
|
||||||
Icon=utilities-terminal
|
Icon=utilities-terminal
|
||||||
StartupNotify=true
|
StartupNotify=true
|
||||||
Terminal=false
|
Terminal=false
|
||||||
|
|
@ -66,7 +66,7 @@
|
||||||
</property>
|
</property>
|
||||||
<property name="plugin-4" type="string" value="launcher">
|
<property name="plugin-4" type="string" value="launcher">
|
||||||
<property name="items" type="array">
|
<property name="items" type="array">
|
||||||
<value type="string" value="xfce4-terminal.desktop"/>
|
<value type="string" value="kitty.desktop"/>
|
||||||
</property>
|
</property>
|
||||||
</property>
|
</property>
|
||||||
<property name="plugin-5" type="string" value="separator">
|
<property name="plugin-5" type="string" value="separator">
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,10 @@ xfce4-panel
|
||||||
xfce4-session
|
xfce4-session
|
||||||
xfce4-settings
|
xfce4-settings
|
||||||
xfce4-wm
|
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
|
mousepad
|
||||||
# Keep runtime desktop caches/schemas explicit. These are dependencies of GTK
|
# Keep runtime desktop caches/schemas explicit. These are dependencies of GTK
|
||||||
# and XFCE packages, but explicit entries make the live-session contract clear.
|
# and XFCE packages, but explicit entries make the live-session contract clear.
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue