git.lucas.co / cce-status-interface
status bar
git clone https://git.lucas.co/cce-status-interface.git

commit591cdd6142c002f031510c41bf4eac3e6c3bbed3
parente6b21c2f94
authorLucas Galante <[email protected]>
date2026-08-28 12:16
style: the muted volume run drops its strikethrough

Mute was carrying two signals at once — the run recolored to the shared
disabled_color, and a rule drawn through it as an overlay rect. The
color is enough, and it is the half that survives the treatment work:
disabled_color became a light red on 2026-08-28 precisely so a muted run
reads against the same dark scrim pool as every other bubble, which the
strikethrough then drew over.

Removing the rect leaves `scale_factor` and `overlay_rects` untouched in
this impl, so both are underscored here. The trait signature is
unchanged — TrayModule still fills overlay_rects.

VolumeModule was the only caller of cce-ui's strikethrough API in the
workspace, so `with_strikethrough`, `with_strikethrough_color` and
`strikethrough_rect` are now unused; left in place, since deleting them
belongs to that repo.

Co-Authored-By: Claude Opus 5 <[email protected]>

 src/modules.rs | 20 ++++----------------
 1 file changed, 4 insertions(+), 16 deletions(-)

diff --git a/src/modules.rs b/src/modules.rs
index 9db9b8c..ccd7695 100644
--- a/src/modules.rs
+++ b/src/modules.rs
@@ -329,10 +329,10 @@ impl StatusModule for VolumeModule {
         font_size: f32,
         normal_color: [f32; 4],
         bar_h: f32,
-        scale_factor: f64,
+        _scale_factor: f64,
         text_prims: &mut Vec<crate::TextPrim>,
         _rects: &mut Vec<RectWidget>,
-        overlay_rects: &mut Vec<RectWidget>,
+        _overlay_rects: &mut Vec<RectWidget>,
         _tray_items: &HashMap<String, TrayItem>,
         _tray_item_bounds: &mut Vec<TrayIconBounds>,
         _box_bg_color: Option<[f32; 4]>,
@@ -348,20 +348,8 @@ impl StatusModule for VolumeModule {
                 } else {
                     normal_color
                 };
-                let label = Label::new_with_family(font_system, &s.volume, font_size, color_val, font_family)
-                    .with_strikethrough(is_muted);
-                let draw_x = x + padding;
-                let start_y = centered_text_y(bar_h, font_size);
-                if let Some((sx, sy, sw_rect, sh_rect, scol)) = label.strikethrough_rect(draw_x, start_y, scale_factor as f32) {
-                    overlay_rects.push(RectWidget {
-                        x: sx,
-                        y: sy,
-                        w: sw_rect,
-                        h: sh_rect,
-                        color: color::to_linear(scol),
-                    });
-                }
-                crate::draw_label(text_prims, label, draw_x, start_y);
+                let label = Label::new_with_family(font_system, &s.volume, font_size, color_val, font_family);
+                crate::draw_label(text_prims, label, x + padding, centered_text_y(bar_h, font_size));
             }
         }
     }