Repository navigation
feat(core): an on switch wears the theme's accent (#138) - #139
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t
This was referenced Oct 7, 2026
github-actions Bot
pushed a commit
that referenced
this pull request
Oct 7, 2026
Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 10, 2026
Maxaubert
added a commit
that referenced
this pull request
Oct 11, 2026
…156, #157, #158) (#161) * feat(core): Full reworked, Prompt on the theme's ground, the switch knob (#154) Full: finished is the icon's rainbow flowing across the whole tab; a working fill carries Minimal's mark on top, the run in the name's ink on Classic (owner: black on Volt's yellow, not a faded yellow) and the growing edge in a shade clearing 3:1 on fill and ground on Prompt. The badge and the ride go. Prompt segments are the theme's own ground: idle paints nothing, the tab in front is --p-tab-active; --p-seg and --p-seg-on are removed. The edge band tucks only under a segment that paints. Switches: the ON knob is --p-switch-knob, black on a dark theme and white on a light one, flipped only under 2:1 on the track. Core falls back to --p-on-accent, so Prism is unchanged. Core 0.30.0, app 0.36.0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * test(e2e): pick the opaque dark accent before the see-through one (#154) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * feat: call the Prompt tab style Powerline (#154) The owner's pick. The stored id stays 'prompt' so saved choices survive. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * feat(core): no pulsing arrow on a working Powerline tab you are not on (#154) Owner: the pulsing edge belongs to the tab in front; a working Full fill on Powerline is the fill alone. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * docs: spec and plan for the see-through window, theme order and Most recent (#156, #157, #158) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * feat(core): the see-through window, like Prism's (#156) The acrylic row is the see-through window. Where the terminal owns the window acrylic (Prism Terminal) it reads "See-through window" / "The desktop shows behind every surface.", sits right under the theme wall, and the switch alone makes the window see-through: an opaque ground under it paints Prism's own levels (0xb9 dark, 0xd1 light, light by luminance > 0.4). Before, it changed the material and left every preset opaque, so it looked broken. - core/renderer/lib/seeThrough.ts: SEE_THROUGH_ALPHA, SEE_THROUGH_MAX (95%), seeThroughAlpha. - termLook: paintsAlpha (one rule for the window and the dirty check), termAcrylicInForce / seeThroughBlocked (High Contrast stays solid). - The Background picker and the theme editor cap Alpha at 95% under the switch and show the alpha in force. - Prism: unchanged (gated on acrylic.kind 'window'; its row keeps its label). - opacityMigration tests: three asserted an opaque window under acrylic on; that is the bug fixed here, so they now expect the default see-through. - Versions: core 0.31.0, app 0.37.0. - e2e: new seeThrough scenario, settingsLook row order (not run here). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * feat(core): the theme wall runs neutral first, black to white (#157) The owner, 2026-10-10: "first black to white then coloured". After the leading cards (Custom, the host's default, Follow style in Prism) the presets now come in one fixed, computed order: the neutral grounds black to white, then the coloured ones black to white, by OKLab L. It replaces the light-first flip, which ran the wall either way by the theme worn. - core/renderer/lib/themeOrder.ts: oklch, NEUTRAL_CHROMA (0.0125, measured in the widest gap of the forty grounds: Monokai 0.0109, Sage 0.0147), orderTermThemes (stable on ties). - themeOrder.test.ts: permutation, neutrals first, L non-decreasing per group, the twelve measured neutrals, no ground within 0.001 of the threshold, ties, and the whole order as a snapshot. - Prism: its terminal theme wall takes the same order (the same forty themes); nothing else changes there. - e2e: themeCards checks the wall's DOM order against the unit snapshot (not run here). - Docs: two-apps.md (FORTY THEMES), core/README.md. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * feat: Most recent tab switching (#158) A Tab switching setting in Settings > Appearance > Window, after Tab style: In order (the default, Ctrl+Tab along the strip as before) or Most recent. In Most recent, Ctrl+Tab walks a snapshot of the most-recently-used list taken at the hold's first press; the order changes only when Ctrl is released, the window loses focus or another Ctrl chord is pressed, so one press flips to the last tab and repeated presses walk further back instead of ping-ponging. Closed tabs leave the list, new tabs enter at the front. - lib/tabMru.ts (pure, tested) and lib/tabSwitchPrefs.ts (prism.window.tabSwitch) - App.tsx holds the list and the walk in refs; keyup of Control and blur commit - appOptions/settingsIndex/AppearancePage: the tab-switch row - e2e: new tabSwitch scenario, PREF_PAGE and settingsLook rows (not run here) - README keys row, docs/regression-rules.md "Most recent commits on Ctrl release" Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * fix: review of the see-through window and Most recent (#156, #158) - Save changes judges and saves the see-through switch IN FORCE: under High Contrast a stored on (from before #156) no longer lights it, and a save stays solid instead of escaping into a see-through Custom. The colour editor's save goes through the same saveAsCustom. - The dirty check measures the default level from the ground the window measures from, so an opaque picked Background does not light Save changes by its lightness; withGroundAlpha measures from the palette's own ground, so a save keeps the Custom's own level. - Most recent: a click on another tab, or a tab opened or closed, while Ctrl is still held ends the walk (walkHolds), so it counts as a use. - Save changes' tooltip and the theme switch question say "see-through window" in Prism Terminal, not "acrylic". - The spec and comments no longer claim the stored switch survives a theme pick (a pick resets it, "the theme is the whole setup"); the spec's Tab switching wording matches what was built. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * test(e2e): the gate follows the see-through row and the accent on switches (#156) - accent: the see-through window sits between the theme wall and Background/Accent since #156 moved it there. - settingsSearch: Prism Terminal names the row "See-through window" (acrylicLabel), so the gate searches by that; "acrylic" joins the row's keywords so the old name still finds it. - settingsLook: an on switch wears the accent on purpose since #138/#139; the check failed on the base (#154) too, now it allows on switches and still catches any other accent-filled button. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * refactor(core): drop the #154 rework's leftovers shadeOn (the edge on a working Powerline fill, gone) and its tests, the edge span's data-mark-overlay (always undefined), and the docs that still spoke of a grow overlay or an edge on a Powerline fill. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * fix(core): Save changes saves the see-through the window paints Under an opaque picked Background, Save changes stored the default see-through measured from the theme's own ground (b9 for a dark Custom) while the window and the dirty check measured from the pick (d1 for white), so the setup was dirty again right after every save. withGroundAlpha now carries termGroundAlpha(), the window's alpha. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * fix(core): the colour editor opens a preset at its own see-through withGroundAlpha measured the default see-through from the window's ground, which without a pick is the ACTIVE theme's. Every preset card has an edit button, so a light preset edited under a dark active theme opened, and saved as Custom, at b9 instead of d1. It now measures from the pick when there is one (the window's alpha, as the last fix wants) and otherwise from the palette's own ground. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * feat: Powerline tabs get a visible border (owner, 2026-10-11) The tabs sit on the theme's own ground, so the ground-coloured gap between them was no border at all. With no mark, the band is now --p-tab-edge: darker than the ground where it leaves room (dark grey gets black, white gets light grey), lighter only on a ground too dark for that (black gets grey), at least 1.5:1 off the ground. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * fix: a dark grey ground's Powerline border is black At the 1.5 floor a #2b2b2b ground (1.48:1 off black) went lighter. Black is taken whenever it stands off at all visibly (1.3). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * fix: the Powerline border is the ground a bit darker Owner, 2026-10-11: "all themes should have its bg color + a bit darker, except black themes since that's not possible". Every ground's border steps toward black (1.25:1, or black itself); only a true-black ground gets a dark grey (1.2:1). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * feat: darker Powerline borders, stronger light edges, Classic's faint line, no High Contrast Owner, 2026-10-11: - The Powerline border is the ground a bit darker, a dark ground's stopping at a very dark grey short of black; a light ground's stands 1.45:1 off it ("white themes have too faint of borders"). - The light column of the Edges alphas is raised about half again (Hairline 10/12 to 15/17, the DWM border 0.16 to 0.22), "the border edges in general are too faint". - Classic tabs get a faint line between them again, in the divider's ink. - High Contrast is removed; whoever wore it goes to Pitch. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * docs: the light Edges alphas raised (2026-10-11) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * fix: See-through reaches the tab strip and the settings rail Every surface is one coat of the sheet. The tab strip in the top row painted --p-tabs over the row's own --p-tabs, the Settings wrapper painted --p-bg under the frame's, and the rail painted --p-side over that: two or three coats of b9 (92%, 98%), solid to the eye. The strip in the top row and the Settings wrapper now leave the paint to the box under them, and --p-side is transparent on glass as --p-tab-active is. The seeThrough e2e measures each surface's composited alpha, on and off. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * refactor: drop "High Contrast stays solid" with the theme The owner removed the High Contrast theme (2026-10-11: "remove the theme called high contrast"); its id now maps to Pitch, so termThemeId() never returns it and #156's rule that held it solid under the see-through switch was dead code. Removed termAcrylicInForce, useTermAcrylicInForce, seeThroughBlocked and useSeeThroughBlocked: the switch is read as stored (termAcrylic) by the window, the Background row, the editor and Save changes. The row loses its blocked state and "High contrast stays solid." copy. Tests that only held the rule are gone; themeOrder's neutrals drop high-contrast and its tie test keeps the made-up pair. Docs say the rule went with the theme. Core stays 0.31.0 (unreleased in this PR). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * fix: Classic's line between tabs runs the strip's full height Owner, 2026-10-11: they "should go down to the bottom" and "to the top". Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * fix: the Powerline border wears the divider's ink, following the Edges setting Owner, 2026-10-11: "the chevron border should match the edge border colour. maybe they can follow the thinner style too when you're on faint". tabEdge and --p-tab-edge are gone; the plain band paints --p-divider, so it is fainter on Faint, stronger on Solid and gone on None, like every other line. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * fix: the Powerline border stays under a growing working edge Owner, 2026-10-11: "the border is gone when it's working, that edge border should still be there". The working edge on the tab in front grows from nothing each cycle; the plain border is now drawn under every mark. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
github-actions Bot
pushed a commit
that referenced
this pull request
Oct 11, 2026
…156, #157, #158) (#161) * feat(core): Full reworked, Prompt on the theme's ground, the switch knob (#154) Full: finished is the icon's rainbow flowing across the whole tab; a working fill carries Minimal's mark on top, the run in the name's ink on Classic (owner: black on Volt's yellow, not a faded yellow) and the growing edge in a shade clearing 3:1 on fill and ground on Prompt. The badge and the ride go. Prompt segments are the theme's own ground: idle paints nothing, the tab in front is --p-tab-active; --p-seg and --p-seg-on are removed. The edge band tucks only under a segment that paints. Switches: the ON knob is --p-switch-knob, black on a dark theme and white on a light one, flipped only under 2:1 on the track. Core falls back to --p-on-accent, so Prism is unchanged. Core 0.30.0, app 0.36.0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * test(e2e): pick the opaque dark accent before the see-through one (#154) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * feat: call the Prompt tab style Powerline (#154) The owner's pick. The stored id stays 'prompt' so saved choices survive. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * feat(core): no pulsing arrow on a working Powerline tab you are not on (#154) Owner: the pulsing edge belongs to the tab in front; a working Full fill on Powerline is the fill alone. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * docs: spec and plan for the see-through window, theme order and Most recent (#156, #157, #158) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * feat(core): the see-through window, like Prism's (#156) The acrylic row is the see-through window. Where the terminal owns the window acrylic (Prism Terminal) it reads "See-through window" / "The desktop shows behind every surface.", sits right under the theme wall, and the switch alone makes the window see-through: an opaque ground under it paints Prism's own levels (0xb9 dark, 0xd1 light, light by luminance > 0.4). Before, it changed the material and left every preset opaque, so it looked broken. - core/renderer/lib/seeThrough.ts: SEE_THROUGH_ALPHA, SEE_THROUGH_MAX (95%), seeThroughAlpha. - termLook: paintsAlpha (one rule for the window and the dirty check), termAcrylicInForce / seeThroughBlocked (High Contrast stays solid). - The Background picker and the theme editor cap Alpha at 95% under the switch and show the alpha in force. - Prism: unchanged (gated on acrylic.kind 'window'; its row keeps its label). - opacityMigration tests: three asserted an opaque window under acrylic on; that is the bug fixed here, so they now expect the default see-through. - Versions: core 0.31.0, app 0.37.0. - e2e: new seeThrough scenario, settingsLook row order (not run here). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * feat(core): the theme wall runs neutral first, black to white (#157) The owner, 2026-10-10: "first black to white then coloured". After the leading cards (Custom, the host's default, Follow style in Prism) the presets now come in one fixed, computed order: the neutral grounds black to white, then the coloured ones black to white, by OKLab L. It replaces the light-first flip, which ran the wall either way by the theme worn. - core/renderer/lib/themeOrder.ts: oklch, NEUTRAL_CHROMA (0.0125, measured in the widest gap of the forty grounds: Monokai 0.0109, Sage 0.0147), orderTermThemes (stable on ties). - themeOrder.test.ts: permutation, neutrals first, L non-decreasing per group, the twelve measured neutrals, no ground within 0.001 of the threshold, ties, and the whole order as a snapshot. - Prism: its terminal theme wall takes the same order (the same forty themes); nothing else changes there. - e2e: themeCards checks the wall's DOM order against the unit snapshot (not run here). - Docs: two-apps.md (FORTY THEMES), core/README.md. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * feat: Most recent tab switching (#158) A Tab switching setting in Settings > Appearance > Window, after Tab style: In order (the default, Ctrl+Tab along the strip as before) or Most recent. In Most recent, Ctrl+Tab walks a snapshot of the most-recently-used list taken at the hold's first press; the order changes only when Ctrl is released, the window loses focus or another Ctrl chord is pressed, so one press flips to the last tab and repeated presses walk further back instead of ping-ponging. Closed tabs leave the list, new tabs enter at the front. - lib/tabMru.ts (pure, tested) and lib/tabSwitchPrefs.ts (prism.window.tabSwitch) - App.tsx holds the list and the walk in refs; keyup of Control and blur commit - appOptions/settingsIndex/AppearancePage: the tab-switch row - e2e: new tabSwitch scenario, PREF_PAGE and settingsLook rows (not run here) - README keys row, docs/regression-rules.md "Most recent commits on Ctrl release" Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * fix: review of the see-through window and Most recent (#156, #158) - Save changes judges and saves the see-through switch IN FORCE: under High Contrast a stored on (from before #156) no longer lights it, and a save stays solid instead of escaping into a see-through Custom. The colour editor's save goes through the same saveAsCustom. - The dirty check measures the default level from the ground the window measures from, so an opaque picked Background does not light Save changes by its lightness; withGroundAlpha measures from the palette's own ground, so a save keeps the Custom's own level. - Most recent: a click on another tab, or a tab opened or closed, while Ctrl is still held ends the walk (walkHolds), so it counts as a use. - Save changes' tooltip and the theme switch question say "see-through window" in Prism Terminal, not "acrylic". - The spec and comments no longer claim the stored switch survives a theme pick (a pick resets it, "the theme is the whole setup"); the spec's Tab switching wording matches what was built. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * test(e2e): the gate follows the see-through row and the accent on switches (#156) - accent: the see-through window sits between the theme wall and Background/Accent since #156 moved it there. - settingsSearch: Prism Terminal names the row "See-through window" (acrylicLabel), so the gate searches by that; "acrylic" joins the row's keywords so the old name still finds it. - settingsLook: an on switch wears the accent on purpose since #138/#139; the check failed on the base (#154) too, now it allows on switches and still catches any other accent-filled button. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * refactor(core): drop the #154 rework's leftovers shadeOn (the edge on a working Powerline fill, gone) and its tests, the edge span's data-mark-overlay (always undefined), and the docs that still spoke of a grow overlay or an edge on a Powerline fill. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * fix(core): Save changes saves the see-through the window paints Under an opaque picked Background, Save changes stored the default see-through measured from the theme's own ground (b9 for a dark Custom) while the window and the dirty check measured from the pick (d1 for white), so the setup was dirty again right after every save. withGroundAlpha now carries termGroundAlpha(), the window's alpha. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * fix(core): the colour editor opens a preset at its own see-through withGroundAlpha measured the default see-through from the window's ground, which without a pick is the ACTIVE theme's. Every preset card has an edit button, so a light preset edited under a dark active theme opened, and saved as Custom, at b9 instead of d1. It now measures from the pick when there is one (the window's alpha, as the last fix wants) and otherwise from the palette's own ground. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * feat: Powerline tabs get a visible border (owner, 2026-10-11) The tabs sit on the theme's own ground, so the ground-coloured gap between them was no border at all. With no mark, the band is now --p-tab-edge: darker than the ground where it leaves room (dark grey gets black, white gets light grey), lighter only on a ground too dark for that (black gets grey), at least 1.5:1 off the ground. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * fix: a dark grey ground's Powerline border is black At the 1.5 floor a #2b2b2b ground (1.48:1 off black) went lighter. Black is taken whenever it stands off at all visibly (1.3). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * fix: the Powerline border is the ground a bit darker Owner, 2026-10-11: "all themes should have its bg color + a bit darker, except black themes since that's not possible". Every ground's border steps toward black (1.25:1, or black itself); only a true-black ground gets a dark grey (1.2:1). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * feat: darker Powerline borders, stronger light edges, Classic's faint line, no High Contrast Owner, 2026-10-11: - The Powerline border is the ground a bit darker, a dark ground's stopping at a very dark grey short of black; a light ground's stands 1.45:1 off it ("white themes have too faint of borders"). - The light column of the Edges alphas is raised about half again (Hairline 10/12 to 15/17, the DWM border 0.16 to 0.22), "the border edges in general are too faint". - Classic tabs get a faint line between them again, in the divider's ink. - High Contrast is removed; whoever wore it goes to Pitch. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * docs: the light Edges alphas raised (2026-10-11) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * fix: See-through reaches the tab strip and the settings rail Every surface is one coat of the sheet. The tab strip in the top row painted --p-tabs over the row's own --p-tabs, the Settings wrapper painted --p-bg under the frame's, and the rail painted --p-side over that: two or three coats of b9 (92%, 98%), solid to the eye. The strip in the top row and the Settings wrapper now leave the paint to the box under them, and --p-side is transparent on glass as --p-tab-active is. The seeThrough e2e measures each surface's composited alpha, on and off. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * refactor: drop "High Contrast stays solid" with the theme The owner removed the High Contrast theme (2026-10-11: "remove the theme called high contrast"); its id now maps to Pitch, so termThemeId() never returns it and #156's rule that held it solid under the see-through switch was dead code. Removed termAcrylicInForce, useTermAcrylicInForce, seeThroughBlocked and useSeeThroughBlocked: the switch is read as stored (termAcrylic) by the window, the Background row, the editor and Save changes. The row loses its blocked state and "High contrast stays solid." copy. Tests that only held the rule are gone; themeOrder's neutrals drop high-contrast and its tie test keeps the made-up pair. Docs say the rule went with the theme. Core stays 0.31.0 (unreleased in this PR). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * fix: Classic's line between tabs runs the strip's full height Owner, 2026-10-11: they "should go down to the bottom" and "to the top". Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * fix: the Powerline border wears the divider's ink, following the Edges setting Owner, 2026-10-11: "the chevron border should match the edge border colour. maybe they can follow the thinner style too when you're on faint". tabEdge and --p-tab-edge are gone; the plain band paints --p-divider, so it is fainter on Faint, stronger on Solid and gone on None, like every other line. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t * fix: the Powerline border stays under a growing working edge Owner, 2026-10-11: "the border is gone when it's working, that edge border should still be there". The working edge on the tab in front grows from nothing each cycle; the plain border is now drawn under every mark. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #138
What
An ON settings switch now wears the theme's accent: the track is
--p-sel-bg(the accent as a fill) and the knob is--p-on-accent(the ink chosen for that fill). Off is unchanged (grey track, white knob). A disabled on switch is dimmed to 50%, hover lifts it like Save (brightness-110), and keyboard focus stays the row's fill (Prism #272, never a ring). Row buttons, segments and every other neutral control stay grey.Owner, 2026-10-07: "toggles differ in look i like the teal with black not the green and white", then "yes option 1 but it should depend on the theme so only teal on the teal theme".
Why these tokens
--p-sel-bgis the accent moved until--p-on-accentclears 4.5:1 on it, the pair the update chip already uses; the raw--p-accentis only held to 3:1 and, with a see-through accent, carries an alpha the ink was not chosen against. So the knob always reads on the track. A new unit test (switchAccent.test.ts) holds it for all 40 presets: knob 4.5:1 on the track, track 3:1 on the ground (lowest measured: knob 4.51 on Blossom, track 3.28 on Paper).Knob ink per theme: near-black
#0b0b0fon bright accents (PT Default orange#fe8f34, Pitch, Cinder, Volt, Paper blue, Dracula, Nord...), white on dark ones (Prism indigo#5b5bd6, Fawn, Blossom, Sage, Mint, Butter, Lavender, Mist, Catppuccin Latte).This narrows the #42 rule ("SETTINGS CONTROLS ARE NEUTRAL; ONLY SAVE WEARS THE ACCENT") for switches only; CLAUDE.md says so.
Prism
This is a core change (
core/renderer/settings/fields.tsx, core 0.25.0 -> 0.26.0): Prism's terminal settings pages get it through the automatic core bump after merge. Prism's ownSettings.tsxkeeps a local copy ofSWITCH_ON/SWITCH_KNOB_ON, and its Win+E switch uses--p-accentwith a white knob, so those need a Prism-side change to match.Tests
npm run typecheck,npm run lint(0 errors),npx vitest run(1391 passed)accent(33/33): an on switch is the accent fill with the on-accent knob on PT Default, after a picked (see-through) accent and on Paper; row button and segment unchanged. Screenshots.e2e-shots/settings-switch-pt-default.png,settings-switch-light.png.options,edges,themeSwitch,colourPicker: all pass.App 0.32.0 -> 0.33.0.
🤖 Generated with Claude Code
https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t