The app learns Appearance — Auto, Light, Dark from the View menu and a toolbar pull-down
View ▸ Appearance (11-command-nexus.md): three radio-exclusive rows, app-wide, persisted, needing no window in front — the View menu's new last group. AppearanceStore owns the override's rules (absent key = Auto, lenient reads degrade to Auto, remove-at-default) with an injectable apply seam so test hosts never touch NSApp; the one real apply hands NSApp.appearance its answer in applicationDidFinishLaunching, the global side effect KanbanApp.init must not carry. The board toolbar gains its first .picker item — an NSMenuToolbarItem whose rows re-fetch their spec fresh, checkmark read at menu-open like every other menu row — and Appearance joins the search field as the second default item, centered beside it (03-board-ui.md ▸ Toolbar, ratified 2026-08-07). Claude-Session: https://claude.ai/code/session_014PtZdPwqZuqEDLc6wZMtEy
This commit is contained in:
@@ -240,9 +240,10 @@ struct KanbanApp: App {
|
||||
ToolbarCommands()
|
||||
|
||||
// The View menu. `CommandGroupPlacement.toolbar` *is* View — the menu the toolbar's own
|
||||
// items live in — which is where 11-command-nexus.md files Show Trash. Two dividers split it
|
||||
// items live in — which is where 11-command-nexus.md files Show Trash. Three dividers split it
|
||||
// by scope, which is the only grouping the inventory implies: the board's toggle, then the
|
||||
// board's zoom ladder, then the card window's view-state rows.
|
||||
// board's zoom ladder, then the card window's view-state rows, then the app-wide appearance
|
||||
// override — last, because unlike everything above it, it needs no window in front at all.
|
||||
//
|
||||
// "Zoom In" / "Zoom Out" / "Actual Size" rather than a single "Zoom": the system's own Window
|
||||
// menu already carries a row titled Zoom, and titles are the remapping mechanism's key, so a
|
||||
@@ -257,6 +258,10 @@ struct KanbanApp: App {
|
||||
Divider()
|
||||
|
||||
CardViewCommands()
|
||||
|
||||
Divider()
|
||||
|
||||
AppearanceCommands(appModel: appModel)
|
||||
}
|
||||
|
||||
// The Board menu (11-command-nexus.md), complete and in its inventoried row order — Open
|
||||
|
||||
Reference in New Issue
Block a user