xfce4-notifyd started at login and owns org.freedesktop.Notifications bus. I does not know currently, if it happens when some app send notification at login or not. Reproducible: Always Steps to Reproduce: 1. Install xfce4-notifyd (or other notification-daemon like notify-osd) 2. Reboot and Login to KDE 3. run notify-send something Actual Results: xfce4-notifyd show notification Expected Results: Plasma Shell must show notification
It looks like something is emitting a notification before plasma starts, which sends a dbus message to org.freedesktop.Notification. This in turn activates xfce4-notifyd because it's dbus activatable. This could possibly be prevented by KNotification checking if it's in a full Plasma session and delaying talking to the server until Plasma is ready. I'll see what we can do.
maybe it is a jabber client (but I think this is not a Jabber client bug.)
On a second thought, I can only fix KNotification. If anything else will emit a notification before Plasma starts, the dbus activation service file will activate it before Plasma and then there's nothing Plasma can do about it. Ideally notification displays should be parts of shell rather than having an activatable dbus file. That way it basically hijacks any shell notification service.
I think there is a reasonable workaround: watch an owner of org.freedesktop.Notifications bus, and if we are in KDE and plasma runs, kill the owner and install your own daemon.
No. Some people actually do prefer using different notification clients.
But it can be tuned in settings, like Colibri notifications in KDE4 do. For example, add a setting named "notification daemon" to default apps (like window manager) and made KDE check for this particular notification daemon. If notification daemon set to Plasma, use workaround. Else do nothing and wait for external daemon.
To be honest, this should be up to the 3rd party parts. Ideally xfce4-notifyd should not be dbus activatable but rather autostarted with proper desktops by using the autostart features. This is (again) not really our fault.
So I actually checked our KNotification code and we definitely not start the notification service if it isn't running, so my bet would be that your xfce4-notifyd is either autostarted (by installing the .desktop file into $AUTOSTART folder) or there's something else calling to org.freedesktop.Notifications during session restore, maybe a GNotification (I don't know its code, but given it's not checking for server capabilities, maybe it does not check for the service existence first at all and calls the interface directly, but that's only strong speculation on my side) or some other class, that would cause the xfce4-notifyd to load before Plasma and blocking Plasma's own notifications. However, there's nothing from Plasma side that would make it auto started. And we can't exactly prevent it either as such situations may be wanted (and I do have reports about that). So my suggestion is to either remove the dbus .service file for it and/or make sure the app is started only with xfce (it should have its own autostart folder I believe).
I get a workaround for it. Edit "/usr/share/dbus-1/services/org.xfce.xfce4-notifyd.Notifications.service" and change the exec key to a script that verifies if it is KDE or not. Here is my "/usr/lib/xfce4/notifyd/xfce4-notifyd-iskde". #!/bin/bash # This file is used to prevent xfce4-notifyd startx with kde if [[ $XDG_CURRENT_DESKTOP = "KDE" ]] then exit fi exec /usr/lib/xfce4/notifyd/xfce4-notifyd