Official

themes

The stock themes: presets of every colour, type size, corner and density token, chosen per light and dark mode and edited in Settings.

The app opens the listing; nothing installs until an agent in your Plugins workspace has read the files and you enable the plugin. In a terminal: cvg install convergence/themes@0.3.0

Permissions in 0.3.0

  • Change app settings settings.writeHighChanges the app settings.Apply the chosen theme to the window

Files

convergence.ts6.9 KB
// The Convergence colours (light and dark), the base every stock preset
// starts from. Generated from crates/kernel/themes/convergence.json, which
// the kernel draws with before the plugin applies anything; keep the two
// the same.
export const CONVERGENCE_LIGHT: Readonly<Record<string, string>> = {
  "accent.background": "#dfe9f5",
  "accent.foreground": "#0a0a0a",
  "accordion.background": "#ffffff",
  background: "#f3f7fd",
  "base.blue": "blue-600",
  "base.blue.light": "blue-400",
  "base.cyan": "cyan-600",
  "base.cyan.light": "cyan-400",
  "base.green": "green-600",
  "base.green.light": "green-400",
  "base.magenta": "purple-600",
  "base.magenta.light": "purple-400",
  "base.red": "red-600",
  "base.red.light": "red-400",
  "base.yellow": "yellow-600",
  "base.yellow.light": "yellow-400",
  border: "#d7dfe6",
  caret: "#0a0a0a",
  chart_1: "#93c5fd",
  chart_2: "#3b82f6",
  chart_3: "#2563eb",
  chart_4: "#1d4ed8",
  chart_5: "#1e40af",
  chart_bearish: "red-600",
  chart_bullish: "green-600",
  "danger.background": "#d4413b",
  "danger.foreground": "#ffffff",
  "description_list_label.foreground": "#171717",
  drag_border: "#3b82f6",
  "drop_target.background": "#3b82f640",
  foreground: "#0a0a0a",
  "group_box.background": "#f5f5f5",
  "group_box.foreground": "#171717",
  "info.background": "#4f8ef7",
  "info.foreground": "#ffffff",
  "input.border": "#d7dfe6",
  "link.active.foreground": "#0a0a0a",
  "link.foreground": "#0a0a0a",
  "link.hover.foreground": "#404040",
  "list.active.background": "#dfe9f5",
  "list.active.border": "#c8d9eb",
  "list.background": "#ffffff",
  "list.even.background": "#fafafa",
  "list.head.background": "#fafafa",
  "list.hover.background": "#c8d9eb",
  "muted.background": "#e6ecf5",
  "muted.foreground": "#556070",
  overlay: "#0000000d",
  "popover.background": "#ffffff",
  "popover.foreground": "#0a0a0a",
  "primary.active.background": "#0a0a0a",
  "primary.background": "#171717",
  "primary.foreground": "#fafafa",
  "primary.hover.background": "#262626",
  "progress_bar.background": "#171717",
  ring: "#b4c0cf",
  "scrollbar.background": "#fafafa00",
  "scrollbar.thumb.background": "#55607042",
  "scrollbar.thumb.hover.background": "#5560706b",
  "secondary.active.background": "#e6ecf5",
  "secondary.background": "#fcfeff",
  "secondary.foreground": "#171717",
  "secondary.hover.background": "#eef3f9",
  "selection.background": "#55a0fc",
  "sidebar.accent.background": "#c8d9eb",
  "sidebar.accent.foreground": "#171717",
  "sidebar.background": "#eef2f8",
  "sidebar.border": "#eef2f8",
  "sidebar.foreground": "#171717",
  "sidebar.primary.background": "#171717",
  "sidebar.primary.foreground": "#fafafa",
  "skeleton.background": "#e6ecf5",
  "slider.bar.background": "#171717",
  "slider.thumb.background": "white",
  "status_bar.background": "#eef2f8",
  "status_bar.border": "#eef2f8",
  "success.background": "#2ea672",
  "success.foreground": "#ffffff",
  "switch.background": "#c9d2de",
  "tab.active.background": "#c8d9ebd1",
  "tab.active.foreground": "#0a0a0a",
  "tab.background": "#00000000",
  "tab.foreground": "#556070",
  "tab_bar.background": "#00000000",
  "tab_bar.segmented.background": "#e6ecf5",
  "table.active.background": "#c8d9ebe6",
  "table.active.border": "#c8d9eb",
  "table.background": "#ffffff",
  "table.even.background": "#fafafa",
  "table.head.background": "#fafafa",
  "table.head.foreground": "#737373",
  "table.hover.background": "#f5f5f5",
  "table.row.border": "#e5e5e5b3",
  "tiles.background": "#fafafa",
  "title_bar.background": "#eef2f8",
  "title_bar.border": "#eef2f8",
  "warning.background": "#d9a520",
  "warning.foreground": "#1a1200",
  "window.border": "#d7dfe6",
};

export const CONVERGENCE_DARK: Readonly<Record<string, string>> = {
  "accent.background": "#25466f",
  "accent.foreground": "#f2f4f8",
  "accordion.background": "#121c30",
  background: "#0a1224",
  "base.blue": "blue-400",
  "base.blue.light": "blue-300",
  "base.cyan": "cyan-400",
  "base.cyan.light": "cyan-300",
  "base.green": "green-400",
  "base.green.light": "green-300",
  "base.magenta": "purple-400",
  "base.magenta.light": "purple-300",
  "base.red": "red-400",
  "base.red.light": "red-300",
  "base.yellow": "yellow-400",
  "base.yellow.light": "yellow-300",
  border: "#2a3446",
  caret: "#fafafa",
  chart_1: "#93c5fd",
  chart_2: "#3b82f6",
  chart_3: "#2563eb",
  chart_4: "#1d4ed8",
  chart_5: "#1e40af",
  chart_bearish: "red-600",
  chart_bullish: "green-600",
  "danger.background": "#e05a4f",
  "danger.foreground": "#ffffff",
  "description_list_label.background": "#151b24",
  "description_list_label.foreground": "#f2f4f8",
  drag_border: "#3b82f6",
  "drop_target.background": "#3b82f619",
  foreground: "#f2f4f8",
  "group_box.background": "#0a1224",
  "group_box.foreground": "#f2f4f8",
  "info.background": "#5b9cff",
  "info.foreground": "#ffffff",
  "input.border": "#2a3446",
  "link.active.foreground": "#d4d4d4",
  "link.foreground": "#fafafa",
  "link.hover.foreground": "#ffffff",
  "list.active.background": "#25466f80",
  "list.active.border": "#25466f",
  "list.background": "#151b24",
  "list.even.background": "#15171766",
  "list.head.background": "#15171766",
  "list.hover.background": "#25466f4d",
  "muted.background": "#1a2436",
  "muted.foreground": "#9aa4b5",
  overlay: "#00000033",
  "popover.background": "#121a28",
  "popover.foreground": "#f2f4f8",
  "primary.active.background": "#e5e5e5",
  "primary.background": "#fafafa",
  "primary.foreground": "#171717",
  "primary.hover.background": "#f0f0f0",
  "progress_bar.background": "#f5f5f5",
  ring: "#4b5b73",
  "scrollbar.background": "#15181c00",
  "scrollbar.thumb.background": "#9aa4b542",
  "scrollbar.thumb.hover.background": "#9aa4b56b",
  "secondary.active.background": "#1d2b44",
  "secondary.background": "#121c30",
  "secondary.foreground": "#f2f4f8",
  "secondary.hover.background": "#182438",
  "selection.background": "#1d4ed8",
  "sidebar.accent.background": "#25466f",
  "sidebar.accent.foreground": "#f2f4f8",
  "sidebar.background": "#151b24",
  "sidebar.border": "#151b24",
  "sidebar.foreground": "#e6e9ef",
  "sidebar.primary.background": "#f5f5f5",
  "sidebar.primary.foreground": "#0a0a0a",
  "skeleton.background": "#1a2436",
  "slider.bar.background": "#fafafa",
  "slider.thumb.background": "#0a0a0a",
  "status_bar.background": "#151b24",
  "status_bar.border": "#151b24",
  "success.background": "#3fb97c",
  "success.foreground": "#062a16",
  "switch.background": "#33404f",
  "tab.active.background": "#25466fd1",
  "tab.active.foreground": "#fafafa",
  "tab.background": "#00000000",
  "tab.foreground": "#9aa4b5",
  "tab_bar.background": "#00000000",
  "tab_bar.segmented.background": "#151b24",
  "table.background": "#0a1224",
  "table.head.foreground": "#9aa4b5",
  "table.row.border": "#2a3446b3",
  "tiles.background": "#151b24",
  "title_bar.background": "#151b24",
  "title_bar.border": "#151b24",
  "warning.background": "#e0b23a",
  "warning.foreground": "#1a1200",
  "window.border": "#151b24",
};

Versions

VersionPublishedPlugin APISizePermissionsStatus
0.3.0latestOct 5, 2026>=2 <37.9 KB1 permissionListed

Reviews and comments

0 threads · 0 reviews

No comments yet.