Ticket #460 (closed usability: fixed)
XQuartz 2.6.0 multi-head screen size updating issue.
| Reported by: | rjvbertin@… | Owned by: | jeremyhu@… |
|---|---|---|---|
| Priority: | Expected | Milestone: | 2.6.1 |
| Component: | xserver | Version: | 2.6.0 (xserver-1.9.3) |
| Keywords: | multi-head, configuration updating | Cc: |
Description
All X11 servers I've used until now under OS X updated their display info when I changed the external display on my laptop (Powerbook and now MBP), without action on my part. XQuartz 2.6.0 no longer does this correctly, which is quite annoying. The information returned by xwininfo -root is correct, as is the size information available via Xinerama. However, xdpyinfo will report the size information that was valid for the screen configuration that existed when the X11 server was started. It appears that it is this information that is also used by XParseGeometry, judging how position co-ordinates relative to the right and/or bottom edges are not interpreted relative to the actual screen configuration.
My procedure for changing screens:
1- use FUS to go to the login screen
2- disconnect screen
(usually the computer goes through a sleep/wake cycle at this point)
3- reconnect a different screen
4- log in.
This has the big advantage that the OS X window manager doesn't collect all my windows on the principal screen (laptop's own screen in step 2, and then the external in step 3).
Change History
comment:1 Changed 2 years ago by jeremyhu@…
- Status changed from new to assigned
- Priority changed from Not Set to Expected
- Version set to 2.6.0 (xserver-1.9)
- Milestone set to 2.6.1
comment:2 Changed 2 years ago by jeremyhu@…
Verified with 2.6.0:
~ $ xwininfo -root | egrep '(Width|Height|geometry)' Width: 1440 Height: 878 -geometry 1440x878+0+0 ~ $ xdpyinfo | grep dimensions dimensions: 1440x878 pixels (381x232 millimeters) <plug in external monitor> ~ $ xwininfo -root | egrep '(Width|Height|geometry)' Width: 3360 Height: 1200 -geometry 3360x1200+0+0 ~ $ xdpyinfo | grep dimensions dimensions: 1440x878 pixels (381x232 millimeters)
So the root window is being resized, but xdpyinfo is showing the old size. xrandr is printing out something odd as well:
~ $ xrandr xrandr: Failed to get size of gamma for output default Screen 0: minimum 3360 x 1200, current 1440 x 878, maximum 3360 x 1222 default connected 3360x1200+0+0 0mm x 0mm 3360x1200 1.0* 3360x1222 2.0
so for some reason, the screen size isn't getting set right.
Doing the following will fix the issue (by changing to another RandR config and back):
$ xrandr -s 1 && xrandr -s 0
