forked from ecraven/g13
-
Notifications
You must be signed in to change notification settings - Fork 5
Open
Labels
bugSomething isn't workingSomething isn't workinghelp wantedExtra attention is neededExtra attention is neededrelease blockerThis blocks our next releaseThis blocks our next release
Milestone
Description
Right now the AppletManager is pretty rough, and has no idea what to do and simply dumps an exception when one of the following happens:
- An applet on D-Bus dies off
- An applet on D-Bus throws an exception in its D-Bus method handler
At the moment, this is okay-ish since we're still pre-alpha code, but obviously it's not ideal. We need some way of tracking the applet peers on D-Bus. Maybe something like this:
- Applets register D-Bus objects using the interface
com.theonelab.g13.Appletunder the path/com/theonelab/g13/Applet/AppletName AppletManageruses the list of objects under/com/theonelab/g13/Applet/...as it's literal dictionary of applets available every single time it needs to do something with one. IOW, it polls D-Bus for applets and does a loose mapping between applet object name and its internal list of "registered applets".
This would reduce some of the sources of the above two problems, but ultimately, I think we need lots of exception handling written around D-Bus proxies. Maybe a new class that wraps dbus.proxy.ObjectProxy to handle these things more gracefully?
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workinghelp wantedExtra attention is neededExtra attention is neededrelease blockerThis blocks our next releaseThis blocks our next release