mirror of
https://github.com/stablyai/orca.git
synced 2026-10-31 17:17:38 +00:00
Replace sentence fragments, manual non-family plurals, item(s) copy and hard-coded English in the right sidebar, GitHub item dialog, PR page, GitLab item dialog and diff-comment surfaces with whole-sentence keys and CLDR plural families, and add translations for all built-in locales. Refs #32207 Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
1.8 KiB
1.8 KiB
Plugin themes
Plugins contribute three kinds of theme through orca-plugin.json contributes:
themes (app colors), terminalThemes (an ANSI palette) and, separately, icon themes.
Each entry is { "id", "label", "path" } pointing at a JSON file of at most 16 KiB.
App themes
{ "base": "dark", "tokens": { "--background": "#1b1430", "--foreground": "#e8e0ff" } }
base(lightordark) becomes the app's light/dark mode while the theme is selected.--backgroundand--foregroundare required. Every other public token is optional; an omitted token is derived from the ones you set (cards and sidebars from--background, text from--foreground, sidebar accents from--accent, rings from--primary, and so on), so a two-token theme still colors the whole app.- The public tokens are
PLUGIN_APP_THEME_TOKENSinsrc/shared/plugins/plugin-theme-artifact.ts. Other variables cannot be set. - Values must be colors: hex, a color function (
rgb,hsl,oklch, …) or a color name.transparent,currentColor, CSS-wide keywords, lengths,calc(),var()andurl()are refused. - Each text/surface pair (for example
--background/--foreground,--primary/--primary-foreground) must be opaque with at least 4.5:1 contrast; a pair that fails is dropped and keeps Orca's built-in colors. - Trust and approval dialogs always use Orca's own colors, whatever theme is active.
Terminal themes
{
"schemaVersion": 1,
"mode": "dark",
"terminal": { "background": "#1b1430", "foreground": "#e8e0ff", "red": "#ff6b8b" }
}
Colors are hex. A palette needs background, foreground and at least one ANSI color. When a
user selects it, Orca saves a copy of the palette in settings so hosts, headless servers and
relays answer terminal color queries without the plugin loaded.