Intel Mac desktop app titlebar toolbar controls are obscured
Summary
On an Intel Mac running macOS 13, the Codex/ChatGPT desktop app titlebar layout appears broken: the three toolbar controls next to the macOS window controls are visually obscured/crowded and difficult to read or use.
Environment
- OS: macOS 13
- Platform: macOS
- Hardware/chip: Intel Mac
- App: Codex/ChatGPT desktop app after the recent unified desktop update
- App version: unknown / can provide if needed
Current behavior
The titlebar area does not reserve enough clear space for the toolbar controls. In the screenshot, the three controls near the top-left titlebar area appear blocked/covered/crowded.
Expected behavior
The titlebar controls should remain fully visible and clickable, with proper spacing from the native macOS traffic-light window buttons and no overlap/cropping, on Intel Macs running macOS 13.
Screenshot
<img width="252" height="50" alt="Intel Mac titlebar toolbar controls obscured" src="https://github.com/user-attachments/assets/988c811f-f2f8-4e30-b6b1-e3cb13de334a" />
Related
Possibly related to #29562, but this report is for the Intel Mac titlebar toolbar controls rather than only the login-window traffic-light safe area.
4 Comments
Screenshot for reference:
<img width="252" height="50" alt="Image" src="https://github.com/user-attachments/assets/988c811f-f2f8-4e30-b6b1-e3cb13de334a" />
Hi there! I'd love to help out with this bug. Could you please assign this issue to me? I’ll go over the contributing guidelines and submit a PR soon.
Thanks for offering to help. I don’t have permission to assign issues in this repo, but feel free to open a PR if you find a fix. Maintainers can decide assignment/review.
Detailed Technical Analysis & Workaround Solution
After inspecting the main process window positioning logic in the macOS desktop app, we identified the root cause of this titlebar control truncation issue on macOS Retina displays:
The desktop app dynamically recalculates the Y coordinate of the native window buttons (
trafficLightPosition/setWindowButtonPosition) using a linear zoom formula:``
javascript
`trafficLightPosition: { x: 16, y: Math.round((46 * zoom - 14) / 2) }
16pxAt **100% or higher zoom levels**, this pushes the Y coordinate to
or higher, causing the top portion of the window control buttons and adjacent titlebar area to be clipped by the top window boundary. When zoomed out to **90%**,yevaluates to14px`, which fits cleanly inside the titlebar inset.Decouple native macOS window control positions from webview zoom levels by clamping
trafficLightPositionto a constant Y offset (y: 14px) across all zoom levels rather than scaling it dynamically:``
javascript
``// Keep Y offset constant:
trafficLightPosition: { x: 16, y: 14 }