Add custom title bar for Windows#1800
Conversation
ApprovabilityVerdict: Needs human review This PR adds a new Windows-specific custom title bar feature, introducing a new DesktopTitleBar component and platform-specific styling across multiple views. As a new user-facing feature with new UI components, it warrants human review despite being well-scoped to Windows platform support. You can customize Macroscope's approvability policy. Learn more. |
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
- Add native Windows title bar overlay sync - Rework desktop headers, diff panel, and window controls - Split chat header actions into a reusable component
- Drop desktop IPC and bridge APIs for minimize/maximize/close state - Simplify the Windows title bar to reserve native control space only - Remove obsolete window controls component and tests
- Reuse `DesktopTitleBar` for Electron chat and settings screens - Add subtle tone styling for non-Windows title bars - Extract settings restore button for shared use
- Remove workspace/context chips from Electron title bars - Make the shared title bar layout uniform across chat and settings
- Derive the desktop title bar surface from the app background - Sync Windows overlays for all windows on theme changes - Defer theme sync to the next animation frame
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 8c340d0. Configure here.
| className={cn( | ||
| "@container/header-actions flex shrink-0 items-center justify-end gap-2 @3xl/header-actions:gap-3", | ||
| className, | ||
| )} |
There was a problem hiding this comment.
Container query self-reference prevents responsive gap
Low Severity
The @container/header-actions declaration and the @3xl/header-actions:gap-3 query are now on the same element in ChatHeaderActions. Per the CSS Container Queries spec, an element cannot query its own container context — only ancestor containers are eligible. Previously, @container/header-actions was on the outer ChatHeader wrapper div, and the @3xl/header-actions:gap-3 was on the inner actions div (a child). After the refactor, both live on the same div, so the gap-3 at the @3xl breakpoint will never activate. Child component queries (e.g. in GitActionsControl and ProjectScriptsControl) still work correctly since they remain descendants of the container.
Reviewed by Cursor Bugbot for commit 8c340d0. Configure here.


Screenshots
Testing
bun fmtbun lintbun typecheckNote
Medium Risk
Switches Windows Electron windows to a frameless configuration with a native title bar overlay and adds platform-specific header/layout logic; regressions could affect window controls, drag regions, and header spacing on Windows.
Overview
Adds a Windows-specific custom title bar for the Electron desktop app by making Windows windows frameless and configuring
titleBarOverlay(theme-aware colors/height), keeping macOS/Linux on the existing inset title bar.Introduces a reusable
DesktopTitleBarcomponent and updates chat, settings, sidebar, and diff panel headers to use Windows-aware layouts (including reserving space for native window controls overlay and avoiding drag regions where appropriate). Also adds OS/electron CSS variants and boot-time platform classes pluswindowControlsOverlay-driven--desktop-titlebar-heightsyncing, and throttles desktop theme syncing viarequestAnimationFrame.Reviewed by Cursor Bugbot for commit 8c340d0. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Add custom title bar for Windows in the desktop app
hiddenInsetstyle on macOS/Linux.DesktopTitleBarcomponent used across chat, settings, and empty-state views on Windows, replacing the previous draggable header bars.isWindowsElectronenv flag and CSS custom variants (electron,desktop-windows, etc.) so styles and components can branch per platform.syncAllWindowsTitleBarOverlays(), called on theme change and OS theme updates.ChatHeaderActionsfromChatHeaderso action controls can be embedded in the new title bar on Windows.Macroscope summarized 8c340d0.