Catching resume from suspend?
Anders Lund
anders at alweb.dk
Sat Dec 5 18:08:22 GMT 2009
Chani skrev:
> On December 5, 2009 09:21:38 Anders Lund wrote:
> > Hi,
> >
> > Sorry for crossposting, I hope it is not too bad.
> >
> > Now my problem: I have several plasma applets that uses qtimer to
> > schedule updates. These updates are then screwed up because of system
> > suspends (I close the lid of my laptop). So I can see two possible
> > solutions:
> >
> > 1) a signal that informs about a resume from suspend/standby (I tried to
> > use the powersave plasma dataengine which have state variables, but they
> > are not updated during suspend/resume events)
> >
> > 2) using brute force by checking the system time in intervals (such as
> > every minute). In a plasma event this would mean connecting to the time
> > dataengine and compare my scheduled time with the current.
> >
> > I ask because I do not have the knowledge to decide what is the best
> > thing to do, or if 1) is possible at all - afaik it is not, since I
> > havent found any working solution for it (I know there is something
> > called KIdleTime in KDE 4.4, but I do not see how that could help in this
> > case).
>
> #2 is Bad and Wrong; imagine every widget doing that, it'd be ridiculous.
> :)
I thought so :)
> #1 is the right direction, although the exact implementation may differ...
> ideally dataengines should get kicked when there's a time jump or suspend
> or whatever; all the code to handle this should be in libplasma or higher
> (solid?), and it should Just Work for any dataengine. :) and of course a
> signal should be available for non-plasma stuff.
>
> now, I get the feeling that since it doesn't Just Work yet, Solid doesn't
> provide us with any such signal. this feels like the sort of thing that
> solid *should* provide, but I don't know enough about the low-level
> details to say how it should be implemented.
>
> I imagine that the best case would be hal (or whatever backend solid talks
> to) telling us that we've woken up from suspend; if it doesn't do that,
> then at least when *we* initiate the suspend we could make a note of it
> and find a way to signal when we wake up. but I don't know how that stuff
> actually works, so hopefully someone else can explain how and where you
> can implement it. :)
>
> the end result should be that developers can either listen for that signal
> from solid, or just use a dataengine. :)
>
Ok, I also have little knowledge about the lowlevel end, so I hope someone can
with solid knowledge can help here ;)
--
Venlig hilsen,
Anders
More information about the kde-core-devel
mailing list