GSoC : Multiscreen management

Aaron J. Seigo aseigo at kde.org
Sun Apr 4 22:24:11 CEST 2010


On April 4, 2010, Detlev Casanova wrote:
> On Saturday 03 April 2010 21:04:33 Aaron J. Seigo wrote:
> > On April 2, 2010, Will Stephenson wrote:
> > > Björn's description matches the xrandr model, but not the Kephal one.
> > > Xrandr 1.3 has a single Screen numbered 0 but does not support
> > > additional Screens; xrandr Screens are distinct from the screennumber
> > > in X's $DISPLAY, and multiple Screen support is being discussed again
> > > for xrandr 1.4 according to one of our local Xorg guys.
> > 
> > while i have respect for the low level work that goes on in xrandr, i
> > have no respect for their inability to create an API that is reliable
> > and usable by application developers.
> > 
> > they have changed definitions and even behaviours so many times with no
> > compatibility efforts or warning often enough, and the
> > makes-sense-to-driver- writers-but-is-incomprehensible-to-app-developers
> > naming systems combines with that to lead me to concluce that there is no
> > point or purpose in trying to track xrandr's terminology in our
> > application facing API.
> > 
> > that, really, should be the role of Kephal: to provide a sensible naming
> > scheme, an API that does not jump around every N months underneath us and
> > which is easy to use. so we only should care about how xrandr (and other
> > systems, should we care to :) mates up with Kephal, and to ensure that
> > Kephal gets that right.
> 
> So, does that mean that Kephal would have to have backends to follow xrandr
> changing API ?

and to be portable to other platforms.

> Is the current Kephal API correct ? 

i haven't done a thorough API review of it myself. using it has been quite 
straightforward. there are some small things missing still, though, like being 
able to get the available screen geometry using a Kephal screen id. right now 
we have to go back to KWindowSystem for that; and while it works, it feels a 
bit inconsistent to have to mix Kephal and KWindwoSystem calls.

> What Aike said seems ok but it has to be well documented so people don't
> mix everything up.

yes..

> A Screen might not feel like what it represents in
> xrandr but how would you name that ? I think about a "Desktop" and you
> could put your Desktop on multiple Outputs (Not Screen, a beamer's not
> really a Screen)

first, i think we should stick with Kephal's current terminology. we already 
have code using it and changing it at this point is unlikely to win us very 
much, particularly since this API is just for kdebase/workspace/ (as opposed 
to kde-wide, which would make getting it "right" more important).

> > > Kephal has both multiple Outputs and multiple Screens in its model.  A
> > 
> > the definition of "Screen" is different between xrandr and Kephal. Kephal
> > uses it to mean what app develpers think it means: it's a part of the
> > whole output geometry that the user percieves as one screen.
> 
> That's what I would have called an Output.

an app developer looks at his computer and sees what everyone calls a screen. 
guess what they expect it to be called in the API? ;)

-- 
Aaron J. Seigo
humru othro a kohnu se
GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA  EE75 D6B7 2EB1 A7F1 DB43

KDE core developer sponsored by Qt Development Frameworks


More information about the Plasma-devel mailing list