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