On Fri, 2009-07-24 at 10:54 +0200, ext Andrew Flegg wrote: > On Fri, Jul 24, 2009 at 07:55, daniel wilms<daniel.wi...@nokia.com> wrote: > > > > there is an API to detect if the window is in the foreground or not (thx to > > Kimmo > > for pointing me to this) [1]. If this property is true, then the window is > > visible > > on the screen. You can use this parameter directly from your root window. > > And here
Not "your root window", but "the root window". The property in the root window is _MB_CURRENT_APP_WINDOW and is-topmost in libhildon tracks that property. > > [2] you find the method to get the value of the parameter. > > Yup, indeed. (PyMaemo doesn't expose the method, but you can get the > property). > > However, what's the best way of detecting when you come *back* to the > foreground? I didn't get a property-change event (although this could > be due to a PyMaemo bug rather than a Hildon one). The property changes to true when you come back to foreground. Only in the visible HildonWindow, of course (in case you have a stack of windows). > My basic code structure is: > > * while timer fires: > - check is-topmost > - if false, cancel timer and return > - update screen > > * when receiving focus-in event: > - check is-topmost > - if true, re-initialise timer > > * when osso signal for power state received: > - cancel, or re-initialise, timer as appropriate > > This works fine on Diablo (can't test on Fremantle due to no app > switching). The "focus-in" bit seems a bit hacky, though. But if > there's no better way which the Hildon developers/Nokia recommend, > that's fine by me. Probably Python bindings are confused then. You don't need any timers to use it. -Kimmo > > Cheers, > > Andrew > _______________________________________________ maemo-developers mailing list maemo-developers@maemo.org https://lists.maemo.org/mailman/listinfo/maemo-developers