[Bug] Docked plugin panes render opaque background, ignoring terminal transparency
Bug Description
Title: Docked plugin panes paint an opaque background; no way to let a translucent terminal background show through
Summary
In fullscreen mode, a docked plugin Pane is drawn with an opaque background. The main transcript is not. With a translucent terminal (for example Ghostty with background-opacity = 0.6), the chat area shows the terminal's background but the dock is a solid block.
Environment
- Claude Code 2.1.x, fullscreen, terminal at least 110 columns wide so the pane docks
- macOS, Ghostty with background-opacity = 0.6
- Plugin: glowup 0.9.0 (MIT), plus a bare test pane (below)
Repro
- Set a translucent terminal background.
- Make a minimal plugin whose ui.render hook for { component: 'Pane' } returns <Box><Text>hello</Text></Box>. It sets no colours and no backgroundColor.
- Open the pane with $.ui.open({ id, title }).
- The dock is opaque. The transcript beside it is translucent.
What I ruled out
- The plugin sets no background. The test pane above has none.
- /theme dark-ansi makes no difference.
- Custom themes accept only solid colour values (#rrggbb, ansi:<name> and similar). There is no alpha, and no "default" or "unset" value.
- PaneOpenArgs and the Pane props have no background or opacity option.
- I found no settings.json or fullscreen option for it in the docs.
Expected
Some way to let docked panes use the terminal's default background, any of:
- a PaneOpenArgs option (for example transparent: true)
- a theme colour value meaning "terminal default / unset" that the dock honours
- a setting that leaves the dock's cells with an unset background, as the transcript does
Why it matters
Users who run a translucent terminal get a mismatch: a see-through chat beside a solid sidebar. This affects any plugin that uses a docked pane, not just one plugin.
Environment Info
- Platform: darwin
- Terminal: ghostty
- Version: 2.1.292
- Feedback ID: 65838b4c-7219-43ce-9118-941567925ab4
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗