Description: Base window manager component for Deepin.
Mutter is a window manager for the X Window System, and is in the process of becoming a Wayland compositor; it became the default window manager in GNOME 3, replacing Metacity which uses GTK+ for rendering, while Mutter uses a graphics library called Clutter, and through it also supports OpenGL.
Mutter is extensible with plugins and supports numerous visual effects. For example, deepin-wm is written as a plugin to Mutter.
This project is a fork of Mutter to avoid DDE depending on GNOME with
some special hacking work, include applying some patches, using the
gsettings under com.deepin.wrap.gnome
instead of org.gnome
,
etc. And Deepin Mutter just could coexists with Mutter to make the
porting work easier.
- debhelper (>= 9)
- intltool (>= 0.41)
- gtk-doc-tools (>= 1.15)
- gobject-introspection (>= 1.41.3)
- gsettings-desktop-schemas (>= 3.15.92)
- cairo (>= 1.10.0)
- clutter-1.0 (>= 1.21.3)
- clutter-wayland-1.0
- clutter-wayland-compositor-1.0
- cogl-1.0 (>= 1.17.1)
- deepin-desktop-schemas
- gbm (>= 10.3)
- glib2.0 (>= 2.35.1)
- gnome-desktop-3.0 (>= 3.10)
- gnome-themes-standard
- gobject-introspection-1.0 (>= 0.9.12)
- gtk+-3.0 (>= 3.9.11)
- gudev-1.0
- ice
- json-glib-1.0 (>= 0.13.2)
- libcanberra-gtk3
- libinput
- libstartup-notification-1.0 (>= 0.7)
- libsystemd (>= 212)
- pango (>= 1.2.0)
- sm
- upower-glib (>= 0.99.0)
- wayland-server (>= 1.6.90)
- x11
- x11-xcb
- xcb-randr
- xcomposite (>= 1:0.2)
- xcursor
- xdamage
- xext
- xfixes
- xi (>= 2:1.6.0)
- xinerama
- xkbcommon (>= 0.4.3)
- xkbcommon-x11
- xkbfile
- xrandr
- xrender
- xt
- zenity
Install prerequisites
$ sudo apt-get install \
cdbs \
debhelper \
gnome-pkg-tools \
dh-autoreconf \
intltool \
gtk-doc-tools \
gobject-introspection \
gsettings-desktop-schemas-dev \
deepin-desktop-schemas \
deepin-desktop-schemas \
gnome-themes-standard \
libcairo2-dev \
libcanberra-gtk3-dev \
libclutter-1.0-dev \
libcogl-dev \
libgbm-dev \
libgirepository1.0-dev \
libglib2.0-dev \
libgnome-desktop-3-dev \
libgtk-3-dev \
libgudev-1.0-dev \
libice-dev \
libinput-dev \
libjson-glib-dev \
libpam0g-dev \
libpango1.0-dev \
libsm-dev \
libstartup-notification0-dev \
libsystemd-dev \
libupower-glib-dev \
libwayland-dev \
libx11-dev \
libx11-xcb-dev \
libxcb-randr0-dev \
libxcomposite-dev \
libxcursor-dev \
libxdamage-dev \
libxext-dev \
libxfixes-dev \
libxi-dev \
libxinerama-dev \
libxkbcommon-dev \
libxkbcommon-x11-dev \
libxkbfile-dev \
libxrandr-dev \
libxrender-dev \
libxt-dev \
xkb-data \
zenity
Build
$ ./autogen.sh --prefix=/usr \
--libexecdir=/usr/lib/deepin-mutter \
--sysconfdir=/etc \
--enable-gtk-doc \
--disable-schemas-compile \
--enable-wayland \
--enable-native-backend \
--enable-compile-warnings=minimum
$ make
If you have isolated testing build environment (say a docker container), you can install it directly
$ sudo make install
Or, generate package files and install Deepin Mutter with it
$ debuild -uc -us ...
$ sudo dpkg -i ../deepin-mutter-*deb
Run Deepin Mutter to replace current window manager with the command below
$ deepin-mutter --replace &
Any usage issues can ask for help via
We encourage you to report issues and contribute changes
Deepin Mutter is licensed under GPLv3.