GSoC : Multiscreen management
Aaron J. Seigo
aseigo at kde.org
Sat Apr 3 21:04:33 CEST 2010
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.
> 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.
everything else, for an application like plasma or kwin, is a detail.
so, where this gets tricky is when we want to build a tool which allows the
user to configure how the xrandr outputs/screens are configured. Kephal needs
to allow this to happen (perhaps even throught a separate "Controller" API?)
and the tool needs to be written for mortal users not xrandr developers. the
nice thing about making the configuration tool use Kephal is it will put the
developer in the right mindset and not get sucked into xrandr's accurate but
useless for creating usable interfaces model (which is what we have right
now).
i'm not sure (have to look at it again) how much work will be needed in Kephal
to get this going. i do know that there is already one such plasmoid out there
that does screen configuration more elegantly than what we currently have, but
i think it is also using xrandr directly atm?
--
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