ssd: Add minimize button to header bar

This commit is contained in:
Victoria Brekenfeld 2024-03-05 16:37:01 +01:00
parent e008437f59
commit b1a4e1682c

View file

@ -254,6 +254,7 @@ impl CosmicWindow {
#[derive(Debug, Clone, Copy)]
pub enum Message {
DragStart,
Minimize,
Maximize,
Close,
Menu,
@ -284,6 +285,17 @@ impl Program for CosmicWindowInternal {
}
}
}
Message::Minimize => {
if let Some(surface) = self.window.wl_surface() {
loop_handle.insert_idle(move |state| {
if let Some(mapped) =
state.common.shell.element_for_wl_surface(&surface).cloned()
{
state.common.shell.minimize_request(&mapped)
}
});
}
}
Message::Maximize => {
if let Some(surface) = self.window.wl_surface() {
loop_handle.insert_idle(move |state| {
@ -412,6 +424,7 @@ impl Program for CosmicWindowInternal {
cosmic::widget::header_bar()
.title(self.last_title.lock().unwrap().clone())
.on_drag(Message::DragStart)
.on_minimize(Message::Minimize)
.on_maximize(Message::Maximize)
.on_close(Message::Close)
.apply(mouse_area)