From 9e931e39272818093a28c5d3ece2407e67f1ef4e Mon Sep 17 00:00:00 2001 From: cinerea0 Date: Sat, 18 Nov 2023 16:00:00 -0500 Subject: [PATCH] Waybar: update to 0.9.24 --- .../Waybar/patches/fix-button-release.patch | 98 ------------------- srcpkgs/Waybar/template | 6 +- 2 files changed, 3 insertions(+), 101 deletions(-) delete mode 100644 srcpkgs/Waybar/patches/fix-button-release.patch diff --git a/srcpkgs/Waybar/patches/fix-button-release.patch b/srcpkgs/Waybar/patches/fix-button-release.patch deleted file mode 100644 index 37301c7d20d85..0000000000000 --- a/srcpkgs/Waybar/patches/fix-button-release.patch +++ /dev/null @@ -1,98 +0,0 @@ -# https://github.com/Alexays/Waybar/pull/2414, should be in next release -diff --git a/include/AModule.hpp b/include/AModule.hpp -index 9b16076bd3..479755b77b 100644 ---- a/include/AModule.hpp -+++ b/include/AModule.hpp -@@ -36,26 +36,34 @@ class AModule : public IModule { - - virtual bool handleToggle(GdkEventButton *const &ev); - virtual bool handleScroll(GdkEventScroll *); -+ virtual bool handleRelease(GdkEventButton *const &ev); - - private: -+ bool handleUserEvent(GdkEventButton *const &ev); -+ - std::vector pid_; - gdouble distance_scrolled_y_; - gdouble distance_scrolled_x_; - std::map eventActionMap_; - static const inline std::map, std::string> eventMap_{ - {std::make_pair(1, GdkEventType::GDK_BUTTON_PRESS), "on-click"}, -+ {std::make_pair(1, GdkEventType::GDK_BUTTON_RELEASE), "on-click-release"}, - {std::make_pair(1, GdkEventType::GDK_2BUTTON_PRESS), "on-double-click"}, - {std::make_pair(1, GdkEventType::GDK_3BUTTON_PRESS), "on-triple-click"}, - {std::make_pair(2, GdkEventType::GDK_BUTTON_PRESS), "on-click-middle"}, -+ {std::make_pair(2, GdkEventType::GDK_BUTTON_RELEASE), "on-click-middle-release"}, - {std::make_pair(2, GdkEventType::GDK_2BUTTON_PRESS), "on-double-click-middle"}, - {std::make_pair(2, GdkEventType::GDK_3BUTTON_PRESS), "on-triple-click-middle"}, - {std::make_pair(3, GdkEventType::GDK_BUTTON_PRESS), "on-click-right"}, -+ {std::make_pair(3, GdkEventType::GDK_BUTTON_RELEASE), "on-click-right-release"}, - {std::make_pair(3, GdkEventType::GDK_2BUTTON_PRESS), "on-double-click-right"}, - {std::make_pair(3, GdkEventType::GDK_3BUTTON_PRESS), "on-triple-click-right"}, - {std::make_pair(8, GdkEventType::GDK_BUTTON_PRESS), "on-click-backward"}, -+ {std::make_pair(8, GdkEventType::GDK_BUTTON_RELEASE), "on-click-backward-release"}, - {std::make_pair(8, GdkEventType::GDK_2BUTTON_PRESS), "on-double-click-backward"}, - {std::make_pair(8, GdkEventType::GDK_3BUTTON_PRESS), "on-triple-click-backward"}, - {std::make_pair(9, GdkEventType::GDK_BUTTON_PRESS), "on-click-forward"}, -+ {std::make_pair(9, GdkEventType::GDK_BUTTON_RELEASE), "on-click-forward-release"}, - {std::make_pair(9, GdkEventType::GDK_2BUTTON_PRESS), "on-double-click-forward"}, - {std::make_pair(9, GdkEventType::GDK_3BUTTON_PRESS), "on-triple-click-forward"}}; - }; -diff --git a/src/AModule.cpp b/src/AModule.cpp -index 2626cd89f2..398fa5187f 100644 ---- a/src/AModule.cpp -+++ b/src/AModule.cpp -@@ -27,20 +27,28 @@ AModule::AModule(const Json::Value& config, const std::string& name, const std:: - } - - // configure events' user commands -- if (enable_click) { -+ // hasUserEvent is true if any element from eventMap_ is satisfying the condition in the lambda -+ bool hasUserEvent = -+ std::find_if(eventMap_.cbegin(), eventMap_.cend(), [&config](const auto& eventEntry) { -+ // True if there is any non-release type event -+ return eventEntry.first.second != GdkEventType::GDK_BUTTON_RELEASE && -+ config[eventEntry.second].isString(); -+ }) != eventMap_.cend(); -+ -+ if (enable_click || hasUserEvent) { - event_box_.add_events(Gdk::BUTTON_PRESS_MASK); - event_box_.signal_button_press_event().connect(sigc::mem_fun(*this, &AModule::handleToggle)); -- } else { -- std::map, std::string>::const_iterator it{eventMap_.cbegin()}; -- while (it != eventMap_.cend()) { -- if (config_[it->second].isString()) { -- event_box_.add_events(Gdk::BUTTON_PRESS_MASK); -- event_box_.signal_button_press_event().connect( -- sigc::mem_fun(*this, &AModule::handleToggle)); -- break; -- } -- ++it; -- } -+ } -+ -+ bool hasReleaseEvent = -+ std::find_if(eventMap_.cbegin(), eventMap_.cend(), [&config](const auto& eventEntry) { -+ // True if there is any non-release type event -+ return eventEntry.first.second == GdkEventType::GDK_BUTTON_RELEASE && -+ config[eventEntry.second].isString(); -+ }) != eventMap_.cend(); -+ if (hasReleaseEvent) { -+ event_box_.add_events(Gdk::BUTTON_RELEASE_MASK); -+ event_box_.signal_button_release_event().connect(sigc::mem_fun(*this, &AModule::handleRelease)); - } - if (config_["on-scroll-up"].isString() || config_["on-scroll-down"].isString() || enable_scroll) { - event_box_.add_events(Gdk::SCROLL_MASK | Gdk::SMOOTH_SCROLL_MASK); -@@ -72,7 +80,11 @@ auto AModule::doAction(const std::string& name) -> void { - } - } - --bool AModule::handleToggle(GdkEventButton* const& e) { -+bool AModule::handleToggle(GdkEventButton* const& e) { return handleUserEvent(e); } -+ -+bool AModule::handleRelease(GdkEventButton* const& e) { return handleUserEvent(e); } -+ -+bool AModule::handleUserEvent(GdkEventButton* const& e) { - std::string format{}; - const std::map, std::string>::const_iterator& rec{ - eventMap_.find(std::pair(e->button, e->type))}; diff --git a/srcpkgs/Waybar/template b/srcpkgs/Waybar/template index 48b341059530a..01d8639f69998 100644 --- a/srcpkgs/Waybar/template +++ b/srcpkgs/Waybar/template @@ -1,7 +1,7 @@ # Template file for 'Waybar' pkgname=Waybar -version=0.9.22 -revision=2 +version=0.9.24 +revision=1 build_style=meson configure_args="-Dgtk-layer-shell=enabled -Dlibudev=enabled -Dman-pages=enabled -Dsystemd=disabled -Drfkill=enabled @@ -30,7 +30,7 @@ license="MIT" homepage="https://github.com/Alexays/Waybar" changelog="https://github.com/Alexays/Waybar/releases" distfiles="https://github.com/Alexays/Waybar/archive/refs/tags/${version}.tar.gz" -checksum=61e8d934c178b9da8212162398d2be44c5606c92b9a3503526993bb204206c6b +checksum=57aa7860bc066ebf4f3327dafa9841100b098c0dec1dce4baaa1fae63e9b57ae conf_files="/etc/xdg/waybar/config /etc/xdg/waybar/style.css" build_options="libnl pulseaudio dbusmenugtk mpd sndio jack pipewire"