Repository navigation
[idea] Let plugin panes inherit Herdr’s resolved theme #1796
Replies: 3 comments 2 replies
|
I am interested in this. Could you somehow hare your patch, please? @Akram012388 |
|
I'm using Herdr Annotate with a light terminal theme, and annotation highlights can leave dark text on dark backgrounds. Markdown code text can also appear too bright. It might be useful to expose Herdr’s resolved theme through a typed PluginTheme struct and serialize it automatically, rather than manually building JSON for each color. |
|
Another consumer for the resolved palette: hardware. https://github.com/ShortArrow/herdr-triton That consumer differs from plugin panes in two ways:
A read-only socket query for the resolved palette, with an event when it changes, One open question is per-client resolution: |
Uh oh!
There was an error while loading. Please reload this page.
idea / problem
Plugin panes can render terminal UIs, but they cannot see the Herdr theme that launched them. They must hard-code colors or rely on terminal defaults, so they can look disconnected from Herdr when users switch themes.
requested change
Expose Herdr’s already-resolved palette to pane processes as a launch-time, pane-only snapshot. My preference is a protected environment value rather than a mutable socket API: plugin panes only need the theme they launched with, while actions, events, and startup processes should not receive presentation state.
I have this working in a fork and have tested it with dark, light, and terminal-default themes. If this direction fits Herdr, I’m happy to adapt it to the shape you prefer and contribute a small PR after an accepted issue and
/approve @Akram012388.why you want this
I’m building herdr-checkin, a popup plugin with Queue and Agents views. Theme inheritance lets it feel native instead of shipping its own competing color scheme.
This is separate from #1733: that discussion concerns modal popup presentation, while this proposal is only about theme data available to plugin panes.
All reactions