Device capabilities / platform status service

Ivan Čukić ivan.cukic at kde.org
Sun Jun 2 08:57:44 UTC 2013


> .. or it could be a library rather than a service?

Honestly, a library (khm khm solid) would be imo the right target. First, we 
can make it as a separate one, and then merge into solid when we are satisfied 
by it, and when kf5/solid is deemed stable.

> screen resolution is already handled by other means. the only use case i can
> actually think for any of the things listed is the keyboard: if there is a
> hardware keyboard, don't show the on-screen software keyboard.

How so? If we have a touch screen - load active shell and active ui for apps, 
if a normal screen - load desktop (potentially netbook depending on the size 
of the screen), if there is a mouse - show the cursor even on active shell.

> things like GPS, g-sensor, etc would be useful (we have those in the
> DataEngine now .. though it isn't dynamic but rather reads a device config,
> that needs improving obviously). particularly since these things can be
> powered off to save on battery.
> 
> if the service could also be used to request that these be turned on, that'd
> be fantastic. some thinking towards security might also be useful in that
> case.

+1 though at a later stage. If these features go into a library, we could 
expose them to the scripting engine in a secure manner.

> How does it need to be more tightly integrated into Plasma than it does kwin
> or any other part of the system? The applications running may also want to
> adjust their UI, and I don't see that as more or less important than the
> desktop shell adjusting.

The current kded module (platformstatus) deals with plasma shell mainly - that 
part is tightly integrated with plasma - for that I don't see a reason to be 
outside of plasma-shell. I agree that the rest should not be in plasma. 

> The real issue is that this requires some cooperation from the window
> manager. When there is a change then, from a user's POV:
> 
> * the screen should fade to a waiting screen
> * the screen should fade back in with everything in its new place
> 
> that means that window manager needs to trigger a compositing effect and
> *then* plasma-device and other applications can do their magic .. when they
> are finished (or a timeout is reached?) the window manager can let the
> desktop be visible again.

This can be *really* problematic - if we want to wait for all applications to 
finish their changes before fading-in, we'll end up with another session 
protocol (or hacking around the current one which proved to be a impossible 
task to do properly). And a misbehaving application could make the system 
unusable or to seem slow.

I think that applications will mostly have smaller changes to make compared to 
plasma and therefore be faster. If it proves not to be true, we can later do 
the session-like thing, or to make a localised version of the kwin effect to 
apply to the windows that haven't finished changing before plasma.

> so i don't see any advantage of putting this service into the desktop shell
> itself when the window manager needs to orchestrate things. i also don't
> believe the triggering mechanism belongs in the window manager / compositor
> any more than any other system level event does.

Agreed.


Cheerio,
Ivan

-- 
Progress isn't made by early risers. It's made by lazy men trying to find
easier ways to do something.
  -- Robert Heinlein



More information about the Plasma-devel mailing list