fix spotify tray icon

This commit is contained in:
2025-12-10 01:41:34 +01:00
parent 70a271fb8b
commit 5341faeed2
4 changed files with 15 additions and 8 deletions

View File

@@ -1,6 +1,5 @@
#include "widgets/tray.hpp"
#include <cstdint>
#include <gtk/gtk.h>
#include <gdkmm/rectangle.h>
#include <gio/gmenu.h>
@@ -36,7 +35,10 @@ TrayIconWidget::TrayIconWidget(TrayService &service, std::string id)
m_image.set_visible(true);
set_child(m_container);
signal_clicked().connect(sigc::mem_fun(*this, &TrayIconWidget::on_primary_clicked));
m_primaryGesture = Gtk::GestureClick::create();
m_primaryGesture->set_button(GDK_BUTTON_PRIMARY);
m_primaryGesture->signal_released().connect(sigc::mem_fun(*this, &TrayIconWidget::on_primary_released));
add_controller(m_primaryGesture);
m_secondaryGesture = Gtk::GestureClick::create();
m_secondaryGesture->set_button(GDK_BUTTON_SECONDARY);
@@ -96,14 +98,14 @@ void TrayIconWidget::update(const TrayService::Item &item)
set_sensitive(item.status != "Passive");
}
void TrayIconWidget::on_primary_clicked()
void TrayIconWidget::on_primary_released(int /*n_press*/, double x, double y)
{
m_service.activate(m_id, 0, 0);
m_service.activate(m_id, -1, -1);
}
void TrayIconWidget::on_secondary_released(int /*n_press*/, double x, double y)
{
m_service.contextMenu(m_id, static_cast<int32_t>(x), static_cast<int32_t>(y));
m_service.contextMenu(m_id, -1, -1);
if (!ensure_menu())
{