Ticket #364 (closed usability: fixed)

Opened 4 years ago

Last modified 4 years ago

window placement misbehavior after changing monitors (new in rc2)

Reported by: tgl@… Owned by: jeremyhu@…
Priority: Important Milestone: 2.5.0
Component: quartz-wm Version: dev (xorg-server-1.7-apple)
Keywords: Cc:


If I remove an external monitor that had been placed above the internal one, 2.5.0_rc2 subsequently tries to place its first window (the one opened with command-N when no windows are open) smack at the top left of the internal screen. This is bad because the window title bar ends up behind the menu bar, rather than just below it as it should be, so it's invisible and the window control buttons are unreachable.

I know it sounds like an edge case but it's something I do every day while migrating between work and not-work setups.

Change History

comment:1 Changed 4 years ago by jeremyhu@…

  • Priority changed from minor to major
  • Milestone set to 2.5.0

If you can come up with an exact reproduction case, that will help a lot.

Also, can you check if this is a quartz-wm or a server issue? Try using /opt/X11/bin/quartz-wm with X11.app ... also, try using /usr/bin/quartz-wm with XQuartz.app.

You can do this by:

mkdir ~/.xinitrc.d
echo "exec /usr/bin/quartz-wm" > ~/.xinitrc.d/99-quartz-wm.sh
chmod 755 /.xinitrc.d/99-quartz-wm.sh

Then when you run XQuartz.app the next time, it'll use the older quartz-wm from SnowLeopard rather than the one installed by the update.

Similarly use /opt/X11/bin/quartz-wm in that startup script and run X11.app to use the new quartz-wm in the old server.

Figuring out if this is a quartz-wm bug or a server bug will be a *huge* help.

comment:2 Changed 4 years ago by tgl@…

OK, I've verified the exact reproducer sequence:

  • Install external monitor. Mine is same size as my laptop screen (1440x900), positioned directly above internal screen, and external has the system menu bar when active.
  • Start X11 by clicking its dock icon. First xterm window opens just below system menu bar, as expected. Close that window but leave X11 as the frontmost application.
  • Sleep laptop, detach monitor, waken laptop.
  • Press command-N to open a new xterm. It should open just below the menu bar, but instead it opens behind it.

I did not have any luck with your recipe for running a mixed installation: if I try to start the system X11 I seem to get Xquartz anyway. However, I believe I can finger the server as being the problem. I reinstalled rc1, verified no problem seen, then copied rc2's version of /opt/X11/bin/quartz-wm into place and restarted. This combination did not show the problem.

comment:3 Changed 4 years ago by tgl@…

I confirm this is fixed by installing http://people.freedesktop.org/~jeremyhu/X11.bin-revert-9c9c3a85.bz2 ... so indeed that removal of dixScreenOrigins was ill-considered.

comment:4 Changed 4 years ago by jeremyhu@…

  • Status changed from new to closed
  • Resolution set to fixed
Note: See TracTickets for help on using tickets.