Skip to content

fix(gui): make titlebar options platform-aware for Wayland compatibility#75

Merged
penso merged 2 commits intomainfrom
claude/nice-saha
Mar 15, 2026
Merged

fix(gui): make titlebar options platform-aware for Wayland compatibility#75
penso merged 2 commits intomainfrom
claude/nice-saha

Conversation

@penso
Copy link
Copy Markdown
Owner

@penso penso commented Mar 15, 2026

Summary

  • Gate macOS-specific titlebar options (appears_transparent: true, traffic_light_position) behind #[cfg(target_os = "macos")] so they don't interfere with Wayland server-side decoration negotiation on Linux
  • Extract default_titlebar_options() helper in constants.rs to centralize platform-aware titlebar configuration and eliminate duplication across both window creation sites

Closes #68

Why this approach

The root cause is appears_transparent: true interfering with how Wayland compositors handle server-side decorations (resize handles, drag, close/min/max buttons). Making it false on non-macOS platforms fixes the issue without needing to force X11 via environment variable hacks.

Test plan

  • just format — passes
  • just lint — zero warnings
  • just test — all tests pass
  • Verify on Ubuntu 25.04 (Wayland/GNOME): window has resize handles, drag, and close/min/max buttons
  • Verify macOS is unaffected (same appears_transparent: true + traffic_light_position as before)

penso added 2 commits March 15, 2026 08:11
On Linux Wayland, `appears_transparent: true` and `traffic_light_position`
(macOS-specific) interfere with server-side decoration negotiation, preventing
window resize, drag, and close/min/max buttons. Gate these options behind
`#[cfg(target_os = "macos")]` and extract `default_titlebar_options()` helper
to centralize platform-aware titlebar configuration.

Closes #68
@chatgpt-codex-connector
Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@penso penso merged commit 9d90e61 into main Mar 15, 2026
11 checks passed
@penso penso deleted the claude/nice-saha branch March 15, 2026 08:16
@codspeed-hq
Copy link
Copy Markdown
Contributor

codspeed-hq bot commented Mar 15, 2026

Merging this PR will not alter performance

✅ 21 untouched benchmarks


Comparing claude/nice-saha (9365e2d) with main (c056db5)1

Open in CodSpeed

Footnotes

  1. No successful run was found on main (9365e2d) during the generation of this report, so c056db5 was used instead as the comparison base. There might be some changes unrelated to this pull request in this report.

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.

Window cannot be resized, moved, or closed on Ubuntu 25 (Wayland)

1 participant