Comment 5 for bug 1017005

Revision history for this message
Aurélien Gâteau (agateau) wrote :

First some context: a KDE notification can be a combination of a popup (the kind of notifications shown by notify-osd), a dialog box, a sound, a command to run and/or an entry in a file.

Here is the (convoluted) way notifications work for KDE apps (Quassel with kdelibs can be considered a KDE app in this context)

1. The KDE app uses kdelibs API to create a notification.

2. If knotify4 is not running, the kdelibs API starts it. Knotify4 is responsible for handling notifications from all KDE apps. Knotify4 handles almost all notification kinds internally, except for popups.

3. If the notification is a popup, knotify4 checks if there is a popup notification server running. On KDE this is either Plasma itself or Colibri, on Unity it is notify-osd, on Gnome it is notification-daemon.

4a. If knotify4 finds a popup notification server, it sends the notification to it, so you get libnotify-style notifications (libnotify talks directly to the popup notification server)

4b. If knotify4 cannot find a popup notification server, it shows the notification itself, in a gray box with thick black borders

I assume you fall into 4b, which can happen if the popup notification server is not running. At startup, knotify4 tries to start a popup notification server if there is none, but it won't check again after that.

What you can do is: next time you get a knotify box, check if there is a notify-osd process running. If there is none, try to start one from the terminal (the path to the binary is: /usr/lib/notify-osd/notify-osd ) and see if it dies. If it dies, report a bug against notify-osd.