From 1f8efa2d40c49a8c50296443f4647338f2d4983a Mon Sep 17 00:00:00 2001 From: Guillaume <6996668+glarivie@users.noreply.github.com> Date: Fri, 28 Aug 2026 22:22:58 +0200 Subject: [PATCH 01/18] Add Linear theme (dark + light variants) --- themes/linear.json | 132 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100644 themes/linear.json diff --git a/themes/linear.json b/themes/linear.json new file mode 100644 index 0000000..705469c --- /dev/null +++ b/themes/linear.json @@ -0,0 +1,132 @@ +{ + "version": 1, + "id": "linear", + "name": "Linear", + "appearance": "dark", + "author": "glarivie", + "description": "A Linear-inspired theme with the signature indigo accent, in dark and light variants. WCAG AA contrast minimum.", + "colors": { + "canvas": "#101113", + "chrome": "#0d0e10", + "toolbar": "#0d0e10", + "toolbarForeground": "#e8eaed", + "toolbarBorder": "#1a1b1f", + "toolbarControl": "#17181b", + "toolbarControlForeground": "#e8eaed", + "toolbarControlHover": "#212329", + "surface": "#101113", + "surfaceRaised": "#17181b", + "surfaceOverlay": "#1c1d21", + "text": "#e8eaed", + "textMuted": "#9ca3ad", + "border": "#26272c", + "input": "#17181b", + "focus": "#5e6ad2", + "accent": "#5e6ad2", + "accentForeground": "#ffffff", + "secondary": "#22242a", + "secondaryForeground": "#e8eaed", + "muted": "#17181b", + "mutedForeground": "#9ca3ad", + "placeholder": "#8a8f98", + "secondaryLabel": "#9ca3ad", + "iconMuted": "#7c828c", + "error": "#f4707b", + "errorForeground": "#f4707b", + "errorSurface": "#281518", + "warning": "#e8a33d", + "warningForeground": "#e8a33d", + "warningSurface": "#251b0d", + "update": "#deb15f", + "updateForeground": "#deb15f", + "updateSurface": "#241e10", + "accentSurface": "#1c1f2e", + "accentSurfaceForeground": "#e8eaed", + "messageSurface": "#17181b", + "messageForeground": "#e8eaed", + "messageAction": "#5e6ad2", + "messageActionForeground": "#ffffff", + "messageActionHover": "#6d78da", + "codeBackground": "#0d0e10", + "codeForeground": "#e8eaed", + "sidebar": "#0d0e10", + "sidebarForeground": "#e8eaed", + "sidebarMutedForeground": "#9ca3ad", + "sidebarControlSurface": "#0d0e10", + "sidebarRowHover": "#17181b", + "sidebarRowActive": "#1c1f2e", + "sidebarRowSelected": "#1c1f2e", + "sidebarBorder": "#1a1b1f", + "terminalBackground": "#101113", + "terminalForeground": "#e8eaed", + "terminalCursor": "#828fff", + "terminalSelection": "#5e6ad240", + "terminalScrollbar": "#1c1d21", + "terminalScrollbarHover": "#26272c" + }, + "variants": { + "light": { + "canvas": "#ffffff", + "chrome": "#f7f8f8", + "toolbar": "#f7f8f8", + "toolbarForeground": "#282a30", + "toolbarBorder": "#e8eaec", + "toolbarControl": "#f1f2f4", + "toolbarControlForeground": "#282a30", + "toolbarControlHover": "#e8eaee", + "surface": "#ffffff", + "surfaceRaised": "#f7f8f8", + "surfaceOverlay": "#fbfbfc", + "text": "#282a30", + "textMuted": "#60656d", + "border": "#e4e6ea", + "input": "#f7f8f8", + "focus": "#5e6ad2", + "accent": "#5e6ad2", + "accentForeground": "#ffffff", + "secondary": "#eef0f3", + "secondaryForeground": "#282a30", + "muted": "#f1f2f4", + "mutedForeground": "#60656d", + "placeholder": "#6f757c", + "secondaryLabel": "#60656d", + "iconMuted": "#6f757c", + "error": "#b83842", + "errorForeground": "#b83842", + "errorSurface": "#faeaeb", + "warning": "#8f5f13", + "warningForeground": "#8f5f13", + "warningSurface": "#f7efdd", + "update": "#8f5f13", + "updateForeground": "#8f5f13", + "updateSurface": "#f7f0da", + "accentSurface": "#edeff9", + "accentSurfaceForeground": "#282a30", + "messageSurface": "#f1f2f4", + "messageForeground": "#282a30", + "messageAction": "#5e6ad2", + "messageActionForeground": "#ffffff", + "messageActionHover": "#4c56b8", + "codeBackground": "#f7f8f8", + "codeForeground": "#282a30", + "sidebar": "#f7f8f8", + "sidebarForeground": "#282a30", + "sidebarMutedForeground": "#60656d", + "sidebarControlSurface": "#f7f8f8", + "sidebarRowHover": "#f1f2f4", + "sidebarRowActive": "#edeff9", + "sidebarRowSelected": "#edeff9", + "sidebarBorder": "#e8eaec", + "terminalBackground": "#ffffff", + "terminalForeground": "#282a30", + "terminalCursor": "#5e6ad2", + "terminalSelection": "#5e6ad226", + "terminalScrollbar": "#e4e6ea", + "terminalScrollbarHover": "#d4d7dc" + } + }, + "collection": { + "id": "linear", + "label": "Linear" + } +} \ No newline at end of file From bcf481d1e6b6cbc1cb3045400301714f27587bf8 Mon Sep 17 00:00:00 2001 From: Guillaume <6996668+glarivie@users.noreply.github.com> Date: Fri, 28 Aug 2026 22:26:38 +0200 Subject: [PATCH 02/18] Add linear pure light variant --- themes/linear-pure-light.json | 71 +++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 themes/linear-pure-light.json diff --git a/themes/linear-pure-light.json b/themes/linear-pure-light.json new file mode 100644 index 0000000..d299089 --- /dev/null +++ b/themes/linear-pure-light.json @@ -0,0 +1,71 @@ +{ + "version": 1, + "id": "linear-pure-light", + "name": "Linear Pure Light", + "appearance": "light", + "author": "glarivie", + "description": "Linear's Pure Light variant: an all-white interface with the signature indigo accent.", + "colors": { + "canvas": "#ffffff", + "chrome": "#ffffff", + "toolbar": "#ffffff", + "toolbarForeground": "#282a30", + "toolbarBorder": "#ececee", + "toolbarControl": "#f4f5f6", + "toolbarControlForeground": "#282a30", + "toolbarControlHover": "#e8eaee", + "surface": "#ffffff", + "surfaceRaised": "#fafafa", + "surfaceOverlay": "#ffffff", + "text": "#282a30", + "textMuted": "#60656d", + "border": "#e9eaed", + "input": "#fafafa", + "focus": "#5e6ad2", + "accent": "#5e6ad2", + "accentForeground": "#ffffff", + "secondary": "#eef0f3", + "secondaryForeground": "#282a30", + "muted": "#f4f5f6", + "mutedForeground": "#60656d", + "placeholder": "#6f757c", + "secondaryLabel": "#60656d", + "iconMuted": "#6f757c", + "error": "#b83842", + "errorForeground": "#b83842", + "errorSurface": "#faeaeb", + "warning": "#8f5f13", + "warningForeground": "#8f5f13", + "warningSurface": "#f7efdd", + "update": "#8f5f13", + "updateForeground": "#8f5f13", + "updateSurface": "#f7f0da", + "accentSurface": "#edeff9", + "accentSurfaceForeground": "#282a30", + "messageSurface": "#f4f5f6", + "messageForeground": "#282a30", + "messageAction": "#5e6ad2", + "messageActionForeground": "#ffffff", + "messageActionHover": "#4c56b8", + "codeBackground": "#fafafa", + "codeForeground": "#282a30", + "sidebar": "#ffffff", + "sidebarForeground": "#282a30", + "sidebarMutedForeground": "#60656d", + "sidebarControlSurface": "#ffffff", + "sidebarRowHover": "#f4f5f6", + "sidebarRowActive": "#edeff9", + "sidebarRowSelected": "#edeff9", + "sidebarBorder": "#ececee", + "terminalBackground": "#ffffff", + "terminalForeground": "#282a30", + "terminalCursor": "#5e6ad2", + "terminalSelection": "#5e6ad226", + "terminalScrollbar": "#e9eaed", + "terminalScrollbarHover": "#d4d7dc" + }, + "collection": { + "id": "linear", + "label": "Linear" + } +} \ No newline at end of file From d572a984822bfee47bace884bbe8d393aa92eb09 Mon Sep 17 00:00:00 2001 From: Guillaume <6996668+glarivie@users.noreply.github.com> Date: Fri, 28 Aug 2026 22:26:39 +0200 Subject: [PATCH 03/18] Add linear classic dark variant --- themes/linear-classic-dark.json | 71 +++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 themes/linear-classic-dark.json diff --git a/themes/linear-classic-dark.json b/themes/linear-classic-dark.json new file mode 100644 index 0000000..3d61028 --- /dev/null +++ b/themes/linear-classic-dark.json @@ -0,0 +1,71 @@ +{ + "version": 1, + "id": "linear-classic-dark", + "name": "Linear Classic Dark", + "appearance": "dark", + "author": "glarivie", + "description": "Linear's Classic Dark variant: softer neutral gray-dark surfaces with the signature indigo accent.", + "colors": { + "canvas": "#1f2023", + "chrome": "#191a1d", + "toolbar": "#191a1d", + "toolbarForeground": "#d0d6e0", + "toolbarBorder": "#26272b", + "toolbarControl": "#26272b", + "toolbarControlForeground": "#d0d6e0", + "toolbarControlHover": "#303136", + "surface": "#1f2023", + "surfaceRaised": "#26272b", + "surfaceOverlay": "#2c2d32", + "text": "#d0d6e0", + "textMuted": "#9ba1ab", + "border": "#34353a", + "input": "#191a1d", + "focus": "#5e6ad2", + "accent": "#5e6ad2", + "accentForeground": "#ffffff", + "secondary": "#303136", + "secondaryForeground": "#d0d6e0", + "muted": "#26272b", + "mutedForeground": "#9ba1ab", + "placeholder": "#8a8f98", + "secondaryLabel": "#9ba1ab", + "iconMuted": "#858b95", + "error": "#f4707b", + "errorForeground": "#f4707b", + "errorSurface": "#2f1d20", + "warning": "#e8a33d", + "warningForeground": "#e8a33d", + "warningSurface": "#2b2214", + "update": "#deb15f", + "updateForeground": "#deb15f", + "updateSurface": "#2a2416", + "accentSurface": "#282c42", + "accentSurfaceForeground": "#d0d6e0", + "messageSurface": "#26272b", + "messageForeground": "#d0d6e0", + "messageAction": "#5e6ad2", + "messageActionForeground": "#ffffff", + "messageActionHover": "#6d78da", + "codeBackground": "#191a1d", + "codeForeground": "#d0d6e0", + "sidebar": "#191a1d", + "sidebarForeground": "#d0d6e0", + "sidebarMutedForeground": "#9ba1ab", + "sidebarControlSurface": "#191a1d", + "sidebarRowHover": "#26272b", + "sidebarRowActive": "#282c42", + "sidebarRowSelected": "#282c42", + "sidebarBorder": "#26272b", + "terminalBackground": "#1f2023", + "terminalForeground": "#d0d6e0", + "terminalCursor": "#828fff", + "terminalSelection": "#5e6ad240", + "terminalScrollbar": "#2c2d32", + "terminalScrollbarHover": "#34353a" + }, + "collection": { + "id": "linear", + "label": "Linear" + } +} \ No newline at end of file From 866aa618961840beeade0a3474bf2e57ad685245 Mon Sep 17 00:00:00 2001 From: Guillaume <6996668+glarivie@users.noreply.github.com> Date: Fri, 28 Aug 2026 22:26:40 +0200 Subject: [PATCH 04/18] Add linear magic blue variant --- themes/linear-magic-blue.json | 71 +++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 themes/linear-magic-blue.json diff --git a/themes/linear-magic-blue.json b/themes/linear-magic-blue.json new file mode 100644 index 0000000..7ca677f --- /dev/null +++ b/themes/linear-magic-blue.json @@ -0,0 +1,71 @@ +{ + "version": 1, + "id": "linear-magic-blue", + "name": "Linear Magic Blue", + "appearance": "dark", + "author": "glarivie", + "description": "Linear's Magic Blue variant: deep indigo-blue surfaces, the original Linear night look.", + "colors": { + "canvas": "#191b30", + "chrome": "#14162a", + "toolbar": "#14162a", + "toolbarForeground": "#e0e3f5", + "toolbarBorder": "#20223a", + "toolbarControl": "#21243c", + "toolbarControlForeground": "#e0e3f5", + "toolbarControlHover": "#2b2e4a", + "surface": "#191b30", + "surfaceRaised": "#21243c", + "surfaceOverlay": "#272a45", + "text": "#e0e3f5", + "textMuted": "#a2a9cb", + "border": "#303352", + "input": "#14162a", + "focus": "#6c78e8", + "accent": "#5e6ad2", + "accentForeground": "#ffffff", + "secondary": "#2b2e4a", + "secondaryForeground": "#e0e3f5", + "muted": "#21243c", + "mutedForeground": "#a2a9cb", + "placeholder": "#8f96bb", + "secondaryLabel": "#a2a9cb", + "iconMuted": "#868dad", + "error": "#f4707b", + "errorForeground": "#f4707b", + "errorSurface": "#331e32", + "warning": "#e8a33d", + "warningForeground": "#e8a33d", + "warningSurface": "#2c2426", + "update": "#deb15f", + "updateForeground": "#deb15f", + "updateSurface": "#2b2628", + "accentSurface": "#272c52", + "accentSurfaceForeground": "#e0e3f5", + "messageSurface": "#21243c", + "messageForeground": "#e0e3f5", + "messageAction": "#5e6ad2", + "messageActionForeground": "#ffffff", + "messageActionHover": "#6d78da", + "codeBackground": "#14162a", + "codeForeground": "#e0e3f5", + "sidebar": "#14162a", + "sidebarForeground": "#e0e3f5", + "sidebarMutedForeground": "#a2a9cb", + "sidebarControlSurface": "#14162a", + "sidebarRowHover": "#21243c", + "sidebarRowActive": "#272c52", + "sidebarRowSelected": "#272c52", + "sidebarBorder": "#20223a", + "terminalBackground": "#191b30", + "terminalForeground": "#e0e3f5", + "terminalCursor": "#8b97ff", + "terminalSelection": "#5e6ad240", + "terminalScrollbar": "#272a45", + "terminalScrollbarHover": "#303352" + }, + "collection": { + "id": "linear", + "label": "Linear" + } +} \ No newline at end of file From 879d19e2132f9434d91ab7062be6e5ec4d8685f6 Mon Sep 17 00:00:00 2001 From: Guillaume <6996668+glarivie@users.noreply.github.com> Date: Fri, 28 Aug 2026 22:29:11 +0200 Subject: [PATCH 05/18] Darken light placeholder to meet WCAG AA on the input surface --- themes/linear.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/linear.json b/themes/linear.json index 705469c..468462c 100644 --- a/themes/linear.json +++ b/themes/linear.json @@ -88,7 +88,7 @@ "secondaryForeground": "#282a30", "muted": "#f1f2f4", "mutedForeground": "#60656d", - "placeholder": "#6f757c", + "placeholder": "#697077", "secondaryLabel": "#60656d", "iconMuted": "#6f757c", "error": "#b83842", From 2f66db557193862dddd668a93f985f57689a93eb Mon Sep 17 00:00:00 2001 From: Guillaume <6996668+glarivie@users.noreply.github.com> Date: Fri, 28 Aug 2026 22:29:12 +0200 Subject: [PATCH 06/18] Darken light placeholder to meet WCAG AA on the input surface --- themes/linear-pure-light.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/linear-pure-light.json b/themes/linear-pure-light.json index d299089..704091a 100644 --- a/themes/linear-pure-light.json +++ b/themes/linear-pure-light.json @@ -28,7 +28,7 @@ "secondaryForeground": "#282a30", "muted": "#f4f5f6", "mutedForeground": "#60656d", - "placeholder": "#6f757c", + "placeholder": "#697077", "secondaryLabel": "#60656d", "iconMuted": "#6f757c", "error": "#b83842", From 31059f817eaf5ae40a474d298fe6470b4e943683 Mon Sep 17 00:00:00 2001 From: Guillaume <6996668+glarivie@users.noreply.github.com> Date: Fri, 28 Aug 2026 22:32:29 +0200 Subject: [PATCH 07/18] Align palettes closer to Linear's built-ins and raise contrast (AAA muted text, no sub-AA pair left) --- themes/linear.json | 78 +++++++++++++++++++++++----------------------- 1 file changed, 39 insertions(+), 39 deletions(-) diff --git a/themes/linear.json b/themes/linear.json index 468462c..bbba08f 100644 --- a/themes/linear.json +++ b/themes/linear.json @@ -6,33 +6,33 @@ "author": "glarivie", "description": "A Linear-inspired theme with the signature indigo accent, in dark and light variants. WCAG AA contrast minimum.", "colors": { - "canvas": "#101113", - "chrome": "#0d0e10", - "toolbar": "#0d0e10", + "canvas": "#101012", + "chrome": "#0b0c0d", + "toolbar": "#0b0c0d", "toolbarForeground": "#e8eaed", - "toolbarBorder": "#1a1b1f", - "toolbarControl": "#17181b", + "toolbarBorder": "#1a1a1d", + "toolbarControl": "#17171a", "toolbarControlForeground": "#e8eaed", - "toolbarControlHover": "#212329", - "surface": "#101113", - "surfaceRaised": "#17181b", - "surfaceOverlay": "#1c1d21", + "toolbarControlHover": "#222225", + "surface": "#101012", + "surfaceRaised": "#17171a", + "surfaceOverlay": "#1c1c1f", "text": "#e8eaed", - "textMuted": "#9ca3ad", - "border": "#26272c", - "input": "#17181b", + "textMuted": "#9da4ae", + "border": "#2a2a2e", + "input": "#17171a", "focus": "#5e6ad2", "accent": "#5e6ad2", "accentForeground": "#ffffff", - "secondary": "#22242a", + "secondary": "#232326", "secondaryForeground": "#e8eaed", - "muted": "#17181b", - "mutedForeground": "#9ca3ad", + "muted": "#17171a", + "mutedForeground": "#9da4ae", "placeholder": "#8a8f98", - "secondaryLabel": "#9ca3ad", - "iconMuted": "#7c828c", - "error": "#f4707b", - "errorForeground": "#f4707b", + "secondaryLabel": "#9da4ae", + "iconMuted": "#838993", + "error": "#ff7d88", + "errorForeground": "#ff7d88", "errorSurface": "#281518", "warning": "#e8a33d", "warningForeground": "#e8a33d", @@ -40,29 +40,29 @@ "update": "#deb15f", "updateForeground": "#deb15f", "updateSurface": "#241e10", - "accentSurface": "#1c1f2e", + "accentSurface": "#1e2130", "accentSurfaceForeground": "#e8eaed", - "messageSurface": "#17181b", + "messageSurface": "#17171a", "messageForeground": "#e8eaed", "messageAction": "#5e6ad2", "messageActionForeground": "#ffffff", "messageActionHover": "#6d78da", - "codeBackground": "#0d0e10", + "codeBackground": "#0b0c0d", "codeForeground": "#e8eaed", - "sidebar": "#0d0e10", + "sidebar": "#0b0c0d", "sidebarForeground": "#e8eaed", - "sidebarMutedForeground": "#9ca3ad", - "sidebarControlSurface": "#0d0e10", - "sidebarRowHover": "#17181b", - "sidebarRowActive": "#1c1f2e", - "sidebarRowSelected": "#1c1f2e", - "sidebarBorder": "#1a1b1f", - "terminalBackground": "#101113", + "sidebarMutedForeground": "#9da4ae", + "sidebarControlSurface": "#0b0c0d", + "sidebarRowHover": "#17171a", + "sidebarRowActive": "#1e2130", + "sidebarRowSelected": "#1e2130", + "sidebarBorder": "#1a1a1d", + "terminalBackground": "#101012", "terminalForeground": "#e8eaed", "terminalCursor": "#828fff", "terminalSelection": "#5e6ad240", - "terminalScrollbar": "#1c1d21", - "terminalScrollbarHover": "#26272c" + "terminalScrollbar": "#1c1c1f", + "terminalScrollbarHover": "#2a2a2e" }, "variants": { "light": { @@ -78,7 +78,7 @@ "surfaceRaised": "#f7f8f8", "surfaceOverlay": "#fbfbfc", "text": "#282a30", - "textMuted": "#60656d", + "textMuted": "#4c5159", "border": "#e4e6ea", "input": "#f7f8f8", "focus": "#5e6ad2", @@ -87,12 +87,12 @@ "secondary": "#eef0f3", "secondaryForeground": "#282a30", "muted": "#f1f2f4", - "mutedForeground": "#60656d", + "mutedForeground": "#4c5159", "placeholder": "#697077", - "secondaryLabel": "#60656d", - "iconMuted": "#6f757c", - "error": "#b83842", - "errorForeground": "#b83842", + "secondaryLabel": "#4c5159", + "iconMuted": "#6a7077", + "error": "#ae2e38", + "errorForeground": "#ae2e38", "errorSurface": "#faeaeb", "warning": "#8f5f13", "warningForeground": "#8f5f13", @@ -111,7 +111,7 @@ "codeForeground": "#282a30", "sidebar": "#f7f8f8", "sidebarForeground": "#282a30", - "sidebarMutedForeground": "#60656d", + "sidebarMutedForeground": "#4c5159", "sidebarControlSurface": "#f7f8f8", "sidebarRowHover": "#f1f2f4", "sidebarRowActive": "#edeff9", From f1c46f65ac70db0116b64229ff03b0178bd09d1b Mon Sep 17 00:00:00 2001 From: Guillaume <6996668+glarivie@users.noreply.github.com> Date: Fri, 28 Aug 2026 22:32:30 +0200 Subject: [PATCH 08/18] Align palettes closer to Linear's built-ins and raise contrast (AAA muted text, no sub-AA pair left) --- themes/linear-pure-light.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/themes/linear-pure-light.json b/themes/linear-pure-light.json index 704091a..3aa717f 100644 --- a/themes/linear-pure-light.json +++ b/themes/linear-pure-light.json @@ -18,7 +18,7 @@ "surfaceRaised": "#fafafa", "surfaceOverlay": "#ffffff", "text": "#282a30", - "textMuted": "#60656d", + "textMuted": "#4e535b", "border": "#e9eaed", "input": "#fafafa", "focus": "#5e6ad2", @@ -27,12 +27,12 @@ "secondary": "#eef0f3", "secondaryForeground": "#282a30", "muted": "#f4f5f6", - "mutedForeground": "#60656d", + "mutedForeground": "#4e535b", "placeholder": "#697077", - "secondaryLabel": "#60656d", - "iconMuted": "#6f757c", - "error": "#b83842", - "errorForeground": "#b83842", + "secondaryLabel": "#4e535b", + "iconMuted": "#6e747b", + "error": "#ae2e38", + "errorForeground": "#ae2e38", "errorSurface": "#faeaeb", "warning": "#8f5f13", "warningForeground": "#8f5f13", @@ -51,7 +51,7 @@ "codeForeground": "#282a30", "sidebar": "#ffffff", "sidebarForeground": "#282a30", - "sidebarMutedForeground": "#60656d", + "sidebarMutedForeground": "#4e535b", "sidebarControlSurface": "#ffffff", "sidebarRowHover": "#f4f5f6", "sidebarRowActive": "#edeff9", From 4e40c2d3ba7fb3c48b17ff20f5fd262d2ac4aa6b Mon Sep 17 00:00:00 2001 From: Guillaume <6996668+glarivie@users.noreply.github.com> Date: Fri, 28 Aug 2026 22:32:31 +0200 Subject: [PATCH 09/18] Align palettes closer to Linear's built-ins and raise contrast (AAA muted text, no sub-AA pair left) --- themes/linear-classic-dark.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/themes/linear-classic-dark.json b/themes/linear-classic-dark.json index 3d61028..0c44876 100644 --- a/themes/linear-classic-dark.json +++ b/themes/linear-classic-dark.json @@ -18,7 +18,7 @@ "surfaceRaised": "#26272b", "surfaceOverlay": "#2c2d32", "text": "#d0d6e0", - "textMuted": "#9ba1ab", + "textMuted": "#adb3bd", "border": "#34353a", "input": "#191a1d", "focus": "#5e6ad2", @@ -27,12 +27,12 @@ "secondary": "#303136", "secondaryForeground": "#d0d6e0", "muted": "#26272b", - "mutedForeground": "#9ba1ab", + "mutedForeground": "#adb3bd", "placeholder": "#8a8f98", - "secondaryLabel": "#9ba1ab", - "iconMuted": "#858b95", - "error": "#f4707b", - "errorForeground": "#f4707b", + "secondaryLabel": "#adb3bd", + "iconMuted": "#8c929c", + "error": "#ff8a95", + "errorForeground": "#ff8a95", "errorSurface": "#2f1d20", "warning": "#e8a33d", "warningForeground": "#e8a33d", @@ -51,7 +51,7 @@ "codeForeground": "#d0d6e0", "sidebar": "#191a1d", "sidebarForeground": "#d0d6e0", - "sidebarMutedForeground": "#9ba1ab", + "sidebarMutedForeground": "#adb3bd", "sidebarControlSurface": "#191a1d", "sidebarRowHover": "#26272b", "sidebarRowActive": "#282c42", From 339b33225119fd5e2d4bd1b99ddd174fa45e06f1 Mon Sep 17 00:00:00 2001 From: Guillaume <6996668+glarivie@users.noreply.github.com> Date: Fri, 28 Aug 2026 22:32:33 +0200 Subject: [PATCH 10/18] Align palettes closer to Linear's built-ins and raise contrast (AAA muted text, no sub-AA pair left) --- themes/linear-magic-blue.json | 78 +++++++++++++++++------------------ 1 file changed, 39 insertions(+), 39 deletions(-) diff --git a/themes/linear-magic-blue.json b/themes/linear-magic-blue.json index 7ca677f..765a715 100644 --- a/themes/linear-magic-blue.json +++ b/themes/linear-magic-blue.json @@ -6,33 +6,33 @@ "author": "glarivie", "description": "Linear's Magic Blue variant: deep indigo-blue surfaces, the original Linear night look.", "colors": { - "canvas": "#191b30", - "chrome": "#14162a", - "toolbar": "#14162a", - "toolbarForeground": "#e0e3f5", - "toolbarBorder": "#20223a", - "toolbarControl": "#21243c", + "canvas": "#191a29", + "chrome": "#14151f", + "toolbar": "#14151f", + "toolbarForeground": "#e2e4f2", + "toolbarBorder": "#1f2030", + "toolbarControl": "#212233", "toolbarControlForeground": "#e0e3f5", - "toolbarControlHover": "#2b2e4a", - "surface": "#191b30", - "surfaceRaised": "#21243c", - "surfaceOverlay": "#272a45", - "text": "#e0e3f5", - "textMuted": "#a2a9cb", - "border": "#303352", - "input": "#14162a", + "toolbarControlHover": "#2b2c44", + "surface": "#191a29", + "surfaceRaised": "#212233", + "surfaceOverlay": "#272839", + "text": "#e2e4f2", + "textMuted": "#a6adcf", + "border": "#31324e", + "input": "#14151f", "focus": "#6c78e8", "accent": "#5e6ad2", "accentForeground": "#ffffff", - "secondary": "#2b2e4a", - "secondaryForeground": "#e0e3f5", - "muted": "#21243c", - "mutedForeground": "#a2a9cb", + "secondary": "#2b2c44", + "secondaryForeground": "#e2e4f2", + "muted": "#212233", + "mutedForeground": "#a6adcf", "placeholder": "#8f96bb", - "secondaryLabel": "#a2a9cb", + "secondaryLabel": "#a6adcf", "iconMuted": "#868dad", - "error": "#f4707b", - "errorForeground": "#f4707b", + "error": "#ff909b", + "errorForeground": "#ff909b", "errorSurface": "#331e32", "warning": "#e8a33d", "warningForeground": "#e8a33d", @@ -40,29 +40,29 @@ "update": "#deb15f", "updateForeground": "#deb15f", "updateSurface": "#2b2628", - "accentSurface": "#272c52", - "accentSurfaceForeground": "#e0e3f5", - "messageSurface": "#21243c", - "messageForeground": "#e0e3f5", + "accentSurface": "#272c50", + "accentSurfaceForeground": "#e2e4f2", + "messageSurface": "#212233", + "messageForeground": "#e2e4f2", "messageAction": "#5e6ad2", "messageActionForeground": "#ffffff", "messageActionHover": "#6d78da", - "codeBackground": "#14162a", - "codeForeground": "#e0e3f5", - "sidebar": "#14162a", - "sidebarForeground": "#e0e3f5", - "sidebarMutedForeground": "#a2a9cb", - "sidebarControlSurface": "#14162a", - "sidebarRowHover": "#21243c", - "sidebarRowActive": "#272c52", - "sidebarRowSelected": "#272c52", - "sidebarBorder": "#20223a", - "terminalBackground": "#191b30", - "terminalForeground": "#e0e3f5", + "codeBackground": "#14151f", + "codeForeground": "#e2e4f2", + "sidebar": "#14151f", + "sidebarForeground": "#e2e4f2", + "sidebarMutedForeground": "#a6adcf", + "sidebarControlSurface": "#14151f", + "sidebarRowHover": "#212233", + "sidebarRowActive": "#272c50", + "sidebarRowSelected": "#272c50", + "sidebarBorder": "#1f2030", + "terminalBackground": "#191a29", + "terminalForeground": "#e2e4f2", "terminalCursor": "#8b97ff", "terminalSelection": "#5e6ad240", - "terminalScrollbar": "#272a45", - "terminalScrollbarHover": "#303352" + "terminalScrollbar": "#272839", + "terminalScrollbarHover": "#31324e" }, "collection": { "id": "linear", From 62b7b81c51db474b957db23172159ee8df33f077 Mon Sep 17 00:00:00 2001 From: Guillaume <6996668+glarivie@users.noreply.github.com> Date: Sat, 5 Sep 2026 19:49:20 +0200 Subject: [PATCH 11/18] Align warning/update states with Linear: neutral draft surface, Linear orange and indigo instead of amber --- themes/linear.json | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/themes/linear.json b/themes/linear.json index bbba08f..cd488b6 100644 --- a/themes/linear.json +++ b/themes/linear.json @@ -34,12 +34,12 @@ "error": "#ff7d88", "errorForeground": "#ff7d88", "errorSurface": "#281518", - "warning": "#e8a33d", - "warningForeground": "#e8a33d", - "warningSurface": "#251b0d", - "update": "#deb15f", - "updateForeground": "#deb15f", - "updateSurface": "#241e10", + "warning": "#f2994a", + "warningForeground": "#f2994a", + "warningSurface": "#1c1c1f", + "update": "#828fff", + "updateForeground": "#828fff", + "updateSurface": "#1e2130", "accentSurface": "#1e2130", "accentSurfaceForeground": "#e8eaed", "messageSurface": "#17171a", @@ -94,12 +94,12 @@ "error": "#ae2e38", "errorForeground": "#ae2e38", "errorSurface": "#faeaeb", - "warning": "#8f5f13", - "warningForeground": "#8f5f13", - "warningSurface": "#f7efdd", - "update": "#8f5f13", - "updateForeground": "#8f5f13", - "updateSurface": "#f7f0da", + "warning": "#a7550d", + "warningForeground": "#a7550d", + "warningSurface": "#f1f2f4", + "update": "#5763cb", + "updateForeground": "#5763cb", + "updateSurface": "#edeff9", "accentSurface": "#edeff9", "accentSurfaceForeground": "#282a30", "messageSurface": "#f1f2f4", From 27d1d555d7f2ce7ee0527b32c4291fb159c8931b Mon Sep 17 00:00:00 2001 From: Guillaume <6996668+glarivie@users.noreply.github.com> Date: Sat, 5 Sep 2026 19:49:22 +0200 Subject: [PATCH 12/18] Align warning/update states with Linear: neutral draft surface, Linear orange and indigo instead of amber --- themes/linear-pure-light.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/themes/linear-pure-light.json b/themes/linear-pure-light.json index 3aa717f..f97f19f 100644 --- a/themes/linear-pure-light.json +++ b/themes/linear-pure-light.json @@ -34,12 +34,12 @@ "error": "#ae2e38", "errorForeground": "#ae2e38", "errorSurface": "#faeaeb", - "warning": "#8f5f13", - "warningForeground": "#8f5f13", - "warningSurface": "#f7efdd", - "update": "#8f5f13", - "updateForeground": "#8f5f13", - "updateSurface": "#f7f0da", + "warning": "#a9570f", + "warningForeground": "#a9570f", + "warningSurface": "#f4f5f6", + "update": "#5763cb", + "updateForeground": "#5763cb", + "updateSurface": "#edeff9", "accentSurface": "#edeff9", "accentSurfaceForeground": "#282a30", "messageSurface": "#f4f5f6", From 71a6be41740fb5460b5235f0a4392c4bfcb7ee0f Mon Sep 17 00:00:00 2001 From: Guillaume <6996668+glarivie@users.noreply.github.com> Date: Sat, 5 Sep 2026 19:49:23 +0200 Subject: [PATCH 13/18] Align warning/update states with Linear: neutral draft surface, Linear orange and indigo instead of amber --- themes/linear-classic-dark.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/themes/linear-classic-dark.json b/themes/linear-classic-dark.json index 0c44876..4878c6b 100644 --- a/themes/linear-classic-dark.json +++ b/themes/linear-classic-dark.json @@ -34,12 +34,12 @@ "error": "#ff8a95", "errorForeground": "#ff8a95", "errorSurface": "#2f1d20", - "warning": "#e8a33d", - "warningForeground": "#e8a33d", - "warningSurface": "#2b2214", - "update": "#deb15f", - "updateForeground": "#deb15f", - "updateSurface": "#2a2416", + "warning": "#f2994a", + "warningForeground": "#f2994a", + "warningSurface": "#2c2d32", + "update": "#828fff", + "updateForeground": "#828fff", + "updateSurface": "#282c42", "accentSurface": "#282c42", "accentSurfaceForeground": "#d0d6e0", "messageSurface": "#26272b", From f446b3525792b00e81d255408eb43e53853bad36 Mon Sep 17 00:00:00 2001 From: Guillaume <6996668+glarivie@users.noreply.github.com> Date: Sat, 5 Sep 2026 19:49:24 +0200 Subject: [PATCH 14/18] Align warning/update states with Linear: neutral draft surface, Linear orange and indigo instead of amber --- themes/linear-magic-blue.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/themes/linear-magic-blue.json b/themes/linear-magic-blue.json index 765a715..64912c4 100644 --- a/themes/linear-magic-blue.json +++ b/themes/linear-magic-blue.json @@ -34,12 +34,12 @@ "error": "#ff909b", "errorForeground": "#ff909b", "errorSurface": "#331e32", - "warning": "#e8a33d", - "warningForeground": "#e8a33d", - "warningSurface": "#2c2426", - "update": "#deb15f", - "updateForeground": "#deb15f", - "updateSurface": "#2b2628", + "warning": "#f2994a", + "warningForeground": "#f2994a", + "warningSurface": "#272839", + "update": "#8b97ff", + "updateForeground": "#8b97ff", + "updateSurface": "#272c50", "accentSurface": "#272c50", "accentSurfaceForeground": "#e2e4f2", "messageSurface": "#212233", From 56339e3b254fc04a7cdbc3da5bb0ab2235ca3ef1 Mon Sep 17 00:00:00 2001 From: Guillaume <6996668+glarivie@users.noreply.github.com> Date: Sat, 5 Sep 2026 21:00:04 +0200 Subject: [PATCH 15/18] Revert warning/update alignment, restore amber states --- themes/linear.json | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/themes/linear.json b/themes/linear.json index cd488b6..bbba08f 100644 --- a/themes/linear.json +++ b/themes/linear.json @@ -34,12 +34,12 @@ "error": "#ff7d88", "errorForeground": "#ff7d88", "errorSurface": "#281518", - "warning": "#f2994a", - "warningForeground": "#f2994a", - "warningSurface": "#1c1c1f", - "update": "#828fff", - "updateForeground": "#828fff", - "updateSurface": "#1e2130", + "warning": "#e8a33d", + "warningForeground": "#e8a33d", + "warningSurface": "#251b0d", + "update": "#deb15f", + "updateForeground": "#deb15f", + "updateSurface": "#241e10", "accentSurface": "#1e2130", "accentSurfaceForeground": "#e8eaed", "messageSurface": "#17171a", @@ -94,12 +94,12 @@ "error": "#ae2e38", "errorForeground": "#ae2e38", "errorSurface": "#faeaeb", - "warning": "#a7550d", - "warningForeground": "#a7550d", - "warningSurface": "#f1f2f4", - "update": "#5763cb", - "updateForeground": "#5763cb", - "updateSurface": "#edeff9", + "warning": "#8f5f13", + "warningForeground": "#8f5f13", + "warningSurface": "#f7efdd", + "update": "#8f5f13", + "updateForeground": "#8f5f13", + "updateSurface": "#f7f0da", "accentSurface": "#edeff9", "accentSurfaceForeground": "#282a30", "messageSurface": "#f1f2f4", From ce9944f2aec92e19a4b6b3aaca5bd7ad53535a17 Mon Sep 17 00:00:00 2001 From: Guillaume <6996668+glarivie@users.noreply.github.com> Date: Sat, 5 Sep 2026 21:00:06 +0200 Subject: [PATCH 16/18] Revert warning/update alignment, restore amber states --- themes/linear-pure-light.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/themes/linear-pure-light.json b/themes/linear-pure-light.json index f97f19f..3aa717f 100644 --- a/themes/linear-pure-light.json +++ b/themes/linear-pure-light.json @@ -34,12 +34,12 @@ "error": "#ae2e38", "errorForeground": "#ae2e38", "errorSurface": "#faeaeb", - "warning": "#a9570f", - "warningForeground": "#a9570f", - "warningSurface": "#f4f5f6", - "update": "#5763cb", - "updateForeground": "#5763cb", - "updateSurface": "#edeff9", + "warning": "#8f5f13", + "warningForeground": "#8f5f13", + "warningSurface": "#f7efdd", + "update": "#8f5f13", + "updateForeground": "#8f5f13", + "updateSurface": "#f7f0da", "accentSurface": "#edeff9", "accentSurfaceForeground": "#282a30", "messageSurface": "#f4f5f6", From 1b73301fd2a442e964523398cc119cbbdeca62c2 Mon Sep 17 00:00:00 2001 From: Guillaume <6996668+glarivie@users.noreply.github.com> Date: Sat, 5 Sep 2026 21:00:07 +0200 Subject: [PATCH 17/18] Revert warning/update alignment, restore amber states --- themes/linear-classic-dark.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/themes/linear-classic-dark.json b/themes/linear-classic-dark.json index 4878c6b..0c44876 100644 --- a/themes/linear-classic-dark.json +++ b/themes/linear-classic-dark.json @@ -34,12 +34,12 @@ "error": "#ff8a95", "errorForeground": "#ff8a95", "errorSurface": "#2f1d20", - "warning": "#f2994a", - "warningForeground": "#f2994a", - "warningSurface": "#2c2d32", - "update": "#828fff", - "updateForeground": "#828fff", - "updateSurface": "#282c42", + "warning": "#e8a33d", + "warningForeground": "#e8a33d", + "warningSurface": "#2b2214", + "update": "#deb15f", + "updateForeground": "#deb15f", + "updateSurface": "#2a2416", "accentSurface": "#282c42", "accentSurfaceForeground": "#d0d6e0", "messageSurface": "#26272b", From f93b7300efca9acde4ae843745f366d00d6c96f4 Mon Sep 17 00:00:00 2001 From: Guillaume <6996668+glarivie@users.noreply.github.com> Date: Sat, 5 Sep 2026 21:00:09 +0200 Subject: [PATCH 18/18] Revert warning/update alignment, restore amber states --- themes/linear-magic-blue.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/themes/linear-magic-blue.json b/themes/linear-magic-blue.json index 64912c4..765a715 100644 --- a/themes/linear-magic-blue.json +++ b/themes/linear-magic-blue.json @@ -34,12 +34,12 @@ "error": "#ff909b", "errorForeground": "#ff909b", "errorSurface": "#331e32", - "warning": "#f2994a", - "warningForeground": "#f2994a", - "warningSurface": "#272839", - "update": "#8b97ff", - "updateForeground": "#8b97ff", - "updateSurface": "#272c50", + "warning": "#e8a33d", + "warningForeground": "#e8a33d", + "warningSurface": "#2c2426", + "update": "#deb15f", + "updateForeground": "#deb15f", + "updateSurface": "#2b2628", "accentSurface": "#272c50", "accentSurfaceForeground": "#e2e4f2", "messageSurface": "#212233",