From 31d0f66d3a5612b6ac383aa53038bf9e434370f3 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Thu, 30 Oct 2025 11:31:48 -0600 Subject: [PATCH] Make offset of prompt from top of screen proportional --- src/greeter.rs | 15 ++++++++------- src/locker.rs | 11 ++++++----- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/greeter.rs b/src/greeter.rs index 38db3da..c1cfb12 100644 --- a/src/greeter.rs +++ b/src/greeter.rs @@ -884,7 +884,8 @@ impl App { .align_x(Alignment::Center) .width(Length::Fill) }; - let menu = widget::container( + let menu = widget::container(widget::column::with_children(vec![ + widget::Space::with_height(Length::FillPortion(1)).into(), widget::layer_container( iced::widget::row![left_element, right_element].align_y(Alignment::Center), ) @@ -902,13 +903,13 @@ impl App { }, ))) .class(cosmic::theme::Container::Background) - .width(Length::Fixed(800.0)), - ) - .padding([32.0, 0.0, 0.0, 0.0]) + .width(Length::Fixed(800.0)) + .into(), + widget::Space::with_height(Length::FillPortion(4)).into(), + ])) .width(Length::Fill) - .height(Length::Shrink) - .align_x(Alignment::Center) - .align_y(Alignment::Start); + .height(Length::Fill) + .align_x(Alignment::Center); let popover = widget::popover(menu).modal(true); match self.dialog_page_opt { diff --git a/src/locker.rs b/src/locker.rs index 9d60e3b..8474bba 100644 --- a/src/locker.rs +++ b/src/locker.rs @@ -505,7 +505,8 @@ impl App { .width(Length::Fill) }; - widget::container( + widget::container(widget::column::with_children(vec![ + widget::Space::with_height(Length::FillPortion(1)).into(), widget::layer_container( iced::widget::row![left_element, right_element].align_y(Alignment::Center), ) @@ -523,13 +524,13 @@ impl App { }, ))) .width(Length::Fill) - .height(Length::Shrink), - ) - .padding([32.0, 0.0, 0.0, 0.0]) + .height(Length::Shrink) + .into(), + widget::Space::with_height(Length::FillPortion(4)).into(), + ])) .width(Length::Fill) .height(Length::Fill) .align_x(Alignment::Center) - .align_y(Alignment::Start) .class(cosmic::theme::Container::Transparent) .into() }