Created attachment 38253 [details] [review]
Change GNOME screensaver to use D-Bus API
Changes the screensaver_gnome_screensaver to use the GNOME D-Bus API, as documented at http://people.gnome.org/~mccann/gnome-screensaver/docs/gnome-screensaver.html and using the same approach used by the "Use SimulateUserActivity instead of Inhibit for D-Bus screensavers" patch in Bug #26085 and the "Change screensaver_freedesktop's interpretation of GetActive" patch in Bug #29859.
Note, also, that GNOME screensaver's "legacy" inhibit support is currently broken ( https://bugzilla.gnome.org/show_bug.cgi?id=579430 ), and gnome-screensaver-command --poke does not work. This patch changes xdg-screensaver so it no longer uses gnome-screensaver-command for control, so--in addition to using the "preferred" API for GNOME screensaver control--it also works around the broken legacy inhibit issue.
This patch does not change detectDE or the use of gnome-screensaver-command -q to determine DE.
Looks like a winner, I'll try to review/test and commit this soon.
Patch applied, thanks!