KIdleTime: early and/or failing/rejected timeout detection?

Martin Graesslin mgraesslin at kde.org
Wed Nov 18 07:11:09 UTC 2015


On Tuesday, November 17, 2015 6:33:17 PM CET René J. V. Bertin wrote:
> Martin Graesslin wrote:
> > NO POLLING!
> > 
> > If you cannot do that on OSX, I really think it's better to not provide
> > it. If you think it's unfair that there is a backend for X11 which
> > performs polling, then I'm going to delete the XScreenSaver based one.
> 
> I'm not adding code that polls, I'm modifying an implementation that polls.
> I'm even making it less dependent on frequent polling in its default
> configuration, inspired by WidgetBasedPoller.
> 
> I'm not touching your Wayland implementation, nor the Xcb implementation,
> but I don't see your gripe with changing things in code that is written by
> someone else...
> 
> If developing KF5 frameworks isn't a democratic endeavour I don't really see
> what I'm doing here either.

erm, I don't see how you can come to that conclusion. I'm providing my 
feedback here based on the fact that I recently:

* changed KIdleTime to use plugins
* implemented a Wayland backend

The feedback I'm giving you is "no polling". You so far ignored this feedback 
and came up with very confusing mails about things which absolutely do not 
matter in the framework and stuff like optimal polling intervals and what not. 
All things that are completely irrelevant if you don't use polling. This makes 
the interaction very difficult, because I have a feeling of being ignored and 
having to explain things again and again.

Now of course I care about the implementation of KIdleTime on OSX. KIdleTime 
is a useful framework, but if it polls it's in my opinion a useless framework 
and hardly useable for applications. The idea of the framework is to be 
smarter than what applications would come up with. If the implementation polls 
it triggers wakeups in each application which uses it. This is bad, I hope I 
don't have to explain how bad it is. And this is completely independent on 
whether the code already polled or not. We have a common code ownership and 
this includes that I do care about the implementation on other platforms. 
Especially as I have written one of the supported platforms. At the moment 
there is nobody in KDE who could provide you better feedback on the framework, 
please don't ignore it.

It is relatively easy to change the architecture in ways that it doesn't poll 
in each application. If it's really impossible to do this without polling: 
create a dedicated process which does the polling for all other users. It's 
easy to come up with such solutions: all it needs is taking a step back when 
getting feedback which is "no polling".

Other solutions could involve looking at what OSX provides and not 
implementing everything. E.g. on Wayland I decided to not implement 
forcePollRequest because I considered this as exposing information a Wayland 
client is not proposed to get. Platform abstracted code also means to look at 
a platform and decide what's doable and what not.

Cheers
Martin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20151118/460d91ef/attachment.sig>


More information about the Kde-frameworks-devel mailing list