Skip to content

fix(linux): use solid surfaces for windows#606

Merged
H-Chris233 merged 1 commit into
Open-Less:betafrom
H-Chris233:fix/issue-553-linux-solid-surfaces
Jun 6, 2026
Merged

fix(linux): use solid surfaces for windows#606
H-Chris233 merged 1 commit into
Open-Less:betafrom
H-Chris233:fix/issue-553-linux-solid-surfaces

Conversation

@H-Chris233
Copy link
Copy Markdown
Collaborator

@H-Chris233 H-Chris233 commented Jun 6, 2026

User description

Summary

  • Disable transparent Linux windows for main, capsule, and QA so WebKitGTK compositing no longer controls the window background.
  • Route Linux shell/frost surfaces to opaque var(--ol-surface) styling while preserving macOS/Windows glass behavior.
  • Remove the obsolete is_no_compositing_mode frontend fallback command and CSS path.

Test Plan

  • git diff --check
  • git diff --cached --check
  • node -e "const fs=require('fs'); const cfg=JSON.parse(fs.readFileSync('openless-all/app/src-tauri/tauri.linux.conf.json','utf8')); for (const w of cfg.app.windows) { if (w.transparent !== false) throw new Error(w.label + ' transparent is not false'); } console.log('linux windows transparent=false:', cfg.app.windows.map(w=>w.label).join(', '));"
  • npm --prefix "openless-all/app" run build
  • cargo check --manifest-path "openless-all/app/src-tauri/Cargo.toml"

Refs #553

Note: Linux GUI visual verification is still needed for the original hover/refresh symptom.


PR Type

Bug fix


Description

  • Use opaque surfaces for Linux windows

  • Remove no-compositing frontend fallback

  • Add platform-specific CSS for solid backgrounds

  • Fix frosted glass flicker on hover/resize


Diagram Walkthrough

flowchart LR
  A["Transparent Linux windows (compositing)"]
  B["CSS glass effect with backdrop-filter"]
  C["Flicker on hover/resize due to WebKitGTK"]
  D["Set transparent:false in tauri.linux.conf.json"]
  E["Remove is_no_compositing_mode fallback"]
  F["Use var(--ol-surface) opaque background on Linux"]
  G["Stable solid background without flicker"]
  A -- "leads to" --> C
  D -- "disables" --> A
  E -- "removes" --> B
  F -- "replaced by" --> B
  C -- "fixed by" --> G
  D --> G
  E --> G
  F --> G
Loading

File Walkthrough

Relevant files
Bug fix
3 files
commands.rs
Remove is_no_compositing_mode command                                       
+0/-6     
lib.rs
Unregister is_no_compositing_mode command                               
+0/-1     
App.tsx
Remove is_no_compositing_mode invocation                                 
+0/-14   
Documentation
2 files
Capsule.tsx
Update comment for Linux solid surface                                     
+1/-1     
QaPanel.tsx
Update comment for Linux platform                                               
+2/-3     
Enhancement
4 files
FloatingShell.tsx
Use opaque background on Linux                                                     
+4/-7     
WindowChrome.tsx
Use solid surface on Linux                                                             
+9/-11   
main.tsx
Add platform detection for CSS targeting                                 
+4/-1     
global.css
Add Linux-specific solid background rules                               
+11/-47 
Configuration changes
1 files
tauri.linux.conf.json
Disable transparent windows on Linux                                         
+3/-3     

Disable Linux transparent windows for main, capsule, and QA so WebKitGTK compositing no longer controls frosted-glass visuals.

Remove the no-compositing frontend fallback command and route Linux shell surfaces through opaque surface styling while preserving the existing compositing environment workaround.
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 6, 2026

PR Reviewer Guide 🔍

Here are some key observations to aid the review process:

🎫 Ticket compliance analysis ✅

553 - PR Code Verified

Compliant requirements:

  • The PR disables transparent windows on Linux and uses solid surfaces, eliminating the WebKit compositing instability that caused the glass effect to flicker/disappear.

Requires further human verification:

  • Visual verification of the fix on Linux (as noted in the PR description).
⏱️ Estimated effort to review: 2 🔵🔵⚪⚪⚪
🧪 No relevant tests
🔒 No security concerns identified
⚡ No major issues detected

@H-Chris233 H-Chris233 merged commit 61b99ad into Open-Less:beta Jun 6, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant