• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

jokius / rook / 29270923041

13 Jul 2026 05:26PM UTC coverage: 97.973% (+0.1%) from 97.862%
29270923041

push

github

jokius
feat: dashboard grid overlay

port of upstream agterm 2f6410f (#202) + its follow-up 8c8c9aa (titlebar).

A view-only grid of up to 9 LIVE session panes over the window (ceil(sqrt(n))
layout), for watching a flock of agents at once. The cell unit is a session+pane,
so a split session shows as two cells. Arrow keys walk a highlight, Enter jumps
into that exact session+pane, Esc closes. Cells host the REAL surfaces (never
screenshots): the deck yields them the same way it yields a zoomed surface, and
each cell is view-only — GhosttySurfaceView.viewOnly refuses hit tests AND first
responder (AppKit routes clicks to the NSView regardless of SwiftUI hit-testing),
resigning first responder on the reparent so the grid's key-catcher owns the
keyboard.

Drivable end to end: `rookctl dashboard <ids…> [--font-size N | --auto-size]`,
`--mru` to fill from the window's recency, `--close`, `--window`; the 9-cell cap
counts PANES and any dropped pane is reported, never silently cut. Four tree
read-backs (dashboardMembers/dashboardHighlighted/dashboardFontSize/
dashboardFontMode). GUI half: ⌘⇧D, Navigate ▸ Dashboard, the palette.

The cell font is a transient per-surface override, never persisted: reportFontSize
drops the CELL_SIZE round-trip while it is active, and pendingFontRestore swallows
the async revert report so restoring the grid font cannot pin a default-following
session's fontSize.

Follow-up 8c8c9aa folded in: while the grid is open the full titlebar is swapped
for a stripped bar with only an exit button, so no chrome button can steal the
key-catcher's first responder and strand Esc.

Fork adaptations: our Markdown/file-tree panels stay MOUNTED but non-interactive
behind the grid (maintainer's call — upstream has no such panels); the cell
highlight pill uses rook's brand colors, since our chrome deliberately does not
expose the theme's selection colors; upstream's GhosttySurfaceView+Config /
AppActions+Focus extractions are re-homed into the files we had ... (continued)

228 of 231 new or added lines in 11 files covered. (98.7%)

25 existing lines in 6 files now uncovered.

5753 of 5872 relevant lines covered (97.97%)

5120170.62 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

93.92
/rookCore/Sources/rookCore/WindowLibrary.swift


Build SHA Not Found

The commit SHA "e2823e97c4b0c61cc8321298db913917ce3aa03f" was not found in your repository, so the file cannot be loaded. This may be because you posted from a local development environment, or your CI created an ephemeral commit.

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc