From f4d7c49bfc0235480964717d012c23144b97b92d Mon Sep 17 00:00:00 2001 From: Christoph Wille Date: Tue, 1 Sep 2026 14:58:23 +0200 Subject: [PATCH] Repaint the Simple theme instead of wearing its defaults The window read as an unstyled toolkit demo: a near-black hairline around every list and text box, a hard rectangle for every control, one white for chrome and content alike, and buttons shaded like a Win32 dialog. None of that is a decision anyone made - it is what the Simple theme looks like when nothing overrides it, and a tool someone reads diffs in for an hour at a stretch should have a frame quiet enough to disappear. The theme resolves every colour through a named resource key, and Application.Resources is consulted before Application.Styles, so restating those keys is enough to repaint the whole app without touching a template. Only the brushes are restated, not the colours behind them: the theme builds each brush from its colour with a StaticResource, resolved once at parse time, so overriding a colour alone changes nothing there. The colours are restated too, because Dock builds its own brushes from them with a DynamicResource - which is the opposite arrangement, and the reason both halves are needed. The chrome is given a ground a shade off the content white, so a list reads as a surface laid on the frame rather than as more of the same sheet. Both theme variants are set; Dark is unreachable today, since nothing calls ThemeManager.UpdateTheme, but leaving it stock would have made it wrong the moment something does. Two things a resource key cannot reach. A ListBox applies its background to the ScrollViewer inside its border, so a square fill poked out of the newly rounded corners - the border is painted instead and the inside left clear. A document tab stays square: Dock fills it with a Panel, which has no corner radius to bind, and replacing that template is a larger change than this one. Assisted-by: Claude:claude-opus-5:Claude Code --- src/Stampeded/App.axaml | 92 +++++++++++++++++++ .../Documents/StartDocumentView.axaml | 5 +- src/Stampeded/MainWindow.axaml | 5 +- 3 files changed, 99 insertions(+), 3 deletions(-) diff --git a/src/Stampeded/App.axaml b/src/Stampeded/App.axaml index a03a970..22a9de4 100644 --- a/src/Stampeded/App.axaml +++ b/src/Stampeded/App.axaml @@ -22,12 +22,69 @@ + + + + + + + + + + + + + + + + + + + + + + + #FFFFFF + #1F2328 + #E4E7EA + #3794FF + + + + + + + + + + + + + + + + + + + + + #1E1E1E + #E6EDF3 + #2F343A + #3794FF @@ -48,6 +105,41 @@ + + + + + + + + + + + + diff --git a/src/Stampeded/MainWindow.axaml b/src/Stampeded/MainWindow.axaml index 9677b91..dc0474e 100644 --- a/src/Stampeded/MainWindow.axaml +++ b/src/Stampeded/MainWindow.axaml @@ -210,11 +210,12 @@ - + - +