Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] Waybar: update to 0.9.22
@ 2023-08-17  3:02 cinerea0
  2023-08-20 21:14 ` [PR PATCH] [Merged]: " Duncaen
  0 siblings, 1 reply; 2+ messages in thread
From: cinerea0 @ 2023-08-17  3:02 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 380 bytes --]

There is a new pull request by cinerea0 against master on the void-packages repository

https://github.com/cinerea0/void-packages waybar
https://github.com/void-linux/void-packages/pull/45630

Waybar: update to 0.9.22
#### Testing the changes
- I tested the changes in this PR: **YES**


A patch file from https://github.com/void-linux/void-packages/pull/45630.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-waybar-45630.patch --]
[-- Type: text/x-diff, Size: 6729 bytes --]

From a720f9ce63248c54f44ab21a39b9beabed9caf1d Mon Sep 17 00:00:00 2001
From: cinerea0 <cinerea0@disroot.org>
Date: Wed, 16 Aug 2023 23:00:51 -0400
Subject: [PATCH] Waybar: update to 0.9.22

---
 .../Waybar/patches/fix-button-release.patch   | 98 +++++++++++++++++++
 srcpkgs/Waybar/template                       |  6 +-
 2 files changed, 101 insertions(+), 3 deletions(-)
 create 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
new file mode 100644
index 0000000000000..37301c7d20d85
--- /dev/null
+++ b/srcpkgs/Waybar/patches/fix-button-release.patch
@@ -0,0 +1,98 @@
+# 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<int> pid_;
+   gdouble distance_scrolled_y_;
+   gdouble distance_scrolled_x_;
+   std::map<std::string, std::string> eventActionMap_;
+   static const inline std::map<std::pair<uint, GdkEventType>, 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::pair<uint, GdkEventType>, 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::pair<uint, GdkEventType>, std::string>::const_iterator& rec{
+       eventMap_.find(std::pair(e->button, e->type))};
diff --git a/srcpkgs/Waybar/template b/srcpkgs/Waybar/template
index c440672509f72..14e81fa78ac5f 100644
--- a/srcpkgs/Waybar/template
+++ b/srcpkgs/Waybar/template
@@ -1,7 +1,7 @@
 # Template file for 'Waybar'
 pkgname=Waybar
-version=0.9.20
-revision=3
+version=0.9.22
+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=e300183defece4799b6dfb7aea72400492ec6e330217c22158a334f35532d014
+checksum=61e8d934c178b9da8212162398d2be44c5606c92b9a3503526993bb204206c6b
 conf_files="/etc/xdg/waybar/config /etc/xdg/waybar/style.css"
 
 build_options="libnl pulseaudio dbusmenugtk mpd sndio jack pipewire"

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PR PATCH] [Merged]: Waybar: update to 0.9.22
  2023-08-17  3:02 [PR PATCH] Waybar: update to 0.9.22 cinerea0
@ 2023-08-20 21:14 ` Duncaen
  0 siblings, 0 replies; 2+ messages in thread
From: Duncaen @ 2023-08-20 21:14 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 228 bytes --]

There's a merged pull request on the void-packages repository

Waybar: update to 0.9.22
https://github.com/void-linux/void-packages/pull/45630

Description:
#### Testing the changes
- I tested the changes in this PR: **YES**


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-08-20 21:14 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-08-17  3:02 [PR PATCH] Waybar: update to 0.9.22 cinerea0
2023-08-20 21:14 ` [PR PATCH] [Merged]: " Duncaen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).