Emitting the ActiveChanged or similar signal for gnome-screensaver when attempting to lock screen

Hey All,

I was thinking about what to do about the long-standing issue that
spans pretty much every desktop about how to handle conflicting grabs
between a menu, or a workspace switcher (in the case of Unity/Compiz |
GNOME-Shell) and the screensaver. At the moment, because the
screensaver is unable to obtain a cursor and keyboard grab, it fails
to activate until the client that holds those grabs releases the grab.
I'm trying to see if we can at least work around that partially in
compiz' workspace switcher by listening for
org.gnome.ScreenSaver.ActiveChanged and deactivating the workspace
switcher / spread view, but it doesn't seem to emit that signal until
it obtains the grab.

What are everyone's ideas about either emitting the signal when
gnome-session attempts to lock the screen or adding a new signal that
is emitted to interested grab-holders when the screensaver wants to
lock the screen so they can release their grabs. I understand it is
more or less of a work-around for X11's grabs being broken in the
first place, but the benefits seem to outweigh the detriments.



Sam Spilsbury

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