From fb9874223a85d8a360c727d1e35c78899b6d9eef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vuka=C5=A1in=20Vojinovi=C4=87?= <150025636+git-f0x@users.noreply.github.com> Date: Sun, 30 Jun 2024 11:27:58 +0200 Subject: [PATCH] feat(app-tray): dynamic bar size --- cosmic-app-list/src/app.rs | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/cosmic-app-list/src/app.rs b/cosmic-app-list/src/app.rs index 9fbe9efe..8b0726cb 100755 --- a/cosmic-app-list/src/app.rs +++ b/cosmic-app-list/src/app.rs @@ -67,6 +67,7 @@ struct AppletIconData { icon_size: u16, icon_spacing: f32, dot_radius: f32, + bar_size: f32, padding: Padding, } @@ -75,12 +76,12 @@ impl AppletIconData { let icon_size = applet.suggested_size(false).0; let padding = applet.suggested_padding(false); - let (icon_spacing, dot_radius) = match applet.size { - Size::PanelSize(PanelSize::XL) => (0.0, 2.0), - Size::PanelSize(PanelSize::L) | Size::PanelSize(PanelSize::M) | Size::Hardcoded(_) => { - (0.0, 2.0) + let (icon_spacing, dot_radius, bar_size) = match applet.size { + Size::PanelSize(PanelSize::XL) | Size::PanelSize(PanelSize::L) => (0.0, 2.0, 12.0), + Size::PanelSize(PanelSize::M) => (0.0, 2.0, 8.0), + Size::PanelSize(PanelSize::S) | Size::PanelSize(PanelSize::XS) | Size::Hardcoded(_) => { + (0.0, 1.0, 8.0) } - Size::PanelSize(PanelSize::XS) | Size::PanelSize(PanelSize::S) => (0.0, 1.0), }; let padding = padding as f32; @@ -95,6 +96,7 @@ impl AppletIconData { icon_size, icon_spacing, dot_radius, + bar_size, padding: padding.into(), } } @@ -190,7 +192,7 @@ impl DockItem { match applet.anchor { PanelAnchor::Left | PanelAnchor::Right => (0..1) .map(|_| { - container(vertical_space(Length::Fixed(8.0))) + container(vertical_space(app_icon.bar_size)) .padding(app_icon.dot_radius) .style(::Style::Custom(Box::new( move |theme| container::Appearance { @@ -212,7 +214,7 @@ impl DockItem { .collect_vec(), PanelAnchor::Top | PanelAnchor::Bottom => (0..1) .map(|_| { - container(horizontal_space(Length::Fixed(8.0))) + container(horizontal_space(app_icon.bar_size)) .padding(app_icon.dot_radius) .style(::Style::Custom(Box::new( move |theme| container::Appearance {