status bar
git clone https://git.lucas.co/cce-status-interface.git
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));
}
}
}