fix(linux): custom window chrome no longer stacks with the native frame on Wayland #51
Open
jared
wants to merge 1 commits from
fix/linux-custom-chrome into main
pull from: fix/linux-custom-chrome
merge into: :main
:main
:fix/smoke-listen-check
:fix/linux-custom-chrome
:ci/smoke-keychain-race
:chore/rust-security-deps
:ci/smoke-keychain
:ci/smoke-native-commands
:ci/smoke-deeplink
:ci/smoke-update-over-running
:feat/linux-checksums
:fix/no-tray-host
:docs/readme-lotus
:fix/csp-widgets
:desktop-keychain
:fix-linux-pkg-update
:smoke-foreign-origin
:desktop-call-origin
:webview-permission-origin
:ci-windows-smoke
:desktop-status-banner
:nvidia-explicit-sync
:linux-nvidia-wayland
:dependabot/github_actions/actions/checkout-6.0.3
:test-updater
:release-v4.12.2
:release-v4.12.1
:semantic-release
:renovate/softprops-action-gh-release-digest
1
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
4158990c2a |
fix(linux): custom window chrome no longer stacks with the native frame on Wayland
On Linux / native Wayland GTK negotiates decorations with the compositor only when the window is created, so `set_decorations(false)` at runtime left KDE's frame in place and the Lotus titlebar was drawn inside it (two sets of close/min/max buttons). Turning it off would have left a window with no titlebar at all until restart. - The choice is saved natively (app config dir `custom-chrome`, like `start-minimized`). On Linux the main window is built with or without the frame from it. - `set_custom_chrome` still toggles at runtime where that works (Windows, macOS, Linux on X11 / XWayland); on native Wayland it only saves the choice, which applies next launch. - It now returns whether the frame is stripped right now, so the web client can show its titlebar only then. - The native-Wayland check moved out of gpu_workarounds into a shared `gtk_native_wayland` helper (behaviour unchanged). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PPmy3tPq869XDW4njjVaKA |