Add Xcode-style Settings back and forward navigation #41

Open
opened 2026-08-22 18:26:44 +00:00 by kayg · 0 comments
Owner

Ask

Add Xcode-style back and forward navigation buttons to the top level of the Settings detail side, ready for panes that contain nested content. Where a pane has nested items underneath, give the transition/edge a restrained soft edge, dim, or fade so the hierarchy is legible without a hard visual seam.

Files and APIs

  • Sources/Hermternal/Views/Settings/SettingsSplitView.swift: the AppKit-owned settings split and SettingsWindowController toolbar/window composition.
  • Use native NSToolbarItem navigation items with isNavigational = true.
  • Use NSTrackingSeparatorToolbarItem with .sidebarTrackingSeparator so the toolbar separator aligns with the split divider.
  • Follow the macos-fullheight-sidebar skill for the settings-window geometry and native full-height sidebar context.

Acceptance

  • The real Settings window shows native back and forward buttons at the top level of the detail side; they are visible without entering a nested pane and are disabled when no history exists.
  • Navigating into and back out of a nested settings item updates the detail content and history in the expected direction; forward becomes available only after going back from a branch with forward history.
  • The toolbar uses NSToolbarItem navigation semantics and a tracking separator aligned with the AppKit split divider, rather than hand-drawn buttons or an unrelated fixed divider.
  • Panes with nested content show the requested restrained soft edge/dim/fade treatment, while the existing sidebar selection, traffic lights, and window material remain intact.
## Ask Add Xcode-style back and forward navigation buttons to the top level of the Settings detail side, ready for panes that contain nested content. Where a pane has nested items underneath, give the transition/edge a restrained soft edge, dim, or fade so the hierarchy is legible without a hard visual seam. ## Files and APIs - `Sources/Hermternal/Views/Settings/SettingsSplitView.swift`: the AppKit-owned settings split and `SettingsWindowController` toolbar/window composition. - Use native `NSToolbarItem` navigation items with `isNavigational = true`. - Use `NSTrackingSeparatorToolbarItem` with `.sidebarTrackingSeparator` so the toolbar separator aligns with the split divider. - Follow the `macos-fullheight-sidebar` skill for the settings-window geometry and native full-height sidebar context. ## Acceptance - The real Settings window shows native back and forward buttons at the top level of the detail side; they are visible without entering a nested pane and are disabled when no history exists. - Navigating into and back out of a nested settings item updates the detail content and history in the expected direction; forward becomes available only after going back from a branch with forward history. - The toolbar uses `NSToolbarItem` navigation semantics and a tracking separator aligned with the AppKit split divider, rather than hand-drawn buttons or an unrelated fixed divider. - Panes with nested content show the requested restrained soft edge/dim/fade treatment, while the existing sidebar selection, traffic lights, and window material remain intact.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
kayg/hermternal-apple#41
No description provided.