Re: gnome-screensaver 0.0.23



Hi Richard,

Sorry for the delay.  Happy New Year.

Richard Hughes wrote:
On Mon, 2005-12-19 at 11:26 -0500, William Jon McCann wrote:
* The removal of the getIdle D-Bus method.
* The renaming of getIdleTime D-Bus method to getActiveTime.

getActiveTime allows to to get the time the screensaver has been
running, but what if the user sets the screensaver to disabled? Then we
get no ActiveChanged signal, nor can g-p-m use g-s to find out the idle
time of the mouse and keyboard.

That is correct. I renamed the method precisely because of this confusion - it was never really giving you the correct idle state or time.

In an ideal world, I would like g-s to emit "IdleStateChanged true" when
idle for > 60 seconds (and false when the keyboard is pressed or the
mouse is then moved) -- then other programs can then call a method
getIdleTime() to get the time the keyboard/mouse has been idle. This
minimises DBUS signal traffic.

I just committed some changes that add a SessionIdleChanged D-Bus signal. This signal is emitted after detecting the session is idle for longer than the screensaver timeout. The getSessionIdleTime method returns the time since the session went idle.

In the case where screensaver activation is enabled there will be two D-Bus signals emitted when the session goes idle: SessionIdleChanged, ActiveChanged. When the screensaver activation is disabled, only SessionIdleChanged will be emitted.

This would be independent of the screensaver. This information is
already calculated in g-s (for the screensaver internals), and I'm
guessing it would be fairly easy to export it again.
I really don't want to duplicate all that nasty X11 code in g-p-m just
to get the idle time when the screensaver is disabled.

CVS should now have proper idle detection. Please give it a try and let me know if this works for you.

Thanks,
Jon



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]