80e3c1de57
MetaWindowActor handles sending _NET_WM_FRAME_* X atoms to clients - even pure Wayland clients. Now that we have Wayland- and X11-specific implementations of MetaWindowActor, we can delegate this to MetaWindowActorX11, and allow pure Wayland apps to not even connect to MetaSurfaceActor:repaint-scheduled. Do that by moving all the X11-specific code to the X11-specific MetaWindowActorX11 class. Add vfuncs to MetaWindowActorClass that are necessary for the move, namely: * pre_paint() and post_paint() * post_init() * frame_complete() * set_surface_actor() * queue_frame_drawn() https://gitlab.gnome.org/GNOME/mutter/merge_requests/368 |
||
---|---|---|
.gitlab-ci | ||
clutter | ||
cogl | ||
data | ||
doc | ||
po | ||
src | ||
tools | ||
.gitignore | ||
.gitlab-ci.yml | ||
autogen.sh | ||
config.h.meson | ||
configure.ac | ||
COPYING | ||
Makefile.am | ||
meson_options.txt | ||
meson.build | ||
mutter.doap | ||
NEWS | ||
README.md |
Mutter
Mutter is a Wayland display server and X11 window manager and compositor library.
When used as a Wayland display server, it runs on top of KMS and libinput. It implements the compositor side of the Wayland core protocol as well as various protocol extensions. It also has functionality related to running X11 applications using Xwayland.
When used on top of Xorg it acts as a X11 window manager and compositing manager.
It contains functionality related to, among other things, window management, window compositing, focus tracking, workspace management, keybindings and monitor configuration.
Internally it uses a fork of Cogl, a hardware acceleration abstraction library used to simplify usage of OpenGL pipelines, as well as a fork af Clutter, a scene graph and user interface toolkit.
Mutter is used by, for example, GNOME Shell, the GNOME core user interface, and by Gala, elementary OS's window manager. It can also be run standalone, using the command "mutter", but just running plain mutter is only intended for debugging purposes.
License
Mutter is distributed under the terms of the GNU General Public License, version 2 or later. See the COPYING file for detalis.