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.comProject history
The original 0.1.0 Homebrew announcement described a GPU-accelerated Chromium browser inside the terminal. TermSurf 0.1.0 announcement
The portfolio introduced the browser-in-terminal protocol as an alpha. April portfolio
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
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
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
Release 0.4.3 preserves the distributed terminal and its source. TermSurf 0.4.3