Skip to content

Latest commit

 

History

History
13 lines (7 loc) · 1.78 KB

File metadata and controls

13 lines (7 loc) · 1.78 KB

How it works

One PTY per command

Every task runs in its own pseudo-terminal, emulated with alacritty_terminal. fleetcom answers cursor-position and device-attribute queries, renders ?2026 synchronized updates as whole frames, and reflows history after a resize. The dashboard preview, peek overlay, and attached view all read the same emulated screen grid, so full-screen programs such as vim and htop retain one consistent terminal state across views. Backgrounding changes client focus without notifying the child.

Input fidelity

Attached input follows the terminal modes reported by the child. Modified Enter becomes ESC CR when the terminal reports the modifier. Paste receives bracketed-paste markers only when the child enables them. Mouse events go to children that request a mouse protocol. Full-screen children receive alternate-scroll input only while DECSET 1007 is enabled; otherwise fleetcom suppresses wheel events. Each task retains 2,000 lines of scrollback. For inline children, wheel-up or Shift+PageUp enters history; paging keys navigate it, while Esc or ordinary input returns to live output. commands.md documents the exact routing rules.

Grouping follows one activity window

The dashboard groups tasks by state (In use / Running / Idle / Completed), working directory, or names assigned with g. One 10-second window drives both idle signals: after 10 s without output, the row glyph changes from to and the task moves to Idle in the same refresh. A tool such as top, which prints every 1–2 s, never crosses the window, so it stays under Running. The preview text holds separately: a status from a weaker source must persist for 600 ms before it replaces a stronger one, which absorbs repaint flicker without affecting grouping.