Skip to content

Add vertical tabs and unified workspace appearance - #8

Merged
jmecom merged 13 commits into
mainfrom
jm/vertical-tabs
Oct 29, 2026
Merged

jmecom merged 13 commits into
mainfrom
jm/vertical-tabs

Conversation

@jmecom

@jmecom jmecom commented Oct 29, 2026

Copy link
Copy Markdown
Collaborator

Alto now supports an optional vertical tab rail and shares one rounded visual system across navigation, chat panes, Settings, Cmd+K, menus, and pickers.

  • Add a resizable vertical tab rail with persistent orientation and collapse, support for existing tab groups, and keyboard shortcuts that preserve open panes and drafts.
  • Apply accent-tinted native macOS material and shared typography, surface colors, button states, focus borders, and spacing. Preserve the composer's rounded shape and purple editing effect.
  • Align each split pane's title, transcript, and composer, including scrollback minimap clearance in narrow and nested layouts.
  • Bump the package and lockfile to 0.1.3 for the next macOS release. Vertical Tabs remains opt-in; shared appearance and macOS material are enabled by default.

Validation: nix develop --command npm run check passes: design audit, typecheck, 1,475 tests (1 skipped), and production build. Electron checks cover light/dark themes, narrow and split panes, retained drafts, shared focus states, and minimap clearance.

jmecom added 13 commits October 28, 2026 10:20
Adds a vertical-tabs plugin that moves the workspace tab strip, navigation,
and top-bar tools into a resizable side rail that can collapse to icons.
Command-B collapses the rail and Command-Shift-B (or leader w v) switches
between side and top tabs, with panes kept mounted across the switch.

The workspace layout now owns a title band for vertical mode: every pane
kind's top bar takes the rail header's height and the shared chrome color,
and the content sheet curves beneath it. The sheet edge is drawn in the
band's last row so native surfaces such as Ghostty terminals cannot cover
it. Tab groups draw a continuous line aligned under the group label in
vertical strips, and the pull request flyout opens beside the rail.
The rail header assumed the window buttons end at 76px, but the larger
buttons on macOS 26 reach almost that far, crowding the back arrow. Start
the arrows at the top bar's 96px inset and lower the row 1px so they center
on the buttons, keeping the 40px title band. The fixture checks both.
Use one appearance stylesheet for horizontal tabs and the side rail, with stronger text and icon contrast and consistent hover, press, selection, and focus states. Lighten the native material tint and add a faint shadow beneath the content sheet.

Verify matching tab colors in both orientations, light and dark themes, narrow layouts, reduced motion, and with Vertical Tabs disabled.
@jmecom
jmecom merged commit 52ccff9 into main Oct 29, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant