mutter/src
Carlos Garnacho 141373f0ba wayland: Implement on-demand start of Xwayland
The Xwayland manager now has 4 distinct phases:
- Init and shutdown (Happening together with the compositor itself)
- Start and stop

In these last 2 phases, handle orderly initialization and shutdown
of Xwayland. On initialization We will simply find out what is a
proper display name, and set up the envvar and socket so that clients
think there is a X server.

Whenever we detect data on this socket, we enter the start phase
that will launch Xwayland, and plunge the socket directly to it.
In this phase we now also set up the MetaX11Display.

The stop phase is pretty much the opposite, we will shutdown the
MetaX11Display and all related data, terminate the Xwayland
process, and restore the listening sockets. This phase happens
on a timeout whenever the last known X11 MetaWindow is gone. If no
new X clients come back in this timeout, the X server will be
eventually terminated.

The shutdown phase happens on compositor shutdown and is completely
uninteresting. Some bits there moved into the stop phase as might
happen over and over.

This is all controlled by META_DISPLAY_POLICY_ON_DEMAND and
the "autostart-xwayland" experimental setting.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/709
2019-08-06 00:41:36 +00:00
..
backends wayland: Add setting/api to check the policy to set up the X11 display 2019-08-06 00:41:36 +00:00
compositor compositor: Add explicit API call to redirect X11 windows 2019-08-06 00:41:36 +00:00
core wayland: Implement on-demand start of Xwayland 2019-08-06 00:41:36 +00:00
meta keybindings: Do not grab the locate-pointer key if unnecessary 2019-07-18 13:10:32 +00:00
tests window-x11: Use any focusable window as fallback delayed focus window 2019-07-08 11:46:52 +02:00
ui cleanup: Don't use g_memmove() 2019-07-18 11:01:09 +02:00
wayland wayland: Implement on-demand start of Xwayland 2019-08-06 00:41:36 +00:00
x11 x11: Add "closing" flag to MetaX11Display 2019-08-06 00:41:36 +00:00
libmutter.pc.in build: Fix libs and cflags in autotools .pc file 2018-11-10 16:20:46 +00:00
meson.build cursor-tracker: Use our own marshal for cursor-moved 2019-07-31 09:34:17 +00:00
meta-marshal.list cursor-tracker: Use our own marshal for cursor-moved 2019-07-31 09:34:17 +00:00
org.freedesktop.login1.xml MetaLauncher: Don't g_error() on failure 2015-11-06 17:03:59 -05:00
org.gnome.Mutter.DisplayConfig.xml fixed typo 2018-07-24 13:16:36 +00:00
org.gnome.Mutter.IdleMonitor.xml idle-monitor: Add ResetIdletime API, for testing purposes 2018-04-16 13:28:03 +02:00
org.gnome.Mutter.RemoteDesktop.xml Fix typo in RemoteDesktop dbus api 2019-05-22 16:21:57 +02:00
org.gnome.Mutter.ScreenCast.xml org.gnome.Mutter.ScreenCast: Document what was added in API version 2 2019-02-26 13:39:11 +00:00