The whole board-name area opens the popover — the chevron alone was the trigger

The titlebar widget grows from a 20×18 chevron into one button saying
the board's name and, on a git-mode Pro board, its branch — click
anywhere across it and the popover opens as before, anchored to the
widget. BoardInfoTitlebarSummary is the pure seam for both strings
(title falls back to the folder name per 01's naming rule; branch only
under pro + git mode, live off the observable HistoryStore.branch).
Board windows now hide the system title display through the same
hideTitle slot card windows adopted — the widget says the name, so the
chrome would only repeat it — while navigationTitle keeps feeding
window.title to the Window menu, Exposé, VoiceOver and restoration.

The widget also refreshes the branch eagerly at appearance: it used to
populate only once the popover had been opened, which would have left
the new branch line empty on a freshly opened board.

Claude-Session: https://claude.ai/code/session_01CqjXB7ASoWtbyoGod68k97
This commit is contained in:
2026-08-01 08:28:53 -04:00
parent 6f2e0d15da
commit 94e60cd444
6 changed files with 253 additions and 34 deletions
+4 -2
View File
@@ -857,8 +857,10 @@ struct CardWindowHost: View {
// on this view still sets it every time the card renames or a new card's window opens so
// the Window menu, Mission Control/Exposé, VoiceOver and state restoration all keep naming
// this window correctly; only the title *bar's* rendering of that string is suppressed
// (`HostedWindowController.hideTitle`). Board windows call no such thing and keep AppKit's
// default (`.visible`), which is where their title lives.
// (`HostedWindowController.hideTitle`). Board windows call the same thing now, for the same
// reason, once their board-popover widget has a name of its own to say
// (`BoardWindowHost.configureWindow`) only the restore-bootstrap window still keeps
// AppKit's `.visible` default.
windowController.hideTitle()
// **This window's own stack** (13-native-undo.md Rules two levels, re-ruled 2026-07-31