feat(ui): move app chrome into a topbar and dock the session workspace rail#103426
Merged
Conversation
…e rail The desktop shell now uses a slim topbar for brand, primary navigation (Chat + pinned routes + More menu), command-palette search, pairing, theme, and Settings; the left column slims down to a sessions-only panel (Cmd+B hides it entirely — the 78px icon rail is gone). Split view drops the fixed geometry-mirroring toolbar for in-flow per-pane headers. The session workspace rail can dock right or bottom inside its pane — drag its header between edges or use the dock button — and the collapsed strip's file glyph is now a real button (it used to be a dead, button-looking span) with a changed-file count badge. The Mac app's injected chrome CSS slims down accordingly; its drag-region geometry is unchanged and the topbar brand strip stays passive under it.
The narrow-width slide-over drawer sits fixed at the window top, over the AppKit traffic lights and drag regions. The old Mac-app-injected CSS padded .sidebar-shell for this; that rule moved web-side for the desktop topbar, so restore drawer clearance here for both the app drawer and the in-drawer settings sidebar.
steipete
force-pushed
the
claude/sidebar-redesign-layout-d076f8
branch
from
July 10, 2026 05:50
c7d69d9 to
5e9ac43
Compare
Contributor
Author
|
Merged via squash.
|
This was referenced Jul 10, 2026
github-actions Bot
pushed a commit
to Desicool/openclaw
that referenced
this pull request
Jul 10, 2026
…e rail (openclaw#103426) * feat(ui): move app chrome into a topbar and dock the session workspace rail The desktop shell now uses a slim topbar for brand, primary navigation (Chat + pinned routes + More menu), command-palette search, pairing, theme, and Settings; the left column slims down to a sessions-only panel (Cmd+B hides it entirely — the 78px icon rail is gone). Split view drops the fixed geometry-mirroring toolbar for in-flow per-pane headers. The session workspace rail can dock right or bottom inside its pane — drag its header between edges or use the dock button — and the collapsed strip's file glyph is now a real button (it used to be a dead, button-looking span) with a changed-file count badge. The Mac app's injected chrome CSS slims down accordingly; its drag-region geometry is unchanged and the topbar brand strip stays passive under it. * chore(ui): regenerate locale bundles for topbar and workspace dock strings * fix(ui): keep the native macOS drawer clear of the titlebar overlay The narrow-width slide-over drawer sits fixed at the window top, over the AppKit traffic lights and drag regions. The old Mac-app-injected CSS padded .sidebar-shell for this; that rule moved web-side for the desktop topbar, so restore drawer clearance here for both the app drawer and the in-drawer settings sidebar. * chore(ui): translate topbar and workspace dock strings; regen docs map
steipete
added a commit
that referenced
this pull request
Jul 10, 2026
…mpact native narrow header (#103561) * feat(ui): restore sidebar chrome and remove the pane workspace strip Reverse course from #103426 on the app chrome: the left sidebar owns brand, pinned navigation + More, New session, sessions, and the footer (status dot, Settings, Docs, pairing, theme) again, and the desktop topbar is gone. What stays from that PR: the dockable workspace rail (right/bottom, drag or button), the in-flow split-pane headers, and Cmd+B now hides the sidebar entirely (no 78px icon rail) with a floating expand control. The real target of the original request: the vertical icon strip at each pane's right edge is deleted. A collapsed workspace rail renders nothing; the toggle (with a changed-file badge) lives in the split-pane header next to split/close, or floats at the top-right in single-pane chat. Shift+Cmd+B still toggles. Narrow native macOS windows (e.g. the in-app link browser splitting the window) previously stacked 50px of injected titlebar padding on top of the 58px drawer row; the web CSS now folds that into one compact 58px row beside the traffic lights, with selectors that outrank the rules shipped Mac apps inject. * chore(ui): regenerate locale bundles and docs map for sidebar restore * fix(ui): bind showPaneHeader explicitly on the classic single pane * chore(ui): reconcile locale metadata after rebase onto lobster wild cards
github-actions Bot
pushed a commit
to Desicool/openclaw
that referenced
this pull request
Jul 11, 2026
…mpact native narrow header (openclaw#103561) * feat(ui): restore sidebar chrome and remove the pane workspace strip Reverse course from openclaw#103426 on the app chrome: the left sidebar owns brand, pinned navigation + More, New session, sessions, and the footer (status dot, Settings, Docs, pairing, theme) again, and the desktop topbar is gone. What stays from that PR: the dockable workspace rail (right/bottom, drag or button), the in-flow split-pane headers, and Cmd+B now hides the sidebar entirely (no 78px icon rail) with a floating expand control. The real target of the original request: the vertical icon strip at each pane's right edge is deleted. A collapsed workspace rail renders nothing; the toggle (with a changed-file badge) lives in the split-pane header next to split/close, or floats at the top-right in single-pane chat. Shift+Cmd+B still toggles. Narrow native macOS windows (e.g. the in-app link browser splitting the window) previously stacked 50px of injected titlebar padding on top of the 58px drawer row; the web CSS now folds that into one compact 58px row beside the traffic lights, with selectors that outrank the rules shipped Mac apps inject. * chore(ui): regenerate locale bundles and docs map for sidebar restore * fix(ui): bind showPaneHeader explicitly on the classic single pane * chore(ui): reconcile locale metadata after rebase onto lobster wild cards
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.
What Problem This Solves
The desktop Control UI spent a ~258px column on chrome: brand row, pinned nav, a "More" tree, New session, the session list, and a footer icon row. The chrome cost is worst in chat split view, which is exactly where horizontal space matters. Two adjacent defects in the same surface: the collapsed session-workspace strip rendered a document glyph styled like a button that did nothing (a bare span, aria-hidden, no handler), and the workspace rail was hard-fixed to the pane's right edge even though the terminal panel already demonstrates right/bottom docking.
Fixes #103420.
Why This Change Was Made
Requested by the maintainer: move the sidebar's buttons into a top bar, make the layout calmer, fix the dead second button in the pane strip, and make the per-session panel dockable/draggable inside its session pane ("the sidebar is attached to the selection", like the terminal's right/bottom dock).
Design decisions:
User Impact
Screenshots (mock gateway, deterministic):
Evidence