From 4e45f390eaf0385ce70606c45673bb8659c979d3 Mon Sep 17 00:00:00 2001 From: Boris Ivanov Date: Thu, 22 Oct 2026 18:26:31 -0400 Subject: [PATCH] menu: launch list-mode items from the button's clicked signal In list mode the item's box sits inside a Gtk::Button and the left-click GestureClick was attached to that box. GTK 4.18's button consumes the primary click, so the gesture never fired and nothing was launched. Connect on_click() to button.signal_clicked() instead; the right-click and long-press controllers stay on the box. Co-Authored-By: Claude Opus 5.5 --- src/panel/widgets/menu/item.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/panel/widgets/menu/item.cpp b/src/panel/widgets/menu/item.cpp index 46beb5973..7e30f3820 100644 --- a/src/panel/widgets/menu/item.cpp +++ b/src/panel/widgets/menu/item.cpp @@ -70,7 +70,12 @@ WfMenuItem::WfMenuItem(WayfireMenu *_menu, Glib::RefPtr app list_item.append(label); button.set_child(list_item); - list_item.add_controller(left_click_g); + // GtkButton consumes the primary click itself (GTK 4.18), so a click gesture on its + // child never fires: launch from the button's own clicked signal instead. + signals.push_back(button.signal_clicked().connect([=] () + { + on_click(); + })); list_item.add_controller(right_click_g); list_item.add_controller(long_press_g);