https://bugs.kde.org/show_bug.cgi?id=489910

            Bug ID: 489910
           Summary: Notifications sent by Quod Libet music player not
                    shown
    Classification: Plasma
           Product: plasmashell
           Version: 6.1.2
          Platform: Other
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: Notifications
          Assignee: plasma-b...@kde.org
          Reporter: f.alexander.wi...@gmail.com
                CC: k...@privat.broulik.de
  Target Milestone: 1.0

SUMMARY
Quod Libet has a plugin "Send Notifications" that uses the
org.freedesktop.Notifications D-Bus interface. However, often the notifications
are not shown or they only appear in the history of notifications with the bell
icon being animated.

The notification settings for Quod Libet are as follows:
Show popups - enabled
Show in do not disturb mode - enabled
Show in history - enabled
Show notification badges - enabled

STEPS TO REPRODUCE
1. Install Quod Libet and Bustle (a tool to watch D-Bus messages) and start
both
2. Add music directory
3. Enable File > Plugins > Song Notifications
4. Set "Show notifcations" to "On all song changes"
5. Disable "Only when the main window is not focused"
6. Record session bus in Bustle
7. Click "Show notification" in the Plugin settings or play song and then click
"Next"

OBSERVED RESULT
Often no notification

Still, Bustle shows the following messages on the session bus:

Method Call:
("Quod Libet", uint32 38, "file:///tmp/cover-l6_prx37.jpg", "Gnarls Barkley -
Crazy", "2∶57\nSt. Elsewhere\n2006", @as [], {"desktop-entry":
<"io.github.quodlibet.QuodLibet">, "image-path":
<"file:///tmp/cover-l6_prx37.jpg">, "image_path":
<"file:///tmp/cover-l6_prx37.jpg">}, 4000)

Method Return:
(uint32 38,)

EXPECTED RESULT
A notification

SOFTWARE/OS VERSIONS
Operating System: openSUSE Tumbleweed 20240704
KDE Plasma Version: 6.1.2
KDE Frameworks Version: 6.3.0
Qt Version: 6.7.2
Kernel Version: 6.9.7-1-default (64-bit)
Graphics Platform: Wayland

ADDITIONAL INFORMATION
I tried both the Flathub package and ran the latest quodlibet.py from git and
there was no difference.

I added some print-debugging to the notifcation extension ext/events/notify.py:

print(f"show_notification()") right after def show_notification(self, song):

and 

print(f"{datetime.datetime.now().strftime('%H:%M:%S')} calling Notify()")
print(f"{datetime.datetime.now().strftime('%H:%M:%S')} Notify() called\n")

before and after

iface.Notify("(susssasa{sv}i)",
                "Quod Libet", self.__last_id, image_uri, title, body,
                actions, hints, pconfig.getint("timeout"))

Notify was called every time I tested it, but the notification did not appear
every time.

I also tested the notifications by writing a small test script:

#
https://pychao.com/2021/03/01/sending-desktop-notification-in-linux-with-python-with-d-bus-directly/

import dbus

item = "org.freedesktop.Notifications"

notify_interface = dbus.Interface(dbus.SessionBus().get_object(item, "/" +
item.replace(".", "/")), item)

app_name = "Test"
replaces_id = 0
app_icon = "fingerprint-gui"
summary = "Hello world!"
body = "This is the notification body"
actions = []
hints = {}
expire_timeout = 3000

notify_interface.Notify(app_name, replaces_id, app_icon, summary, body,
actions, hints, expire_timeout)

This notification is always shown, except for when I run the code too quickly
in succession, which results in the following exception:

dbus.exceptions.DBusException:
org.freedesktop.Notifications.Error.ExcessNotificationGeneration: Created too
many similar notifications in quick succession

But since Quod Libet's notifications are all for different songs, this
shouldn't be an issue.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to