feat(header_bar): Show window menu on right click

With this, apps like cosmic-term require no changes to show the
compositor window menu when the header is right clicked.
This commit is contained in:
Ian Douglas Scott 2024-02-13 08:10:04 -08:00 committed by GitHub
parent 6adc037f40
commit cc8033d74b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 16 additions and 1 deletions

View file

@ -71,6 +71,7 @@ pub enum Message {
SurfaceClosed(window::Id),
/// Activate the application
Activate(String),
ShowWindowMenu,
}
#[derive(Default)]
@ -412,6 +413,10 @@ impl<T: Application> Cosmic<T> {
return self.app.update(msg);
}
}
Message::ShowWindowMenu => {
#[cfg(not(feature = "wayland"))]
return window::show_window_menu(window::Id::MAIN);
}
}
iced::Command::none()

View file

@ -661,7 +661,8 @@ impl<App: Application> ApplicationExt for App {
.window_id(window::Id::MAIN)
.title(&core.window.header_title)
.on_drag(Message::Cosmic(cosmic::Message::Drag))
.on_close(Message::Cosmic(cosmic::Message::Close));
.on_close(Message::Cosmic(cosmic::Message::Close))
.on_right_click(Message::Cosmic(cosmic::Message::ShowWindowMenu));
if self.nav_model().is_some() {
let toggle = crate::widget::nav_bar_toggle()