In my last post I used the example of NotificationItem protocol to experiment with the D-Bus bindings in Emacs. It was nice because I learned about lexical-let, and in the end it worked!
What is even better is that, not only the author of the D-Bus bindings in Emacs, Michael Albinus, commented on the post, but also implemented functionality that I had to workaround before (thanks, Michael!). This means the code is smaller and the bindings are more complete.
In particular, the bindings now support
- registering properties, and the binding will automatically implement the org.freedesktop.DBus.Properties interface (i.e. the Get, GetAll and Set methods).
- unregistering objects now will release the service name if there are no more methods/properties registered for that service.
Also during that time, the folks working with the protocol, kept reviewing it and the name of protocol changed, now it’s called StatusNotifier.
The new code is available here and should work with recent development versions of Emacs.
By the way, it’s far from being a complete implementation of the protocol, but it’s a nice start and was an excellent way to learn both DBus and Emacs :-).