diff --git a/src/widgets/toplevels/toplevel_layout/mod.rs b/src/widgets/toplevels/toplevel_layout/mod.rs index 2de767c..a6cf285 100644 --- a/src/widgets/toplevels/toplevel_layout/mod.rs +++ b/src/widgets/toplevels/toplevel_layout/mod.rs @@ -8,6 +8,7 @@ mod row_col_toplevel_layout; mod utils; pub(crate) use row_col_toplevel_layout::RowColToplevelLayout; +#[derive(Debug)] pub(crate) struct LayoutToplevel<'a> { //toplevel: &'a crate::Toplevel, /// Preferred size of the child widget, if it fill the parent container diff --git a/src/widgets/toplevels/toplevel_layout/row_col_toplevel_layout.rs b/src/widgets/toplevels/toplevel_layout/row_col_toplevel_layout.rs index 73e1235..48490a9 100644 --- a/src/widgets/toplevels/toplevel_layout/row_col_toplevel_layout.rs +++ b/src/widgets/toplevels/toplevel_layout/row_col_toplevel_layout.rs @@ -31,7 +31,10 @@ impl ToplevelLayout for RowColToplevelLayout { let scale_factor = (self.axis.main(max_limit) / requested_main_total).min(1.0); let max_cross = self.axis.cross(max_limit); - let mut total_main = 0.0; + // Add padding to center if total requested size doesn't fill available space + let padding = (self.axis.main(max_limit) - requested_main_total).max(0.) / 2.; + + let mut total_main = padding; let mut first = true; toplevels.iter().map(move |child| { let requested_main = self.axis.main(child.preferred_size);