From 0d604b23de81ba3d03f53ecb983454546917e861 Mon Sep 17 00:00:00 2001 From: AKArien Date: Sun, 17 May 2026 19:32:53 +0200 Subject: [PATCH 1/3] =?UTF-8?q?util=C2=A0:=20wf-popover=C2=A0:=20fix=20get?= =?UTF-8?q?ting=20child=20of=20popover?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit the scrolled window was being returned. proper return accounts for scroll window wrapping children in viewports --- src/util/wf-popover.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/util/wf-popover.cpp b/src/util/wf-popover.cpp index 92d7eefb..091d8870 100644 --- a/src/util/wf-popover.cpp +++ b/src/util/wf-popover.cpp @@ -6,6 +6,7 @@ #include "gtk/gtk.h" #include "gtkmm/eventcontrollermotion.h" #include "gtkmm/gestureclick.h" +#include "gtkmm/viewport.h" #include "gtkmm/widget.h" #include "wf-autohide-window.hpp" #include @@ -299,7 +300,14 @@ void WayfireMenuWidget::set_popup_child(Gtk::Widget & widget) Gtk::Widget*WayfireMenuWidget::get_popup_child() { - return popover.get_child(); + auto child = scroll.get_child(); + // the scrollable window wraps the child given to it in a viewport if it is not scrollable + if (auto *viewport = dynamic_cast(child)) + { + return viewport->get_child(); + } + + return child; } void WayfireMenuWidget::toggle() From 452ed0e20ad5c92921e4ffda06b617ed7f80a13b Mon Sep 17 00:00:00 2001 From: AKArien Date: Sun, 17 May 2026 20:16:28 +0200 Subject: [PATCH 2/3] =?UTF-8?q?panel=C2=A0:=20mixer=C2=A0:=20fix=20gesture?= =?UTF-8?q?s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit added configuration options for the now-possible mute on left click cleaned up handling of opening, closing and replacing the popover --- metadata/panel.xml | 4 ++++ src/panel/widgets/mixer/mixer.cpp | 21 +++++++++++---------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/metadata/panel.xml b/metadata/panel.xml index 3a1551c8..bba6a96a 100644 --- a/metadata/panel.xml +++ b/metadata/panel.xml @@ -415,6 +415,10 @@ If full_span is off, both sides of the panel will take the same amount of space, show_quick_target <_name>Show quick action target + + mute_quick_target + <_name>Mute quick action target +