Notification Refactorization #21
Replies: 2 comments 1 reply
-
Certainly your proposal will resolve the bug-bear of raven/panel appearing to lock when a dbus notification is emitted and shown. So I'm assuming you are referring to moving the raven dbus server parts out to budgie-daemon (i.e. separate process) and then raven and anything else will sit on the dbus interface as a client? You should be able to have multiple clients accessing the server - probably worth just knocking up a quick demo of this (https://wiki.gnome.org/Projects/Vala/DBusServerSample) |
Beta Was this translation helpful? Give feedback.
-
Agree, this is definitely needed and this work could benefit in other areas such as Abomination witch could similarly provide a DBus API for applets to consume. Elementary implemented something similar to what you are proposing here and could serve as a reference: https://github.com/elementary/notifications |
Beta Was this translation helpful? Give feedback.
-
Currently, the notification system in Budgie is a big jumbled and hard to navigate and understand. Compounding this is that the Raven DBus class seems to have become a catch-all for both Raven stuff and notifications. This makes adding any notification features or making fixes or changes difficult.
I would propose splitting the notification bits out of Raven, including the DBus bits, with Raven then displaying and interacting with notifications via either signals or the dedicated DBus interface.
Doing this would allow greater flexibility with the notification system, such as adding indicators to tasklist items (something I really want, hehe), and maybe allowing applets to do their own stuff with notifications that I can't even think of. It would also make the system as a whole easier to maintain, as there would then be a nice, clean (hopefully) codebase around it. The downside of this is that doing it would probably be a fair bit of work. On the other hand, it might lay out some solid groundwork when the transition to Budgie 11 work begins, and it comes time to port things over.
There are also questions I have such as "what happens when multiple things (Raven, Abomination, applets) want to access the DBus interface?". I'm sure that there is already an answer to that problem, I just don't know it, and the DBus Vala interfaces are a bit confusing to me so far.
Beta Was this translation helpful? Give feedback.
All reactions