Any chance XQuartz is ever going to catch up?

Those of you who routinely use XQuartz know that even in its present version 2.8.5 it does not conform to the present-day macOS GUI. It doesn’t resize like macOS windows (it still displays a resize box in the SE corner) and it doesn’t properly foreground/background. Defining shortcuts in the Application menu is buggy too. But it’s not that XQuartz doesn’t see updates (the last one was in Jan of this year), it just feels like some of these issues have been rather longstanding, managing to ‘survive’ several past updates. Any speculation as to when we might see this app properly modernized — if at all?

It’s open source, so whatever happens to it is in the hands of the volunteers who do all the work. I suspect that updating to match modern macOS interface conventions may require converting the entire codebase to something more modern, and that’s not trivial. Most of the Unix-using Mac userbase is magnitudes more concerned about functionality than appearance, so it’s surely not a priority.

If you want to bug them about it, you should contact them directly. The project’s main page is at https://www.xquartz.org/.

There are two things in play here. One is the X11 server itself. The other is its embedded window manager.

Issues like running in the foreground/background and menubar shortcuts are definitely part of XQuartz itself.

The “decorations” around an X11 window (title bar, scroll bar, resize thumb, etc.) are part of a separate “quartz-wm” process - a window manager responsible for providing the ability to move, resize, close, etc. windows.

By default, a script (/opt/X11/etc/X11/xinit/xinitrc) runs when XQuartz starts up. This sets up a bunch of things and ultimately launches quartz-wm, to provide the window manager. But if you have a .xinitrc file in your home directory, it will run that instead. And you can launch other window managers, should you choose.

For instance, the ancient twm window manager can be used if you create a .xinitrc in your home directory containing:

xterm &
twm

When this script ends, the X server (that is, XQuartz) quits. So with the above, it will quit when you exit/kill the twm process.

(BTW, TWM is very different from the Mac UI. To resize a window, place the cursor in the square at the right edge of the title bar. Then drag from there. The window will resize to where you dropped it. Unfortunately, XQuartz doesn’t provide the convenient resize-feedback needed to make this usable).

If you are so inclined, you could change your .xinitrc so the window manager runs in the background and your terminal never ends:

twm &
xterm

This way, you can actually kill the twm process (leaving your X11 windows with no way to manipulate them) and launch a different window manager on the fly (which will take over the window decorations and provide its own semantics).

XQuartz only includes quartz-wm and twm, but there’s no technical reason why you couldn’t install other ones. As a matter of fact, MacPorts is currently listing 16 different ones.

And if you really don’t like XQuartz, there’s no reason you couldn’t install X.org, which is what quite a lot of Linux distributions include.

All depends on how much work you want to put in to your X11 Mac experience.

1 Like