Re: hidden windows with dual displays
Re: hidden windows with dual displays
- Subject: Re: hidden windows with dual displays
- From: Young Hyun <email@hidden>
- Date: Mon, 4 Oct 2004 13:45:17 -0700 (PDT)
After many hours of investigating, we've figured it out. This should
really be added to Apple's X11 FAQ (I'll forward a note to Apple),
so that others won't have to waste so many frustrating hours.
The short answer:
If the absolute (0, 0) coordinates of the logical screen that X uses
internally in a dual display setup is outside the visible area of
both displays, then application windows that open near the absolute
(0, 0) coordinates may not show up on any display.
The long answer:
The following diagram shows my dual display setup:
+------------+------------------+
|XXXXXXXXXXXX| |
|XXXXXXXXXXXX| external |
|XXXXXXXXXXXX| display |
+------------+ (1600x1200) |
| laptop | |
| display +------------------+
| (1280x854) |XXXXXXXXXXXXXXXXXX|
| |XXXXXXXXXXXXXXXXXX|
+------------+------------------+
For this situation, X11.app creates a "screen" with the dimensions
2880x1696 (2880 = 1280 + 1600; 1696 = 854 + 1200 - overlap). You
can see this in the output of xdpyinfo. Because of the staggered
arrangement of the two displays (and because the display dimensions
differ), there are areas (indicated with X's) of this logical screen
that don't appear on either display. The upper-left corner of this
logical screen, having absolute coordinates (0, 0), lies within such
an area. Hence, if an application opens a relatively small window near
(0, 0), then the window may not show up on either display. It seems
some X applications are smart enough to open windows only in visible
areas (e.g., xeyes and xemacs) while others are not (e.g., piano and
xmgrace).
The workarounds are
(1) arrange the displays so that the area near absolute (0, 0)
is visible, or
(2) use the standard '-geometry' command line option to override
the initial location of windows; for example,
xmgrace -geometry 640x480+1280
will ensure that the xmgrace window opens within the visible
area of my external display.
This certainly is not a bug in X11.app, but it is an unsatisfying
situation, nonetheless. X applications really need to be smart about
situations like this, but expecting this from all X applications is
probably asking too much, which is a shame.
--Young
On Sun, 3 Oct 2004, Young Hyun wrote:
> I'm running X11.app v1.0 (XFree86 4.3.0) on a PowerBook G4 running 10.3.5.
> I have a dual display setup, with a Dell 2000FP set up as the primary
> display and the laptop display set as the secondary display. (Setting the
> primary display to the laptop display doesn't fix my problem.)
>
> If I disconnect the Dell LCD and launch X applications, everything works
> fine. I can see the windows of the X applications on the laptop display.
> Now, if I connect the Dell LCD and launch X applications, the windows for
> some X applications don't show up on either display. Turning on display
> mirroring brings back those hidden windows, so clearly the X applications
> are running. Also, all hidden windows show up in the "Window" menu of
> X11.app, and neither selecting a hidden window from that menu, nor
> selecting "Bring All to Front" unhides any window. Hidden windows don't
> show up with Expose. (And the hidden X windows aren't simply minimized;
> they don't show up on the Dock.)
>
> Toggling full-screen mode in X doesn't help. Even with full-screen mode
> turned on, if I have both displays connected, some windows don't show up
> on either display. I've tried restarting X11.app to no avail; nor does
> restarting the computer fix this. It's very repeatable and extremely
> irritating.
>
> Note that some applications work correctly even with the dual display
> setup. For example, xemacs (from DarwinPorts) works fine. The standard
> xeyes and xclock work; the standard 'piano' application doesn't. The
> xmgrace from DarwinPorts doesn't work, although the exact same build of
> the program works perfectly fine on my home desktop with the same version
> of MacOS X and X11.app. I've uninstalled and re-installed DarwinPorts
> several times to make sure it wasn't the culprit. Since the problem
> affects standard X applications, I'm pretty confident that the problem is
> with X11.app/X11.
>
> Has anyone come across this before?
>
> --Young
_______________________________________________
Do not post admin requests to the list. They will be ignored.
X11-users mailing list (email@hidden)
This email sent to email@hidden