From 2eabba81dd3c246593c79f179e8b6e514bfa0541 Mon Sep 17 00:00:00 2001 From: Ian Douglas Scott Date: Mon, 30 Aug 2021 10:33:41 -0700 Subject: [PATCH] Close menu on click --- src/status_menu.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/status_menu.rs b/src/status_menu.rs index 26ca05f1..82b14ec8 100644 --- a/src/status_menu.rs +++ b/src/status_menu.rs @@ -115,6 +115,7 @@ impl StatusMenu { } let id = i.id(); + let close_on_click = i.children_display().as_deref() != Some("submenu"); let button = cascade! { gtk4::Button::new(); ..set_child(Some(&hbox)); @@ -122,6 +123,9 @@ impl StatusMenu { ..set_sensitive(i.enabled().unwrap_or(true)); // default to true? ..connect_clicked(clone!(@weak self as self_ => move |_| { // XXX data, timestamp + if close_on_click { + self_.inner().menu_button.popdown(); + } self_.inner().dbus_menu.event(id, "clicked", &0.to_variant(), 0); })); };