[maemo-developers] [maemo-developers] How to determine if the screen has turned off?
From: David Weinehall david.weinehall at nokia.comDate: Thu Dec 14 13:04:11 EET 2006
- Previous message: [maemo-developers] How to determine if the screen has turned off?
- Next message: [maemo-developers] How to determine if the screen has turned off?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On tor, 2006-12-14 at 11:01 +0200, ext Kimmo Hämäläinen wrote: > On Wed, 2006-12-13 at 15:22 -0800, ext Aaron Levinson wrote: > > On Wed, 13 Dec 2006, Johan Bilien wrote: > > > > > On Wed, Dec 13, 2006, Aaron Levinson wrote: > > > > In the Maemo coding style and programming guidelines document on > > > > maemo.org, it states the following: "Avoid updating the GUI when the > > > > application running on the background and when the screen has been turned > > > > off. Remove unnecessary graphical elements or constantly updated screen > > > > components." Now, it appears that hildon_window_get_is_topmost() or > > > > hildon_program_get_is_topmost() can be used to determine if an application > > > > is running in the background, but how does one programmatically determine > > > > if the screen has been turned off? I see in the latest version of libosso > > > > in SVN that there is a muali API that provides the ability to access the > > > > information via a callback, but it is unclear how to determine this on 2.0 > > > > or 2.1. Perhaps I can use XScreenSaverQueryInfo() ? > > > > > > http://maemo.org/platform/docs/api/libosso/html/index.html > > > > > > You can register a callback with osso_hw_set_event_cb, set the > > > system_inactivity_ind flag in the osso_hw_state_t argument. > > > > Well, I had already examining the libosso APIs before sending the e-mail, > > and I did notice the system_inactivity_ind flag in the osso_hw_state_t > > struct. However, according to the libosso documentation, if the callback > > is called for system inactivity, this means that "the application should > > reduce its activity". I didn't directly associate this text with the > > screen being blanked, which I think is understandable, since screen > > blanking is not the same thing. > > > > What are the conditions that result in the callback for the system > > inactivity indicator being called? The statement "the application should > > reduce its activity" is somewhat open-ended, and perhaps this callback is > > used for more than just to indicate that the screen has been blanked. > > It's not clear to me either, but you can use the system_inactivity_ind > for the display on/off information as well (I added that to the trunk > libosso.h). I have verified this from the MCE guys some time ago. (MCE guys -- that'd be me, I guess?) Basically, the system_inactivity_ind should not be used for display on/off information, since activity is supposed to be tied to user activity, not screen state; the system can be inactive but still have the display on (however, MCE will not report it as inactive in that case). Sadly some applications relies on the display <-> activity connection, so MCE reports display on as activity, and it will still remain supported for a few releases to come. However, I want to make it clear that this is not the proper way to do it, and that such an assumption will be incorrect in the long run. I guess the big problem is that there really hasn't been any proper way to do things... The next version of MCE will introduce a new D-Bus signal for this purpose (display_status_ind, and the companion method-call get_display_status), and one or two releases later the old behaviour will no longer be supported. Hopefully these signals will also be taken in use by libosso. [snip] Regards: David
- Previous message: [maemo-developers] How to determine if the screen has turned off?
- Next message: [maemo-developers] How to determine if the screen has turned off?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]