fix: initialize window size & add some popup padding

This commit is contained in:
Ashley Wulber 2022-12-15 15:18:48 -05:00 committed by Ashley Wulber
parent 9f23110a25
commit 4488bcc971

View file

@ -19,6 +19,7 @@ use cosmic::iced::wayland::SurfaceIdWrapper;
use cosmic::iced::widget::event_container; use cosmic::iced::widget::event_container;
use cosmic::iced::widget::{column, row}; use cosmic::iced::widget::{column, row};
use cosmic::iced::{executor, window, Application, Command, Subscription}; use cosmic::iced::{executor, window, Application, Command, Subscription};
use cosmic::iced_native::alignment::Horizontal;
use cosmic::iced_native::subscription::events_with; use cosmic::iced_native::subscription::events_with;
use cosmic::iced_style::application::{self, Appearance}; use cosmic::iced_style::application::{self, Appearance};
use cosmic::iced_style::Color; use cosmic::iced_style::Color;
@ -108,7 +109,7 @@ enum Message {
Ignore, Ignore,
NewSeat(WlSeat), NewSeat(WlSeat),
RemovedSeat(WlSeat), RemovedSeat(WlSeat),
Rectangle((RectangleUpdate<u32>)), Rectangle(RectangleUpdate<u32>),
} }
#[derive(Debug, Clone, Default)] #[derive(Debug, Clone, Default)]
@ -167,25 +168,28 @@ impl Application for CosmicAppList {
fn new(_flags: ()) -> (Self, Command<Message>) { fn new(_flags: ()) -> (Self, Command<Message>) {
let config = config::AppListConfig::load().unwrap_or_default(); let config = config::AppListConfig::load().unwrap_or_default();
let mut toplevel_ctr = 0; let mut toplevel_ctr = 0;
let self_ = CosmicAppList {
toplevel_list: desktop_info_for_app_ids(config.favorites.clone())
.into_iter()
.map(|e| {
toplevel_ctr += 1;
Toplevel {
id: toplevel_ctr,
toplevels: Default::default(),
desktop_info: e,
popup: None,
}
})
.collect(),
config,
toplevel_ctr,
..Default::default()
};
let (w, h) = self_.window_size();
( (
CosmicAppList { self_,
toplevel_list: desktop_info_for_app_ids(config.favorites.clone()) resize_window(window::Id::new(0), w, h),
.into_iter()
.map(|e| {
toplevel_ctr += 1;
Toplevel {
id: toplevel_ctr,
toplevels: Default::default(),
desktop_info: e,
popup: None,
}
})
.collect(),
config,
toplevel_ctr,
..Default::default()
},
Command::none(),
) )
} }
@ -507,12 +511,12 @@ impl Application for CosmicAppList {
|| self.config.favorites.contains(&desktop_info.name); || self.config.favorites.contains(&desktop_info.name);
let mut content = column![ let mut content = column![
iced::widget::text(&desktop_info.name), iced::widget::text(&desktop_info.name).horizontal_alignment(Horizontal::Center),
cosmic::widget::button(Button::Text) cosmic::widget::button(Button::Text)
.custom(vec![iced::widget::text(fl!("new-window")).into()]) .custom(vec![iced::widget::text(fl!("new-window")).into()])
.on_press(Message::Exec(desktop_info.exec.clone())), .on_press(Message::Exec(desktop_info.exec.clone())),
] ]
.padding(4) .padding(8)
.spacing(4) .spacing(4)
.align_items(Alignment::Center); .align_items(Alignment::Center);
if !toplevels.is_empty() { if !toplevels.is_empty() {