Description
With the same background-opacity setting (0.5), the terminal surface in cmux appears noticeably darker / less transparent than in standalone Ghostty. The desktop wallpaper behind the window is much more visible in Ghostty than in cmux.
This is about the terminal rendering surface itself, not the surrounding chrome (sidebar, tabs, titlebar). Those were addressed in #667.
Screenshot
cmux (left) vs Ghostty (right), same config, same wallpaper:

Steps to reproduce
- Set in
~/.config/ghostty/config:
theme = Catppuccin Mocha
background-opacity = 0.5
background-blur = false
- Open the same shell in both Ghostty and cmux, side by side, over the same wallpaper
- Compare the terminal background transparency
Expected behavior
Both terminals should look identical since cmux uses the same libghostty Metal renderer.
Actual behavior
cmux's terminal background is visibly darker/more opaque than Ghostty's. The wallpaper behind the window is much harder to see through cmux.
Likely cause
Standalone Ghostty sets window.isOpaque = false and window.backgroundColor = .clear, so the Metal surface composites directly against the desktop. In cmux, intermediate view layers between NSWindow and the Metal terminal surface (SwiftUI hosting view → Bonsplit container → panel view) may not be fully transparent, causing the opacity to stack and making the result appear darker.
PR #667 addressed this for chrome surfaces and attempted to prevent double-translucency stacking, but the terminal surface itself still composites differently.
Environment
- macOS 15.5 (Darwin 24.6.0)
- cmux 0.63.2 (79) [179b16c]
- Ghostty 1.3.1
bgGlassEnabled not set (using default false)
Description
With the same
background-opacitysetting (0.5), the terminal surface in cmux appears noticeably darker / less transparent than in standalone Ghostty. The desktop wallpaper behind the window is much more visible in Ghostty than in cmux.This is about the terminal rendering surface itself, not the surrounding chrome (sidebar, tabs, titlebar). Those were addressed in #667.
Screenshot
cmux (left) vs Ghostty (right), same config, same wallpaper:
Steps to reproduce
~/.config/ghostty/config:Expected behavior
Both terminals should look identical since cmux uses the same libghostty Metal renderer.
Actual behavior
cmux's terminal background is visibly darker/more opaque than Ghostty's. The wallpaper behind the window is much harder to see through cmux.
Likely cause
Standalone Ghostty sets
window.isOpaque = falseandwindow.backgroundColor = .clear, so the Metal surface composites directly against the desktop. In cmux, intermediate view layers betweenNSWindowand the Metal terminal surface (SwiftUI hosting view → Bonsplit container → panel view) may not be fully transparent, causing the opacity to stack and making the result appear darker.PR #667 addressed this for chrome surfaces and attempted to prevent double-translucency stacking, but the terminal surface itself still composites differently.
Environment
bgGlassEnablednot set (using defaultfalse)