From 6ac8059f728e027b68512d3e283b11dbb5ac7f03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Danielle=20For=C3=A9?= Date: Wed, 11 Mar 2026 10:59:29 -0700 Subject: [PATCH] PlayerRow: use GtkGesture for title events --- src/Widgets/PlayerRow.vala | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/Widgets/PlayerRow.vala b/src/Widgets/PlayerRow.vala index b7d5a891..272ab40c 100644 --- a/src/Widgets/PlayerRow.vala +++ b/src/Widgets/PlayerRow.vala @@ -31,6 +31,8 @@ public class Sound.Widgets.PlayerRow : Gtk.Box { private string app_name = _("Music player"); private string last_art_url; + private Gtk.GestureMultiPress gesture_click; + public string mpris_name = ""; private AppInfo? ainfo; @@ -249,7 +251,10 @@ public class Sound.Widgets.PlayerRow : Gtk.Box { update_controls (); } - titles_events.button_press_event.connect (raise_player); + gesture_click = new Gtk.GestureMultiPress (titles_events) { + button = Gdk.BUTTON_PRIMARY + }; + gesture_click.released.connect (raise_player); prev_btn.clicked.connect (() => { Idle.add (() => { @@ -387,7 +392,7 @@ public class Sound.Widgets.PlayerRow : Gtk.Box { }); } - private bool raise_player () { + private void raise_player (Gtk.GestureMultiPress gesture, int n_press, double x, double y) { try { close (); if (client != null && client.player.can_raise) { @@ -415,7 +420,8 @@ public class Sound.Widgets.PlayerRow : Gtk.Box { warning ("Could not launch player"); } - return Gdk.EVENT_STOP; + gesture.set_state (CLAIMED); + gesture.reset (); } /**