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

umputun / agterm / 29612797192
98%

Build:
DEFAULT BRANCH: master
Ran 17 Jul 2026 08:56PM UTC
Jobs 1
Files 68
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

17 Jul 2026 08:53PM UTC coverage: 97.837%. Remained the same
29612797192

push

github

web-flow
feat: render OSC 11 dynamic background per-pane under window translucency

A program can tint a pane's background with OSC 11 (`printf '\033]11;#rrggbb\a'`), for example an rc that tints the scratch pane to distinguish it. Under agterm's window translucency this was invisible: libghostty applies the color to its render state and fires `COLOR_CHANGE` only as a notification, but each surface renders `background-opacity 0` (the AppKit window backing supplies the tint), so the OSC color never showed.

`GhosttyCallbacks` now handles `COLOR_CHANGE` for the background kind and gives that surface its own `.color` config overlay, the same per-surface path as `session background color`, with `background-opacity = windowOpacity`. The pane renders its OSC tint translucently and per-pane, without touching the window backing or any other surface. It survives a config reload, an opacity change, and a dashboard open/close, and is deduped per prompt. The color is tracked on `GhosttySurfaceView.oscBackgroundColorHex` and released whenever a watermark or plain config replaces the overlay, so a re-emitted OSC right after `session background clear/set` still renders.

**Known limitation.** `session background color` cannot override a live OSC 11. libghostty stores OSC 11 in the terminal's dynamic `override` layer, config only sets `default`, and the renderer draws `override orelse default`. The pinned libghostty (commit `4dcb09ada`) exposes no API to reset the override, so while a program holds an OSC background an explicit `session background color` is masked until the program emits OSC 111 or the surface is recreated. This is documented in the libghostty rule. OSC 10/12 (foreground/cursor) render regardless of translucency and are not wired.

*Also splits the surface-I/O methods into `GhosttySurfaceView+IO.swift` to keep the file under the line cap.*

5293 of 5410 relevant lines covered (97.84%)

5557409.09 hits per line

Jobs
ID Job ID Ran Files Coverage
1 29612797192.1 17 Jul 2026 08:56PM UTC 68
97.84
GitHub Action Run
Source Files on build 29612797192
  • Tree
  • List 68
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #29612797192
  • 4c8df6b6 on github
  • Prev Build on master (#29610345950)
  • Next Build on master (#29616350974)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc