fix(desktop): show the Lotus titlebar only when the native frame is really gone #490

Merged
jared merged 1 commits from fix/linux-custom-chrome into lotus 2026-11-09 22:36:17 -05:00
Owner

Web side of the Linux custom-chrome fix (LotusGuild/cinny-desktop fix/linux-custom-chrome). On KDE Wayland, turning on Custom window chrome (beta) drew the Lotus titlebar inside KDE's frame, giving two sets of window buttons.

  • New nativeChromeActiveAtom: what the desktop's set_custom_chrome reports about whether the frame is stripped right now. customChromeShownAtom uses that report, else the setting.
  • useTauriWindowChrome stores the command's answer. With an older desktop that answers nothing, or on error, it falls back to the setting, which is the previous behaviour.
  • DesktopChrome (App.tsx) and TitleBar use customChromeShownAtom, so the layout and the titlebar follow the real frame state: never two titlebars, never none.
  • The setting's description adds: "On Linux (Wayland) it takes effect the next time Lotus Chat starts."

prettier and eslint are clean. Local tsc shows only the 5 pre-existing errors from stale local deps, none in these files.

🤖 Generated with Claude Code

https://claude.ai/code/session_01PPmy3tPq869XDW4njjVaKA

Web side of the Linux custom-chrome fix (LotusGuild/cinny-desktop `fix/linux-custom-chrome`). On KDE Wayland, turning on **Custom window chrome (beta)** drew the Lotus titlebar inside KDE's frame, giving two sets of window buttons. - New `nativeChromeActiveAtom`: what the desktop's `set_custom_chrome` reports about whether the frame is stripped right now. `customChromeShownAtom` uses that report, else the setting. - `useTauriWindowChrome` stores the command's answer. With an older desktop that answers nothing, or on error, it falls back to the setting, which is the previous behaviour. - `DesktopChrome` (App.tsx) and `TitleBar` use `customChromeShownAtom`, so the layout and the titlebar follow the real frame state: never two titlebars, never none. - The setting's description adds: "On Linux (Wayland) it takes effect the next time Lotus Chat starts." prettier and eslint are clean. Local `tsc` shows only the 5 pre-existing errors from stale local deps, none in these files. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01PPmy3tPq869XDW4njjVaKA
jared added 1 commit 2026-11-09 21:44:09 -05:00
fix(desktop): show the Lotus titlebar only when the native frame is really gone
CI / Build & Quality Checks (push) Skipped
CI / Secret scan (gitleaks) (push) Skipped
CI / Playwright smoke (e2e) (push) Skipped
CI / Secret scan (gitleaks) (pull_request) Successful in 23s
CI / Build & Quality Checks (pull_request) Successful in 6m38s
CI / Trigger Desktop Build (pull_request) Skipped
CI / Docker image build & smoke test (pull_request) Skipped
CI / Playwright smoke (e2e) (pull_request) Successful in 30m5s
38871d3e56
On Linux / Wayland the desktop can't strip the window frame at runtime,
so turning on custom window chrome drew the Lotus titlebar inside KDE's
frame (two sets of window buttons). The desktop's `set_custom_chrome`
now answers whether the frame is stripped right now; the titlebar and
layout follow that answer (falling back to the setting for older
desktop builds), so there's never two titlebars or none. The setting
says it applies on next start on Linux / Wayland.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PPmy3tPq869XDW4njjVaKA
jared scheduled this pull request to auto merge when all checks succeed 2026-11-09 21:46:48 -05:00
jared merged commit 7a042cb3e7 into lotus 2026-11-09 22:36:17 -05:00
jared deleted branch fix/linux-custom-chrome 2026-11-09 22:37:17 -05:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: LotusGuild/cinny#490