diff --git a/src/applet/mod.rs b/src/applet/mod.rs index 2efbfae2..c44bc483 100644 --- a/src/applet/mod.rs +++ b/src/applet/mod.rs @@ -426,23 +426,24 @@ impl Context { pub fn text<'a>(&self, msg: impl Into>) -> crate::widget::Text<'a, crate::Theme> { let msg = msg.into(); let t = match self.size { - Size::PanelSize(PanelSize::XL) => crate::widget::text::title2, - Size::PanelSize(PanelSize::L) => crate::widget::text::title3, - Size::PanelSize(PanelSize::M) => crate::widget::text::title4, - Size::PanelSize(PanelSize::S) => crate::widget::text::body, - Size::PanelSize(PanelSize::XS) => crate::widget::text::body, - Size::PanelSize(PanelSize::Custom(s)) => { - if s >= 80 { - crate::widget::text::title2 - } else if s >= 64 { - crate::widget::text::title3 - } else if s >= 48 { - crate::widget::text::title4 - } else { + Size::Hardcoded(_) => crate::widget::text, + Size::PanelSize(ref s) => { + let size = s.get_applet_icon_size_with_padding(false); + + let size_threshold_small = PanelSize::S.get_applet_icon_size_with_padding(false); + let size_threshold_medium = PanelSize::M.get_applet_icon_size_with_padding(false); + let size_threshold_large = PanelSize::L.get_applet_icon_size_with_padding(false); + + if size <= size_threshold_small { crate::widget::text::body + } else if size <= size_threshold_medium { + crate::widget::text::title4 + } else if size <= size_threshold_large { + crate::widget::text::title3 + } else { + crate::widget::text::title2 } } - Size::Hardcoded(_) => crate::widget::text, }; t(msg).font(crate::font::default()) }