If that layer that [is|must surely be] providing X configuration out
of Quartz's runtime state in lieu of an /etc/X11/xorg.conf could
produce a ServerLayout and Screen sections that actually reflect a
multi-screened Mac's setup at that moment rather than creating a
single screen that's a union of all the Mac screens... maybe all
xinerama stuff would suddenly start working? :-D
XINERAMA and PseudoramiX are, AFAICT, the same thing. It's the X11
extension that makes two monitors look like one screen.
No, I think xinerama is the whole bunch of multi-screen functionality
isn't it? And having it be one logical screen is just one setting (and
an almost useless one IMHO). Maybe that's not what xinerama is; I
thought it was, but I'm not claiming special expertise and I may have
been labouring under a terminology misapprehension.
I believe this was enabled by default on Tiger, and then we
accidentally shipped Leopard with it disabled by default, which
resulted in a bazillion "I can't drag my window between screens" bugs,
so now we've re-enabled it.
You can disable it by running Xquartz as "Xquartz -extension
XINERAMA", which will fix the size of screen 0 but apparently does not
actually then give you a screen 1.
Doesn't seem to work. I still get:
print screen: no
dimensions: 3360x1050 pixels (1138x356 millimeters)
resolution: 75x75 dots per inch
depths (7): 24, 1, 4, 8, 15, 16, 32
root window id: 0x3f
depth of root window: 24 planes
number of colormaps: minimum 1, maximum 1
Maybe because xinerama isn't made relevant by the fact that it's only
being told about one (very wide) physical screen?
Same with Xquartz -xinerama which says it's supposed to disable
xinerama. However one difference is that xdpyinfo still lists XINERAMA
whereas with -extension XINERAMA it doesn't; but the single screen size
remains the same.
So, that's a bug right there -- that you only get one screen even with
BTW, I understand how important this issue is for people on both sides
of the fence. At my previous job, we used AIX workstations (running
X11, obviously) with some custom app that placed a menu bar at the top
of the screen. Every workstation had two or three LCD panels, which
all ran as :0.0, :0.1, and :0.2. Someone discovered that these could
be configured as one screen -- "panorama mode", they called it -- by
calling our IT guys and having them change some boot argument flag,
then rebooting the workstation. I thought this was a fantastic idea
-- it meant I could finally drag things between displays -- but many
people disagreed. They hated the fact that the menu bar now spanned
both screens (whereas before it was only on :0.0), and that when xdm
put up the login prompt in the "center of the screen", in the
two-monitor configuration the prompt was split between the two screens.
Which is exactly what I'm getting now. And I'm fairly sure you can have
multiple heterogenous screens in X11, whose physical relationships is
defined by ServerLayout and you can move windows between them...
So, yes. Having multiple screens -- in the X11 sense -- should be
supported, but as the comment in the source says, it's not well tested.
Well, let's test it. :-) For one, how is adding and removing screens not
possible? How is it done on other Unixes? It's probably expected that
there's a re-initialisation process, but why is that a problem for even
the initial set up?
Not knowing X11 (or Quartz for that matter) internals I am of course
making wild assumptions here; like for instance, that somewhere X11
makes calls to some configuration API that tells it what its settings
are, which normally comes from having parsed an xorg.conf file but
presumably here gets its values from the Quartz api. (the 'quartz' in
'Xquartz' :-) ) And that maybe there's some kind of ServerLayoutChanged
and ScreenChanged event that can tell it to re-read its config? Even at
worst a SIGHUP though i bet that hurts existing windows...
I can't imagine the horror if it wasn't written that way. :-} ("The
horror. The horror.")
Do not post admin requests to the list. They will be ignored.
X11-users mailing list (email@hidden)
This email sent to email@hidden