After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 338889 - GNOME screensaver should not activate when evince is in presentation mode
GNOME screensaver should not activate when evince is in presentation mode
Status: RESOLVED FIXED
Product: evince
Classification: Core
Component: general
unspecified
Other All
: Normal normal
: ---
Assigned To: Evince Maintainers
Evince Maintainers
Depends on:
Blocks:
 
 
Reported: 2006-04-18 13:56 UTC by Sebastien Bacher
Modified: 2006-12-18 11:20 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Sebastien Bacher 2006-04-18 13:56:28 UTC
That bug has been opened on https://launchpad.net/distros/ubuntu/+source/gnome-screensaver/+bug/33468

"Description of the problem:
evince can be put into a presentation mode which is good but gnome-screensaver can kick in during such a presenatation which can be faintly embarassing.

Steps to reproduce:
1. Go to System -> Preferences -> Scrensaver .
2. Set session is idle after: to 1 minute.
3. Click Close.
1. Start firefox and go to http://www.changethis.com/20.04CommunityGreens .
2. Click on Download this.
3. Once the first page of the PDF has opened up and gone fullscreen wait for 1 minute.

Expected results:
Screen to stay the same even after 1 minute.

Actual result:
Screen saver kicks in fading the screen and starting a screensaver.

Additional information:
This problem affects a couple of programs with presenation modes like firefox when you press F11 for presentation mode (see http://www.meyerweb.com/eric/tools/s5/ for web presenations) and openoffice's impress when it's in slideshow mode. I heard that gnome-screensaver would avoid blanking when wnck had a fullscreen hint... should I file this bug against the individual packages?
..."
Comment 1 Nickolay V. Shmyrev 2006-04-20 08:27:58 UTC
I don't think it's evince bug, probably we should just wait for wnck implementation of correct behavior
Comment 2 Carlos Garcia Campos 2006-04-20 09:09:21 UTC
Other applications like totem does it. If the screesaver is gnome-screensaver we can talk with the screensaver by using dbus. In addition, maybe we don't want to stop the screensaver in fullscreen mode but only in presentation mode. 
Comment 3 Wouter Bolsterlee (uws) 2006-11-04 19:36:34 UTC
I have a patch implementing exactly this behaviour on my local hard drive, but it is not good enough to commit yet.

I'll keep you informed.
Comment 4 Wouter Bolsterlee (uws) 2006-11-21 23:54:13 UTC
Code is in CVS now, please test ;)

2006-11-22  Wouter Bolsterlee  <wbolster@cvs.gnome.org>

        * configure.ac:
        * cut-n-paste/Makefile.am:
        * cut-n-paste/totem-screensaver/.cvsignore
        * cut-n-paste/totem-screensaver/Makefile.am:
        * cut-n-paste/totem-screensaver/README:
        * cut-n-paste/totem-screensaver/totem-scrsaver.c:
        * cut-n-paste/totem-screensaver/totem-scrsaver.h:
        * shell/Makefile.am:
        * shell/ev-window.c: (ev_window_run_presentation),
        (ev_window_stop_presentation), (ev_window_cmd_help_about),
        (ev_window_init):

        Implemented screensaver enabling/disabling for
        presentation mode (not fullscreen mode). Code stolen
        from Totem (with some minor tweaks). Fixes bug #338889.
Comment 5 Bastien Nocera 2006-12-15 14:09:07 UTC
Note that I could change the API if you're interested in making the changes more generic.
Comment 6 Nickolay V. Shmyrev 2006-12-15 21:40:38 UTC
That would be nice. I actually failed to work with separate dbus connection for screensaver and managed to add dbus connection argument to API. No idea how it's handled in totem:

http://cvs.gnome.org/viewcvs/evince/cut-n-paste/totem-screensaver/totem-scrsaver.c?r1=1.2&r2=1.3
Comment 7 Wouter Bolsterlee (uws) 2006-12-18 11:18:15 UTC
Perhaps different constructors would be a better solution:
- screensaver_new_with_dbus_connection() if you already
  have dbus connection lying around
- screensaver_new() if you don't have one
Comment 8 Wouter Bolsterlee (uws) 2006-12-18 11:18:59 UTC
oh, and a screensaver_set_appliction_name (perhaps as a mandatory argument for all constructors)
Comment 9 Wouter Bolsterlee (uws) 2006-12-18 11:19:59 UTC
Another thing: the API should have enable() and a enable_with_reason(str).