Hello, X11 folks:
How does XQuartz map Mac OS X “spaces” and “displays” to X “output”,
“display”, and “screens”? How can I configure?
(I'd welcome an answer here. Or, if you like getting Stack Exchange
points, I have asked the question at
<https://apple.stackexchange.com/questions/308642/how-does-xquartz-map-mac-os-x-spaces-and-displays-to-x-output-display>,
and I'll be glad to upvote helpful answers there.)
Mac OS X organises visual output and windows in terms of "spaces" (as in
Mission Control) and "displays". Xquartz implements the X Windows model
of "output", "display", and "screens". The X "display" is the totality
of visual output devices associated with a single keyboard. X "screens"
correspond to Mac "displays".
How does Xquartz map from Mac OS X concepts to X Windows concepts? How
does Xquartz determine what "output", "display", and "screens" to
generate when it starts an X server on a Mac?
For example, I have a MacBook Pro running Mac OS X El Capitan 10.11.6.
It has a "built-in display" with 2880x1800 pixels. Because it is a
high-resolution Retina display, Mac OS presents it as a
conventional-resolution display with 1440x900 pixels in most cases. I
have an external conventional-resolution display attached, with
1920x1200 pixels. I told Mac OS that the external display is arranged
above the built-in display. In Mission Control, I have the "Displays
have separate Spaces" option *un*checked.
I have Xquartz 1.18.4 installed as "xorg-server" from MacPorts. It is
located at |/Applications/MacPorts/X11.app|. When I run that app, then
run |xrandr| in a shell window, I get:
|% xrandr
xrandr: Failed to get size of gamma for output default
Screen 0: minimum 640 x 480, current 1920 x 2100, maximum 2880 x 2122
default connected 1920x2100+0+0 0mm x 0mm
2880x1800 60.00
1440x900 60.00
2560x1600 60.00
2048x1280 60.00
1024x768 60.00
800x600 60.00
640x480 60.00
1680x1050 60.00
1280x800 60.00
1920x2100 1.00*
1920x2122 2.00 |
So Xquartz appears to generated one X "output", named "default". It has
created a single X "display", consisting of one X "screen" of a pixel
size which is the union of my two displays: max(1440,1920) x (900+1200),
or 1920x2100.
What is the algorithm Xquartz follows to make this mapping? Why is there
only one "output", when the hardware drives two monitors? Why has
Xquartz supplied one X "screen", instead of two? How does the
configuration of Mac "spaces" and "Mission Control" affect this mapping?
Pointers to documentation would be great. I can't find it.
And, how can I configure this mapping? Can I put something in a config
file which causes Xquartz to treat each of my Mac "displays" as a
separate X "screen"? Again, pointers to docs would be great.
The obvious use of |xrandr| seems to have no effect. For example,
|% xrandr --output default --fb 1920x1200
xrandr: Failed to get size of gamma for output default
xrandr: specified screen 1920x1200 not large enough for output default
(1920x2100+0+0)
|
Again, I'd be glad for an answer here or on Stack Exchange. Thanks in
advance.
Best regards,
—Jim DeLaHunt, Vancouver, Canada
--
--Jim DeLaHunt, [email protected] http://blog.jdlh.com/ (http://jdlh.com/)
multilingual websites consultant
355-1027 Davie St, Vancouver BC V6E 4L2, Canada
Canada mobile +1-604-376-8953
_______________________________________________
Do not post admin requests to the list. They will be ignored.
X11-users mailing list ([email protected])
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/x11-users/archive%40mail-archive.com
This email sent to [email protected]