From 616a657ac64aaa21e3d46efcdcb4003571fcc13e Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sat, 18 Jul 2026 07:15:21 +0100 Subject: [PATCH] fix(ui): center session title on the native macOS titlebar centerline (#110462) The Mac app injects a 52px transparent titlebar, so native chrome centers at y=26 while the 48px pane header centered its content at y=24, leaving the session title/chip/actions 2px high. Native desktop shells now size .chat-pane__header from --openclaw-native-titlebar-height (same 50px fallback as .macos-titlebar-controls). --- ui/src/styles/chat/split-view.css | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/ui/src/styles/chat/split-view.css b/ui/src/styles/chat/split-view.css index a0932cc22074..21c3f52fd9bd 100644 --- a/ui/src/styles/chat/split-view.css +++ b/ui/src/styles/chat/split-view.css @@ -278,6 +278,17 @@ html:not(.openclaw-native-macos):not(.openclaw-native-nav):not(.openclaw-native- padding-left: 52px; } +/* Native macOS desktop shells: the pane header is the window's top surface, + so it adopts the app titlebar height (52px injected by + DashboardWindowController; the 50px fallback mirrors + .macos-titlebar-controls for older app builds). The web 48px default would + center the session title/actions 2px above the traffic-light/hosted-button + centerline. Drawer layouts instead fold titlebar clearance into their 58px + topbar row (layout.mobile.css). */ +html.openclaw-native-macos .shell:not(.shell--mobile-nav) .chat-pane__header { + min-height: var(--openclaw-native-titlebar-height, 50px); +} + /* Native macOS: with the nav column collapsed the top-left pane header is the window's top surface, so its content shifts right of the floating window chrome (Safari-style) instead of hiding under it. Traffic lights end at