Skip to content
Astrohacker

← Projects

Archived project · Terminal browser

Astrohacker TermSurf

A terminal for applications that need more than text.

A command could open a browser, chart, or image in a pane beside the shell that launched it. TermSurf supplied the protocol that let these programs ask the terminal for space and draw into it.

Astrohacker distributed the macOS terminal through Homebrew. Roamari, TermPlot, and QuikOpen each used its pane protocol.

How it works

  • Give a browser a pane

    TermSurf owned the terminal window, pane geometry and input focus. A browser client requested a display surface through the TermSurf protocol. A shell could keep its command history while a separate process received keyboard and pointer events.

  • Choose the shipped engine

    By the 0.4 series Roamari supplied Chromium in a separate package. The terminal was based on Ghostty. WebKit, Gecko and Ladybird also appear in the historical patch records; they were not shipped engines of the 0.4.3 distribution.

Open a page beside a build

A developer could run a build in one pane and invoke Roamari in another. A fixture page receiving a click in the right pane tested launch, composition and focus together. That observable result gives a coding agent a better integration test than checking whether both programs start.

roamari https://example.com

Project history

  1. The original 0.1.0 Homebrew announcement described a GPU-accelerated Chromium browser inside the terminal. TermSurf 0.1.0 announcement

  2. The portfolio introduced the browser-in-terminal protocol as an alpha. April portfolio

  3. The 0.2.0 retrospective documented removing experimental WebKit, Gecko and Ladybird engines from the shipped product while retaining Chromium. 0.2.0 architecture retrospective

  4. The release report confirms that 0.3.29 depended on the independently versioned Roamari cask, which supplied the browser and Chromium engine. Roamari gets an independent browser release

  5. The 0.4.0 release changed the command name from ahterm to termsurf and rebased the host patches on upstream Ghostty. 0.4.0 engineering report

  6. Release 0.4.3 preserves the distributed terminal and its source. TermSurf 0.4.3

Sources