[Openicc] XICC specification draft

Michael Sweet mike at easysw.com
Wed Jun 29 05:31:45 EST 2005


Sven Neumann wrote:
> ...
>>     3. There is no way to specify the geometry of screens - :0.1
>>        may be to the left, right, top, and/or bottom of :0.0 - so
>>        applications have to either ask the user or be hardcoded
>>        when opening windows on multiple screens.
> 
> 
> Huh? You can specify the relation of the screens just like you do for
> a Xinerama setup. How would the X server know how to move the mouse
> between screens otherwise (and yes, it knows how to do that).

First, the original multi-head support on SGI's (which is what
I worked with way back when) only offered primitive support for
this sort of thing - you either did side-by-side or stacked, but
not a combo of the two.

Second, there is no API to query the screen geometries, so an
app has no way to know where :0.1 is located in relation to :0.0
(and there *are* applications that need this info...)

The crude solution we used was to develop our own API and config
file so that we could sanely manage the multi-screen
configurations.

>>     4. You can't drag windows between screens.
> 
> 
> But you can migrate them rather easily. Actually this should be a
> feature of every window manager. So far the application needs to
> provide a way to do it which is of course not a good solution.

Actually, no you can't migrate easily.  Many X servers manage
screen resources separately, and it is not unusual for the two
heads to have completely different configurations running off
two different graphics cards.  In order for an application to
move its window to another screen/display, it has to delete the
original window and ALL other X resources it is using on that
screen/display, and then recreate everything on the new screen.
Unless you depend on the behavior of a particular X server or
graphics driver WRT screen handling, that is the only way to
support multi-screen displays portably.

The beauty of Xinerama is that the application sees a single,
coherent display.  The same X resources and windows are guaranteed
to work on all screens on that display, and the application can get
a list of the screens and their locations within the display area.
Applications and window managers don't have to do anything special
to support multiple screens, but if they choose to they can do so
more easily than with the multiple-screen approach.

Perhaps a hybrid approach (screens addressable both by :0.n or
by geometry) might be useful, however in the long term I think
the Xinerama approach (whether it is still Xinerama or not)
combined with smarter window managers and apps is the best overall
solution and works best with the new technologies coming out of
X.org...

-- 
______________________________________________________________________
Michael Sweet, Easy Software Products           mike at easysw dot com
Internet Printing and Document Software          http://www.easysw.com



More information about the openicc mailing list