nanogui: Screensaver deactivation
Subject:
Screensaver deactivation
From:
CiarĂ¡n ####@####.####
Date:
31 May 2006 14:02:06 +0100
Message-Id: <op.tae2hmzbn2visx@ciaranr.trintech.com>
I've searched the list archives and read every thread where screensaver is
mentioned and I'm still no closer to understanding the process of stopping
the screensaver (i.e. generating a deactivate GR_EVENT_TYPE_SCREENSAVER).
Can anyone point me towards a run-through of the screensaver process.
Should it be started by a dedicated application, calling
GrSetScreenSaverTimeout() and then watching for
GR_EVENT_TYPE_SCREENSAVER? Should the actual screen drawing part be a
separate process that gets forked and killed by that event monitor?
To make things more complicated for me, the keypad driver used in this
platform only allows itself to be opened once at a time (to prevent
another app snooping on keypad input). This type of security is a primary
concern so the nano-X event-driven model, where other apps could monitor
events, isn't suitable. From thought experiments this seems to reduce the
number of options available to signal the screensaver to stop. Maybe
GrInjectKeyboardEvent() would be useful here?
Also, I would like to manuipulate the existing content of the screen
during the screensaver (i.e. ViewML is running and showing a page). Doing
GrCopyArea() from the root window to a new window doesn't seem to work
(starts with a blank screen). Can an application get the current screen
contents using nano-X calls (independent of who drew the window(s) in the
first place)?
If my understanding of anything here is off, please let me know. It's a
confusing enough world to be thrown into late in the day. Thanks.