Repository navigation
Add a Look setting with Frutiger Aero and Metal Heart themes - #11
Merged
Merged
Conversation
Every colour, font and shape the window reads now comes from a pair of resource dictionaries under Themes/ (one dark, one light) that Theme.Apply merges in, so a new look is two XAML files and one line in the list. Settings gets a Look picker next to the dark/light one; both apply live and are remembered in settings.json. Looks: Rack faceplate (unchanged default), Frutiger Aero (glass panels over sky and grass, glossy pills, Segoe UI) and Metal Heart (brushed steel, bevelled edges, chrome-red accent, Bahnschrift display face). The smoke test now screenshots each look so they can be compared from the CI run. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XaLCFyaNVfAWPcHVakuuu8
Panels, the status field, the top bar and banners are now templated controls a look can replace, and the default shapes moved from App.xaml into Themes/Shared.xaml so a look's own dictionary wins over them. Frutiger Aero: glass panels with a hard gloss band, a glass bar behind the top controls, orb status lights with a specular spot, and a drawn backdrop of sky, grass, bubbles and rings (black glass over glowing teal in the dark version, after the KDE 4 desktop). Metal Heart: riveted steel plates with a chrome bevel and brushed grain, a chrome strip for the top bar, lens status lights, near-square chrome buttons, an acid-green primary button, a brushed backdrop with blue and green glows and chrome rails, and Orbitron Bold for the big type (embedded, OFL, a static instance of the Google Fonts variable file). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XaLCFyaNVfAWPcHVakuuu8
Replace the blue and green glows with a backdrop of angular chrome shards on black (silver on chrome in the light version), a red crack running through them and a red glow behind; the primary button goes back to red chrome. The plates are slightly see-through so the shards ghost through them. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XaLCFyaNVfAWPcHVakuuu8
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.
Requested by Simon · project thread
What changes for the user
Before: the only appearance setting is Dark, Light or System, and the window always has the rack-faceplate look.
After: Settings has a Look picker above the dark/light one, with three looks to compare: Rack faceplate (the current look, still the default), Frutiger Aero (frosted glass panels over a sky-and-grass backdrop, glossy pill buttons, Segoe UI) and Metal Heart (brushed steel, bevelled edges, a chrome-red primary button, Bahnschrift display face). Each look has a dark and a light version. Picking one repaints the window straight away and is remembered between runs.
Screenshots of every look are in the CI run's
screenshotsartifact and on theci-screenshotsbranch:main-dark/main-light/settings-dark(faceplate, unchanged names),aero-light,aero-dark,aero-settings-light,metal-dark,metal-light,metal-settings-dark.How
Every colour, font and shape the window reads now comes from a pair of resource dictionaries under
src/ProDHCPServer.App/Themes/(Name.Dark.xamlandName.Light.xaml), merged into the app resources byTheme.Apply. Adding a look is two XAML files (copy Faceplate's and change the values) plus one line inTheme.Looks. The shared templates inApp.xamlgained a few look-driven tokens: panel edge and corners, button edge, a gloss layer, and a corner scale (0.5 = pill, 0 = square) so the same button template can be a pill or a steel plate.settings.jsongains aLookfield; unknown values fall back to the default. The smoke test shoots each look.Testing
🤖 Generated with Claude Code
https://claude.ai/code/session_01XaLCFyaNVfAWPcHVakuuu8