screensaver and power manager dbus interfaces
hughsient at gmail.com
Thu Jun 1 21:31:36 EEST 2006
On Thu, 2006-06-01 at 20:10 +0200, Kevin Ottens wrote:
> Le jeudi 1 juin 2006 00:01, Richard Hughes a écrit :
> > Okay, my first post to this list, so I hope I'm aiming in the right
> > direction.
> > gnome power manager : org.gnome.PowerManager
> > gnome screensaver : org.gnome.ScreenSaver
> > This should probably be cross desktop and less gnome-y as there's no
> > reason another program shouldn't just drop in as a replacement for
> > either xfce, kde or just a slim-line gnome replacement.
> In the following I'll assume that you expect the "org.gnome.PowerManager" to
> be implementer by a session daemon since that's what g-p-m is. Although I
> fully understand the need for a session daemon regarding screensaver, I'm not
> sure I like the idea of a per session daemon for power management.
To interact with the session we need this to be session context rather
than system context. Plus with David's work, the distinction between
session and system will be a lot smaller. For powersaved, any session
program can just process and forward any stuff to a system daemon is
required, as a bit of session glue is required anyway for the
notifications and per-user config etc.
> I'm not sure I like the "Suspend", "Hibernate", "CanSuspend", "CanHibernate"
> naming. Although it makes sense to use such metaphors for the GUI, I'd expect
> the API to state exactly what it does. So using SuspendToRam, SuspendToDisk
> and Standby (which is lacking currently, but afaik it's not really used so
> that's not really a problem I guess) would make me happier.
I've written lots about this in the past:
http://live.gnome.org/GnomePowerManager/SleepNames -- converting between
one name "for developers" and one name "for users" makes everyone very
confused when people start having problems. I'll not write more here, as
I've explained why RAM and DISK are words we should avoid on the wiki.
> Regarding "Shutdown", I'm wondering if it's companion "Reboot" should be in
> the interface too?
For completeness, probably.
> - ScreenSaver
> Regarding "Poke", well I like the name, but I'm not sure its use is obvious.
It's not obvious at all. Perhaps SimulateUserActivity would be better.
> - PowerManager + ScreenSaver
> You use InhibitInactiveSleep/AllowInactiveSleep in PowerManager, and
> Inhibit/UnInhibit in ScreenSaver. Maybe it would be better to choose one
> pair. I'd personally prefer Inhibit/UnInhibit everywhere.
Sounds sane, although we could go the other way and make the screensaver
> More generally regarding the inhibit related methods in both interface, I
> think the descriptions should be made a bit more clear on the constraints
> imposed on the implementation. In particular the fact that it must rely on
> D-Bus disconnect to clean the cookies of crashed applications. That would
> surely remove some concerns of developers using the interface (as we already
> seen in this thread).
Yes, that's something we have to document. Thanks for your mail.
More information about the xdg