From 80e25f23b3ef208177625cb536d5d73ef2a694a1 Mon Sep 17 00:00:00 2001 From: Breadway Date: Wed, 26 Aug 2026 09:51:51 +0800 Subject: [PATCH] shell themes: give the launcher panel its own opacity MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit tokens.bg_alpha governs the bar, which stays readable at 0.72 because it covers a thin strip of wallpaper. A full launcher panel at that alpha washes out badly over a bright wallpaper and its text becomes hard to read — which is what breadbox looked like, since it hardcoded 0.60 and read no theme value at all. Adds [launcher].panel_alpha, set to the approved reference's own values: 0.95 for glass-workbench, 0.93 for liquid-motion. --- bread-theme/assets/shell/glass-workbench/theme.toml | 4 ++++ bread-theme/assets/shell/liquid-motion/theme.toml | 4 ++++ bread-theme/src/shell/manifest.rs | 4 ++++ bread-theme/src/shell/types.rs | 8 ++++++++ 4 files changed, 20 insertions(+) diff --git a/bread-theme/assets/shell/glass-workbench/theme.toml b/bread-theme/assets/shell/glass-workbench/theme.toml index aee634c..98394ef 100644 --- a/bread-theme/assets/shell/glass-workbench/theme.toml +++ b/bread-theme/assets/shell/glass-workbench/theme.toml @@ -121,6 +121,10 @@ search_font_size = 14 search_padding_v = 12 search_padding_h = 15 # `.bx .r.sel { background: rgba(accent, .28) }` +# Panel opacity, separate from tokens.bg_alpha (the bar). Matches the +# approved reference: demo `.bx.gw{background:rgba(16,20,18,.95)}`. breadbox hardcoded 0.60, which washed the +# panel out over a bright wallpaper. +panel_alpha = 0.95 selection_alpha = 0.28 # Same four satellite namespaces as liquid-motion, keyed identically so the diff --git a/bread-theme/assets/shell/liquid-motion/theme.toml b/bread-theme/assets/shell/liquid-motion/theme.toml index f629bc8..addac64 100644 --- a/bread-theme/assets/shell/liquid-motion/theme.toml +++ b/bread-theme/assets/shell/liquid-motion/theme.toml @@ -130,6 +130,10 @@ search_font_size = 16 search_padding_v = 16 search_padding_h = 18 # `.bx .r.sel { background: rgba(accent, .22) }` +# Panel opacity, separate from tokens.bg_alpha (the bar). Matches the +# approved reference: demo `.bx.lm{background:rgba(21,14,23,.93)}`. breadbox hardcoded 0.60, which washed the +# panel out over a bright wallpaper. +panel_alpha = 0.93 selection_alpha = 0.22 # Keyed by layer-shell namespace, matching [compositor.*] below, so the two diff --git a/bread-theme/src/shell/manifest.rs b/bread-theme/src/shell/manifest.rs index 0bd8640..fbb0a58 100644 --- a/bread-theme/src/shell/manifest.rs +++ b/bread-theme/src/shell/manifest.rs @@ -202,6 +202,7 @@ pub(super) struct RawLauncher { pub(super) search_font_size: Option, pub(super) search_padding_v: Option, pub(super) search_padding_h: Option, + pub(super) panel_alpha: Option, pub(super) selection_alpha: Option, } @@ -435,6 +436,9 @@ fn resolve_launcher(theme_id: &str, l: Option<&RawLauncher>) -> anyhow::Result