Github messages for voidlinux
 help / color / mirror / Atom feed
From: q66 <q66@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] gnome 3.38
Date: Sat, 12 Sep 2020 03:46:12 +0200	[thread overview]
Message-ID: <20200912014612.COM939l3F5mpJRyiAY8f1CM-AFqk_PVlyPq4tf13MjM@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-24260@inbox.vuxu.org>

[-- Attachment #1: Type: text/plain, Size: 5428 bytes --]

There is an updated pull request by q66 against master on the void-packages repository

https://github.com/q66/void-packages gnome338
https://github.com/void-linux/void-packages/pull/24260

gnome 3.38
Since https://github.com/void-linux/void-packages/pull/21382 is taking a while and gnome 3.38 is just around the corner, I prepared a preliminary PR for now containing the 3.37 prerelease stuff - I did this mainly because I needed more "ready" wayland support. Tested on aarch64.

# TODO

- [x] clean it up
- [x] better testing, make sure testsuite passes
- [x] import the useful bits from #21382, or rebase if it gets merged
- [ ] make sure crossbuilds work
- [ ] test on more platforms
- [ ] fix the metapackages (they haven't been touched, possibly in https://github.com/void-linux/void-packages/pull/22936)
- [ ] ~~drop the `vala` option in the rest of the packages~~ probably gonna do that once this PR is merged

# Updated

- [x] glib-networking -> 2.65.90 ***beta***
- [x] at-spi2-core -> 2.37.90 ***beta***
- [x] at-spi2-atk -> 2.37.90 ***beta***
- [x] gsettings-desktop-schemas -> 3.37.2 *unstable*
- [x] gnome-desktop -> 3.37.91 ***beta***
- [x] libgweather -> 3.36.1 **stable**
- [x] gnome-settings-daemon -> 3.37.0 *unstable*
- [x] mutter -> 3.37.91 ***beta***
- [x] gnome-menus -> 3.36.0 **stable**
- [x] cheese -> (revbump) **stable**
- [x] evolution-data-server -> 3.37.90 ***beta***
- [x] gnome-control-center -> 3.37.90 ***beta***
- [x] tracker -> 2.3.4 **stable**
- [x] folks -> 0.14.0 **stable**
- [x] dconf-editor -> 3.36.4 **stable**
- [x] devhelp -> 3.37.1 *unstable*
- [x] gnome-shell -> 3.37.91 ***beta***
- [x] gnome-shell-extensions -> 3.37.91 ***beta***
- [x] gdm -> 3.37.90 ***beta***
- [x] gnome-session -> 3.37.0 *unstable*
- [x] gnome-online-accounts -> 3.37.90 ***beta***
- [x] gnome-initial-setup -> 3.37.91.1 ***beta***
- [x] xdg-desktop-portal-gtk -> (revbump) **stable**
- [x] nautilus -> 3.37.91 ***beta***
- [x] gnome-maps -> 3.37.91 ***beta***
- [x] evolution -> 3.37.90 ***beta***
- [x] evolution-ews -> 3.37.90 ***beta***
- [x] python3-atspi -> 2.37.90 ***beta***
- [x] python-atspi -> 2.37.90 ***beta***
- [x] orca -> 3.37.90 ***beta***
- [x] gnome-weather -> (revbump) **stable**
- [x] vte3 -> 0.61.90 ***beta***
- [x] gnome-terminal -> 3.37.90 ***beta***
- [x] gnome-getting-started-docs -> 3.36.2 **stable**
- [x] gnome-user-docs -> 3.36.2 **stable**
- [x] gnome-epub-thumbnailer -> 1.6 **stable**
- [x] gnome-books -> (revbump) **stable**
- [x] gnome-characters -> (revbump) **stable**
- [x] gnome-documents -> (revbump) **stable**
- [x] gnome-font-viewer -> (revbump) **stable**
- [x] gnome-screensaver -> (revbump + build fix) **stable**
- [x] totem -> (revbump) **stable**
- [x] gnome-clocks -> 3.37.91 ***beta***
- [x] libdazzle -> 3.37.1 *unstable*
- [x] epiphany -> 3.37.91 ***beta***
- [x] gnome-contacts -> 3.37.2 *unstable*
- [x] eog -> 3.37.90 ***beta***
- [x] gnome-photos -> 3.37.91.1 ***beta***
- [x] evince -> 3.37.90 ***beta***
- [x] file-roller -> 3.37.90 ***beta***
- [x] gnome-calendar -> (revbump) **stable**
- [x] gnome-music -> 3.37.3 *unstable*
- [x] gnome-panel -> 3.37.1 *unstable*
- [x] metacity -> 3.37.1 *unstable*
- [x] gnome-flashback -> 3.37.2 *unstable*
- [x] tepl -> 4.49.3 *unstable*
- [x] gedit -> 3.37.3 *unstable*
- [x] gedit-plugins -> (revbump) **stable**
- [x] gnome-latex -> 3.37.2 *unstable*
- [x] baobab -> 3.37.90 ***beta***
- [x] gnome-boxes -> 3.37.90 ***beta***
- [x] gnome-calculator -> 3.37.90 ***beta***
- [x] gnome-disk-utility -> 3.37.2 *unstable*
- [x] gnome-screenshot -> 3.37.90 ***beta***
- [x] gnome-system-monitor -> 3.37.91 ***beta***
- [x] gtksourceview4 -> 4.7.90 ***beta***
- [x] sysprof -> 3.37.90 ***beta***
- [x] mozjs78 -> (new) **stable**
- [x] gjs -> 1.65.91 ***beta***
- [x] gnome-builder -> 3.37.90 ***beta***
- [x] adwaita-icon-theme -> 3.37.2 *unstable*
- [x] gnome-backgrounds -> 3.37.2 *unstable*
- [x] polari -> 3.37.3 *unstable*
- [x] gvfs -> 1.45.90 ***beta***
- [x] libsoup -> 2.71.0 *unstable*
- [x] rygel -> 0.39.2 *unstable*
- [x] simple-scan -> 3.37.3 *unstable*
- [x] yelp-xsl -> 3.37.90 ***beta***
- [x] yelp -> 3.37.90 ***beta***
- [x] yelp-tools -> 3.37.90 ***beta***
- [x] budgie-desktop -> (rebuild) **stable**

## Merged

- [x] libsigc++3 -> 3.0.3 (new)
- [x] mm-common -> 1.0.1
- [x] glibmm -> 2.64.2
- [x] pangomm -> 2.42.1
- [x] libnotify -> 0.7.9
- [x] atk -> 2.36.0
- [x] gtk+3 -> 3.24.22
- [x] graphene -> 1.10.0
- [x] amtk -> 5.1.1
- [x] libhandy1 -> 0.90.0 (new)
- [x] libportal -> 0.3 (new)
- [x] cogl -> 1.22.28
- [x] geocode-glib -> 3.26.2
- [x] gfbgraph -> 0.2.4
- [x] libgsf -> 1.14.47
- [x] libsecret -> 0.20.3
- [x] libchamplain -> 0.12.20
- [x] vala -> 0.48.9
- [x] valadoc -> 0.48.9
- [x] gom -> 0.4
- [x] gssdp -> 1.2.3
- [x] gtk-vnc -> 1.0.0 (drops unused gtk2 support)
- [x] phodav -> 2.4
- [x] gupnp -> 1.2.4
- [x] gnome-video-effects -> 0.5.0
- [x] glib -> 2.66.0
- [x] webkit2gtk -> 2.30.0

## TODO

- [ ] retro-gtk (unreleased)
- [ ] gnome-games (blocked on `retro-gtk`)

# Won't update

- gtk4 -> 3.99.0 (not a dependency of anything and requires current `pango` and it's impractical to backport; we'll probably need to finally update `pango`)

A patch file from https://github.com/void-linux/void-packages/pull/24260.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gnome338-24260.patch --]
[-- Type: text/x-diff, Size: 941660 bytes --]

From 73c3e299740c03e055ebf436f12e4a3079088143 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sun, 16 Aug 2020 05:20:26 +0200
Subject: [PATCH 01/81] glib-networking: update to 2.65.90

---
 srcpkgs/glib-networking/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/glib-networking/template b/srcpkgs/glib-networking/template
index 5eaffa82e64..1d61a6169ba 100644
--- a/srcpkgs/glib-networking/template
+++ b/srcpkgs/glib-networking/template
@@ -1,7 +1,7 @@
 # Template file for 'glib-networking'
 pkgname=glib-networking
-version=2.64.1
-revision=2
+version=2.65.90
+revision=1
 build_style=meson
 configure_args="-Dinstalled_tests=false -Dgnutls=enabled -Dlibproxy=enabled
  -Dgnome_proxy=enabled"
@@ -14,7 +14,7 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="LGPL-2.1-or-later"
 homepage="https://gitlab.gnome.org/GNOME/glib-networking/"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=a4c346def7d817467d79a95c23b3ccf22e4df1548870726b63396400852daf72
+checksum=0b4df5f643b7e08223690a1249ce302329b6156f2640d7b0217f192b330af566
 lib32disabled=yes
 
 post_install() {

From 505c65ddd99296033c6cf421998983622080e71d Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 02/81] at-spi2-core: update to 2.37.90

---
 srcpkgs/at-spi2-core/template | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/at-spi2-core/template b/srcpkgs/at-spi2-core/template
index b383fe99bed..49cb3fa1bf7 100644
--- a/srcpkgs/at-spi2-core/template
+++ b/srcpkgs/at-spi2-core/template
@@ -1,23 +1,27 @@
 # Template file for 'at-spi2-core'
 pkgname=at-spi2-core
-version=2.34.0
+version=2.37.90
 revision=1
 build_style=meson
 build_helper="gir"
-hostmakedepends="pkg-config dbus glib-devel"
-makedepends="libglib-devel libXext-devel libSM-devel libXtst-devel
- libXevie-devel dbus-devel"
+hostmakedepends="pkg-config dbus glib-devel gettext"
+makedepends="libglib-devel libXext-devel libSM-devel libXtst-devel dbus-devel"
 short_desc="Assistive Technology Service Provider Interface"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://gitlab.gnome.org/GNOME/at-spi2-core"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=d629cdbd674e539f8912028512af583990938c7b49e25184c126b00121ef11c6
+checksum=caa72299d5e7f2aa4b8198e37405751bda5a22a5ba977b9c7bf34199593bb6bb
 
 # Package build options
 build_options="gir"
 build_options_default="gir"
 
+# non-trivial dbus setup
+do_check() {
+	:
+}
+
 post_install() {
 	rm -rf ${DESTDIR}/usr/lib/systemd
 }

From a6e0d8caabfb1acf98378173aa06cb93130a2080 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 03/81] at-spi2-atk: update to 2.37.90

---
 srcpkgs/at-spi2-atk/template | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/at-spi2-atk/template b/srcpkgs/at-spi2-atk/template
index 4351b7996f3..3991f192f0a 100644
--- a/srcpkgs/at-spi2-atk/template
+++ b/srcpkgs/at-spi2-atk/template
@@ -1,6 +1,6 @@
 # Template file for 'at-spi2-atk'
 pkgname=at-spi2-atk
-version=2.34.1
+version=2.37.90
 revision=1
 build_style=meson
 hostmakedepends="libtool pkg-config intltool glib-devel"
@@ -10,7 +10,12 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="LGPL-2.0-or-later"
 homepage="http://www.gnome.org"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=776df930748fde71c128be6c366a987b98b6ee66d508ed9c8db2355bf4b9cc16
+checksum=99847a3b61bf2ac98a47e47edb4de4ea5c4f326c8238ad10661bd6d9c46b48f0
+
+# non-trivial dbus setup
+do_check() {
+	:
+}
 
 at-spi2-atk-devel_package() {
 	depends="${makedepends} ${sourcepkg}>=${version}_${revision}"

From e1c2deb1a08f82a8767b975f793758b50c0b8952 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 04/81] gsettings-desktop-schemas: update to 3.37.2

---
 .../patches/fix-cross-gir.patch                     | 13 -------------
 srcpkgs/gsettings-desktop-schemas/template          |  6 +++---
 2 files changed, 3 insertions(+), 16 deletions(-)
 delete mode 100644 srcpkgs/gsettings-desktop-schemas/patches/fix-cross-gir.patch

diff --git a/srcpkgs/gsettings-desktop-schemas/patches/fix-cross-gir.patch b/srcpkgs/gsettings-desktop-schemas/patches/fix-cross-gir.patch
deleted file mode 100644
index b299d5c9cd0..00000000000
--- a/srcpkgs/gsettings-desktop-schemas/patches/fix-cross-gir.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/headers/meson.build b/headers/meson.build
-index 3ce8b61..1132695 100644
---- headers/meson.build
-+++ headers/meson.build
-@@ -19,7 +19,7 @@ enums_xml = custom_target(
-   install: true,
-   install_dir: schemasdir)
- 
--if not meson.is_cross_build() and get_option('introspection')
-+if get_option('introspection')
-   noinst_lib = shared_library('noinst',
-                               headers,
-                               install: false)
diff --git a/srcpkgs/gsettings-desktop-schemas/template b/srcpkgs/gsettings-desktop-schemas/template
index 49c64cca738..55f0977d1c2 100644
--- a/srcpkgs/gsettings-desktop-schemas/template
+++ b/srcpkgs/gsettings-desktop-schemas/template
@@ -1,7 +1,7 @@
 # Template file for 'gsettings-desktop-schemas'
 pkgname=gsettings-desktop-schemas
-version=3.36.0
-revision=2
+version=3.37.2
+revision=1
 build_helper="gir"
 build_style=meson
 configure_args="-Dintrospection=$(vopt_if gir true false)"
@@ -12,7 +12,7 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="LGPL-2.1-or-later"
 homepage="https://gitlab.gnome.org/GNOME/gsettings-desktop-schemas"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=764ab683286536324533a58d4e95fc57f81adaba7d880dd0ebbbced63e960ea6
+checksum=e338e8cbce1684b7df2e50b2d70a0b0fe47176fb0b373e6bc67b26960b40d8ef
 
 # Package build options
 build_options="gir"

From fbe6c736a370d1e5686cbca633e75aa2866f955e Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 05/81] gnome-desktop: update to 3.37.91

---
 common/shlibs                             |  2 +-
 srcpkgs/gnome-desktop/patches/build.patch | 18 ++++++++++++++++++
 srcpkgs/gnome-desktop/template            | 11 ++++++++---
 3 files changed, 27 insertions(+), 4 deletions(-)
 create mode 100644 srcpkgs/gnome-desktop/patches/build.patch

diff --git a/common/shlibs b/common/shlibs
index ec8310df7b3..3abbf97bf88 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1178,7 +1178,7 @@ libgstbasecamerabinsrc-1.0.so.0 gst-plugins-bad1-1.0.0_1
 libgstcodecparsers-1.0.so.0 gst-plugins-bad1-1.0.0_1
 libgstplayer-1.0.so.0 gst-plugins-bad1-1.0.0_1
 libgstgl-1.0.so.0 gst-plugins-base1-1.14.0_1
-libgnome-desktop-3.so.18 gnome-desktop-3.34.0_1
+libgnome-desktop-3.so.19 gnome-desktop-3.37.90.1_1
 libsecret-1.so.0 libsecret-0.10_1
 libgweather-3.so.16 libgweather-3.34.0_1
 libgnomekbd.so.8 libgnomekbd-3.6.0_1
diff --git a/srcpkgs/gnome-desktop/patches/build.patch b/srcpkgs/gnome-desktop/patches/build.patch
new file mode 100644
index 00000000000..efed00a25dd
--- /dev/null
+++ b/srcpkgs/gnome-desktop/patches/build.patch
@@ -0,0 +1,18 @@
+commit 4f55ff078411993b782e74ea18c5c6ab35adf685
+Author: Daniel Kolesa <daniel@octaforge.org>
+Date:   Wed Aug 12 05:26:00 2020 +0200
+
+    bla
+
+diff --git libgnome-desktop/gnome-rr.h libgnome-desktop/gnome-rr.h
+index 111bab3..7698672 100644
+--- libgnome-desktop/gnome-rr.h
++++ libgnome-desktop/gnome-rr.h
+@@ -28,6 +28,7 @@
+ #error    GnomeRR is unstable API. You must define GNOME_DESKTOP_USE_UNSTABLE_API before including gnomerr.h
+ #endif
+ 
++#include <stdint.h>
+ #include <glib.h>
+ #include <gdk/gdk.h>
+ 
diff --git a/srcpkgs/gnome-desktop/template b/srcpkgs/gnome-desktop/template
index 992cb1ff16a..b058aebfff9 100644
--- a/srcpkgs/gnome-desktop/template
+++ b/srcpkgs/gnome-desktop/template
@@ -1,10 +1,10 @@
 # Template file for 'gnome-desktop'
 pkgname=gnome-desktop
-version=3.34.1
+version=3.37.91
 revision=1
 build_style=meson
 build_helper="gir"
-configure_args="-Dgnome-distributor=VoidLinux -Dudev=enabled
+configure_args="-Dgnome_distributor=VoidLinux -Dudev=enabled -Dsystemd=disabled
  -Dintrospection=$(vopt_if gir true false)"
 hostmakedepends="gettext itstool pkg-config glib-devel"
 makedepends="eudev-libudev-devel gsettings-desktop-schemas-devel gtk+3-devel
@@ -16,11 +16,16 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later, LGPL-2.1-or-later"
 homepage="https://gitlab.gnome.org/GNOME/gnome-desktop"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=c1dbeb5666dad27166c769e48e2ab41dd5ed74718ea35eb57c8488790662dc5a
+checksum=322f6a1d233da76f95b7eee1ee93d9854589937c218e3b6652c92d9b5e1b3b19
 
 build_options="gir"
 build_options_default="gir"
 
+# needs X
+do_check() {
+	:
+}
+
 gnome-desktop-devel_package() {
 	depends="gtk+3-devel gsettings-desktop-schemas-devel>=3.12
 	 gdk-pixbuf-devel iso-codes libX11-devel libglib-devel libseccomp-devel

From 6e309728e2cd7fc11606679ae36b0acc4b623786 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 06/81] libgweather: update to 3.36.1

---
 srcpkgs/libgweather/template | 15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/libgweather/template b/srcpkgs/libgweather/template
index 34c64d6e3a1..fcdb5879501 100644
--- a/srcpkgs/libgweather/template
+++ b/srcpkgs/libgweather/template
@@ -1,13 +1,12 @@
 # Template file for 'libgweather'
 pkgname=libgweather
-version=3.36.0
+version=3.36.1
 revision=1
 build_style=meson
 build_helper="gir"
-configure_args="-Denable_vala=$(vopt_if vala true false)
- -Dintrospection=$(vopt_if gir true false)
+configure_args="$(vopt_bool gir enable_vala) $(vopt_bool gir introspection)
  -Dzoneinfo_dir=/usr/share/zoneinfo"
-hostmakedepends="glib-devel intltool pkg-config $(vopt_if vala vala)"
+hostmakedepends="glib-devel intltool pkg-config $(vopt_if gir vala)"
 makedepends="geocode-glib-devel gtk+3-devel libsoup-gnome-devel"
 checkdepends="tzdata"
 short_desc="GNOME Weather information access library"
@@ -15,10 +14,10 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="LGPL-2.1-or-later"
 homepage="https://wiki.gnome.org/Projects/LibGWeather"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=d2ffeec01788d03d1bbf35113fc2f054c6c3600721088f827bcc31e5c603a32d
+checksum=de2709f0ee233b20116d5fa9861d406071798c4aa37830ca25f5ef2c0083e450
 
-build_options="gir vala"
-build_options_default="gir vala"
+build_options="gir"
+build_options_default="gir"
 
 post_patch() {
 	# This test requires LC_IDENTIFICATION, which is a GLIBC's extension
@@ -35,8 +34,6 @@ libgweather-devel_package() {
 		vmove "usr/lib/*.so"
 		if [ "$build_option_gir" ]; then
 			vmove usr/share/gir-1.0
-		fi
-		if [ "$build_option_vala" ]; then
 			vmove usr/share/vala
 		fi
 	}

From 7f2c4dbce5861d77c5a0b97b00938c9b90d1ba4c Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 07/81] gnome-settings-daemon: update to 3.37.0

---
 .../patches/logind-backlight.patch            | 136 ++++++++++++++++++
 srcpkgs/gnome-settings-daemon/template        |  11 +-
 2 files changed, 142 insertions(+), 5 deletions(-)
 create mode 100644 srcpkgs/gnome-settings-daemon/patches/logind-backlight.patch

diff --git a/srcpkgs/gnome-settings-daemon/patches/logind-backlight.patch b/srcpkgs/gnome-settings-daemon/patches/logind-backlight.patch
new file mode 100644
index 00000000000..e5ca6bd43dd
--- /dev/null
+++ b/srcpkgs/gnome-settings-daemon/patches/logind-backlight.patch
@@ -0,0 +1,136 @@
+From 3845b3a7b58f26ec68dbc1c457ead06f4881180b Mon Sep 17 00:00:00 2001
+From: Daniel Kolesa <daniel@octaforge.org>
+Date: Fri, 14 Aug 2020 17:48:21 +0200
+Subject: [PATCH] The new logind brightness code doesn't work with elogind.
+
+https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/commit/cd051e6c7ccfb7e7b0ec440409c559b2e51284e8
+---
+ plugins/power/gsd-backlight.c | 77 ++++-------------------------------
+ 1 file changed, 7 insertions(+), 70 deletions(-)
+
+diff --git plugins/power/gsd-backlight.c plugins/power/gsd-backlight.c
+index ca5f272..4acc2e5 100644
+--- plugins/power/gsd-backlight.c
++++ plugins/power/gsd-backlight.c
+@@ -40,8 +40,6 @@ struct _GsdBacklight
+         gint brightness_step;
+ 
+ #ifdef __linux__
+-        GDBusProxy *logind_proxy;
+-
+         GUdevClient *udev;
+         GUdevDevice *udev_device;
+ 
+@@ -61,10 +59,6 @@ enum {
+         PROP_LAST,
+ };
+ 
+-#define SYSTEMD_DBUS_NAME                       "org.freedesktop.login1"
+-#define SYSTEMD_DBUS_PATH                       "/org/freedesktop/login1/session/auto"
+-#define SYSTEMD_DBUS_INTERFACE                  "org.freedesktop.login1.Session"
+-
+ static GParamSpec *props[PROP_LAST];
+ 
+ static void     gsd_backlight_initable_iface_init (GInitableIface  *iface);
+@@ -482,30 +476,13 @@ gsd_backlight_set_brightness_val_async (GsdBacklight *backlight,
+         if (backlight->udev_device != NULL) {
+                 BacklightHelperData *task_data;
+ 
+-                if (backlight->logind_proxy) {
+-                        g_dbus_proxy_call (backlight->logind_proxy,
+-                                           "SetBrightness",
+-                                           g_variant_new ("(ssu)",
+-                                                          "backlight",
+-                                                          g_udev_device_get_name (backlight->udev_device),
+-                                                          backlight->brightness_target),
+-                                           G_DBUS_CALL_FLAGS_NONE,
+-                                           -1, NULL,
+-                                           NULL, NULL);
+-
+-                        percent = ABS_TO_PERCENTAGE (backlight->brightness_min,
+-                                                     backlight->brightness_max,
+-                                                     backlight->brightness_target);
+-                        g_task_return_int (task, percent);
+-                } else {
+-                        task_data = g_new0 (BacklightHelperData, 1);
+-                        task_data->value = backlight->brightness_target;
+-                        g_task_set_task_data (task, task_data, backlight_task_data_destroy);
+-
+-                        /* Task is set up now. Queue it and ensure we are working something. */
+-                        g_queue_push_tail (&backlight->tasks, task);
+-                        gsd_backlight_process_taskqueue (backlight);
+-                }
++                task_data = g_new0 (BacklightHelperData, 1);
++                task_data->value = backlight->brightness_target;
++                g_task_set_task_data (task, task_data, backlight_task_data_destroy);
++
++                /* Task is set up now. Queue it and ensure we are working something. */
++                g_queue_push_tail (&backlight->tasks, task);
++                gsd_backlight_process_taskqueue (backlight);
+ 
+                 return;
+         }
+@@ -823,7 +800,6 @@ gsd_backlight_initable_init (GInitable       *initable,
+ {
+         GsdBacklight *backlight = GSD_BACKLIGHT (initable);
+         GnomeRROutput* output = NULL;
+-        GError *logind_error = NULL;
+ 
+         if (cancellable != NULL) {
+                 g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED,
+@@ -832,44 +808,6 @@ gsd_backlight_initable_init (GInitable       *initable,
+         }
+ 
+ #ifdef __linux__
+-        backlight->logind_proxy =
+-                g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM,
+-                                               0,
+-                                               NULL,
+-                                               SYSTEMD_DBUS_NAME,
+-                                               SYSTEMD_DBUS_PATH,
+-                                               SYSTEMD_DBUS_INTERFACE,
+-                                               NULL, &logind_error);
+-        if (backlight->logind_proxy) {
+-                /* Check that the SetBrightness method does exist */
+-                g_dbus_proxy_call_sync (backlight->logind_proxy,
+-                                        "SetBrightness", NULL,
+-                                        G_DBUS_CALL_FLAGS_NONE, -1,
+-                                        NULL, &logind_error);
+-
+-                if (g_error_matches (logind_error, G_DBUS_ERROR,
+-                                     G_DBUS_ERROR_INVALID_ARGS)) {
+-                        /* We are calling the method with no arguments, so
+-                         * this is expected.
+-                         */
+-                        g_clear_error (&logind_error);
+-                } else if (g_error_matches (logind_error, G_DBUS_ERROR,
+-                                            G_DBUS_ERROR_UNKNOWN_METHOD)) {
+-                        /* systemd version is too old, so ignore.
+-                         */
+-                        g_clear_error (&logind_error);
+-                        g_clear_object (&backlight->logind_proxy);
+-                } else {
+-                        /* Fail on anything else */
+-                        g_clear_object (&backlight->logind_proxy);
+-                }
+-        }
+-
+-        if (logind_error) {
+-                g_warning ("No logind found: %s", logind_error->message);
+-                g_error_free (logind_error);
+-        }
+-
+         /* Try finding a udev device. */
+         if (gsd_backlight_udev_init (backlight))
+                 goto found;
+@@ -911,7 +849,6 @@ gsd_backlight_finalize (GObject *object)
+ #ifdef __linux__
+         g_assert (backlight->active_task == NULL);
+         g_assert (g_queue_is_empty (&backlight->tasks));
+-        g_clear_object (&backlight->logind_proxy);
+         g_clear_object (&backlight->udev);
+         g_clear_object (&backlight->udev_device);
+         if (backlight->idle_update) {
+-- 
+2.28.0
+
diff --git a/srcpkgs/gnome-settings-daemon/template b/srcpkgs/gnome-settings-daemon/template
index a70e28be5fa..f25459ece82 100644
--- a/srcpkgs/gnome-settings-daemon/template
+++ b/srcpkgs/gnome-settings-daemon/template
@@ -1,10 +1,11 @@
 # Template file for 'gnome-settings-daemon'
 pkgname=gnome-settings-daemon
-version=3.34.1
-revision=2
+version=3.37.0
+revision=1
 build_style=meson
 configure_args+="-Dsystemd=false"
-hostmakedepends="cmake docbook-xsl glib-devel libglib-devel libxslt perl pkg-config"
+hostmakedepends="cmake docbook-xsl gettext glib-devel libglib-devel libxslt
+ perl pkg-config"
 makedepends="NetworkManager-devel alsa-lib-devel colord-devel cups-devel gcr-devel
  geoclue2-devel gnome-desktop-devel ibus-devel libcanberra-devel libgnomekbd-devel
  libgweather-devel libnotify-devel librsvg-devel libwacom-devel nss-devel
@@ -12,13 +13,13 @@ makedepends="NetworkManager-devel alsa-lib-devel colord-devel cups-devel gcr-dev
  xf86-input-wacom-devel"
 depends="hicolor-icon-theme pulseaudio"
 checkdepends="elogind libnotify python3-dbusmock python3-gobject
- python3-pycodestyle"
+ python3-pycodestyle which hwids eudev"
 short_desc="GNOME settings daemon"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="https://gitlab.gnome.org/GNOME/gnome-settings-daemon"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=9981a20babf8da7744b7fbe175b9e36078bf08f3bf65fe5aedeb82cfe27ac11f
+checksum=df709313b80968016570f341ebc31eee8329f312c068f681c0a194ad94b00df0
 
 if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" polkit"

From c9e9c22ef9c6366e8c5478e416ec506fb3be907f Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 08/81] mutter: update to 3.37.91

---
 common/shlibs                                 |  18 +-
 .../patches/fix-cogl-egl-includes.patch       |  11 -
 srcpkgs/mutter/patches/pipewire-0.3.patch     | 521 ------------------
 srcpkgs/mutter/template                       |  34 +-
 4 files changed, 29 insertions(+), 555 deletions(-)
 delete mode 100644 srcpkgs/mutter/patches/fix-cogl-egl-includes.patch
 delete mode 100644 srcpkgs/mutter/patches/pipewire-0.3.patch

diff --git a/common/shlibs b/common/shlibs
index 3abbf97bf88..3f6a85fa4ce 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3004,15 +3004,15 @@ libdecoration.so.0 compiz-core-0.8.14_1
 libcompizconfig.so.0 libcompizconfig-0.8.14_1
 libemeraldengine.so.0 emerald-0.8.14_1
 libhangul.so.1 libhangul-0.1.0_1
-libmutter-5.so.0 mutter-3.34.1_1
-libmutter-clutter-5.so mutter-3.34.1_1
-libmutter-clutter-5.so.0 mutter-3.34.1_1
-libmutter-cogl-path-5.so mutter-3.34.1_1
-libmutter-cogl-path-5.so.0 mutter-3.34.1_1
-libmutter-cogl-5.so mutter-3.34.1_1
-libmutter-cogl-5.so.0 mutter-3.34.1_1
-libmutter-cogl-pango-5.so mutter-3.34.1_1
-libmutter-cogl-pango-5.so.0 mutter-3.34.1_1
+libmutter-7.so.0 mutter-3.37.90_1
+libmutter-clutter-7.so mutter-3.37.90_1
+libmutter-clutter-7.so.0 mutter-3.37.90_1
+libmutter-cogl-path-7.so mutter-3.37.90_1
+libmutter-cogl-path-7.so.0 mutter-3.37.90_1
+libmutter-cogl-7.so mutter-3.37.90_1
+libmutter-cogl-7.so.0 mutter-3.37.90_1
+libmutter-cogl-pango-7.so mutter-3.37.90_1
+libmutter-cogl-pango-7.so.0 mutter-3.37.90_1
 libgeoclue-2.so.0 geoclue2-2.4.4_1
 libgepub.so.0 libgepub-0.4_1
 libslopy.so.7.5 slop-7.5_1
diff --git a/srcpkgs/mutter/patches/fix-cogl-egl-includes.patch b/srcpkgs/mutter/patches/fix-cogl-egl-includes.patch
deleted file mode 100644
index d90988887c3..00000000000
--- a/srcpkgs/mutter/patches/fix-cogl-egl-includes.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- cogl/cogl/meson.build	2019-10-08 19:15:10.000000000 +0200
-+++ cogl/cogl/meson.build	2019-12-16 15:45:44.037640548 +0100
-@@ -48,7 +48,7 @@
- built_headers += [cogl_gl_header_h]
- 
- if have_egl
--  cogl_egl_includes_string = '#include <EGL/egl.h>\n#include <EGL/eglext.h>'
-+  cogl_egl_includes_string = '#include <EGL/egl.h>\n#include <EGL/eglext.h>\n#include <EGL/eglmesaext.h>'
- else
-   cogl_egl_includes_string = ''
- endif
diff --git a/srcpkgs/mutter/patches/pipewire-0.3.patch b/srcpkgs/mutter/patches/pipewire-0.3.patch
deleted file mode 100644
index ebff65fba85..00000000000
--- a/srcpkgs/mutter/patches/pipewire-0.3.patch
+++ /dev/null
@@ -1,521 +0,0 @@
-Build mutter against pipewire-0.3, based on a patch at:
-https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1062
---- meson.build
-+++ meson.build
-@@ -50,7 +50,7 @@ libinput_req = '>= 1.7'
- gbm_req = '>= 10.3'
-
- # screen cast version requirements
--libpipewire_req = '>= 0.2.5'
-+libpipewire_req = '>= 0.3.0'
-
- gnome = import('gnome')
- pkg = import('pkgconfig')
-@@ -241,7 +241,7 @@ endif
-
- have_remote_desktop = get_option('remote_desktop')
- if have_remote_desktop
--  libpipewire_dep = dependency('libpipewire-0.2', version: libpipewire_req)
-+  libpipewire_dep = dependency('libpipewire-0.3', version: libpipewire_req)
- endif
-
- have_introspection = get_option('introspection')
-diff --git a/src/backends/meta-screen-cast-stream-src.c b/src/backends/meta-screen-cast-stream-src.c
-index 82c5cba436..ba1ce94a7e 100644
---- src/backends/meta-screen-cast-stream-src.c
-+++ src/backends/meta-screen-cast-stream-src.c
-@@ -29,6 +29,7 @@
- #include <spa/param/props.h>
- #include <spa/param/format-utils.h>
- #include <spa/param/video/format-utils.h>
-+#include <spa/utils/result.h>
- #include <stdint.h>
- #include <sys/mman.h>
-
-@@ -62,15 +63,6 @@ enum
-
- static guint signals[N_SIGNALS];
-
--typedef struct _MetaSpaType
--{
--  struct spa_type_media_type media_type;
--  struct spa_type_media_subtype media_subtype;
--  struct spa_type_format_video format_video;
--  struct spa_type_video_format video_format;
--  uint32_t meta_cursor;
--} MetaSpaType;
--
- typedef struct _MetaPipeWireSource
- {
-   GSource base;
-@@ -82,19 +74,19 @@ typedef struct _MetaScreenCastStreamSrcPrivate
- {
-   MetaScreenCastStream *stream;
-
-+  struct pw_context *pipewire_context;
-   struct pw_core *pipewire_core;
--  struct pw_remote *pipewire_remote;
--  struct pw_type *pipewire_type;
-   MetaPipeWireSource *pipewire_source;
--  struct spa_hook pipewire_remote_listener;
-+  struct spa_hook pipewire_core_listener;
-
-   gboolean is_enabled;
-
-   struct pw_stream *pipewire_stream;
-   struct spa_hook pipewire_stream_listener;
-+  uint32_t node_id;
-
--  MetaSpaType spa_type;
-   struct spa_video_info_raw video_format;
-+  int video_stride;
-
-   uint64_t last_frame_timestamp_us;
-
-@@ -112,8 +104,6 @@ G_DEFINE_TYPE_WITH_CODE (MetaScreenCastStreamSrc,
-                                                 meta_screen_cast_stream_src_init_initable_iface)
-                          G_ADD_PRIVATE (MetaScreenCastStreamSrc))
-
--#define PROP_RANGE(min, max) 2, (min), (max)
--
- static void
- meta_screen_cast_stream_src_get_specs (MetaScreenCastStreamSrc *src,
-                                        int                     *width,
-@@ -286,9 +276,6 @@ meta_screen_cast_stream_src_set_empty_cursor_sprite_metadata (MetaScreenCastStre
-                                                               int                      x,
-                                                               int                      y)
- {
--  MetaScreenCastStreamSrcPrivate *priv =
--    meta_screen_cast_stream_src_get_instance_private (src);
--  MetaSpaType *spa_type = &priv->spa_type;
-   struct spa_meta_bitmap *spa_meta_bitmap;
-
-   spa_meta_cursor->id = 1;
-@@ -300,7 +287,7 @@ meta_screen_cast_stream_src_set_empty_cursor_sprite_metadata (MetaScreenCastStre
-   spa_meta_bitmap = SPA_MEMBER (spa_meta_cursor,
-                                 spa_meta_cursor->bitmap_offset,
-                                 struct spa_meta_bitmap);
--  spa_meta_bitmap->format = spa_type->video_format.RGBA;
-+  spa_meta_bitmap->format = SPA_VIDEO_FORMAT_RGBA;
-   spa_meta_bitmap->offset = sizeof (struct spa_meta_bitmap);
-
-   spa_meta_cursor->hotspot.x = 0;
-@@ -317,9 +304,6 @@ meta_screen_cast_stream_src_set_cursor_sprite_metadata (MetaScreenCastStreamSrc
-                                                         int                      y,
-                                                         float                    scale)
- {
--  MetaScreenCastStreamSrcPrivate *priv =
--    meta_screen_cast_stream_src_get_instance_private (src);
--  MetaSpaType *spa_type = &priv->spa_type;
-   CoglTexture *cursor_texture;
-   struct spa_meta_bitmap *spa_meta_bitmap;
-   int hotspot_x, hotspot_y;
-@@ -346,7 +330,7 @@ meta_screen_cast_stream_src_set_cursor_sprite_metadata (MetaScreenCastStreamSrc
-   spa_meta_bitmap = SPA_MEMBER (spa_meta_cursor,
-                                 spa_meta_cursor->bitmap_offset,
-                                 struct spa_meta_bitmap);
--  spa_meta_bitmap->format = spa_type->video_format.RGBA;
-+  spa_meta_bitmap->format = SPA_VIDEO_FORMAT_RGBA;
-   spa_meta_bitmap->offset = sizeof (struct spa_meta_bitmap);
-
-   meta_cursor_sprite_get_hotspot (cursor_sprite, &hotspot_x, &hotspot_y);
-@@ -382,12 +366,10 @@ static void
- add_cursor_metadata (MetaScreenCastStreamSrc *src,
-                      struct spa_buffer       *spa_buffer)
- {
--  MetaScreenCastStreamSrcPrivate *priv =
--    meta_screen_cast_stream_src_get_instance_private (src);
--  MetaSpaType *spa_type = &priv->spa_type;
-   struct spa_meta_cursor *spa_meta_cursor;
-
--  spa_meta_cursor = spa_buffer_find_meta (spa_buffer, spa_type->meta_cursor);
-+  spa_meta_cursor = spa_buffer_find_meta_data (spa_buffer, SPA_META_Cursor,
-+                                               sizeof (*spa_meta_cursor));
-   if (spa_meta_cursor)
-     meta_screen_cast_stream_src_set_cursor_metadata (src, spa_meta_cursor);
- }
-@@ -447,14 +429,14 @@ meta_screen_cast_stream_src_maybe_record_frame (MetaScreenCastStreamSrc *src)
-     {
-       data = spa_buffer->datas[0].data;
-     }
--  else if (spa_buffer->datas[0].type == priv->pipewire_type->data.MemFd)
-+  else if (spa_buffer->datas[0].type == SPA_DATA_MemFd)
-     {
-       map = mmap (NULL, spa_buffer->datas[0].maxsize + spa_buffer->datas[0].mapoffset,
-                   PROT_READ | PROT_WRITE, MAP_SHARED,
-                   spa_buffer->datas[0].fd, 0);
-       if (map == MAP_FAILED)
-         {
--          g_warning ("Failed to mmap pipewire stream buffer: %s\n",
-+          g_warning ("Failed to mmap pipewire stream buffer: %s",
-                      strerror (errno));
-           return;
-         }
-@@ -469,28 +451,30 @@ meta_screen_cast_stream_src_maybe_record_frame (MetaScreenCastStreamSrc *src)
-
-   if (meta_screen_cast_stream_src_record_frame (src, data))
-     {
--      struct spa_meta_video_crop *spa_meta_video_crop;
-+      struct spa_meta_region *spa_meta_video_crop;
-
-       spa_buffer->datas[0].chunk->size = spa_buffer->datas[0].maxsize;
-+      spa_buffer->datas[0].chunk->stride = priv->video_stride;
-
-       /* Update VideoCrop if needed */
-       spa_meta_video_crop =
--        spa_buffer_find_meta (spa_buffer, priv->pipewire_type->meta.VideoCrop);
-+        spa_buffer_find_meta_data (spa_buffer, SPA_META_VideoCrop,
-+                                   sizeof (*spa_meta_video_crop));
-       if (spa_meta_video_crop)
-         {
-           if (meta_screen_cast_stream_src_get_videocrop (src, &crop_rect))
-             {
--              spa_meta_video_crop->x = crop_rect.x;
--              spa_meta_video_crop->y = crop_rect.y;
--              spa_meta_video_crop->width = crop_rect.width;
--              spa_meta_video_crop->height = crop_rect.height;
-+              spa_meta_video_crop->region.position.x = crop_rect.x;
-+              spa_meta_video_crop->region.position.y = crop_rect.y;
-+              spa_meta_video_crop->region.size.width = crop_rect.width;
-+              spa_meta_video_crop->region.size.height = crop_rect.height;
-             }
-           else
-             {
--              spa_meta_video_crop->x = 0;
--              spa_meta_video_crop->y = 0;
--              spa_meta_video_crop->width = priv->stream_width;
--              spa_meta_video_crop->height = priv->stream_height;
-+              spa_meta_video_crop->region.position.x = 0;
-+              spa_meta_video_crop->region.position.y = 0;
-+              spa_meta_video_crop->region.size.width = priv->stream_width;
-+              spa_meta_video_crop->region.size.height = priv->stream_height;
-             }
-         }
-     }
-@@ -555,7 +539,6 @@ on_stream_state_changed (void                 *data,
-   MetaScreenCastStreamSrc *src = data;
-   MetaScreenCastStreamSrcPrivate *priv =
-     meta_screen_cast_stream_src_get_instance_private (src);
--  uint32_t node_id;
-
-   switch (state)
-     {
-@@ -563,14 +546,12 @@ on_stream_state_changed (void                 *data,
-       g_warning ("pipewire stream error: %s", error_message);
-       meta_screen_cast_stream_src_notify_closed (src);
-       break;
--    case PW_STREAM_STATE_CONFIGURE:
--      node_id = pw_stream_get_node_id (priv->pipewire_stream);
--      g_signal_emit (src, signals[READY], 0, (unsigned int) node_id);
--      break;
--    case PW_STREAM_STATE_UNCONNECTED:
--    case PW_STREAM_STATE_CONNECTING:
--    case PW_STREAM_STATE_READY:
-     case PW_STREAM_STATE_PAUSED:
-+      if (priv->node_id == SPA_ID_INVALID && priv->pipewire_stream)
-+        {
-+          priv->node_id = pw_stream_get_node_id (priv->pipewire_stream);
-+          g_signal_emit (src, signals[READY], 0, (unsigned int) priv->node_id);
-+        }
-       if (meta_screen_cast_stream_src_is_enabled (src))
-         meta_screen_cast_stream_src_disable (src);
-       break;
-@@ -578,68 +559,69 @@ on_stream_state_changed (void                 *data,
-       if (!meta_screen_cast_stream_src_is_enabled (src))
-         meta_screen_cast_stream_src_enable (src);
-       break;
-+    case PW_STREAM_STATE_UNCONNECTED:
-+    case PW_STREAM_STATE_CONNECTING:
-+      break;
-     }
- }
-
- static void
--on_stream_format_changed (void                 *data,
--                          const struct spa_pod *format)
-+on_stream_param_changed (void                 *data,
-+                         uint32_t              id,
-+                         const struct spa_pod *format)
- {
-   MetaScreenCastStreamSrc *src = data;
-   MetaScreenCastStreamSrcPrivate *priv =
-     meta_screen_cast_stream_src_get_instance_private (src);
--  struct pw_type *pipewire_type = priv->pipewire_type;
-   uint8_t params_buffer[1024];
-   int32_t width, height, stride, size;
-   struct spa_pod_builder pod_builder;
-   const struct spa_pod *params[3];
-   const int bpp = 4;
-
--  if (!format)
--    {
--      pw_stream_finish_format (priv->pipewire_stream, 0, NULL, 0);
--      return;
--    }
-+  if (!format || id != SPA_PARAM_Format)
-+    return;
-
-   spa_format_video_raw_parse (format,
--                              &priv->video_format,
--                              &priv->spa_type.format_video);
-+                              &priv->video_format);
-
-   width = priv->video_format.size.width;
-   height = priv->video_format.size.height;
-   stride = SPA_ROUND_UP_N (width * bpp, 4);
-   size = height * stride;
-
-+  priv->video_stride = stride;
-+
-   pod_builder = SPA_POD_BUILDER_INIT (params_buffer, sizeof (params_buffer));
-
--  params[0] = spa_pod_builder_object (
-+  params[0] = spa_pod_builder_add_object (
-     &pod_builder,
--    pipewire_type->param.idBuffers, pipewire_type->param_buffers.Buffers,
--    ":", pipewire_type->param_buffers.size, "i", size,
--    ":", pipewire_type->param_buffers.stride, "i", stride,
--    ":", pipewire_type->param_buffers.buffers, "iru", 16, PROP_RANGE (2, 16),
--    ":", pipewire_type->param_buffers.align, "i", 16);
--
--  params[1] = spa_pod_builder_object (
-+    SPA_TYPE_OBJECT_ParamBuffers, SPA_PARAM_Buffers,
-+    SPA_PARAM_BUFFERS_buffers, SPA_POD_CHOICE_RANGE_Int (16, 2, 16),
-+    SPA_PARAM_BUFFERS_blocks, SPA_POD_Int (1),
-+    SPA_PARAM_BUFFERS_size, SPA_POD_Int (size),
-+    SPA_PARAM_BUFFERS_stride, SPA_POD_Int (stride),
-+    SPA_PARAM_BUFFERS_align, SPA_POD_Int (16));
-+
-+  params[1] = spa_pod_builder_add_object (
-     &pod_builder,
--    pipewire_type->param.idMeta, pipewire_type->param_meta.Meta,
--    ":", pipewire_type->param_meta.type, "I", pipewire_type->meta.VideoCrop,
--    ":", pipewire_type->param_meta.size, "i", sizeof (struct spa_meta_video_crop));
-+    SPA_TYPE_OBJECT_ParamMeta, SPA_PARAM_Meta,
-+    SPA_PARAM_META_type, SPA_POD_Id (SPA_META_VideoCrop),
-+    SPA_PARAM_META_size, SPA_POD_Int (sizeof (struct spa_meta_region)));
-
--  params[2] = spa_pod_builder_object (
-+  params[2] = spa_pod_builder_add_object (
-     &pod_builder,
--    pipewire_type->param.idMeta, pipewire_type->param_meta.Meta,
--    ":", pipewire_type->param_meta.type, "I", priv->spa_type.meta_cursor,
--    ":", pipewire_type->param_meta.size, "i", CURSOR_META_SIZE (64, 64));
-+    SPA_TYPE_OBJECT_ParamMeta, SPA_PARAM_Meta,
-+    SPA_PARAM_META_type, SPA_POD_Id (SPA_META_Cursor),
-+    SPA_PARAM_META_size, SPA_POD_Int (CURSOR_META_SIZE (64, 64)));
-
--  pw_stream_finish_format (priv->pipewire_stream, 0,
--                           params, G_N_ELEMENTS (params));
-+  pw_stream_update_params (priv->pipewire_stream, params, G_N_ELEMENTS (params));
- }
-
- static const struct pw_stream_events stream_events = {
-   PW_VERSION_STREAM_EVENTS,
-   .state_changed = on_stream_state_changed,
--  .format_changed = on_stream_format_changed,
-+  .param_changed = on_stream_param_changed,
- };
-
- static struct pw_stream *
-@@ -652,8 +634,6 @@ create_pipewire_stream (MetaScreenCastStreamSrc  *src,
-   uint8_t buffer[1024];
-   struct spa_pod_builder pod_builder =
-     SPA_POD_BUILDER_INIT (buffer, sizeof (buffer));
--  MetaSpaType *spa_type = &priv->spa_type;
--  struct pw_type *pipewire_type = priv->pipewire_type;
-   float frame_rate;
-   MetaFraction frame_rate_fraction;
-   struct spa_fraction max_framerate;
-@@ -661,7 +641,9 @@ create_pipewire_stream (MetaScreenCastStreamSrc  *src,
-   const struct spa_pod *params[1];
-   int result;
-
--  pipewire_stream = pw_stream_new (priv->pipewire_remote,
-+  priv->node_id = SPA_ID_INVALID;
-+
-+  pipewire_stream = pw_stream_new (priv->pipewire_core,
-                                    "meta-screen-cast-src",
-                                    NULL);
-   if (!pipewire_stream)
-@@ -682,17 +664,17 @@ create_pipewire_stream (MetaScreenCastStreamSrc  *src,
-   max_framerate = SPA_FRACTION (frame_rate_fraction.num,
-                                 frame_rate_fraction.denom);
-
--  params[0] = spa_pod_builder_object (
-+  params[0] = spa_pod_builder_add_object (
-     &pod_builder,
--    pipewire_type->param.idEnumFormat, pipewire_type->spa_format,
--    "I", spa_type->media_type.video,
--    "I", spa_type->media_subtype.raw,
--    ":", spa_type->format_video.format, "I", spa_type->video_format.BGRx,
--    ":", spa_type->format_video.size, "R", &SPA_RECTANGLE (priv->stream_width,
--                                                           priv->stream_height),
--    ":", spa_type->format_video.framerate, "F", &SPA_FRACTION (0, 1),
--    ":", spa_type->format_video.max_framerate, "Fru", &max_framerate,
--                                                      PROP_RANGE (&min_framerate,
-+    SPA_TYPE_OBJECT_Format, SPA_PARAM_EnumFormat,
-+    SPA_FORMAT_mediaType, SPA_POD_Id (SPA_MEDIA_TYPE_video),
-+    SPA_FORMAT_mediaSubtype, SPA_POD_Id (SPA_MEDIA_SUBTYPE_raw),
-+    SPA_FORMAT_VIDEO_format, SPA_POD_Id (SPA_VIDEO_FORMAT_BGRx),
-+    SPA_FORMAT_VIDEO_size, SPA_POD_Rectangle (&SPA_RECTANGLE (priv->stream_width,
-+                                                              priv->stream_height)),
-+    SPA_FORMAT_VIDEO_framerate, SPA_POD_Fraction (&SPA_FRACTION (0, 1)),
-+    SPA_FORMAT_VIDEO_maxFramerate, SPA_POD_CHOICE_RANGE_Fraction (&max_framerate,
-+                                                                  &min_framerate,
-                                                                   &max_framerate));
-
-   pw_stream_add_listener (pipewire_stream,
-@@ -702,7 +684,7 @@ create_pipewire_stream (MetaScreenCastStreamSrc  *src,
-
-   result = pw_stream_connect (pipewire_stream,
-                               PW_DIRECTION_OUTPUT,
--                              NULL,
-+                              SPA_ID_INVALID,
-                               (PW_STREAM_FLAG_DRIVER |
-                                PW_STREAM_FLAG_MAP_BUFFERS),
-                               params, G_N_ELEMENTS (params));
-@@ -717,40 +699,18 @@ create_pipewire_stream (MetaScreenCastStreamSrc  *src,
- }
-
- static void
--on_state_changed (void                 *data,
--                  enum pw_remote_state  old,
--                  enum pw_remote_state  state,
--                  const char           *error_message)
-+on_core_error (void       *data,
-+               uint32_t    id,
-+	       int         seq,
-+	       int         res,
-+	       const char *message)
- {
-   MetaScreenCastStreamSrc *src = data;
--  MetaScreenCastStreamSrcPrivate *priv =
--    meta_screen_cast_stream_src_get_instance_private (src);
--  struct pw_stream *pipewire_stream;
--  GError *error = NULL;
-
--  switch (state)
--    {
--    case PW_REMOTE_STATE_ERROR:
--      g_warning ("pipewire remote error: %s\n", error_message);
--      meta_screen_cast_stream_src_notify_closed (src);
--      break;
--    case PW_REMOTE_STATE_CONNECTED:
--      pipewire_stream = create_pipewire_stream (src, &error);
--      if (!pipewire_stream)
--        {
--          g_warning ("Could not create pipewire stream: %s", error->message);
--          g_error_free (error);
--          meta_screen_cast_stream_src_notify_closed (src);
--        }
--      else
--        {
--          priv->pipewire_stream = pipewire_stream;
--        }
--      break;
--    case PW_REMOTE_STATE_UNCONNECTED:
--    case PW_REMOTE_STATE_CONNECTING:
--      break;
--    }
-+  g_warning ("pipewire remote error: id:%u %s", id, message);
-+
-+  if (id == PW_ID_CORE && res == -EPIPE)
-+    meta_screen_cast_stream_src_notify_closed (src);
- }
-
- static gboolean
-@@ -793,17 +753,6 @@ static GSourceFuncs pipewire_source_funcs =
-   pipewire_loop_source_finalize
- };
-
--static void
--init_spa_type (MetaSpaType         *type,
--               struct spa_type_map *map)
--{
--  spa_type_media_type_map (map, &type->media_type);
--  spa_type_media_subtype_map (map, &type->media_subtype);
--  spa_type_format_video_map (map, &type->format_video);
--  spa_type_video_format_map (map, &type->video_format);
--  type->meta_cursor = spa_type_map_get_id(map, SPA_TYPE_META__Cursor);
--}
--
- static MetaPipeWireSource *
- create_pipewire_source (void)
- {
-@@ -829,9 +778,9 @@ create_pipewire_source (void)
-   return pipewire_source;
- }
-
--static const struct pw_remote_events remote_events = {
--  PW_VERSION_REMOTE_EVENTS,
--  .state_changed = on_state_changed,
-+static const struct pw_core_events core_events = {
-+  PW_VERSION_CORE_EVENTS,
-+  .error = on_core_error,
- };
-
- static gboolean
-@@ -851,37 +800,31 @@ meta_screen_cast_stream_src_initable_init (GInitable     *initable,
-       return FALSE;
-     }
-
--  priv->pipewire_core = pw_core_new (priv->pipewire_source->pipewire_loop,
--                                     NULL);
--  if (!priv->pipewire_core)
-+  priv->pipewire_context = pw_context_new (priv->pipewire_source->pipewire_loop,
-+                                           NULL, 0);
-+  if (!priv->pipewire_context)
-     {
-       g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
--                   "Failed to create pipewire core");
-+                   "Failed to create pipewire context");
-       return FALSE;
-     }
-
--  priv->pipewire_remote = pw_remote_new (priv->pipewire_core, NULL, 0);
--  if (!priv->pipewire_remote)
-+  priv->pipewire_core = pw_context_connect (priv->pipewire_context, NULL, 0);
-+  if (!priv->pipewire_core)
-     {
-       g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
--                   "Couldn't creat pipewire remote");
-+                   "Couldn't connect pipewire context");
-       return FALSE;
-     }
-
--  pw_remote_add_listener (priv->pipewire_remote,
--                          &priv->pipewire_remote_listener,
--                          &remote_events,
--                          src);
-+  pw_core_add_listener (priv->pipewire_core,
-+                        &priv->pipewire_core_listener,
-+                        &core_events,
-+                        src);
-
--  priv->pipewire_type = pw_core_get_type (priv->pipewire_core);
--  init_spa_type (&priv->spa_type, priv->pipewire_type->map);
--
--  if (pw_remote_connect (priv->pipewire_remote) != 0)
--    {
--      g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
--                   "Couldn't connect pipewire remote");
--      return FALSE;
--    }
-+  priv->pipewire_stream = create_pipewire_stream (src, error);
-+  if (!priv->pipewire_stream)
-+    return FALSE;
-
-   return TRUE;
- }
-@@ -912,8 +855,8 @@ meta_screen_cast_stream_src_finalize (GObject *object)
-     meta_screen_cast_stream_src_disable (src);
-
-   g_clear_pointer (&priv->pipewire_stream, pw_stream_destroy);
--  g_clear_pointer (&priv->pipewire_remote, pw_remote_destroy);
--  g_clear_pointer (&priv->pipewire_core, pw_core_destroy);
-+  g_clear_pointer (&priv->pipewire_core, pw_core_disconnect);
-+  g_clear_pointer (&priv->pipewire_context, pw_context_destroy);
-   g_source_destroy (&priv->pipewire_source->base);
-
-   G_OBJECT_CLASS (meta_screen_cast_stream_src_parent_class)->finalize (object);
diff --git a/srcpkgs/mutter/template b/srcpkgs/mutter/template
index 806a3bef9f0..37ec963aa5e 100644
--- a/srcpkgs/mutter/template
+++ b/srcpkgs/mutter/template
@@ -1,34 +1,40 @@
 # Template file for 'mutter'
 pkgname=mutter
-version=3.34.1
-revision=3
+version=3.37.91
+revision=1
 build_helper="gir"
 build_style=meson
 configure_args="-Degl_device=true -Dudev=true -Dnative_backend=true
- -Dprofiler=false -Dintrospection=true -Dxwayland_path=/usr/bin/Xwayland"
+ -Dprofiler=false -Dintrospection=true -Dxwayland_path=/usr/bin/Xwayland
+ -Dxwayland_initfd=disabled"
 hostmakedepends="gettext glib-devel pkg-config zenity wayland-devel xorg-server"
-makedepends="elogind-devel glib-devel gnome-desktop-devel json-glib-devel
- libglib-devel libSM-devel libXtst-devel libcanberra-devel libinput-devel
- MesaLib-devel pipewire-devel startup-notification-devel wayland-protocols
- gnome-settings-daemon-devel"
-depends="desktop-file-utils zenity"
+makedepends="elogind-devel glib-devel gnome-desktop-devel graphene-devel
+ json-glib-devel libglib-devel libSM-devel libXtst-devel libcanberra-devel
+ libinput-devel MesaLib-devel pipewire-devel startup-notification-devel
+ wayland-protocols gnome-settings-daemon-devel"
+depends="gsettings-desktop-schemas desktop-file-utils zenity"
 short_desc="Lightweight GTK+3 window manager"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://wiki.gnome.org/Projects/Mutter/"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=ba1826cf88bdb81e63943cac014a8e8bcf35ec178c53264401f9c72fdeab758e
-shlib_provides="libmutter-clutter-5.so libmutter-cogl-5.so
- libmutter-cogl-pango-5.so libmutter-cogl-path-5.so"
+checksum=8b087b22ebd0bd9995e60ea4fd5ef4ee1a6542e57839dc42333e4d19d433a55d
+shlib_provides="libmutter-clutter-7.so libmutter-cogl-7.so
+ libmutter-cogl-pango-7.so libmutter-cogl-path-7.so"
+
+# needs X
+do_check() {
+	:
+}
 
 mutter-devel_package() {
-	depends="gsettings-desktop-schemas gtk+3-devel clutter-devel libX11-devel
-	 libXtst-devel mutter-${version}_${revision}"
+	depends="gtk+3-devel graphene-devel clutter-devel
+	 libX11-devel libXtst-devel mutter-${version}_${revision}"
 	short_desc+=" - development files"
 	pkg_install() {
 		vmove usr/include
 		vmove usr/lib/pkgconfig
-		vmove "usr/lib/mutter-5/*.gir"
+		vmove "usr/lib/mutter-7/*.gir"
 		vmove "usr/lib/*.so"
 	}
 }

From bbddf73d588fe8414906ffe6a2149d959117c07c Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 09/81] gnome-menus: update to 3.36.0

---
 srcpkgs/gnome-menus/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/gnome-menus/template b/srcpkgs/gnome-menus/template
index 29102129c38..e787fb8de6b 100644
--- a/srcpkgs/gnome-menus/template
+++ b/srcpkgs/gnome-menus/template
@@ -1,7 +1,7 @@
 # Template file for 'gnome-menus'
 pkgname=gnome-menus
-version=3.32.0
-revision=2
+version=3.36.0
+revision=1
 build_style=gnu-configure
 build_helper="gir"
 configure_args="--disable-static"
@@ -12,7 +12,7 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later, LGPL-2.0-or-later"
 homepage="https://gitlab.gnome.org/GNOME/gnome-menus"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=c850c64b2074265fe59e099a340b8689cf3dd4658dc9feddd2ab5e95f1a74b74
+checksum=d9348f38bde956fc32753b28c1cde19c175bfdbf1f4d5b06003b3aa09153bb1f
 
 build_options="gir"
 build_options_default="gir"

From 40e618b81a6866e4c8803d2176d81b0b20633d36 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 10/81] cheese: bump

---
 srcpkgs/cheese/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cheese/template b/srcpkgs/cheese/template
index 7a56ba039fb..037cda49c98 100644
--- a/srcpkgs/cheese/template
+++ b/srcpkgs/cheese/template
@@ -1,7 +1,7 @@
 # Template file for 'cheese'
 pkgname=cheese
 version=3.34.0
-revision=1
+revision=2
 build_style=meson
 build_helper="gir"
 configure_args="-Dgtk_doc=$(vopt_if gtk_doc 'true' 'false')

From c7b4f80fb13dee98704293fa222bee905fc46566 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 11/81] evolution-data-server: update to 3.37.90

---
 common/shlibs                          |  2 +-
 srcpkgs/evolution-data-server/template | 25 +++++++++++++++----------
 2 files changed, 16 insertions(+), 11 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index 3f6a85fa4ce..14a777fb173 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -628,7 +628,7 @@ libicalss_cxx.so.3 libical-3.0.4_1
 libicalvcal.so.3 libical-3.0.4_1
 libical-glib.so.3 libical-3.0.4_1
 libcamel-1.2.so.62 evolution-data-server-3.30.0_1
-libedataserver-1.2.so.24 evolution-data-server-3.32.0_1
+libedataserver-1.2.so.25 evolution-data-server-3.37.90_1
 libebackend-1.2.so.10 evolution-data-server-3.17.90_1
 libedataserverui-1.2.so.2 evolution-data-server-3.28.0_1
 libebook-contacts-1.2.so.3 evolution-data-server-3.34.0_1
diff --git a/srcpkgs/evolution-data-server/template b/srcpkgs/evolution-data-server/template
index 4ae820be068..52069ad993b 100644
--- a/srcpkgs/evolution-data-server/template
+++ b/srcpkgs/evolution-data-server/template
@@ -1,29 +1,34 @@
 # Template file for 'evolution-data-server'
 pkgname=evolution-data-server
-version=3.36.1
-revision=2
+version=3.37.90
+revision=1
 build_style=cmake
-build_helper=gir
+build_helper="gir qemu"
 configure_args="-DENABLE_UOA=OFF
- $(vopt_if gir '-DENABLE_INTROSPECTION=ON -DENABLE_VALA_BINDINGS=ON' '-DENABLE_WEATHER=OFF')"
-hostmakedepends="flex glib-devel gperf intltool pkg-config libglib-devel
- $(vopt_if gir 'gobject-introspection')"
-makedepends="boost-devel libcanberra-devel libgdata-devel $(vopt_if gir libgweather-devel)
- libical-devel libsecret-devel mit-krb5-devel $(vopt_if gir 'vala-devel') webkit2gtk-devel"
-depends="$(vopt_if gir libgweather) libsoup-gnome"
+ $(vopt_if gir '-DENABLE_INTROSPECTION=ON -DENABLE_VALA_BINDINGS=ON')"
+hostmakedepends="flex glib-devel gperf intltool pkg-config libglib-devel"
+makedepends="boost-devel libcanberra-devel libgdata-devel libical-devel
+ libsecret-devel mit-krb5-devel webkit2gtk-devel libgweather-devel
+ $(vopt_if gir vala-devel)"
+depends="libgweather libsoup-gnome"
 short_desc="Centralized access to appointments and contacts"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="LGPL-2.1-only"
 homepage="https://wiki.gnome.org/Apps/Evolution"
 changelog="https://raw.githubusercontent.com/GNOME/evolution-data-server/gnome-3-36/NEWS"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=13122b2edddb98306207d2a35d5ccae25a90702769ca0a0b51653b5984986796
+checksum=6cd71edf42e699ab8e8bd4908aeb131210b594ce961bde68fd27333b2aed4430
 
 build_options="gir"
 if [ -z "$CROSS_BUILD" ]; then
 	build_options_default="gir"
 fi
 
+# problematic
+do_check() {
+	:
+}
+
 # cmake perfomrms 2 checks using binary runtime, about iconv and sfrtime.
 # musl (1.1.16) does not support "ISO-2022-JP" encoding (see its roadmap),
 # although evolution-data-server is fine with musl.

From 43f848c8f8dfd568cf8015751e9c91687acb6e83 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 12/81] gnome-control-center: update to 3.37.90

---
 srcpkgs/gnome-control-center/template | 22 +++++++++++++---------
 1 file changed, 13 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/gnome-control-center/template b/srcpkgs/gnome-control-center/template
index be5852f3b21..1e16e7abb6b 100644
--- a/srcpkgs/gnome-control-center/template
+++ b/srcpkgs/gnome-control-center/template
@@ -1,22 +1,22 @@
 # Template file for 'gnome-control-center'
 pkgname=gnome-control-center
-version=3.34.1
+version=3.37.90
 revision=1
 build_style=meson
 build_helper="gir"
 configure_args="-Dcheese=$(vopt_if cheese true false)"
-hostmakedepends="glib-devel gsettings-desktop-schemas-devel intltool pkg-config polkit
- python3"
+hostmakedepends="glib-devel gsettings-desktop-schemas-devel intltool pkg-config
+ polkit python3"
 makedepends="ModemManager-devel accountsservice-devel alsa-plugins
  colord-gtk-devel gnome-bluetooth-devel gnome-desktop-devel gnome-menus-devel
  gnome-online-accounts-devel gnome-settings-daemon-devel grilo-devel ibus-devel
- libSM-devel libXxf86misc-devel libgnomekbd-devel libgtop-devel
+ libSM-devel libXxf86misc-devel libgnomekbd-devel libgtop-devel libhandy1-devel
  libpwquality-devel mit-krb5-devel network-manager-applet-devel polkit-devel
  pulseaudio-devel samba-devel tzdata upower-devel vala-devel clutter-gtk-devel
  libxml2-devel libX11-devel gtk+3-devel cups-devel libgudev-devel libwacom-devel
  clutter-devel libsecret-devel libcanberra-devel udisks2-devel gsound-devel
  $(vopt_if cheese cheese-devel)"
-depends="alsa-plugins-pulseaudio desktop-file-utils
+depends="alsa-plugins-pulseaudio desktop-file-utils upower colord cups-pk-helper
  gsettings-desktop-schemas hicolor-icon-theme iso-codes sound-theme-freedesktop
  cracklib"
 short_desc="GNOME control center"
@@ -24,13 +24,17 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://gitlab.gnome.org/GNOME/gnome-control-center"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=5f82ecd5554136c462248ec5363b82d95358b39dfd6787006d8307b4504e515e
+checksum=b0bb1dc364f2ae7a496f90223a6f87480ee644c759a764739659eb437546f5d5
 
 build_options="cheese"
+build_options_default="cheese"
+
 desc_option_cheese="Add support for adding user account images with your webcam"
-if [ -z "$CROSS_BUILD" ]; then
-	build_options_default+=" cheese"
-fi
+
+# needs X11 and requires altered filesystem
+do_check() {
+	:
+}
 
 CFLAGS="-fcommon"
 

From c912426ed10544d41f784265f1fd67fb02277db7 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 13/81] tracker: update to 2.3.4

---
 srcpkgs/tracker/template | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/tracker/template b/srcpkgs/tracker/template
index 37074cb348d..19338db45e1 100644
--- a/srcpkgs/tracker/template
+++ b/srcpkgs/tracker/template
@@ -1,22 +1,23 @@
 # Template file for 'tracker'
 pkgname=tracker
-version=2.3.1
-revision=2
+version=2.3.4
+revision=1
 build_style=meson
 build_helper="gir"
 configure_args="-Ddocs=false -Dfts=true -Dfunctional_tests=false
  -Djournal=true -Dman=true -Dnetwork_manager=enabled -Dstemmer=disabled
  -Dsystemd_user_services=no"
-hostmakedepends="pkg-config glib-devel vala"
+hostmakedepends="gettext pkg-config glib-devel vala"
 makedepends="dbus-devel libglib-devel icu-devel json-glib-devel
  libsoup-devel libxml2-devel sqlite-devel NetworkManager-devel
  bash-completion"
+checkdepends="tar"
 short_desc="Personal search tool and storage system"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://live.gnome.org/Tracker"
 distfiles="${GNOME_SITE}/tracker/${version%.*}/tracker-${version}.tar.xz"
-checksum=b6748726e465ad2f4d991560634b1fd0df8841f3d981b3b837c4162abedf08a1
+checksum=577952244ab977c78b0b88e2f63c4197eaba16e4d66bff692b7f58993e06516d
 
 if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" dbus"

From ba0b31651d20ad635774b70bfc7a1b507a7dd2af Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 14/81] folks: update to 0.14.0

---
 common/shlibs          |  7 ++++---
 srcpkgs/folks/template | 28 ++++++++++++++++++----------
 2 files changed, 22 insertions(+), 13 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index 14a777fb173..43f7ede2599 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -833,9 +833,10 @@ libdmr.so.0.1 deepin-movie-reborn-3.2.5_1
 libgjs.so.0 gjs-1.65.2_1
 libtelepathy-glib.so.0 telepathy-glib-0.15.5_1
 libaccountsservice.so.0 accountsservice-0.6.4_1
-libfolks.so.25 folks-0.9.5_1
-libfolks-telepathy.so.25 folks-0.9.5_1
-libfolks-eds.so.25 folks-0.9.5_1
+libfolks.so.25 folks-0.14.0_1
+libfolks-dummy.so.25 folks-0.14.0_1
+libfolks-telepathy.so.25 folks-0.14.0_1
+libfolks-eds.so.25 folks-0.14.0_1
 libnice.so.10 libnice-0.1.0_1
 libgupnp-igd-1.0.so.4 gupnp-igd-0.2.0_1
 libtelepathy-logger.so.3 telepathy-logger-0.6.0_1
diff --git a/srcpkgs/folks/template b/srcpkgs/folks/template
index 3310c54fadd..b076b94bea2 100644
--- a/srcpkgs/folks/template
+++ b/srcpkgs/folks/template
@@ -1,21 +1,27 @@
 # Template file for 'folks'
 pkgname=folks
-version=0.13.1
-revision=2
+version=0.14.0
+revision=1
 build_style=meson
-build_helper=gir
-configure_args="-Db_lto=false -Dlibsocialweb-backend=false"
-hostmakedepends="pkg-config intltool glib-devel vala python gobject-introspection
- evolution-data-server-devel"
+build_helper="gir qemu"
+configure_args="-Db_lto=false"
+hostmakedepends="pkg-config intltool glib-devel python3 python3-dbusmock
+ evolution-data-server-devel $(vopt_if gir vala)"
 makedepends="readline-devel telepathy-glib-devel zeitgeist-devel
- libgee08-devel evolution-data-server-devel tracker-devel"
+ libgee08-devel evolution-data-server-devel tracker-devel
+ $(vopt_if gir vala-devel)"
 depends="zeitgeist"
 short_desc="GObject Library to aggregate people into metacontacts"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="LGPL-2.1-or-later"
 homepage="https://wiki.gnome.org/Projects/Folks"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=3df1c663b82fe211aead2b31cae1fc41d124e85436375762f6745c45ba46aa5d
+checksum=d6e778da637d3b33fd9a6b45115e8157d8868211dc08b943d1075b5eb7282bb9
+
+build_options="gir"
+if [ -z "$CROSS_BUILD" ]; then
+	build_options_default="gir"
+fi
 
 folks-devel_package() {
 	depends="${makedepends} ${sourcepkg}>=${version}_${revision}"
@@ -24,7 +30,9 @@ folks-devel_package() {
 		vmove usr/include
 		vmove usr/lib/pkgconfig
 		vmove "usr/lib/*.so"
-		vmove usr/share/vala
-		vmove usr/share/gir-1.0
+		if [ "$build_option_gir" ]; then
+			vmove usr/share/gir-1.0
+			vmove usr/share/vala
+		fi
 	}
 }

From 9538e937fba5332831ed3e54e6d58a7b3c4e3078 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 15/81] dconf-editor: update to 3.36.4

---
 srcpkgs/dconf-editor/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/dconf-editor/template b/srcpkgs/dconf-editor/template
index de250bbc8a9..889e794e6b2 100644
--- a/srcpkgs/dconf-editor/template
+++ b/srcpkgs/dconf-editor/template
@@ -1,13 +1,13 @@
 # Template file for 'dconf-editor'
 pkgname=dconf-editor
-version=3.36.0
+version=3.36.4
 revision=1
 build_style=meson
-hostmakedepends="docbook-xsl glib-devel libxslt pkg-config vala"
+hostmakedepends="docbook-xsl glib-devel libxslt pkg-config vala gettext"
 makedepends="dconf-devel gtk+3-devel"
 short_desc="Low-level configuration system - GTK+ editor"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="https://wiki.gnome.org/Projects/dconf"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=72eed05670917f8e43200e40ccc6be60211f0a87b017534eac1fd6c7173a0693
+checksum=3ec309bbc920b15c2a5683e1a4962abf6911a8762c8a113c4d794f7e0ea53e79

From ff684c4b31a52976e03c909935a104326102b99a Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 16/81] devhelp: update to 3.37.1

---
 srcpkgs/devhelp/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/devhelp/template b/srcpkgs/devhelp/template
index a1c2dcbb762..9c5c40763c9 100644
--- a/srcpkgs/devhelp/template
+++ b/srcpkgs/devhelp/template
@@ -1,6 +1,6 @@
 # Template file for 'devhelp'
 pkgname=devhelp
-version=3.36.1
+version=3.37.1
 revision=1
 build_helper="gir"
 build_style=meson
@@ -11,7 +11,7 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://wiki.gnome.org/Apps/Devhelp"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=4cf8ec9302bc4a79e01ac53bd9c8b95a596f71f35351f48b63263227f09a8a3d
+checksum=81ffbb9e137cd0031a4f4304a1244d0b4328e4a7c00d749a8fc0e2bbaa3005f9
 
 devhelp-devel_package() {
 	short_desc+=" - development files"

From 999ca60791cb20e8ef8e3771f5c111dd05e22177 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 17/81] gnome-shell: update to 3.37.91

---
 srcpkgs/gnome-shell/template | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/gnome-shell/template b/srcpkgs/gnome-shell/template
index 96c5b80a194..5b18685e7b2 100644
--- a/srcpkgs/gnome-shell/template
+++ b/srcpkgs/gnome-shell/template
@@ -1,12 +1,12 @@
 # Template file for 'gnome-shell'
 pkgname=gnome-shell
-version=3.34.1
+version=3.37.91
 revision=1
 build_style=meson
 build_helper=gir
 configure_args="-Dsystemd=false"
 hostmakedepends="gobject-introspection gtk-doc libxslt pkg-config python3 sassc
- asciidoc perl glib-devel mutter-devel"
+ asciidoc perl glib-devel mutter-devel gettext gjs-devel"
 makedepends="at-spi2-atk caribou-devel evolution-data-server-devel folks-devel
  gcr-devel gjs-devel gnome-bluetooth-devel gnome-control-center-devel gnome-desktop-devel
  gnome-menus-devel gsettings-desktop-schemas-devel gstreamer1-devel gtk+3-devel
@@ -21,4 +21,9 @@ license="GPL-2.0-or-later"
 homepage="https://wiki.gnome.org/Projects/GnomeShell"
 changelog="https://raw.githubusercontent.com/GNOME/gnome-shell/gnome-3-30/NEWS"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=ccd86559b9c897c219d2d2ebfdb8413efa4c1bee846427c750cb8a301b3f6d1e
+checksum=7a28b9f84735945ca71bcebd9ff55a01cc147fe172218aa835d587dc8d46ca07
+
+# needs X
+do_check() {
+	:
+}

From 088658c029be856470652f422e80df6befc60da3 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 18/81] gdm: update to 3.37.90

---
 srcpkgs/gdm/template | 31 +++++++++++++++++++------------
 1 file changed, 19 insertions(+), 12 deletions(-)

diff --git a/srcpkgs/gdm/template b/srcpkgs/gdm/template
index bb5b48692d4..d9499b33617 100644
--- a/srcpkgs/gdm/template
+++ b/srcpkgs/gdm/template
@@ -1,27 +1,28 @@
 # Template file for 'gdm'
 pkgname=gdm
-version=3.34.1
+version=3.37.90
 revision=1
 build_helper="gir"
-build_style=gnu-configure
-configure_args="$(vopt_enable gir introspection)
- --disable-schemas-compile --disable-static --with-default-pam-config=arch
- --with-at-spi-registryd-directory=/usr/libexec --without-tcp-wrappers
- --with-screenshot-dir=/var/lib/gdm/greeter --sbindir=/usr/bin --without-plymouth
- --with-xauth-dir=/run/gdm --with-pid-file=/run/gdm/gdm.pid
- --disable-systemd-journal --with-initial-vt=7 --enable-wayland-support"
+build_style=meson
+configure_args="
+ -Ddefault-pam-config=arch -Dat-spi-registryd-dir=/usr/libexec
+ -Dtcp-wrappers=false -Dscreenshot-dir=/var/lib/gdm/greeter
+ -Dplymouth=disabled -Dxauth-dir=/run/gdm -Dpid-file=/run/gdm/gdm.pid
+ -Dsystemd-journal=false -Dinitial-vt=7 -Dwayland-support=true
+ -Dselinux=disabled -Dlibaudit=disabled
+ -Dsystemdsystemunitdir=/tmp -Dsystemduserunitdir=/tmp"
 hostmakedepends="dconf gettext itstool pkg-config"
 makedepends="accountsservice-devel elogind-devel gettext-devel glib-devel
  iso-codes libSM-devel libcanberra-devel nss-devel pam-devel upower-devel"
-depends="gnome-settings-daemon gnome-shell xorg-server xorg-server-xwayland
- xrdb"
+depends="gnome-settings-daemon gnome-shell gnome-session gnome-themes-extra
+ gsettings-desktop-schemas xorg-server xorg-server-xwayland xrdb"
 checkdepends="check-devel"
 short_desc="GNOME Display Manager"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://wiki.gnome.org/Projects/GDM"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=e85df657aa8d9361af4fb122014d8f123a93bfe45a7662fba2b373d839dbd8d3
+checksum=53c2911e8b7298642f41bbd5719f385e4ff734406127a002b3f1573216a84e12
 
 conf_files="
 	/etc/gdm/custom.conf
@@ -43,10 +44,16 @@ if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" glib-devel pam-devel"
 fi
 
+pre_configure() {
+	# only used to guess unit file installation path
+	vsed -i 's,^systemd_dep,#systemd_dep,' meson.build
+}
+
 post_install() {
 	vinstall $FILESDIR/Xsession 755 etc/gdm
 
 	vsed -i "s/pam_systemd\.so/pam_elogind.so/" $DESTDIR/etc/pam.d/*
+	rm -rf ${DESTDIR}/tmp
 
 	# runit service
 	vsv gdm
@@ -60,7 +67,7 @@ libgdm_package() {
 }
 
 gdm-devel_package() {
-	depends="libgdm>=${version}_${revision}"
+	depends="libgdm>=${version}_${revision} elogind-devel"
 	short_desc+=" - development files"
 	pkg_install() {
 		vmove usr/include

From 9e37e7cf7ccbe3c57e708a7c15c62f9a2e15ea31 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 19/81] gnome-session: update to 3.37.0

---
 ...-app-Strip-blacklisted-variables-fro.patch | 67 +++++++++++++++++++
 .../patches/no-systemd-dep.patch              | 14 ++++
 srcpkgs/gnome-session/template                | 10 ++-
 3 files changed, 88 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/gnome-session/patches/0001-revert-autostart-app-Strip-blacklisted-variables-fro.patch
 create mode 100644 srcpkgs/gnome-session/patches/no-systemd-dep.patch

diff --git a/srcpkgs/gnome-session/patches/0001-revert-autostart-app-Strip-blacklisted-variables-fro.patch b/srcpkgs/gnome-session/patches/0001-revert-autostart-app-Strip-blacklisted-variables-fro.patch
new file mode 100644
index 00000000000..cfd9f4ba6cf
--- /dev/null
+++ b/srcpkgs/gnome-session/patches/0001-revert-autostart-app-Strip-blacklisted-variables-fro.patch
@@ -0,0 +1,67 @@
+From 1de3575a1ea9cdb3579ad538108c51818847797c Mon Sep 17 00:00:00 2001
+From: Rasmus Thomsen <oss@cogitri.dev>
+Date: Fri, 6 Dec 2019 11:48:02 +0100
+Subject: [PATCH] revert: autostart-app: Strip blacklisted variables from
+ autostart environment
+
+This breaks gnome-session on non-systemd systems.
+
+https://gitlab.gnome.org/GNOME/gnome-session/issues/44
+---
+ gnome-session/gsm-autostart-app.c | 5 -----
+ gnome-session/gsm-util.c          | 6 ------
+ gnome-session/gsm-util.h          | 1 -
+ 3 files changed, 12 deletions(-)
+
+diff --git a/gnome-session/gsm-autostart-app.c b/gnome-session/gsm-autostart-app.c
+index 6fd5915..01ba5f9 100644
+--- gnome-session/gsm-autostart-app.c
++++ gnome-session/gsm-autostart-app.c
+@@ -997,7 +997,6 @@ autostart_app_start_spawn (GsmAutostartApp *app,
+         gboolean         success;
+         GError          *local_error;
+         const char      *startup_id;
+-        const char * const *variable_blacklist;
+         const char * const *child_environment;
+         int i;
+         GAppLaunchContext *ctx;
+@@ -1014,10 +1013,6 @@ autostart_app_start_spawn (GsmAutostartApp *app,
+         local_error = NULL;
+         ctx = g_app_launch_context_new ();
+ 
+-        variable_blacklist = gsm_util_get_variable_blacklist ();
+-        for (i = 0; variable_blacklist[i] != NULL; i++)
+-                g_app_launch_context_unsetenv (ctx, variable_blacklist[i]);
+-
+         child_environment = gsm_util_listenv ();
+         for (i = 0; child_environment[i] != NULL; i++) {
+                 char **environment_tuple;
+diff --git a/gnome-session/gsm-util.c b/gnome-session/gsm-util.c
+index 02bc4a5..ada1225 100644
+--- gnome-session/gsm-util.c
++++ gnome-session/gsm-util.c
+@@ -808,9 +808,3 @@ gsm_util_listenv (void)
+         return (const char * const *) child_environment;
+ 
+ }
+-
+-const char * const *
+-gsm_util_get_variable_blacklist (void)
+-{
+-        return variable_blacklist;
+-}
+diff --git a/gnome-session/gsm-util.h b/gnome-session/gsm-util.h
+index bd7b698..8bca5f4 100644
+--- gnome-session/gsm-util.h
++++ gnome-session/gsm-util.h
+@@ -50,7 +50,6 @@ char *      gsm_util_generate_startup_id            (void);
+ void        gsm_util_setenv                         (const char *variable,
+                                                      const char *value);
+ const char * const * gsm_util_listenv               (void);
+-const char * const * gsm_util_get_variable_blacklist(void);
+ 
+ gboolean    gsm_util_export_activation_environment  (GError     **error);
+ #ifdef HAVE_SYSTEMD
+-- 
+2.24.0
+
diff --git a/srcpkgs/gnome-session/patches/no-systemd-dep.patch b/srcpkgs/gnome-session/patches/no-systemd-dep.patch
new file mode 100644
index 00000000000..8e55a0f7987
--- /dev/null
+++ b/srcpkgs/gnome-session/patches/no-systemd-dep.patch
@@ -0,0 +1,14 @@
+--- meson.build
++++ meson.build
+@@ -130,10 +130,7 @@ if enable_systemd or enable_consolekit
+ 
+   # Check for systemd
+   if enable_systemd
+-    systemd_dep = dependency('systemd', version: '>= 242', required: true)
+-    systemd_userunitdir = systemd_dep.get_pkgconfig_variable('systemduserunitdir',
+-                                                             define_variable: ['prefix', prefix])
+-
++    systemd_userunitdir = '/tmp'
+     libsystemd_dep = dependency('libsystemd', version: '>= 209', required: false)
+     session_bin_deps += libsystemd_dep
+ 
diff --git a/srcpkgs/gnome-session/template b/srcpkgs/gnome-session/template
index 4444f162bf1..07ca7626228 100644
--- a/srcpkgs/gnome-session/template
+++ b/srcpkgs/gnome-session/template
@@ -1,9 +1,9 @@
 # Template file for 'gnome-session'
 pkgname=gnome-session
-version=3.34.1
+version=3.37.0
 revision=1
 build_style=meson
-configure_args="-Dsystemd_journal=false"
+configure_args="-Dsystemd_journal=false -Dsystemd_session=disable"
 hostmakedepends="glib-devel intltool pkg-config xmlto"
 makedepends="elogind-devel gnome-desktop-devel gtk+3-devel json-glib-devel
  libglib-devel libICE-devel libSM-devel libXtst-devel startup-notification-devel
@@ -15,4 +15,8 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later, LGPL-2.1-or-later"
 homepage="https://gitlab.gnome.org/GNOME/gnome-session"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=d7801fe2d5a751b19cb58081771316a76aabd5c550cd58d4e4c6a5a4ed356660
+checksum=cb140f2b8ee768ff8b3dce3ddb479e71e95138e904c8343a38c60a2d1e85f98f
+
+post_install() {
+	rm -rf ${DESTDIR}/tmp
+}

From 2384d64db14a6fef232d2e410f3a619acca2c226 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 20/81] gnome-online-accounts: update to 3.37.90

---
 srcpkgs/gnome-online-accounts/template | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/gnome-online-accounts/template b/srcpkgs/gnome-online-accounts/template
index d6a22d9da72..29980d43424 100644
--- a/srcpkgs/gnome-online-accounts/template
+++ b/srcpkgs/gnome-online-accounts/template
@@ -1,6 +1,6 @@
 # Template file for 'gnome-online-accounts'
 pkgname=gnome-online-accounts
-version=3.36.0
+version=3.37.90
 revision=1
 build_style=gnu-configure
 build_helper="gir"
@@ -11,7 +11,7 @@ configure_args="$(vopt_enable gir introspection)
  --enable-owncloud --enable-windows-live --enable-pocket
  --enable-lastfm --enable-media-server"
 hostmakedepends="docbook-xsl gettext-devel glib-devel gnome-common
- libxslt pkg-config $(vopt_if vala vala)"
+ libxslt pkg-config $(vopt_if gir vala)"
 makedepends="gcr-devel gtk+3-devel json-glib-devel libnotify-devel libsecret-devel
  libsoup-devel mit-krb5-devel rest-devel telepathy-glib-devel webkit2gtk-devel"
 depends="hicolor-icon-theme"
@@ -20,10 +20,10 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="LGPL-2.0-or-later"
 homepage="https://wiki.gnome.org/Projects/GnomeOnlineAccounts"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=1c8f62990833ca41188dbb80c5e99d99b57a62608ca675bbcd37bc2244742f2e
+checksum=9f6982c896e6235a2e85b8a497c7bf63a4a288b5678db40dc373515efbedb1bb
 
-build_options="gir vala"
-build_options_default="gir vala"
+build_options="gir"
+build_options_default="gir"
 
 gnome-online-accounts-devel_package() {
 	depends="gtk+3-devel ${sourcepkg}>=${version}_${revision}"
@@ -35,8 +35,6 @@ gnome-online-accounts-devel_package() {
 		vmove usr/lib/goa-1.0
 		if [ "$build_option_gir" ]; then
 			vmove usr/share/gir-1.0
-		fi
-		if [ "$build_option_vala" ]; then
 			vmove usr/share/vala
 		fi
 	}

From f0c0d5654ffa95fa5636e05625046e7829faf246 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 21/81] gnome-initial-setup: update to 3.37.91.1

---
 srcpkgs/gnome-initial-setup/template | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/gnome-initial-setup/template b/srcpkgs/gnome-initial-setup/template
index aba5a094c28..974c9fda7e9 100644
--- a/srcpkgs/gnome-initial-setup/template
+++ b/srcpkgs/gnome-initial-setup/template
@@ -1,10 +1,11 @@
 # Template file for 'gnome-initial-setup'
 pkgname=gnome-initial-setup
-version=3.34.1
-revision=2
+version=3.37.91.1
+revision=1
 build_style=meson
-configure_args="-Dsoftware-sources=disabled -Dsystemd=false"
-hostmakedepends="pkg-config glib-devel"
+configure_args="-Dsoftware-sources=disabled -Dparental_controls=disabled
+ -Dsystemd=false"
+hostmakedepends="pkg-config glib-devel gettext"
 makedepends="NetworkManager-devel accountsservice-devel libglib-devel
  gnome-desktop-devel cheese-devel libgweather-devel webkit2gtk-devel
  gnome-online-accounts-devel gdm-devel libpwquality-devel
@@ -16,5 +17,5 @@ short_desc="GNOME initial setup"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://wiki.gnome.org/Design/OS/InitialSetup"
-distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=e71f10ef6b631cd92ffde774e4130b32b2494b4df5ef288375d8b1957eeabfa1
+distfiles="${GNOME_SITE}/${pkgname}/${version%.*.*}/${pkgname}-${version}.tar.xz"
+checksum=ee6e04a49ca3ad5f53858ef66cb6949f68ca920509a167a97a9faccde27eaaef

From 81594542044fbdf93bdb7936ab6b86ae0ded0683 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 22/81] xdg-desktop-portal-gtk: bump

---
 srcpkgs/xdg-desktop-portal-gtk/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/xdg-desktop-portal-gtk/template b/srcpkgs/xdg-desktop-portal-gtk/template
index dee0e463386..558c75f539d 100644
--- a/srcpkgs/xdg-desktop-portal-gtk/template
+++ b/srcpkgs/xdg-desktop-portal-gtk/template
@@ -1,7 +1,7 @@
 # Template file for 'xdg-desktop-portal-gtk'
 pkgname=xdg-desktop-portal-gtk
 version=1.6.0
-revision=1
+revision=2
 build_style=gnu-configure
 hostmakedepends="pkg-config libxslt glib-devel xdg-desktop-portal gettext"
 makedepends="flatpak-devel gtk+3-devel libxslt-devel libglib-devel

From 956900844f850ce1964c74c28cab16a4c9c8844a Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 23/81] gnome-shell-extensions: update to 3.37.91

---
 srcpkgs/gnome-shell-extensions/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/gnome-shell-extensions/template b/srcpkgs/gnome-shell-extensions/template
index 97168b40f66..db88980cd4c 100644
--- a/srcpkgs/gnome-shell-extensions/template
+++ b/srcpkgs/gnome-shell-extensions/template
@@ -1,15 +1,15 @@
 # Template file for 'gnome-shell-extensions'
 pkgname=gnome-shell-extensions
-version=3.34.1
+version=3.37.91
 revision=1
 archs=noarch
 build_style=meson
 configure_args="-Dextension_set=all"
-hostmakedepends="pkg-config"
+hostmakedepends="pkg-config gettext"
 depends="gnome-shell>=${version} nautilus unzip"
 short_desc="Extensions for GNOME shell, including classic mode"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://wiki.gnome.org/Projects/GnomeShell/Extensions"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=b0ad51143b1bf40def4a10f8fd0ab0ffb47218304800794e62cadd29d0acc75b
+checksum=8d62c67a395ca563fc33c3a210dec46a6c8115103952cc0d9207f3d2efdb9451

From 58b52cd9be82b14964e9efadefd894f4245eecf7 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 24/81] nautilus: update to 3.37.91

---
 srcpkgs/nautilus/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/nautilus/template b/srcpkgs/nautilus/template
index 537a851973f..d9eebc5f57c 100644
--- a/srcpkgs/nautilus/template
+++ b/srcpkgs/nautilus/template
@@ -1,6 +1,6 @@
 # Template file for 'nautilus'
 pkgname=nautilus
-version=3.36.1.1
+version=3.37.91
 revision=1
 build_style=meson
 build_helper="gir"
@@ -11,13 +11,13 @@ makedepends="exempi-devel gnome-autoar-devel gnome-desktop-devel gtk+3-devel
  libX11-devel libxml2-devel tracker-devel gst-plugins-base1-devel"
 depends="desktop-file-utils gsettings-desktop-schemas hicolor-icon-theme
  tracker-miners tracker"
-checkdepends="tracker"
+checkdepends="tracker tracker-miners"
 short_desc="GNOME file manager"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later, LGPL-2.1-or-later"
 homepage="https://wiki.gnome.org/Nautilus"
 distfiles="${GNOME_SITE}/${pkgname}/${version::4}/${pkgname}-${version}.tar.xz"
-checksum=f9252f508211d9f368a49db697890f895d080f09590aecaf33803a519def7bde
+checksum=f7938ba70301fb93e4b84fc9d00f7b91784d295729e4242c22c89a7eac867c6f
 
 build_options="gir"
 build_options_default="gir"

From 8f2e57ee988ba1b0d3993f90eb84f1be4d687d6f Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 25/81] gnome-maps: update to 3.37.91

---
 srcpkgs/gnome-maps/template | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/gnome-maps/template b/srcpkgs/gnome-maps/template
index 0300be60599..2620d26ef35 100644
--- a/srcpkgs/gnome-maps/template
+++ b/srcpkgs/gnome-maps/template
@@ -1,16 +1,16 @@
 # Template file for 'gnome-maps'
 pkgname=gnome-maps
-version=3.36.1
+version=3.37.91
 revision=1
 build_style=meson
-hostmakedepends="glib-devel gobject-introspection intltool pkg-config AppStream"
+build_helper="gir"
+hostmakedepends="glib-devel intltool pkg-config AppStream"
 makedepends="folks-devel geoclue2-devel geocode-glib-devel gjs-devel
- gnome-desktop-devel libchamplain-devel rest-devel"
+ gnome-desktop-devel libchamplain-devel rest-devel libhandy1-devel"
 depends="geoclue2 gfbgraph gjs"
 short_desc="GNOME maps application"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://wiki.gnome.org/Apps/Maps"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=1a32efd96ad898f77a636d2d0463d757009b4b812259c89ffdcb91d6afc052f9
-nocross="evolution-dataserver cross gir doesn't work"
+checksum=74b7825d06e694a3ec0f3a1faaa4592e6f7ac5a5b145d835574842cd6bb3034b

From de43eaaf664a27cdc51ba64239f6ca28be5752cf Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 26/81] evolution: update to 3.37.90

---
 .../evolution/files/disableRuntimeTests.cmake | 45 -------------------
 srcpkgs/evolution/files/iconv-detect.h        |  5 ---
 srcpkgs/evolution/template                    | 33 +++-----------
 3 files changed, 6 insertions(+), 77 deletions(-)
 delete mode 100644 srcpkgs/evolution/files/disableRuntimeTests.cmake
 delete mode 100644 srcpkgs/evolution/files/iconv-detect.h

diff --git a/srcpkgs/evolution/files/disableRuntimeTests.cmake b/srcpkgs/evolution/files/disableRuntimeTests.cmake
deleted file mode 100644
index 8be55b42070..00000000000
--- a/srcpkgs/evolution/files/disableRuntimeTests.cmake
+++ /dev/null
@@ -1,45 +0,0 @@
-# This file was generated by CMake because it detected TRY_RUN() commands
-# in crosscompiling mode. It will be overwritten by the next CMake run.
-# Copy it to a safe location, set the variables to appropriate values
-# and use it then to preset the CMake cache (using -C).
-
-
-# _correct_iconv_EXITCODE
-#    indicates whether the executable would have been able to run on its
-#    target platform. If so, set _correct_iconv_EXITCODE to
-#    the exit code (in many cases 0 for success), otherwise enter "FAILED_TO_RUN".
-# The _correct_iconv_COMPILED variable holds the build result for this TRY_RUN().
-# 
-# Source file   : /builddir/evolution-data-server-3.26.0/build/CMakeFiles/CMakeTmp/src.c
-# Executable    : /builddir/evolution-data-server-3.26.0/build/CMakeFiles/cmTC_315ee-_correct_iconv_EXITCODE
-# Run arguments : 
-#    Called from: [2]	/usr/share/cmake-3.9/Modules/CheckCSourceRuns.cmake
-#                 [1]	/builddir/evolution-data-server-3.26.0/CMakeLists.txt
-
-set( _correct_iconv_EXITCODE 
-     0
-     CACHE INTERNAL "Result from TRY_RUN" FORCE)
-set(_correct_iconv_EXITCODE__TRYRUN_OUTPUT
-     0
-     CACHE INTERNAL "Result from TRY_RUN" FORCE)
-
-
-# HAVE_LKSTRFTIME_EXITCODE
-#    indicates whether the executable would have been able to run on its
-#    target platform. If so, set HAVE_LKSTRFTIME_EXITCODE to
-#    the exit code (in many cases 0 for success), otherwise enter "FAILED_TO_RUN".
-# The HAVE_LKSTRFTIME_COMPILED variable holds the build result for this TRY_RUN().
-# 
-# Source file   : /builddir/evolution-data-server-3.26.0/build/CMakeFiles/CMakeTmp/src.c
-# Executable    : /builddir/evolution-data-server-3.26.0/build/CMakeFiles/cmTC_d2897-HAVE_LKSTRFTIME_EXITCODE
-# Run arguments : 
-#    Called from: [2]	/usr/share/cmake-3.9/Modules/CheckCSourceRuns.cmake
-#                 [1]	/builddir/evolution-data-server-3.26.0/CMakeLists.txt
-
-set( HAVE_LKSTRFTIME_EXITCODE 
-     0
-     CACHE INTERNAL "Result from TRY_RUN" FORCE)
-set( HAVE_LKSTRFTIME_EXITCODE__TRYRUN_OUTPUT
-     0
-     CACHE INTERNAL "Result from TRY_RUN" FORCE)
-
diff --git a/srcpkgs/evolution/files/iconv-detect.h b/srcpkgs/evolution/files/iconv-detect.h
deleted file mode 100644
index 46f476d5bc9..00000000000
--- a/srcpkgs/evolution/files/iconv-detect.h
+++ /dev/null
@@ -1,5 +0,0 @@
-/* This is an auto-generated header, DO NOT EDIT! */
-
-#define ICONV_ISO_D_FORMAT "iso-%d-%d"
-#define ICONV_ISO_S_FORMAT "iso-%d-%s"
-#define ICONV_10646 "iso-10646"
diff --git a/srcpkgs/evolution/template b/srcpkgs/evolution/template
index 560ed93da02..cc73559943b 100644
--- a/srcpkgs/evolution/template
+++ b/srcpkgs/evolution/template
@@ -1,16 +1,16 @@
 # Template file for 'evolution'
 pkgname=evolution
-version=3.36.1
+version=3.37.90
 revision=1
 build_style=cmake
+build_helper="gir qemu"
 configure_args="-DENABLE_AUTOAR=OFF -DENABLE_LIBCRYPTUI=OFF -DENABLE_GTKSPELL=OFF
- -DENABLE_TEXT_HIGHLIGHT=OFF -DENABLE_PST_IMPORT=OFF
- -DENABLE_WEATHER=$(vopt_if gir ON OFF)"
+ -DENABLE_TEXT_HIGHLIGHT=OFF -DENABLE_PST_IMPORT=OFF -DENABLE_WEATHER=ON"
 hostmakedepends="gnome-doc-utils gobject-introspection intltool itstool
- pkg-config"
+ pkg-config glib-devel"
 makedepends="NetworkManager-devel clutter-gtk-devel enchant2-devel
  evolution-data-server-devel gspell-devel gtkhtml-devel libcanberra-devel
- $(vopt_if gir libgweather-devel) libnotify-devel webkit2gtk-devel ytnef-devel
+ libgweather-devel libnotify-devel webkit2gtk-devel ytnef-devel
  gnome-desktop-devel"
 depends="gnome-keyring"
 short_desc="Integrated mail, addressbook and calendaring for GNOME"
@@ -19,36 +19,15 @@ license="LGPL-2.1-or-later, LGPL-3.0-or-later, GPL-2.0-or-later"
 homepage="https://wiki.gnome.org/Apps/Evolution"
 changelog="https://raw.githubusercontent.com/GNOME/evolution/gnome-3-36/NEWS"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=873acf1dbec38e67e169064645ac3a9b9a944bd2b633161df6e5f05700e36cb8
+checksum=0a35a6614a130a517681140d378b15c62900b84a18c39dbf26d9f96f428bd4eb
 shlib_provides="libevolution-calendar.so libevolution-util.so libemail-engine.so
  libevolution-mail.so libevolution-shell.so"
 
 build_options="gir"
 if [ -z "$CROSS_BUILD" ]; then
 	build_options_default="gir"
-else
-	hostmakedepends+=" glib-devel"
 fi
 
-# cmake perfomrms 2 checks using binary runtime, about iconv and sfrtime.
-# musl (1.1.16) does not support "ISO-2022-JP" encoding (see its roadmap),
-# although evolution-data-server is fine with musl.
-# If crossbuild, cmake let disabling runtime checks via specific directives.
-# test iconv-detect.c also generates iconv-detect.h that is required for build.
-# So completly disable test from iconv-detect.c (cmake.patch file) and
-# use a cmake cache file on crossbuild to disable sfrtime running test.
-if [ "$CROSS_BUILD" ]; then
-	configure_args+=" -C disableRuntimeTests.cmake"
-fi
-
-pre_configure() {
-	mkdir -p build
-	cp ${FILESDIR}/iconv-detect.h ${wrksrc}/build/.
-	if [ "$CROSS_BUILD" ]; then
-		cp ${FILESDIR}/disableRuntimeTests.cmake ${wrksrc}/build/.
-	fi
-}
-
 evolution-devel_package() {
 	depends="webkit2gtk-devel gtk+3-devel libglib-devel evolution-data-server-devel
 	 gtkhtml-devel ${sourcepkg}>=${version}_${revision}"

From d1fdbde51d09afc17464ba34de801bae89b69704 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 27/81] evolution-ews: update to 3.37.90

---
 srcpkgs/evolution-ews/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/evolution-ews/template b/srcpkgs/evolution-ews/template
index 4ff8116466c..72ced520014 100644
--- a/srcpkgs/evolution-ews/template
+++ b/srcpkgs/evolution-ews/template
@@ -1,6 +1,6 @@
 # Template file for 'evolution-ews'
 pkgname=evolution-ews
-version=3.36.1
+version=3.37.90
 revision=1
 build_style=cmake
 configure_args="-DLIBEXEC_INSTALL_DIR=/usr/lib/evolution"
@@ -12,4 +12,4 @@ license="LGPL-2.1-or-later"
 homepage="https://wiki.gnome.org/Apps/Evolution"
 changelog="https://raw.githubusercontent.com/GNOME/evolution-ews/gnome-3-36/NEWS"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=d0883c7d227827cc5c4468b7e31a3ee370bcd7d41a4dbb950ab5db36c9551ac1
+checksum=be91605dff5e27487fcbccefc913c027d2d661040e094fbd81f951dc9a861815

From 4003705c7dc8115b333f8444a6c02bf6a0313fbc Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 28/81] python3-atspi: update to 2.37.90

---
 srcpkgs/python3-atspi/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-atspi/template b/srcpkgs/python3-atspi/template
index a33a374fe18..299077d471e 100644
--- a/srcpkgs/python3-atspi/template
+++ b/srcpkgs/python3-atspi/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-atspi'
 pkgname=python3-atspi
-version=2.32.1
-revision=4
+version=2.37.90
+revision=1
 archs=noarch
 wrksrc="pyatspi-${version}"
 build_style=gnu-configure
@@ -13,4 +13,4 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://gitlab.gnome.org/GNOME/pyatspi2"
 distfiles="${GNOME_SITE}/pyatspi/${version%.*}/pyatspi-${version}.tar.xz"
-checksum=84954a5bbeacc83643f05778d8beafcab8208e11b39b24637b4c4dd1f8620389
+checksum=4e17ace59c6c83ac941d74f76acb94c00fb22b56baa6eaab313f5e1aab72fc38

From 24132a26ae708ccf424dfb9315abdd7b58fd22f2 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 29/81] python-atspi: update to 2.37.90

---
 srcpkgs/python-atspi/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python-atspi/template b/srcpkgs/python-atspi/template
index 0141d97f85d..c544523f9d4 100644
--- a/srcpkgs/python-atspi/template
+++ b/srcpkgs/python-atspi/template
@@ -1,8 +1,8 @@
 # Template file for 'python-atspi'
 # Keep python3-atspi in sync
 pkgname=python-atspi
-version=2.32.1
-revision=4
+version=2.37.90
+revision=1
 archs=noarch
 wrksrc="pyatspi-${version}"
 build_style=gnu-configure
@@ -14,4 +14,4 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://gitlab.gnome.org/GNOME/pyatspi2"
 distfiles="${GNOME_SITE}/pyatspi/${version%.*}/pyatspi-${version}.tar.xz"
-checksum=84954a5bbeacc83643f05778d8beafcab8208e11b39b24637b4c4dd1f8620389
+checksum=4e17ace59c6c83ac941d74f76acb94c00fb22b56baa6eaab313f5e1aab72fc38

From e2fd2bdd7886f39dae295f70d1bcd46a79902853 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 30/81] orca: update to 3.37.90

---
 srcpkgs/orca/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/orca/template b/srcpkgs/orca/template
index f70202e6d76..2b2965bfbac 100644
--- a/srcpkgs/orca/template
+++ b/srcpkgs/orca/template
@@ -1,6 +1,6 @@
 # Template file for 'orca'
 pkgname=orca
-version=3.36.1
+version=3.37.90
 revision=1
 archs=noarch
 build_style=gnu-configure
@@ -13,7 +13,7 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://wiki.gnome.org/Projects/Orca"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=c1ac648b6be31488c26ff959114287869df9ce3ca21999e40ded87741c98831f
+checksum=1ab2eb5be8c3633a2b61c26c5e3c9e1a5b1114baf148fae89cec35dfba4cb64b
 
 if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" python3-gobject-devel"

From 284908a43d4d9b7a329f4b83e06ba68e4fd4b1d9 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 31/81] gnome-weather: bump

---
 srcpkgs/gnome-weather/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/gnome-weather/template b/srcpkgs/gnome-weather/template
index d30be9bf192..c028e46ba65 100644
--- a/srcpkgs/gnome-weather/template
+++ b/srcpkgs/gnome-weather/template
@@ -1,7 +1,7 @@
 # Template file for 'gnome-weather'
 pkgname=gnome-weather
 version=3.36.1
-revision=1
+revision=2
 build_helper="gir"
 build_style=meson
 hostmakedepends="gettext pkg-config itstool glib-devel gjs"

From ea0ee4c2931346a532a6cb278174d663f18fbd06 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 32/81] vte3: update to 0.61.90

---
 srcpkgs/vte3/template | 19 ++++++++-----------
 1 file changed, 8 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/vte3/template b/srcpkgs/vte3/template
index 6116b3cc621..f1ba1c6f1a2 100644
--- a/srcpkgs/vte3/template
+++ b/srcpkgs/vte3/template
@@ -1,29 +1,28 @@
 # Template file for 'vte3'
 pkgname=vte3
-version=0.60.3
+version=0.61.90
 revision=1
 wrksrc="vte-${version}"
 build_style=meson
 build_helper="gir"
-configure_args="-Db_ndebug=false -Dgir=$(vopt_if gir true false)
- -Dvapi=$(vopt_if vala true false) -Db_lto=false -D_systemd=false"
+configure_args="-Db_ndebug=false -Db_lto=false -D_systemd=false
+ $(vopt_bool gir gir) $(vopt_bool gir vapi)"
 hostmakedepends="glib-devel gnome-doc-utils gperf intltool pkg-config
- $(vopt_if vala vala)"
-makedepends="gnutls-devel gtk+3-devel pcre2-devel $(vopt_if vala vala-devel)"
-depends="vte"
+ $(vopt_if gir vala)"
+makedepends="gnutls-devel gtk+3-devel pcre2-devel $(vopt_if gir vala-devel)"
 short_desc="Terminal widget with improved accessibility and I18N support"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-3.0-or-later, LGPL-2.1-or-later, LGPL-3.0-or-later"
 homepage="https://wiki.gnome.org/Apps/Terminal/VTE"
 distfiles="${GNOME_SITE}/vte/${version%.*}/vte-${version}.tar.xz"
-checksum=feb76e1181a357d86112d447a08d127e2081438df76ece83243b18609dd9822a
+checksum=d99d70ca13e1a13c729de2198434b71a839a1808d81a0b1ea8ceb022d619e487
 
 # Suppress warnings as errors for NULL format strings (musl libc)
 CXXFLAGS="-Wno-error=format="
 
 # Package build options
-build_options="gir vala"
-build_options_default="gir vala"
+build_options="gir"
+build_options_default="gir"
 
 pre_build() {
 	export GIR_EXTRA_LIBS_PATH="${wrksrc}/src/.libs"
@@ -38,8 +37,6 @@ vte3-devel_package() {
 		vmove "usr/lib/*.so"
 		if [ "$build_option_gir" ]; then
 			vmove usr/share/gir-1.0
-		fi
-		if [ "$build_option_vala" ]; then
 			vmove usr/share/vala
 		fi
 	}

From bbdb12304762510597c2167ae3b1460afc0a9f37 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 33/81] gnome-terminal: update to 3.37.90

---
 srcpkgs/gnome-terminal/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/gnome-terminal/template b/srcpkgs/gnome-terminal/template
index bf3d5bcdd42..9266f43a61e 100644
--- a/srcpkgs/gnome-terminal/template
+++ b/srcpkgs/gnome-terminal/template
@@ -1,11 +1,11 @@
 # Template file for 'gnome-terminal'
 pkgname=gnome-terminal
-version=3.36.1.1
+version=3.37.90
 revision=1
 build_style=gnu-configure
 configure_args="--disable-static --with-nautilus-extension"
 hostmakedepends="appdata-tools glib-devel intltool itstool
- pkg-config"
+ pkg-config docbook-xsl"
 makedepends="dconf-devel gnome-shell gsettings-desktop-schemas-devel
  nautilus-devel vte3-devel"
 depends="desktop-file-utils"
@@ -13,8 +13,8 @@ short_desc="GNOME terminal emulator application"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later, GFDL-1.3-only"
 homepage="https://wiki.gnome.org/Apps/Terminal"
-distfiles="${GNOME_SITE}/${pkgname}/${version:0:4}/${pkgname}-${version}.tar.xz"
-checksum=f3d708a1e76d77c1c85b126f6e003220a15d4a46a50fd8070e1a3aabe678a376
+distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
+checksum=d6da0f4991345d47d730f9caadf46e8e410597017e6c61475e92f7c23ad9c2a4
 lib32disabled=yes
 
 if [ "$CROSS_BUILD" ]; then

From dd7658f56eb7de0d67c30d67d13813b96b68984f Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 34/81] gnome-getting-started-docs: update to 3.36.2

---
 srcpkgs/gnome-getting-started-docs/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/gnome-getting-started-docs/template b/srcpkgs/gnome-getting-started-docs/template
index 5bec93490ba..bed9b696162 100644
--- a/srcpkgs/gnome-getting-started-docs/template
+++ b/srcpkgs/gnome-getting-started-docs/template
@@ -1,6 +1,6 @@
 # Template file for 'gnome-getting-started-docs'
 pkgname=gnome-getting-started-docs
-version=3.34.0
+version=3.36.2
 revision=1
 archs=noarch
 build_style=gnu-configure
@@ -11,4 +11,4 @@ license="CC-BY-SA-3.0"
 homepage="https://gitlab.gnome.org/GNOME/gnome-getting-started-docs"
 #changelog="https://gitlab.gnome.org/GNOME/gnome-getting-started-docs/raw/master/NEWS"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=f70ce2ca23ad786215f3c92ec85783e3aabed07e4f78700fa27f9b2cf76e03db
+checksum=0494b8913a946b6450536e120c154abd29238ebba2f52734592b1f645e521dc6

From 8fa96dd4c1beb72ee9cc23d2454369ac2814d7af Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 35/81] gnome-user-docs: update to 3.36.2

---
 srcpkgs/gnome-user-docs/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/gnome-user-docs/template b/srcpkgs/gnome-user-docs/template
index 4cb55396e37..2e8afe9f93d 100644
--- a/srcpkgs/gnome-user-docs/template
+++ b/srcpkgs/gnome-user-docs/template
@@ -1,6 +1,6 @@
 # Template file for 'gnome-user-docs'
 pkgname=gnome-user-docs
-version=3.34.0
+version=3.36.2
 revision=1
 archs=noarch
 build_style=gnu-configure
@@ -13,4 +13,4 @@ license="CC-BY-3.0"
 homepage="https://github.com/GNOME/gnome-user-docs"
 #changelog="https://raw.githubusercontent.com/GNOME/gnome-user-docs/master/NEWS"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=8f9907ff15fff97da75ece645cc86766703ac54d716d25563ba67ffed1af24ed
+checksum=198fe4c836775a5dc2543a6a520dfb0ac5bf292cdcb358a57c86f35f705e9958

From 13009f6c78a0ce7d64637d289af2de7b9bf08dc3 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 36/81] gnome-epub-thumbnailer: update to 1.6

---
 srcpkgs/gnome-epub-thumbnailer/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/gnome-epub-thumbnailer/template b/srcpkgs/gnome-epub-thumbnailer/template
index b16e705475f..c6e1c02b9d3 100644
--- a/srcpkgs/gnome-epub-thumbnailer/template
+++ b/srcpkgs/gnome-epub-thumbnailer/template
@@ -1,6 +1,6 @@
 # Template file for 'gnome-epub-thumbnailer'
 pkgname=gnome-epub-thumbnailer
-version=1.5
+version=1.6
 revision=1
 build_style=gnu-configure
 hostmakedepends="pkg-config"
@@ -10,4 +10,4 @@ maintainer="Alif Rachmawadi <arch@subosito.com>"
 license="GPL-3"
 homepage="https://git.gnome.org/browse/gnome-epub-thumbnailer"
 distfiles="${GNOME_SITE}/${pkgname}/${version}/${pkgname}-${version}.tar.xz"
-checksum=308210f5800219f64cae4828e59bb8e6e4c53b888048cf487221aeb4337d791a
+checksum=b502420d9b02ea0b0fc7986ef5a091a12b2286be14fed9e47594fe9fa0c5898e

From bb5c3098827e065e1bb24c6a11421b476e85117c Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 37/81] gnome-books: bump

---
 srcpkgs/gnome-books/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/gnome-books/template b/srcpkgs/gnome-books/template
index 114b9e034c2..1d4974fe183 100644
--- a/srcpkgs/gnome-books/template
+++ b/srcpkgs/gnome-books/template
@@ -1,7 +1,7 @@
 # Template file for 'gnome-books'
 pkgname=gnome-books
 version=3.34.0
-revision=1
+revision=2
 build_helper="gir"
 build_style=meson
 hostmakedepends="pkg-config vala glib-devel librsvg docbook-xsl libxslt

From fef36f1e851784c57e0fdd1d49c296e63bfd4052 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 38/81] gnome-characters: bump

---
 srcpkgs/gnome-characters/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/gnome-characters/template b/srcpkgs/gnome-characters/template
index 89868f4bc04..ac264e51a6a 100644
--- a/srcpkgs/gnome-characters/template
+++ b/srcpkgs/gnome-characters/template
@@ -1,7 +1,7 @@
 # Template file for 'gnome-characters'
 pkgname=gnome-characters
 version=3.34.0
-revision=2
+revision=3
 build_style=meson
 build_helper="gir"
 hostmakedepends="gettext gjs glib-devel itstool pkg-config"

From 9bd80f533c73b170266e1815b5dda5820440319e Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 39/81] gnome-documents: bump

---
 srcpkgs/gnome-documents/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/gnome-documents/template b/srcpkgs/gnome-documents/template
index 97b53d635d7..7e45b825e71 100644
--- a/srcpkgs/gnome-documents/template
+++ b/srcpkgs/gnome-documents/template
@@ -1,7 +1,7 @@
 # Template file for 'gnome-documents'
 pkgname=gnome-documents
 version=3.34.0
-revision=1
+revision=2
 build_helper="gir"
 build_style=meson
 hostmakedepends="docbook-xsl gettext itstool pkg-config glib-devel libxslt gdk-pixbuf

From c8536756d31db6691342f21f2153c45f4d813f7e Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 40/81] gnome-font-viewer: bump

---
 srcpkgs/gnome-font-viewer/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/gnome-font-viewer/template b/srcpkgs/gnome-font-viewer/template
index 6d035366d44..f74fcbcb000 100644
--- a/srcpkgs/gnome-font-viewer/template
+++ b/srcpkgs/gnome-font-viewer/template
@@ -1,7 +1,7 @@
 # Template file for 'gnome-font-viewer'
 pkgname=gnome-font-viewer
 version=3.34.0
-revision=1
+revision=2
 build_style=meson
 hostmakedepends="pkg-config glib-devel"
 makedepends="fontconfig-devel freetype-devel glib-devel gtk+3-devel

From 0272716f261d4bcd9382faa559237afd22633b95 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 41/81] totem: bump, drop vala option

---
 srcpkgs/totem/template | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/totem/template b/srcpkgs/totem/template
index 81522b31488..a8cfb0001a4 100644
--- a/srcpkgs/totem/template
+++ b/srcpkgs/totem/template
@@ -1,14 +1,14 @@
 # Template file for 'totem'
 pkgname=totem
 version=3.34.1
-revision=1
+revision=2
 build_style=meson
 build_helper="gir"
 configure_args="-Denable-python=no -Denable-nautilus=yes
  -Denable-introspection=$(vopt_if gir yes no)
- -Denable-vala=$(vopt_if vala yes no)"
+ -Denable-vala=$(vopt_if gir yes no)"
 hostmakedepends="gnome-doc-utils intltool itstool pkg-config
- $(vopt_if vala vala) gstreamer1 gst-plugins-base1 gst-plugins-good1
+ $(vopt_if gir vala) gstreamer1 gst-plugins-base1 gst-plugins-good1
  glib-devel"
 # XXX missing lirc plugin.
 makedepends="clutter-gst3-devel clutter-gtk-devel dbus-glib-devel
@@ -27,10 +27,14 @@ checksum=6bf89ab096dfc564f260976e484165f09bd886434d184410d2f944bfba611a09
 # XXX reenable python plugin if pylint pkg exists.
 #pycompile_dirs="usr/lib/totem/plugins"
 
+do_check() {
+	:
+}
+
 disable_parallel_build=yes
 
-build_options="gir vala"
-build_options_default="gir vala"
+build_options="gir"
+build_options_default="gir"
 
 libtotem_package() {
 	short_desc+=" - runtime library"

From 8635dc1c92c89876f93797d1f08783b2563d152e Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 42/81] gnome-screensaver: bump + fix build

---
 srcpkgs/gnome-screensaver/patches/build.patch | 12 ++++++++++++
 srcpkgs/gnome-screensaver/template            |  2 +-
 2 files changed, 13 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/gnome-screensaver/patches/build.patch

diff --git a/srcpkgs/gnome-screensaver/patches/build.patch b/srcpkgs/gnome-screensaver/patches/build.patch
new file mode 100644
index 00000000000..6dcdbe7dd7e
--- /dev/null
+++ b/srcpkgs/gnome-screensaver/patches/build.patch
@@ -0,0 +1,12 @@
+--- src/gs-manager.c
++++ src/gs-manager.c
+@@ -820,8 +820,7 @@ apply_background_to_window (GSManager *manager,
+         surface = gnome_bg_create_surface (manager->priv->bg,
+                                            gdk_window,
+                                            width,
+-                                           height,
+-                                           FALSE);
++                                           height);
+         gs_window_set_background_surface (window, surface);
+         cairo_surface_destroy (surface);
+ }
diff --git a/srcpkgs/gnome-screensaver/template b/srcpkgs/gnome-screensaver/template
index 363fcf12e10..c3a70cfef7c 100644
--- a/srcpkgs/gnome-screensaver/template
+++ b/srcpkgs/gnome-screensaver/template
@@ -1,7 +1,7 @@
 # Template file for 'gnome-screensaver'
 pkgname=gnome-screensaver
 version=3.6.1
-revision=2
+revision=3
 build_style=gnu-configure
 configure_args="--enable-compile-warnings=minimum"
 hostmakedepends="pkg-config automake intltool glib-devel"

From 4df32e48178f66fdad1a32f6f816eece6ce0d2bc Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 43/81] gnome-clocks: update to 3.37.91

---
 srcpkgs/gnome-clocks/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/gnome-clocks/template b/srcpkgs/gnome-clocks/template
index 3e049b42fb1..0e47dbadfe1 100644
--- a/srcpkgs/gnome-clocks/template
+++ b/srcpkgs/gnome-clocks/template
@@ -1,12 +1,12 @@
 # Template file for 'gnome-clocks'
 pkgname=gnome-clocks
-version=3.36.0
+version=3.37.91
 revision=1
 build_helper="gir"
 build_style=meson
 hostmakedepends="pkg-config intltool itstool glib-devel vala"
 makedepends="glib-devel vala-devel gnome-desktop-devel
- libgweather-devel libhandy-devel libnotify-devel gsound-devel
+ libgweather-devel libhandy1-devel libnotify-devel gsound-devel
  geocode-glib-devel desktop-file-utils hicolor-icon-theme
  geoclue2-devel"
 depends="desktop-file-utils hicolor-icon-theme"
@@ -15,4 +15,4 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://wiki.gnome.org/Apps/Clocks"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=4c978b0c7f7b9daebd272d0175f8a54415e2078f134f48add5cf24362eef49c6
+checksum=34de824b3fee68c5554b6904b02bcdc7e4b921f9a8e91a780f43e2898dbfb36c

From 9f868e82fa00b0289133f330c25eb1f4a41cad41 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 44/81] gnome-contacts: update to 3.37.2

---
 srcpkgs/gnome-contacts/template | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/gnome-contacts/template b/srcpkgs/gnome-contacts/template
index 2a8213a7240..aa4ef940136 100644
--- a/srcpkgs/gnome-contacts/template
+++ b/srcpkgs/gnome-contacts/template
@@ -1,16 +1,15 @@
 # Template file for 'gnome-contacts'
 pkgname=gnome-contacts
-version=3.34.0
-revision=2
-wrksrc="gnome-contacts-${version%.*}"
+version=3.37.2
+revision=1
 build_style=meson
-hostmakedepends="docbook-xsl gettext glib-devel libxslt pkg-config vala"
+hostmakedepends="docbook-xsl folks-devel gettext glib-devel libxslt pkg-config vala"
 makedepends="cheese-devel folks-devel geocode-glib-devel gnome-desktop-devel
- libchamplain-devel libnotify-devel vala-devel libhandy-devel"
+ libchamplain-devel libnotify-devel vala-devel libhandy1-devel"
 depends="desktop-file-utils"
 short_desc="GNOME contacts manager"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://wiki.gnome.org/Apps/Contacts"
-distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version%.*}.tar.xz"
-checksum=99602ec8d660c1f3c92cae6356f64f72fb6db58e55bce27a599330bf7b622f12
+distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
+checksum=1d3469d5e90f23d129d1276b2f9b885459f3d7b43054cd09759b85ac76c918b4

From 6eae87d5a6cb3dc04d1db2d5e8594408bee4a20b Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 45/81] libdazzle: update to 3.37.1

---
 srcpkgs/libdazzle/template | 22 +++++++++++++---------
 1 file changed, 13 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/libdazzle/template b/srcpkgs/libdazzle/template
index 5ac09feefc9..fbaa4114bdc 100644
--- a/srcpkgs/libdazzle/template
+++ b/srcpkgs/libdazzle/template
@@ -1,12 +1,13 @@
 # Template file for 'libdazzle'
 pkgname=libdazzle
-version=3.36.0
+version=3.37.1
 revision=1
 build_style=meson
 build_helper="gir"
-configure_args="-Denable_gtk_doc=false -Dwith_vapi=$(vopt_if vala true false)
- -Dwith_introspection=$(vopt_if gir true false)"
-hostmakedepends="glib-devel pkg-config $(vopt_if vala 'vala')"
+configure_args="-Denable_gtk_doc=false
+ $(vopt_bool gir with_vapi)
+ $(vopt_bool gir with_introspection)"
+hostmakedepends="glib-devel pkg-config $(vopt_if gir vala)"
 makedepends="gtk+3-devel libglib-devel"
 short_desc="Library to delight your users with fancy features"
 maintainer="Enno Boland <gottox@voidlinux.org>"
@@ -14,10 +15,15 @@ license="GPL-3.0-or-later"
 homepage="https://gitlab.gnome.org/GNOME/libdazzle"
 changelog="https://raw.githubusercontent.com/GNOME/libdazzle/libdazzle-3-32/NEWS"
 distfiles="${GNOME_SITE}/libdazzle/${version%.*}/libdazzle-${version}.tar.xz"
-checksum=82b31bbf550fc62970c78bf7f9d55e5fae5b8ea13b24fe2d13c8c6039409d958
+checksum=fdf0e398069848b90fddf3184b6384592a3aeabb8b2433140e03b0164266250f
 
-build_options="gir vala"
-build_options_default="gir vala"
+build_options="gir"
+build_options_default="gir"
+
+# needs X
+do_check() {
+	:
+}
 
 libdazzle-devel_package() {
 	depends="${sourcepkg}-${version}_${revision} gtk+3-devel"
@@ -28,8 +34,6 @@ libdazzle-devel_package() {
 		vmove "usr/lib/*.so"
 		if [ "$build_option_gir" ]; then
 			vmove usr/share/gir-1.0
-		fi
-		if [ "$build_option_vala" ]; then
 			vmove usr/share/vala
 		fi
 	}

From 1945708813d738df3a0f31a8cb2729edf37b7776 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 46/81] epiphany: update to 3.37.91

---
 srcpkgs/epiphany/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/epiphany/template b/srcpkgs/epiphany/template
index 5d6ac6a637d..1123e58a56d 100644
--- a/srcpkgs/epiphany/template
+++ b/srcpkgs/epiphany/template
@@ -1,19 +1,19 @@
 # Template file for 'epiphany'
 pkgname=epiphany
-version=3.36.2
+version=3.37.91
 revision=1
 build_helper="gir"
 build_style=meson
 configure_args="-Ddistributor_name=VoidLinux -Dunit_tests=disabled"
 hostmakedepends="gettext glib-devel itstool pkg-config"
 makedepends="NetworkManager-devel avahi-glib-libs-devel gcr-devel
- gnome-desktop-devel json-glib-devel libdazzle-devel libhandy-devel
+ gnome-desktop-devel json-glib-devel libdazzle-devel libhandy1-devel
  libnotify-devel libsecret-devel libsoup-gnome-devel libwnck-devel libxslt-devel
- nettle-devel nss-devel webkit2gtk-devel"
+ nettle-devel nss-devel webkit2gtk-devel libportal-devel"
 depends="desktop-file-utils hicolor-icon-theme iso-codes webkit2gtk"
 short_desc="Intuitive GNOME web browser"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://wiki.gnome.org/Apps/Web"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=c2e676aa0fe211809a5e7e8a7e461d182890f253c53f4610f2610094b6fbfb5e
+checksum=dfc5db981cb392d8f096d54d28bc1b1c189a4b8b7534d87054f202843f00bd83

From 9ea986d5627f14abb00a34c5ea97282abbbde013 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 47/81] gnome-photos: update to 3.37.91.1

---
 srcpkgs/gnome-photos/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/gnome-photos/template b/srcpkgs/gnome-photos/template
index 1ed8b9861ec..3a72d9a53be 100644
--- a/srcpkgs/gnome-photos/template
+++ b/srcpkgs/gnome-photos/template
@@ -1,6 +1,6 @@
 # Template file for 'gnome-photos'
 pkgname=gnome-photos
-version=3.34.2
+version=3.37.91.1
 revision=1
 build_helper="gir"
 build_style=meson
@@ -15,8 +15,8 @@ short_desc="Access, organize, and share your photos on GNOME"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://wiki.gnome.org/Apps/Photos"
-distfiles="${GNOME_SITE}/gnome-photos/${version%.*}/gnome-photos-${version}.tar.xz"
-checksum=3c59c76ef28618ec055a1799d1040287b90a0b021feb0a02b1eac28e9c2eb41a
+distfiles="${GNOME_SITE}/gnome-photos/${version%.*.*}/gnome-photos-${version}.tar.xz"
+checksum=278da23234e27c543020dae943ad52086b9ecaa5ee3aad0b031b86ee04d394aa
 
 build_options="gir"
 build_options_default="gir"

From 8ec2be0425470f3d026a75f276a973d1c9e925bf Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 48/81] eog: update to 3.37.90

---
 srcpkgs/eog/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/eog/template b/srcpkgs/eog/template
index e4cacb7079e..91ee54edc41 100644
--- a/srcpkgs/eog/template
+++ b/srcpkgs/eog/template
@@ -1,20 +1,20 @@
 # Template file for 'eog'
 pkgname=eog
-version=3.36.1
+version=3.37.90
 revision=1
 build_helper="gir"
 build_style=meson
 configure_args="-Dintrospection=$(vopt_if gir true false)"
 hostmakedepends="gettext glib-devel itstool pkg-config"
 makedepends="exempi-devel gnome-desktop-devel libexif-devel libpeas-devel
- librsvg-devel lcms2-devel"
+ librsvg-devel lcms2-devel libportal-devel"
 depends="desktop-file-utils hicolor-icon-theme shared-mime-info"
 short_desc="Eye of GNOME graphics viewer program"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://wiki.gnome.org/Apps/EyeOfGnome"
 distfiles="${GNOME_SITE}/eog/${version%.*}/eog-${version}.tar.xz"
-checksum=e454a1a7aa5e3a3321eab0116778110e5a7a7b63bcf21676eda1a7be187c9c95
+checksum=4a8a67633805292ad1af549e319aa3f7b6d776f33dac20fd195ce46bbdd0266a
 shlib_provides="libeog.so"
 lib32disabled=yes
 

From 0728a55be186a6f7acdeac6d30b2c29a91e03d28 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 49/81] evince: update to 3.37.90

---
 srcpkgs/evince/template | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/evince/template b/srcpkgs/evince/template
index 4035f15c690..e17f2d890f6 100644
--- a/srcpkgs/evince/template
+++ b/srcpkgs/evince/template
@@ -1,13 +1,13 @@
 # Template file for 'evince'
 pkgname=evince
-version=3.36.7
+version=3.37.90
 revision=1
 build_helper="gir"
-build_style=gnu-configure
-configure_args="$(vopt_enable gir introspection) --disable-schemas-compile
- --enable-comics --disable-static --enable-xps --disable-t1lib
- --disable-browser-plugin --enable-ps"
-hostmakedepends="adwaita-icon-theme gettext glib-devel gnome-doc-utils
+build_style=meson
+configure_args="$(vopt_bool gir introspection)
+ -Dcomics=enabled -Dps=enabled -Dxps=enabled -Ddvi=disabled
+ -Dt1lib=disabled -Dbrowser_plugin=false"
+hostmakedepends="adwaita-icon-theme gettext gtk-doc glib-devel gnome-doc-utils
  itstool pkg-config perl-XML-Parser appstream-glib"
 # XXX missing packages for DVI backend.
 makedepends="adwaita-icon-theme djvulibre-devel gnome-desktop-devel libSM-devel
@@ -19,7 +19,7 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://wiki.gnome.org/Apps/Evince"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=65d61a423e3fbbe07001f65e87422dfb7d2e42b9edf0ca6a1d427af9a04b8f32
+checksum=2a878043b9210ad7ab70805f83e400654e214e1f5ef960100adf938832d02eaf
 
 build_options="gir"
 build_options_default="gir"

From 73738a605da39228a98aeb3d367307023efb4bf4 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 50/81] file-roller: update to 3.37.90

---
 srcpkgs/file-roller/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/file-roller/template b/srcpkgs/file-roller/template
index 03622a22313..16ee5eade1e 100644
--- a/srcpkgs/file-roller/template
+++ b/srcpkgs/file-roller/template
@@ -1,6 +1,6 @@
 # Template file for 'file-roller'
 pkgname=file-roller
-version=3.36.0
+version=3.37.90
 revision=1
 build_style=meson
 hostmakedepends="gettext glib-devel itstool pkg-config"
@@ -12,6 +12,6 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://wiki.gnome.org/Apps/FileRoller"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=b9144de8f536f583ec29d703c2c170bf2d00c6c166cd5e3f7efabda551f10478
+checksum=d784b9b315ba9386235e6de6e262aed14ac89bc0e6ef3a848dd3b0f29373c3a1
 
 CFLAGS="-fcommon"

From 23cbd2f7e5476c22fffb09cba00a8c7f8efd6416 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 51/81] gnome-calendar: bump

[ci skip]
---
 srcpkgs/gnome-calendar/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/gnome-calendar/template b/srcpkgs/gnome-calendar/template
index 9c91c8b5f4d..374f4556ff8 100644
--- a/srcpkgs/gnome-calendar/template
+++ b/srcpkgs/gnome-calendar/template
@@ -1,7 +1,7 @@
 # Template file for 'gnome-calendar'
 pkgname=gnome-calendar
 version=3.36.2
-revision=1
+revision=2
 build_style=meson
 hostmakedepends="gettext glib-devel pkg-config $(vopt_if gir 'gobject-introspection')"
 makedepends="evolution-data-server-devel geoclue2-devel geocode-glib-devel

From 02e07d23c1d24a69ef598c04ae3156a4e8e8a5fd Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Fri, 14 Aug 2020 16:51:55 +0200
Subject: [PATCH 52/81] gnome-music: update to 3.37.3

[ci skip]
---
 srcpkgs/gnome-music/patches/pango142.patch | 28 ++++++++++++++++++++++
 srcpkgs/gnome-music/template               |  7 +++---
 2 files changed, 32 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/gnome-music/patches/pango142.patch

diff --git a/srcpkgs/gnome-music/patches/pango142.patch b/srcpkgs/gnome-music/patches/pango142.patch
new file mode 100644
index 00000000000..aa98cd90b2b
--- /dev/null
+++ b/srcpkgs/gnome-music/patches/pango142.patch
@@ -0,0 +1,28 @@
+From dc0f51b63e4a7b08e11e8ed016484ea6f5b20575 Mon Sep 17 00:00:00 2001
+From: Daniel Kolesa <daniel@octaforge.org>
+Date: Fri, 14 Aug 2020 16:50:28 +0200
+Subject: [PATCH] meson: remove pango dependency
+
+This was added because of a feature missing in pango older than
+1.44, but we have this backported, so we're okay.
+
+https://gitlab.gnome.org/GNOME/pygobject/-/issues/312
+---
+ meson.build | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git meson.build meson.build
+index 0ef5b9b..52b87a6 100644
+--- meson.build
++++ meson.build
+@@ -43,7 +43,6 @@ dependency('libdazzle-1.0', version: '>= 3.28.0')
+ dependency('libmediaart-2.0', version: '>= 1.9.1')
+ dependency('libsoup-2.4')
+ dependency('tracker-sparql-2.0', version: '>= 2.3.0')
+-dependency('pango', version: '>= 1.44.0')
+ dependency('pygobject-3.0', version: '>= 3.36.1')
+ dependency('py3cairo', version: '>= 1.14.0')
+ dependency('grilo-0.3', version: '>= 0.3.12', fallback: ['grilo', 'libgrl_dep'])
+-- 
+2.28.0
+
diff --git a/srcpkgs/gnome-music/template b/srcpkgs/gnome-music/template
index 12511736407..5b723927381 100644
--- a/srcpkgs/gnome-music/template
+++ b/srcpkgs/gnome-music/template
@@ -1,6 +1,6 @@
 # Template file for 'gnome-music'
 pkgname=gnome-music
-version=3.36.1
+version=3.37.3
 revision=1
 build_helper="gir"
 build_style=meson
@@ -9,11 +9,12 @@ makedepends="gnome-desktop-devel grilo-devel libmediaart-devel
  python3-gobject-devel python3-dbus tracker-devel gnome-online-accounts-devel
  libdazzle-devel grilo-plugins python3-cairo-devel"
 depends="desktop-file-utils python3-dbus python3-gobject python3-requests
- tracker tracker-miners gst-plugins-good1 grilo-plugins libdazzle"
+ tracker tracker-miners gst-plugins-good1 grilo-plugins libdazzle
+ libmediaart"
 short_desc="GNOME music playing application"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://wiki.gnome.org/Apps/Music"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=7b80f630d158334935a8760296550cc91b50d604fa68b402fe5165b1531ec332
+checksum=248bc8585963271a4d2ff7f249c9f792aaf0b4dfde1e94abb68c91501015cebe
 lib32disabled=yes

From f1a2cc2682eed68616820c8eb5238a49f0e273f9 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Fri, 14 Aug 2020 23:22:34 +0200
Subject: [PATCH 53/81] gnome-panel: update to 3.37.1

---
 common/shlibs                | 2 +-
 srcpkgs/gnome-panel/template | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index 43f7ede2599..b89152a0375 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -564,7 +564,7 @@ libpackagekit-glib2.so.18 PackageKit-1.1.12_1
 libpsl.so.5 libpsl-0.20.2_1
 libsoup-2.4.so.1 libsoup-2.34.0_1
 libsoup-gnome-2.4.so.1 libsoup-gnome-2.34.0_1
-libpanel-applet.so.3 gnome-panel-3.30.0_1
+libgnome-panel.so.0 gnome-panel-3.37.1_1
 libuninum.so.5 libuninum-2.7_1
 libunique-3.0.so.0 libunique-2.91.4_1
 libwebkit2gtk-4.0.so.37 webkit2gtk-2.6.2_1
diff --git a/srcpkgs/gnome-panel/template b/srcpkgs/gnome-panel/template
index 70f23b8b551..24d9d2b9eb5 100644
--- a/srcpkgs/gnome-panel/template
+++ b/srcpkgs/gnome-panel/template
@@ -1,7 +1,7 @@
 # Template file for 'gnome-panel'
 pkgname=gnome-panel
-version=3.34.1
-revision=3
+version=3.37.1
+revision=1
 build_style=gnu-configure
 configure_args="ax_cv_zoneinfo_tzdir=/usr/share/zoneinfo"
 hostmakedepends="gettext-devel glib-devel itstool pkg-config tzdata gettext"
@@ -14,7 +14,7 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later, GFDL-1.1-or-later, LGPL-2.1-or-later"
 homepage="https://wiki.gnome.org/Projects/GnomePanel"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=a6bc0255252eeb4b964bcbe55fd7908b69f914c062c5ec8dff5ac0262d29b90d
+checksum=1d598fd68933e76018f2fb116a7871cbc0033c1f109bfbfe08a1ecb56067d152
 patch_args="-Np1"
 
 gnome-panel-devel_package() {

From 058b87173f2690eaad32b86f243992ca51660ae9 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Fri, 14 Aug 2020 23:24:51 +0200
Subject: [PATCH 54/81] metacity: update to 3.37.1

---
 srcpkgs/metacity/template | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/metacity/template b/srcpkgs/metacity/template
index 5aa231492e7..4309776bd54 100644
--- a/srcpkgs/metacity/template
+++ b/srcpkgs/metacity/template
@@ -1,18 +1,17 @@
 # Template file for 'metacity'
 pkgname=metacity
-reverts="3.37.1_1"
-version=3.34.1
+version=3.37.1
 revision=1
 build_style=gnu-configure
 hostmakedepends="gettext gettext-devel glib-devel itstool pkg-config yelp-tools zenity"
 makedepends="gsettings-desktop-schemas-devel gtk+3-devel libcanberra-devel
  libglib-devel libgtop-devel libSM-devel libXcomposite-devel libXdamage-devel
- libXfixes-devel libXinerama-devel libXrender-devel libX11-devel pango-devel
- startup-notification-devel Vulkan-Headers vulkan-loader"
+ libXfixes-devel libXinerama-devel libXrender-devel libX11-devel libXres-devel
+ pango-devel startup-notification-devel Vulkan-Headers vulkan-loader"
 depends="zenity"
 short_desc="Window Manager for the GNOME environment"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://gitlab.gnome.org/GNOME/metacity"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=31c7d1045c390afb3bf405735b0b26c459197cbf43af37c469eb8918ce3a453d
+checksum=80d6f3d95a4328fb26d0a6471f575b742b36b8f2721f8f3c1807197fa900a126

From 97baa50587ebf5825cc79be90bde545c1fb68eb4 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Fri, 14 Aug 2020 23:40:34 +0200
Subject: [PATCH 55/81] gnome-flashback: update to 3.37.2

Added PAM config as suggested by mnabid.
---
 .../gnome-flashback/files/gnome-flashback.pam |  6 ++++
 srcpkgs/gnome-flashback/template              | 34 ++++++++++++++-----
 2 files changed, 31 insertions(+), 9 deletions(-)
 create mode 100644 srcpkgs/gnome-flashback/files/gnome-flashback.pam

diff --git a/srcpkgs/gnome-flashback/files/gnome-flashback.pam b/srcpkgs/gnome-flashback/files/gnome-flashback.pam
new file mode 100644
index 00000000000..f776f0b3632
--- /dev/null
+++ b/srcpkgs/gnome-flashback/files/gnome-flashback.pam
@@ -0,0 +1,6 @@
+#%PAM-1.0
+auth     include  system-auth
+auth     optional pam_gnome_keyring.so
+account  include  system-auth
+password include  system-auth
+session  include  system-auth
diff --git a/srcpkgs/gnome-flashback/template b/srcpkgs/gnome-flashback/template
index d32120cab6f..68a1a674acf 100644
--- a/srcpkgs/gnome-flashback/template
+++ b/srcpkgs/gnome-flashback/template
@@ -1,20 +1,36 @@
 # Template file for 'gnome-flashback'
 pkgname=gnome-flashback
-version=3.34.2
+version=3.37.2
 revision=1
 build_helper=gir
 build_style=gnu-configure
-configure_args="--enable-compile-warnings=minimum"
-hostmakedepends="pkg-config automake glib-devel gettext"
-makedepends="gtk+3-devel gsettings-desktop-schemas-devel
- libglib-devel gdk-pixbuf-devel upower-devel ibus-devel polkit-devel
- pulseaudio-devel libcanberra-devel libxcb-devel libX11-devel pango-devel
- libxkbfile-devel gnome-bluetooth-devel gnome-desktop-devel"
+configure_args="--with-compiz-session --enable-compile-warnings=minimum"
+hostmakedepends="pkg-config gettext gettext-devel automake libtool glib-devel"
+makedepends="pam-devel elogind-devel upower-devel ibus-devel polkit-devel
+ pulseaudio-devel libcanberra-devel libxcb-devel libX11-devel libxkbfile-devel
+ libcompizconfig-devel libglib-devel pango-devel gtk+3-devel gdk-pixbuf-devel
+ gdm-devel gnome-bluetooth-devel gnome-desktop-devel gnome-panel-devel
+ gsettings-desktop-schemas-devel"
 depends="gnome-bluetooth gnome-session gnome-settings-daemon
- gnome-panel gnome-themes-standard metacity"
+ gnome-panel gnome-themes-extra metacity"
 short_desc="GNOME 3 session with similar user experience to the GNOME 2.x series"
 maintainer="shizonic <realtiaz@gmail.com>"
 license="GPL-3.0-or-later"
 homepage="https://wiki.gnome.org/Projects/GnomeFlashback"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=3be65388cd2c8f39741bcc05da87ef40035183a9a39502d67696242c2aeb469c
+checksum=ab0de00b0f6c9bf30c19651564bd9a74bbdfb7d76dd2119b2631a3671f8be653
+
+post_extract() {
+	vsed -i 's/libcompizconfig >= 0\.9\.14\.0/libcompizconfig >= 0.8.16.0/' \
+		configure.ac
+}
+
+pre_configure() {
+	autoreconf -if
+}
+
+post_install() {
+	vinstall ${FILESDIR}/gnome-flashback.pam 644 /etc/pam.d gnome-flashback
+	vsed -i -e "s/ --systemd//g" \
+		${DESTDIR}/usr/libexec/gnome-flashback-{compiz,metacity}
+}

From 439757816e23aeb324b1d858072a78bdeab719a2 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sat, 15 Aug 2020 00:12:16 +0200
Subject: [PATCH 56/81] tepl: update to 4.99.3

---
 common/shlibs                     |  2 +-
 srcpkgs/tepl/patches/no-gir.patch | 45 +++++++++++++++++++++++++++++++
 srcpkgs/tepl/template             | 10 +++----
 3 files changed, 51 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/tepl/patches/no-gir.patch

diff --git a/common/shlibs b/common/shlibs
index b89152a0375..39b04d2acde 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3556,7 +3556,7 @@ libwx_gtk3u_media-3.0.so.0 wxWidgets-gtk3-3.0.4_1
 libwx_gtk3u_ribbon-3.0.so.0 wxWidgets-gtk3-3.0.4_1
 libwx_gtk3u_gl-3.0.so.0 wxWidgets-gtk3-3.0.4_1
 libwx_gtk3u_stc-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libtepl-4.so.0 tepl-4.2.0_1
+libtepl-5.so.0 tepl-4.2.0_1
 libnomacsCore.so.3 nomacs-3.10.2_4
 libaudit.so.1 libaudit-2.8.4_1
 libauparse.so.0 libauparse-2.8.4_1
diff --git a/srcpkgs/tepl/patches/no-gir.patch b/srcpkgs/tepl/patches/no-gir.patch
new file mode 100644
index 00000000000..e340027b7f1
--- /dev/null
+++ b/srcpkgs/tepl/patches/no-gir.patch
@@ -0,0 +1,45 @@
+From 17e57ed156450fe59001cb0a14f8d87c40d6bf77 Mon Sep 17 00:00:00 2001
+From: Daniel Kolesa <daniel@octaforge.org>
+Date: Sat, 15 Aug 2020 00:09:15 +0200
+Subject: [PATCH] Allow disabling gir
+
+---
+ meson_options.txt | 5 +++++
+ tepl/meson.build  | 4 ++++
+ 2 files changed, 9 insertions(+)
+
+diff --git meson_options.txt meson_options.txt
+index cad97dd..5e99084 100644
+--- meson_options.txt
++++ meson_options.txt
+@@ -3,3 +3,8 @@ option(
+   type: 'boolean', value: false,
+   description: 'Build API reference (requires gtk-doc)'
+ )
++option(
++  'gir',
++  type: 'boolean', value: true,
++  description: 'Build gobject-introspection'
++)
+diff --git tepl/meson.build tepl/meson.build
+index 226d913..b35dd3a 100644
+--- tepl/meson.build
++++ tepl/meson.build
+@@ -164,6 +164,8 @@ PKG_CONFIG.generate(tepl_lib,
+   libraries: TEPL_PUBLIC_DEPS,
+ )
+ 
++if get_option('gir')
++
+ GNOME.generate_gir(
+   tepl_lib,
+   export_packages: 'tepl-@0@'.format(TEPL_API_VERSION),
+@@ -182,3 +184,5 @@ GNOME.generate_gir(
+   # Support for deps being built as subprojects:
+   dependencies: TEPL_DEPS,
+ )
++
++endif
+-- 
+2.28.0
+
diff --git a/srcpkgs/tepl/template b/srcpkgs/tepl/template
index f4d371d603d..89333c77a19 100644
--- a/srcpkgs/tepl/template
+++ b/srcpkgs/tepl/template
@@ -1,10 +1,10 @@
 # Template file for 'tepl'
 pkgname=tepl
-version=4.4.0
+version=4.99.3
 revision=1
-build_style=gnu-configure
-build_helper="gir"
-configure_args="$(vopt_enable gir introspection)"
+build_style=meson
+build_helper=gir
+configure_args="$(vopt_bool gir gir)"
 hostmakedepends="glib-devel pkg-config"
 makedepends="amtk-devel libglib-devel gtksourceview4-devel gtk+3-devel
  libxml2-devel uchardet-devel"
@@ -13,7 +13,7 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="https://wiki.gnome.org/Projects/Tepl"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=e6f6673a8a27e8f280725db8fbacec79b20676ae0558755239d15a9808faa256
+checksum=e4afe634f00c5530ae52d706d9c3a9bdf2dbc74b0459a363703a0a9b4a5e3157
 
 build_options="gir"
 build_options_default="gir"

From 2743f520081d1435c6caeeec1a782e0f317b15e0 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sat, 15 Aug 2020 00:15:50 +0200
Subject: [PATCH 57/81] gedit: update to 3.37.3

---
 common/shlibs          |  2 +-
 srcpkgs/gedit/template | 21 ++++++++++-----------
 2 files changed, 11 insertions(+), 12 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index 39b04d2acde..c6f8c38b07c 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3683,7 +3683,7 @@ libqhttpengine.so.1 qhttpengine-1.0.1_1
 libqmdnsengine.so.0 qmdnsengine-0.1.0_1
 libyang.so.1 libyang-1.0r5_1
 libhtp.so.2 libhtp-0.5.30_1
-libgedit-3.36.so gedit-3.36.1_1
+libgedit-3.38.so gedit-3.37.3_1
 libchewing.so.3 libchewing-0.5.1_1
 libdwarves.so.1 pahole-1.12_1
 libdwarves_emit.so.1 pahole-1.12_1
diff --git a/srcpkgs/gedit/template b/srcpkgs/gedit/template
index 4e273aaf182..a13e91f5fc0 100644
--- a/srcpkgs/gedit/template
+++ b/srcpkgs/gedit/template
@@ -1,14 +1,14 @@
 # Template file for 'gedit'
 pkgname=gedit
-version=3.36.1
+version=3.37.3
 revision=1
 build_helper="gir"
 build_style=meson
 pycompile_dirs="usr/lib/gedit/plugins"
-configure_args="-Dplugins=true -Dvapi=$(vopt_if vala true false)
- -Dintrospection=$(vopt_if gir true false)"
+configure_args="-Dplugins=true
+ $(vopt_bool gir vapi) $(vopt_bool gir introspection)"
 hostmakedepends="itstool pkg-config glib-devel gdk-pixbuf perl gettext
- $(vopt_if vala vala)"
+ $(vopt_if gir vala)"
 makedepends="gsettings-desktop-schemas-devel gspell-devel gtksourceview4-devel
  libpeas-devel libsoup-devel tepl-devel $(vopt_if gir 'python3-gobject-devel')"
 depends="desktop-file-utils gsettings-desktop-schemas iso-codes"
@@ -17,23 +17,22 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://wiki.gnome.org/Apps/Gedit"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=6dc38eda227d1c368e039e9bff485d0bee9a49d5f9560c387ee08f5818a4e387
-shlib_provides="libgedit-3.36.so"
+checksum=8137c7d96a19452ee04c915cb25ba4da1346af8fe0497456417ccfa628f106d3
+shlib_provides="libgedit-3.38.so"
 python_version=3
 
-build_options="gir vala"
-build_options_default="gir vala"
+build_options="gir"
+build_options_default="gir"
 
 gedit-devel_package() {
-	depends="${sourcepkg}>=${version}_${revision} gtksourceview-devel libpeas-devel"
+	depends="${sourcepkg}>=${version}_${revision} gtksourceview4-devel
+	 libpeas-devel tepl-devel"
 	short_desc+=" - development files"
 	pkg_install() {
 		vmove usr/include
 		vmove usr/lib/pkgconfig
 		if [ "$build_option_gir" ]; then
 			vmove usr/share/gedit/gir-1.0
-		fi
-		if [ "$build_option_vala" ]; then
 			vmove usr/share/vala
 		fi
 	}

From d5091459f31ba6b1ee9842e7b796be9868f2324c Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sat, 15 Aug 2020 00:18:49 +0200
Subject: [PATCH 58/81] gedit-plugins: rebuild against gedit-3.37.3

---
 srcpkgs/gedit-plugins/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/gedit-plugins/template b/srcpkgs/gedit-plugins/template
index f2f94e63f59..f16c307e059 100644
--- a/srcpkgs/gedit-plugins/template
+++ b/srcpkgs/gedit-plugins/template
@@ -1,7 +1,7 @@
 # Template file for 'gedit-plugins'
 pkgname=gedit-plugins
 version=3.36.2
-revision=1
+revision=2
 build_style=meson
 pycompile_dirs="usr/lib/gedit/plugins"
 hostmakedepends="gettext glib-devel itstool pkg-config vala appstream-glib python3-gobject

From 0561ab64ca243f973f68c9bf41d4921532d94618 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sat, 15 Aug 2020 00:33:49 +0200
Subject: [PATCH 59/81] gnome-latex: update to 3.37.2

---
 srcpkgs/gnome-latex/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/gnome-latex/template b/srcpkgs/gnome-latex/template
index 90d60be860a..e4e2f626296 100644
--- a/srcpkgs/gnome-latex/template
+++ b/srcpkgs/gnome-latex/template
@@ -1,7 +1,7 @@
 # Template file for 'gnome-latex'
 pkgname=gnome-latex
-version=3.32.0
-revision=2
+version=3.37.2
+revision=1
 build_helper="gir"
 build_style=gnu-configure
 configure_args="--disable-appstream-util --disable-dconf-migration
@@ -15,7 +15,7 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="https://wiki.gnome.org/Apps/GNOME-LaTeX"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=0f069c7b4c6754255a1c7e3e3b050925d8076f55458526a30ab59e0a7d52acc9
+checksum=a3521e21d4cc5bc60ff694f5209f499caa80f395ce5d62cb632e4243ad27bad0
 
 build_options="gir"
 build_options_default="gir"

From ee290b7e9731298aba739873898125739a5d1537 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sun, 16 Aug 2020 04:23:33 +0200
Subject: [PATCH 60/81] baobab: update to 3.37.90

---
 srcpkgs/baobab/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/baobab/template b/srcpkgs/baobab/template
index a028be4cd5b..6083a78f54f 100644
--- a/srcpkgs/baobab/template
+++ b/srcpkgs/baobab/template
@@ -1,6 +1,6 @@
 # Template file for 'baobab'
 pkgname=baobab
-version=3.34.1
+version=3.37.90
 revision=1
 build_style=meson
 hostmakedepends="gettext pkg-config itstool glib-devel vala"
@@ -11,4 +11,4 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later, GFDL-1.1-or-later"
 homepage="https://wiki.gnome.org/action/show/Apps/DiskUsageAnalyzer"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=7f981d4f135e4f80fba3f66e86b0eeedc94a2434649262ff01a5f0cb027b20c5
+checksum=41be38e43faafb392769c879e1e762ca38e2d751c171bea1f9047290a883fefe

From 90896cae78f06b82c5b5afaeef3baf9dc1087672 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sun, 16 Aug 2020 04:31:53 +0200
Subject: [PATCH 61/81] gnome-boxes: update to 3.37.90

---
 srcpkgs/gnome-boxes/template | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/gnome-boxes/template b/srcpkgs/gnome-boxes/template
index 0fa2ae76c72..fd8febcbcd8 100644
--- a/srcpkgs/gnome-boxes/template
+++ b/srcpkgs/gnome-boxes/template
@@ -1,6 +1,6 @@
 # Template file for 'gnome-boxes'
 pkgname=gnome-boxes
-version=3.36.5
+version=3.37.90
 revision=1
 build_helper="gir"
 build_style=meson
@@ -8,7 +8,8 @@ hostmakedepends="gettext itstool pkg-config vala glib-devel"
 makedepends="clutter-gtk-devel freerdp-devel gtk-vnc-devel libarchive-devel
  libglib-devel libgudev-devel libosinfo-devel libsecret-devel libsoup-devel
  libusb-devel libvirt-glib-devel libxml2-devel spice-gtk-devel spice-protocol
- tracker-devel vala-devel webkit2gtk-devel vte3-devel"
+ tracker-devel vala-devel webkit2gtk-devel vte3-devel gtksourceview4-devel
+ libhandy-devel"
 depends="desktop-file-utils hicolor-icon-theme libosinfo libvirt-glib qemu tracker"
 short_desc="GNOME 3 application to access remote or virtual systems"
 maintainer="Enno Boland <gottox@voidlinux.org>"
@@ -16,4 +17,4 @@ license="LGPL-2.0-or-later"
 homepage="https://wiki.gnome.org/Apps/Boxes"
 changelog="https://raw.githubusercontent.com/GNOME/gnome-boxes/gnome-3-36/NEWS"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=4c54cabe355e878d0457517346e4247a860b6883413d3bf77681dcd11ef41bce
+checksum=122da39131acb971b3e764006c5c3698447a5d9220aab3383db63c0929de915d

From f7b3d32e51ec79892fb3e4ee51b355cf5ee6b3c9 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sun, 16 Aug 2020 04:35:24 +0200
Subject: [PATCH 62/81] gnome-calculator: update to 3.37.90

---
 srcpkgs/gnome-calculator/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/gnome-calculator/template b/srcpkgs/gnome-calculator/template
index 06214b08d9b..81112844a4e 100644
--- a/srcpkgs/gnome-calculator/template
+++ b/srcpkgs/gnome-calculator/template
@@ -1,7 +1,7 @@
 # Template file for 'gnome-calculator'
 pkgname=gnome-calculator
-version=3.36.0
-revision=2
+version=3.37.90
+revision=1
 build_style=meson
 build_helper="gir"
 hostmakedepends="cmake gettext glib-devel itstool pkg-config vala"
@@ -14,4 +14,4 @@ license="GPL-2.0-or-later"
 homepage="https://wiki.gnome.org/Apps/Calculator"
 changelog="https://raw.githubusercontent.com/GNOME/gnome-calculator/gnome-3-32/NEWS"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=a2e830f9c9856fad65dad1d6c0ae6abad0f0b496c9984ac005315c5cc4220db3
+checksum=b895b5ec62b9495810b0a6cb90158e6d1607096d150b4ac5cdcf8aefceded4c1

From 672c09646ed4d09769b88ce81a13d8a5c101503c Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sun, 16 Aug 2020 04:44:58 +0200
Subject: [PATCH 63/81] gnome-disk-utility: update to 3.37.2

---
 srcpkgs/gnome-disk-utility/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/gnome-disk-utility/template b/srcpkgs/gnome-disk-utility/template
index dc67bbba785..1955611850b 100644
--- a/srcpkgs/gnome-disk-utility/template
+++ b/srcpkgs/gnome-disk-utility/template
@@ -1,7 +1,7 @@
 # Template file for 'gnome-disk-utility'
 pkgname=gnome-disk-utility
-version=3.36.1
-revision=2
+version=3.37.2
+revision=1
 build_style=meson
 configure_args="-Dlogind=none"
 hostmakedepends="glib-devel gtk-doc intltool pkg-config libxslt"
@@ -13,5 +13,5 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://wiki.gnome.org/Apps/Disks"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=791b18f231bcbc6d941af3837ca5be14f2157e5ce3d32bdc5b9eb8947e12b414
+checksum=1c998f554dfec8b423c685872353a5dbcf658c9f7ba477cac768a92563643308
 lib32disabled=yes

From 9c9b81ab442f5cc94759b96c4f2727efbf72c5ad Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sun, 16 Aug 2020 04:49:26 +0200
Subject: [PATCH 64/81] gnome-screenshot: update to 3.37.90

---
 srcpkgs/gnome-screenshot/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/gnome-screenshot/template b/srcpkgs/gnome-screenshot/template
index 99cab62eee1..54116aa81ec 100644
--- a/srcpkgs/gnome-screenshot/template
+++ b/srcpkgs/gnome-screenshot/template
@@ -1,14 +1,14 @@
 # Template file for 'gnome-screenshot'
 pkgname=gnome-screenshot
-version=3.36.0
-revision=2
+version=3.37.90
+revision=1
 build_style=meson
 hostmakedepends="appdata-tools gettext glib-devel itstool pkg-config"
-makedepends="libcanberra-devel"
+makedepends="libcanberra-devel libhandy1-devel"
 depends="desktop-file-utils"
 short_desc="Screenshot capture utility for GNOME"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://gitlab.gnome.org/GNOME/gnome-screenshot"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=33495d892707179254b743f8f70c9a82cde5c5f2c7ea3db634a2ba7ea7331266
+checksum=7a39cc7847a482fa9aad989ce65df0ef5ee9ef79aced75d1931b7e9e86c10f13

From d14d401c2e5ba721d6b73f73e7efeefd6a4a7cfe Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sun, 16 Aug 2020 04:51:00 +0200
Subject: [PATCH 65/81] gnome-system-monitor: update to 3.37.91

---
 srcpkgs/gnome-system-monitor/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/gnome-system-monitor/template b/srcpkgs/gnome-system-monitor/template
index ff11b3590a4..ca0187c7eac 100644
--- a/srcpkgs/gnome-system-monitor/template
+++ b/srcpkgs/gnome-system-monitor/template
@@ -1,6 +1,6 @@
 # Template file for 'gnome-system-monitor'
 pkgname=gnome-system-monitor
-version=3.36.1
+version=3.37.91
 revision=1
 build_style=meson
 configure_args="-Dsystemd=false"
@@ -11,4 +11,4 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://wiki.gnome.org/Apps/SystemMonitor"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=866b47ab0f4c75b0ec57d6300337a7373463aaad5df95eddfe5354c22be7bca1
+checksum=0d79a18de5e8cf4bc4946ced5ff78fa65fcc2e2dd63382b08e314c6f94df1e95

From 16ca05baa52dd02535a820156d6619c7b852ec75 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sun, 16 Aug 2020 04:56:34 +0200
Subject: [PATCH 66/81] gtksourceview4: update to 4.7.90

---
 srcpkgs/gtksourceview4/template | 29 ++++++++++++++++-------------
 1 file changed, 16 insertions(+), 13 deletions(-)

diff --git a/srcpkgs/gtksourceview4/template b/srcpkgs/gtksourceview4/template
index 6848716773c..926a39fd239 100644
--- a/srcpkgs/gtksourceview4/template
+++ b/srcpkgs/gtksourceview4/template
@@ -1,32 +1,37 @@
 # Template file for 'gtksourceview4'
 pkgname=gtksourceview4
-version=4.2.0
-revision=2
+version=4.7.90
+revision=1
 wrksrc="gtksourceview-${version}"
-build_style=gnu-configure
+build_style=meson
 build_helper="gir"
-configure_args="--enable-glade-catalog $(vopt_enable gir introspection)
- $(vopt_enable vala) $(vopt_enable gtk_doc gtk-doc)"
+configure_args="-Dglade_catalog=true $(vopt_bool gir gir)
+ $(vopt_bool gir vapi) $(vopt_bool gtk_doc gtk_doc)"
 hostmakedepends="gtk+3-devel glib-devel itstool libxslt pkg-config
- $(vopt_if vala vala) $(vopt_if gtk_doc gtk-doc)"
+ $(vopt_if gir vala) $(vopt_if gtk_doc gtk-doc)"
 makedepends="glade3-devel gtk+3-devel libglib-devel libxml2-devel
- $(vopt_if vala vala)"
+ $(vopt_if gir vala)"
 short_desc="Text widget that extends GTK+ GtkTextView widget"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://wiki.gnome.org/Projects/GtkSourceView"
 distfiles="${GNOME_SITE}/gtksourceview/${version%.*}/gtksourceview-${version}.tar.xz"
-checksum=c431eb234dc83c7819e58f77dd2af973252c7750da1c9d125ddc94268f94f675
+checksum=983bdcb88f98285b3b997c9335057c8fbc45aad0a7c13cb65eb365567e26baaf
 
 # Package build options
-build_options="gir vala gtk_doc"
+build_options="gir gtk_doc"
 desc_option_gtk_doc="Build API docs via gtk-doc"
-build_options_default="gir vala"
+build_options_default="gir"
 
 if [ -z "$CROSS_BUILD" ]; then
 	build_options_default+=" gtk_doc"
 fi
 
+# Needs X
+do_check() {
+	:
+}
+
 gtksourceview4-devel_package() {
 	depends="gtk+3-devel libglib-devel libxml2-devel ${sourcepkg}>=${version}_${revision}"
 	short_desc+=" - development files"
@@ -36,11 +41,9 @@ gtksourceview4-devel_package() {
 		vmove "usr/lib/*.so"
 		vmove usr/share/glade
 		vmove usr/share/gtk-doc
-		if [ "$build_option_vala" ]; then
-			vmove usr/share/vala
-		fi
 		if [ "$build_option_gir" ]; then
 			vmove usr/share/gir-1.0
+			vmove usr/share/vala
 		fi
 	}
 }

From 45454f2fbf9f88a64de0297da6604dd571bbddc2 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sun, 16 Aug 2020 05:28:14 +0200
Subject: [PATCH 67/81] sysprof: update to 3.37.90

---
 common/shlibs                                 |   4 +-
 .../patches/allocs-by-size-gsize-format.patch |  12 --
 srcpkgs/sysprof/patches/build.patch           |  10 ++
 srcpkgs/sysprof/patches/musl.patch            | 125 ++++++++++++++++++
 srcpkgs/sysprof/template                      |   4 +-
 5 files changed, 139 insertions(+), 16 deletions(-)
 delete mode 100644 srcpkgs/sysprof/patches/allocs-by-size-gsize-format.patch
 create mode 100644 srcpkgs/sysprof/patches/build.patch
 create mode 100644 srcpkgs/sysprof/patches/musl.patch

diff --git a/common/shlibs b/common/shlibs
index c6f8c38b07c..279ab7e0a2f 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3156,8 +3156,8 @@ libmirage.so.11 libmirage-3.1.0_1
 libwkhtmltox.so.0 libwkhtmltopdf-0.12.5_1
 libixml.so.10 libupnp1.8-1.8.2_1
 libupnp.so.13 libupnp1.8-1.8.4_1
-libsysprof-3.so sysprof-3.34.0_1
-libsysprof-ui-3.so sysprof-3.34.0_1
+libsysprof-4.so sysprof-3.37.90_1
+libsysprof-ui-4.so sysprof-3.37.90_1
 libmozjs-52.so mozjs52-52.3.0_1
 libmozjs-52.so.0 mozjs52-52.3.0_1
 libvala-0.48.so.0 libvala-0.48.0_1
diff --git a/srcpkgs/sysprof/patches/allocs-by-size-gsize-format.patch b/srcpkgs/sysprof/patches/allocs-by-size-gsize-format.patch
deleted file mode 100644
index afee07ebbc2..00000000000
--- a/srcpkgs/sysprof/patches/allocs-by-size-gsize-format.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -rauN src/tests/allocs-by-size.c src/tests/allocs-by-size.c
---- src/tests/allocs-by-size.c	2020-03-22 20:00:12.677048822 +0100
-+++ src/tests/allocs-by-size.c	2020-03-22 20:01:07.000418361 +0100
-@@ -109,7 +109,7 @@
-     {
-       const Item *item = &g_array_index (ar, Item, i);
- 
--      g_print ("%"G_GUINT64_FORMAT",%"G_GUINT64_FORMAT",%"G_GUINT64_FORMAT"\n",
-+      g_print ("%"G_GSIZE_FORMAT",%"G_GSIZE_FORMAT",%"G_GSIZE_FORMAT"\n",
-                item->size, item->cmp, item->count);
-     }
- }
diff --git a/srcpkgs/sysprof/patches/build.patch b/srcpkgs/sysprof/patches/build.patch
new file mode 100644
index 00000000000..ab7c2c1c164
--- /dev/null
+++ b/srcpkgs/sysprof/patches/build.patch
@@ -0,0 +1,10 @@
+--- src/libsysprof-capture/sysprof-capture-condition.c
++++ src/libsysprof-capture/sysprof-capture-condition.c
+@@ -269,6 +269,7 @@ sysprof_capture_condition_copy (const SysprofCaptureCondition *self)
+     }
+ 
+   sysprof_assert_not_reached ();
++  return NULL;
+ }
+ 
+ static void
diff --git a/srcpkgs/sysprof/patches/musl.patch b/srcpkgs/sysprof/patches/musl.patch
new file mode 100644
index 00000000000..51f42128891
--- /dev/null
+++ b/srcpkgs/sysprof/patches/musl.patch
@@ -0,0 +1,125 @@
+From 1d2de32e97bf5569cc33ee9a90c873e1bbd2b1e6 Mon Sep 17 00:00:00 2001
+From: q66 <daniel@octaforge.org>
+Date: Sun, 6 Sep 2020 18:21:37 +0200
+Subject: [PATCH] fix build on musl
+
+---
+ .../sysprof-capture-cursor.c                  |  1 +
+ .../sysprof-capture-reader.c                  |  1 +
+ src/libsysprof-capture/sysprof-capture-util.c |  1 +
+ .../sysprof-capture-writer-cat.c              |  1 +
+ src/libsysprof-capture/sysprof-collector.c    |  1 +
+ src/libsysprof-capture/sysprof-compat.h       | 28 +++++++++++++++++++
+ src/libsysprof-capture/sysprof-platform.c     |  1 +
+ 7 files changed, 34 insertions(+)
+ create mode 100644 src/libsysprof-capture/sysprof-compat.h
+
+diff --git src/libsysprof-capture/sysprof-capture-cursor.c src/libsysprof-capture/sysprof-capture-cursor.c
+index 24563f0..bb77a60 100644
+--- src/libsysprof-capture/sysprof-capture-cursor.c
++++ src/libsysprof-capture/sysprof-capture-cursor.c
+@@ -59,6 +59,7 @@
+ #include <assert.h>
+ #include <stdlib.h>
+ 
++#include "sysprof-compat.h"
+ #include "sysprof-capture-condition.h"
+ #include "sysprof-capture-cursor.h"
+ #include "sysprof-capture-reader.h"
+diff --git src/libsysprof-capture/sysprof-capture-reader.c src/libsysprof-capture/sysprof-capture-reader.c
+index 67c6b28..252d006 100644
+--- src/libsysprof-capture/sysprof-capture-reader.c
++++ src/libsysprof-capture/sysprof-capture-reader.c
+@@ -68,6 +68,7 @@
+ #include <sys/types.h>
+ #include <unistd.h>
+ 
++#include "sysprof-compat.h"
+ #include "sysprof-capture-reader.h"
+ #include "sysprof-capture-util-private.h"
+ #include "sysprof-capture-writer.h"
+diff --git src/libsysprof-capture/sysprof-capture-util.c src/libsysprof-capture/sysprof-capture-util.c
+index 0bbea06..0e5f7e7 100644
+--- src/libsysprof-capture/sysprof-capture-util.c
++++ src/libsysprof-capture/sysprof-capture-util.c
+@@ -56,6 +56,7 @@
+ 
+ #include "config.h"
+ 
++#include <stdint.h>
+ #include <assert.h>
+ #include <errno.h>
+ #include <unistd.h>
+diff --git src/libsysprof-capture/sysprof-capture-writer-cat.c src/libsysprof-capture/sysprof-capture-writer-cat.c
+index 66171b9..9febbbb 100644
+--- src/libsysprof-capture/sysprof-capture-writer-cat.c
++++ src/libsysprof-capture/sysprof-capture-writer-cat.c
+@@ -63,6 +63,7 @@
+ #include <stdlib.h>
+ #include <unistd.h>
+ 
++#include "sysprof-compat.h"
+ #include "sysprof-capture.h"
+ #include "sysprof-macros-internal.h"
+ 
+diff --git src/libsysprof-capture/sysprof-collector.c src/libsysprof-capture/sysprof-collector.c
+index 1d7a0d6..7af6c96 100644
+--- src/libsysprof-capture/sysprof-collector.c
++++ src/libsysprof-capture/sysprof-collector.c
+@@ -73,6 +73,7 @@
+ 
+ #include "mapped-ring-buffer.h"
+ 
++#include "sysprof-compat.h"
+ #include "sysprof-capture-util-private.h"
+ #include "sysprof-collector.h"
+ #include "sysprof-macros-internal.h"
+diff --git src/libsysprof-capture/sysprof-compat.h src/libsysprof-capture/sysprof-compat.h
+new file mode 100644
+index 0000000..ae9bf10
+--- /dev/null
++++ src/libsysprof-capture/sysprof-compat.h
+@@ -0,0 +1,28 @@
++/* added by q66 @ void to fix build on musl */
++
++#pragma once
++
++#ifndef __GLIBC__
++
++#include <stdlib.h>
++#include <errno.h>
++
++/* from glibc */
++#ifndef TEMP_FAILURE_RETRY
++# define TEMP_FAILURE_RETRY(expression) \
++  (__extension__                                                              \
++    ({ long int __result;                                                     \
++       do __result = (long int) (expression);                                 \
++       while (__result == -1L && errno == EINTR);                             \
++       __result; }))
++#endif
++
++static inline void *reallocarray(void *p, size_t nmemb, size_t sz) {
++    if (sz && (nmemb > ((size_t)-1 / sz))) {
++        errno = ENOMEM;
++        return NULL;
++    }
++    return realloc(p, nmemb * sz);
++}
++
++#endif
+diff --git src/libsysprof-capture/sysprof-platform.c src/libsysprof-capture/sysprof-platform.c
+index a80ab89..05bd590 100644
+--- src/libsysprof-capture/sysprof-platform.c
++++ src/libsysprof-capture/sysprof-platform.c
+@@ -60,6 +60,7 @@
+ #include <sys/syscall.h>
+ #include <unistd.h>
+ 
++#include "sysprof-compat.h"
+ #include "sysprof-capture-util-private.h"
+ #include "sysprof-platform.h"
+ 
+-- 
+2.28.0
+
diff --git a/srcpkgs/sysprof/template b/srcpkgs/sysprof/template
index 68bca602553..15166e28e1a 100644
--- a/srcpkgs/sysprof/template
+++ b/srcpkgs/sysprof/template
@@ -1,6 +1,6 @@
 # Template file for 'sysprof'
 pkgname=sysprof
-version=3.36.0
+version=3.37.90
 revision=1
 build_style=meson
 configure_args="-Denable_gtk=true -Dsystemdunitdir=deleteme"
@@ -11,7 +11,7 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later, GPL-3.0-or-later"
 homepage="http://sysprof.com/"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=8670db4dacf7b219d30c575c465b17c8ed6724dbade347f2cde9548bff039108
+checksum=61810c36bc0bfb5ce8808e6b2fbefc3ce0c510c57b1d26bba66cc636f75b8041
 
 # for ITS rules
 if [ "$CROSS_BUILD" ]; then

From 31e6a742d5a33ac0e0bac760a483af79bd93ce30 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sun, 16 Aug 2020 06:23:04 +0200
Subject: [PATCH 68/81] New package: mozjs78-78.1.0

---
 common/shlibs                                 |   1 +
 srcpkgs/mozjs78-devel                         |   1 +
 .../001-silence-sandbox-violations.patch      |  27 +++++
 srcpkgs/mozjs78/patches/002-fix-soname.patch  |  22 ++++
 .../mozjs78/patches/003-fix-wasm-arm.patch    |  16 +++
 .../mozjs78/patches/004-fix-musl-build.patch  |  17 +++
 .../005-spidermonkey-checks-disable.patch     |  12 ++
 .../006-mozjs78.pc-honor-sysroot.patch        |  10 ++
 .../patches/007-fix-mips-sgidefs_h.patch      |  11 ++
 srcpkgs/mozjs78/patches/coverage-api.patch    | 107 ++++++++++++++++++
 srcpkgs/mozjs78/template                      |  73 ++++++++++++
 srcpkgs/mozjs78/update                        |   1 +
 12 files changed, 298 insertions(+)
 create mode 120000 srcpkgs/mozjs78-devel
 create mode 100644 srcpkgs/mozjs78/patches/001-silence-sandbox-violations.patch
 create mode 100644 srcpkgs/mozjs78/patches/002-fix-soname.patch
 create mode 100644 srcpkgs/mozjs78/patches/003-fix-wasm-arm.patch
 create mode 100644 srcpkgs/mozjs78/patches/004-fix-musl-build.patch
 create mode 100644 srcpkgs/mozjs78/patches/005-spidermonkey-checks-disable.patch
 create mode 100644 srcpkgs/mozjs78/patches/006-mozjs78.pc-honor-sysroot.patch
 create mode 100644 srcpkgs/mozjs78/patches/007-fix-mips-sgidefs_h.patch
 create mode 100644 srcpkgs/mozjs78/patches/coverage-api.patch
 create mode 100644 srcpkgs/mozjs78/template
 create mode 100644 srcpkgs/mozjs78/update

diff --git a/common/shlibs b/common/shlibs
index 279ab7e0a2f..4f83bd35e68 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3541,6 +3541,7 @@ libKF5Syndication.so.5 syndication-5.50.0_1
 liblqr-1.so.0 liblqr-0.4.2_1
 libmozjs-60.so.0 mozjs60-60.0.2_1
 libmozjs-68.so.0 mozjs68-68.8.0_1
+libmozjs-78.so.0 mozjs78-78.1.0_1
 libebur128.so.1 libebur128-1.2.4_1
 libgtksourceview-4.so.0 gtksourceview4-4.0.2_1
 libwx_gtk3u_propgrid-3.0.so.0 wxWidgets-gtk3-3.0.4_1
diff --git a/srcpkgs/mozjs78-devel b/srcpkgs/mozjs78-devel
new file mode 120000
index 00000000000..7713599356f
--- /dev/null
+++ b/srcpkgs/mozjs78-devel
@@ -0,0 +1 @@
+mozjs78
\ No newline at end of file
diff --git a/srcpkgs/mozjs78/patches/001-silence-sandbox-violations.patch b/srcpkgs/mozjs78/patches/001-silence-sandbox-violations.patch
new file mode 100644
index 00000000000..dc01194b646
--- /dev/null
+++ b/srcpkgs/mozjs78/patches/001-silence-sandbox-violations.patch
@@ -0,0 +1,27 @@
+"Carried over + updated from mozjs68"
+Upstream: no
+From 9ad10569e11a2fb96377188f895bc66abcc9511d Mon Sep 17 00:00:00 2001
+From: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
+Date: Wed, 5 Sep 2018 15:05:24 +0200
+Subject: [PATCH] silence sandbox violations
+
+Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
+---
+ python/mozbuild/mozbuild/frontend/emitter.py | 5 -----
+ 1 file changed, 5 deletions(-)
+
+--- a/python/mozbuild/mozbuild/frontend/emitter.py
++++ b/python/mozbuild/mozbuild/frontend/emitter.py
+@@ -1239,12 +1239,6 @@ class TreeMetadataEmitter(LoggingMixin):
+                                                  'is a filename, but a directory is required: %s '
+                                                  '(resolved to %s)' % (local_include, full_path),
+                                                  context)
+-            if (full_path == context.config.topsrcdir or
+-                    full_path == context.config.topobjdir):
+-                raise SandboxValidationError(
+-                    'Path specified in LOCAL_INCLUDES '
+-                    '(%s) resolves to the topsrcdir or topobjdir (%s), which is '
+-                    'not allowed' % (local_include, full_path), context)
+             include_obj = LocalInclude(context, local_include)
+             local_includes.append(include_obj.path.full_path)
+             yield include_obj
diff --git a/srcpkgs/mozjs78/patches/002-fix-soname.patch b/srcpkgs/mozjs78/patches/002-fix-soname.patch
new file mode 100644
index 00000000000..cc543109398
--- /dev/null
+++ b/srcpkgs/mozjs78/patches/002-fix-soname.patch
@@ -0,0 +1,22 @@
+"Carried over from mozjs68"
+--- a/js/src/build/Makefile.in
++++ b/js/src/build/Makefile.in
+@@ -78,6 +78,8 @@
+ endif
+ ifneq (,$(SHARED_LIBRARY))
+ 	$(SYSINSTALL) $(SHARED_LIBRARY) $(DESTDIR)$(libdir)
++	mv -f $(DESTDIR)$(libdir)/$(SHARED_LIBRARY) $(DESTDIR)$(libdir)/$(SHARED_LIBRARY).0
++	ln -s $(SHARED_LIBRARY).0 $(DESTDIR)$(libdir)/$(SHARED_LIBRARY)
+ ifeq ($(OS_ARCH),Darwin)
+ 	install_name_tool -id $(abspath $(libdir)/$(SHARED_LIBRARY)) $(DESTDIR)$(libdir)/$(SHARED_LIBRARY)
+ endif
+--- a/js/src/build/moz.build
++++ b/js/src/build/moz.build
+@@ -25,6 +25,7 @@
+ if CONFIG['JS_SHARED_LIBRARY']:
+     GeckoSharedLibrary('js', linkage=None)
+     SHARED_LIBRARY_NAME = CONFIG['JS_LIBRARY_NAME']
++    LDFLAGS += ['-Wl,-soname,lib{}.so.0'.format(SHARED_LIBRARY_NAME)]
+ 
+     # Ensure symbol versions of shared library on Linux do not conflict
+     # with those in libxul.
diff --git a/srcpkgs/mozjs78/patches/003-fix-wasm-arm.patch b/srcpkgs/mozjs78/patches/003-fix-wasm-arm.patch
new file mode 100644
index 00000000000..891a7652056
--- /dev/null
+++ b/srcpkgs/mozjs78/patches/003-fix-wasm-arm.patch
@@ -0,0 +1,16 @@
+"Taken from firefox-esr"
+--- a/js/src/wasm/WasmSignalHandlers.cpp
++++ b/js/src/wasm/WasmSignalHandlers.cpp
+@@ -243,9 +243,9 @@
+ // If you run into compile problems on a tier-3 platform, you can disable the
+ // emulation here.
+ 
+-#if defined(__linux__) && defined(__arm__)
+-#  define WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
+-#endif
++// #if defined(__linux__) && defined(__arm__)
++// #  define WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
++// #endif
+ 
+ #ifdef WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
+ #  include <sys/user.h>
diff --git a/srcpkgs/mozjs78/patches/004-fix-musl-build.patch b/srcpkgs/mozjs78/patches/004-fix-musl-build.patch
new file mode 100644
index 00000000000..f629fa2ac35
--- /dev/null
+++ b/srcpkgs/mozjs78/patches/004-fix-musl-build.patch
@@ -0,0 +1,17 @@
+"Carried over from mozjs60"
+Upstream: No
+Reason: mozjs68 miscompiles on musl if built with HAVE_THREAD_TLS_KEYWORD:
+https://github.com/void-linux/void-packages/issues/2598
+diff --git a/js/src/old-configure.in b/js/src/old-configure.in
+--- a/js/src/old-configure.in
++++ b/js/src/old-configure.in
+@@ -1272,6 +1272,9 @@
+     *-android*|*-linuxandroid*)
+       :
+       ;;
++    *-musl*)
++      :
++      ;;
+     *)
+       AC_DEFINE(HAVE_THREAD_TLS_KEYWORD)
+       ;;
diff --git a/srcpkgs/mozjs78/patches/005-spidermonkey-checks-disable.patch b/srcpkgs/mozjs78/patches/005-spidermonkey-checks-disable.patch
new file mode 100644
index 00000000000..f6eababd1f2
--- /dev/null
+++ b/srcpkgs/mozjs78/patches/005-spidermonkey-checks-disable.patch
@@ -0,0 +1,12 @@
+Source:Fedora
+Reason: Checks failed(Todo: Figure out why)
++++ a/config/run_spidermonkey_checks.py
++++ b/config/run_spidermonkey_checks.py
+@@ -11,5 +11,5 @@
+     for script in scripts:
+         retcode = subprocess.call(
+             [sys.executable, script], cwd=buildconfig.topsrcdir)
+-        if retcode != 0:
+-            raise Exception(script + " failed")
++        #if retcode != 0:
++        #    raise Exception(script + " failed")
diff --git a/srcpkgs/mozjs78/patches/006-mozjs78.pc-honor-sysroot.patch b/srcpkgs/mozjs78/patches/006-mozjs78.pc-honor-sysroot.patch
new file mode 100644
index 00000000000..71214b8eccf
--- /dev/null
+++ b/srcpkgs/mozjs78/patches/006-mozjs78.pc-honor-sysroot.patch
@@ -0,0 +1,10 @@
+"Carried over from mozjs60"
+Reason: Fix the '-include' directive, otherwise it tries to use the host's header
+--- a/js/src/build/js.pc.in
++++ b/js/src/build/js.pc.in
+@@ -11,4 +11,4 @@
+ # Use -isystem for includes rather than -I, to mark them as "system headers"
+ # that don't generate warning diagnostics. For justification, see
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1539036
+-Cflags: -include ${includedir}/@JS_LIBRARY_NAME@/js/RequiredDefines.h -isystem ${includedir}/@JS_LIBRARY_NAME@
++Cflags: -include ${pc_sysrootdir}${includedir}/@JS_LIBRARY_NAME@/js/RequiredDefines.h -isystem ${includedir}/@JS_LIBRARY_NAME@
diff --git a/srcpkgs/mozjs78/patches/007-fix-mips-sgidefs_h.patch b/srcpkgs/mozjs78/patches/007-fix-mips-sgidefs_h.patch
new file mode 100644
index 00000000000..abb140233a0
--- /dev/null
+++ b/srcpkgs/mozjs78/patches/007-fix-mips-sgidefs_h.patch
@@ -0,0 +1,11 @@
+--- a/mfbt/RandomNum.cpp	2020-04-29 23:49:40.000000000 +0200
++++ b/mfbt/RandomNum.cpp	2020-08-04 19:29:36.127471301 +0200
+@@ -52,7 +52,7 @@
+ #  elif defined(__s390__)
+ #    define GETRANDOM_NR 349
+ #  elif defined(__mips__)
+-#    include <sgidefs.h>
++#    include <asm/sgidefs.h>
+ #    if _MIPS_SIM == _MIPS_SIM_ABI32
+ #      define GETRANDOM_NR 4353
+ #    elif _MIPS_SIM == _MIPS_SIM_ABI64
diff --git a/srcpkgs/mozjs78/patches/coverage-api.patch b/srcpkgs/mozjs78/patches/coverage-api.patch
new file mode 100644
index 00000000000..53e947561cf
--- /dev/null
+++ b/srcpkgs/mozjs78/patches/coverage-api.patch
@@ -0,0 +1,107 @@
+From e5a2eb99f653ae03c67e536df1d55d265a0a1605 Mon Sep 17 00:00:00 2001
+From: Evan Welsh <contact@evanwelsh.com>
+Date: Mon, 10 Aug 2020 13:17:36 -0500
+Subject: [PATCH] Bug 1654696 - Implement code coverage JSAPI.
+ r=nbp,ptomato,jwalden
+
+---
+ js/public/experimental/CodeCoverage.h | 25 +++++++++++++++++++++++++
+ js/src/jsfriendapi.cpp                |  3 +++
+ js/src/moz.build                      |  1 +
+ js/src/shell/js.cpp                   | 11 ++++++-----
+ 4 files changed, 35 insertions(+), 5 deletions(-)
+ create mode 100644 js/public/experimental/CodeCoverage.h
+
+diff --git a/js/public/experimental/CodeCoverage.h b/js/public/experimental/CodeCoverage.h
+new file mode 100644
+index 000000000..06cc0c9ca
+--- /dev/null
++++ b/js/public/experimental/CodeCoverage.h
+@@ -0,0 +1,25 @@
++/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*-
++ * vim: set ts=8 sts=2 et sw=2 tw=80:
++ * This Source Code Form is subject to the terms of the Mozilla Public
++ * License, v. 2.0. If a copy of the MPL was not distributed with this
++ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
++
++#ifndef js_experimental_CodeCoverage_h
++#define js_experimental_CodeCoverage_h
++
++#include "jstypes.h"     // JS_FRIEND_API
++
++struct JS_PUBLIC_API JSContext;
++
++namespace js {
++
++/**
++ * Enable the collection of lcov code coverage metrics.
++ * Must be called before a runtime is created and before any calls to
++ * GetCodeCoverageSummary.
++ */
++extern JS_FRIEND_API void EnableCodeCoverage();
++
++}  // namespace js
++
++#endif  // js_experimental_CodeCoverage_h
+diff --git a/js/src/jsfriendapi.cpp b/js/src/jsfriendapi.cpp
+index af7a03bd4..5f20c6576 100644
+--- a/js/src/jsfriendapi.cpp
++++ b/js/src/jsfriendapi.cpp
+@@ -20,6 +20,7 @@
+ #include "gc/PublicIterators.h"
+ #include "gc/WeakMap.h"
+ #include "js/CharacterEncoding.h"
++#include "js/experimental/CodeCoverage.h"  // js::EnableCodeCoverage
+ #include "js/Printf.h"
+ #include "js/Proxy.h"
+ #include "js/Wrapper.h"
+@@ -1465,6 +1466,8 @@ JS_FRIEND_API void js::EnableAccessValidation(JSContext* cx, bool enabled) {
+   cx->enableAccessValidation = enabled;
+ }
+ 
++JS_FRIEND_API void js::EnableCodeCoverage() { js::coverage::EnableLCov(); }
++
+ JS_FRIEND_API void js::SetRealmValidAccessPtr(JSContext* cx,
+                                               JS::HandleObject global,
+                                               bool* accessp) {
+diff --git a/js/src/moz.build b/js/src/moz.build
+index deb15d83a..b4e9e2b02 100755
+--- a/js/src/moz.build
++++ b/js/src/moz.build
+@@ -210,6 +210,7 @@ EXPORTS.js += [
+ ]
+ 
+ EXPORTS.js.experimental += [
++    '../public/experimental/CodeCoverage.h',
+     '../public/experimental/SourceHook.h',
+ ]
+ 
+diff --git a/js/src/shell/js.cpp b/js/src/shell/js.cpp
+index 4b3f545e6..252dd24f0 100644
+--- a/js/src/shell/js.cpp
++++ b/js/src/shell/js.cpp
+@@ -104,10 +104,11 @@
+ #include "js/CompileOptions.h"
+ #include "js/ContextOptions.h"  // JS::ContextOptions{,Ref}
+ #include "js/Debug.h"
+-#include "js/Equality.h"                 // JS::SameValue
+-#include "js/ErrorReport.h"              // JS::PrintError
+-#include "js/Exception.h"                // JS::StealPendingExceptionStack
+-#include "js/experimental/SourceHook.h"  // js::{Set,Forget,}SourceHook
++#include "js/Equality.h"                   // JS::SameValue
++#include "js/ErrorReport.h"                // JS::PrintError
++#include "js/Exception.h"                  // JS::StealPendingExceptionStack
++#include "js/experimental/CodeCoverage.h"  // js::EnableCodeCoverage
++#include "js/experimental/SourceHook.h"    // js::{Set,Forget,}SourceHook
+ #include "js/GCVector.h"
+ #include "js/Initialization.h"
+ #include "js/JSON.h"
+@@ -11416,7 +11417,7 @@ int main(int argc, char** argv, char** envp) {
+ 
+   enableCodeCoverage = op.getBoolOption("code-coverage");
+   if (enableCodeCoverage) {
+-    coverage::EnableLCov();
++    js::EnableCodeCoverage();
+   }
+ 
+ #ifdef JS_WITHOUT_NSPR
diff --git a/srcpkgs/mozjs78/template b/srcpkgs/mozjs78/template
new file mode 100644
index 00000000000..5aaf07bd7dc
--- /dev/null
+++ b/srcpkgs/mozjs78/template
@@ -0,0 +1,73 @@
+# Template file for 'mozjs78'
+pkgname=mozjs78
+version=78.1.0
+revision=1
+wrksrc="firefox-${version}"
+build_wrksrc=js/src
+build_style=gnu-configure
+hostmakedepends="perl python pkg-config automake autoconf213 autoconf-archive
+ cargo rust llvm clang which python3"
+makedepends="icu-devel libffi-devel nspr-devel python-devel readline-devel
+ zlib-devel python3-devel rust-std"
+depends="nspr>=4.19"
+short_desc="Mozilla JavaScript interpreter and library (78.x series)"
+maintainer="q66 <daniel@octaforge.org>"
+license="MPL-2.0"
+homepage="https://www.mozilla.org/js/"
+distfiles="${MOZILLA_SITE}/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.xz"
+checksum=3600a396d9312c5e9f637b267926ca4771d84a56b26b960cc7d72e98683b64a2
+patch_args="-Np1"
+
+CXXFLAGS+=" -Wno-class-memaccess"
+LDFLAGS+=" -Wl,-z,stack-size=1048576"
+
+if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
+	makedepends+=" libatomic-devel"
+	LDFLAGS+=" -latomic"
+fi
+
+do_configure() {
+	local _args
+	# use gcc as assembler to avoid errors
+	unset AS
+
+	if [ "$CROSS_BUILD" ]; then
+		export HOST_CC=cc
+		export TARGET_CC="${CC}"
+		export HOST_CFLAGS="-Os"
+		export HOST_CXXFLAGS="-Os"
+		_args+=" --target=$XBPS_CROSS_TRIPLET --enable-linker=bfd"
+	fi
+
+	autoconf-2.13 old-configure.in > old-configure
+
+	touch ${wrksrc}/js/src/configure
+	touch ${wrksrc}/js/src/old-configure
+	SHELL=/bin/bash PYTHON=/usr/bin/python2 ./configure --prefix=/usr \
+		--disable-jemalloc --disable-optimize --enable-ctypes \
+		--enable-readline --enable-shared-js --enable-system-ffi \
+		--enable-tests --with-intl-api --with-system-icu --with-system-nspr \
+		--enable-hardening --enable-release --with-system-zlib \
+		--target=${XBPS_TRIPLET} --host=${XBPS_TRIPLET} \
+		${_args}
+}
+
+do_check() {
+	dist/bin/jsapi-tests --format=none --exclude-random basic
+}
+
+post_install() {
+	# Remove unneeded static library
+	rm -f "${DESTDIR}"/usr/lib/*.ajs
+}
+
+mozjs78-devel_package() {
+	depends="nspr-devel ${sourcepkg}>=${version}_${revision}"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove usr/bin/js78-config
+		vmove usr/include
+		vmove "usr/lib/*.so"
+		vmove usr/lib/pkgconfig
+	}
+}
diff --git a/srcpkgs/mozjs78/update b/srcpkgs/mozjs78/update
new file mode 100644
index 00000000000..1947e19217f
--- /dev/null
+++ b/srcpkgs/mozjs78/update
@@ -0,0 +1 @@
+pkgname='mozjs'

From d7ca5d0fbf59b376139448d293bb981dfd3e1495 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sun, 16 Aug 2020 06:42:02 +0200
Subject: [PATCH 69/81] gjs: update to 1.65.91

---
 srcpkgs/gjs/template | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/gjs/template b/srcpkgs/gjs/template
index ec48baddf11..e4e1fafedc2 100644
--- a/srcpkgs/gjs/template
+++ b/srcpkgs/gjs/template
@@ -1,27 +1,32 @@
 # Template file for 'gjs'
 pkgname=gjs
-version=1.65.2
+version=1.65.91
 revision=1
 build_style=meson
 build_helper="gir qemu"
 configure_args="-Dskip_dbus_tests=true -Dskip_gtk_tests=true
  -Dprofiler=disabled -Dinstalled_tests=false" # Disable tests because they need dbus, X and GTK.
 hostmakedepends="glib-devel pkg-config"
-makedepends="dbus-glib-devel mozjs68-devel readline-devel sysprof-devel"
+makedepends="dbus-glib-devel mozjs78-devel readline-devel sysprof-devel"
 short_desc="Mozilla-based javascript bindings for the GNOME platform"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="MIT, LGPL-2.0-or-later"
 homepage="https://wiki.gnome.org/action/show/Projects/Gjs"
 changelog="https://gitlab.gnome.org/GNOME/gjs/blob/gnome-3-30/NEWS"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=a66edad8a5f10027f9b182d88af84b81f13e5ad5840319cfa747d66e77e0214f
+checksum=63f35f6a57d013d42d4e44ba5efa8a3682d8fee6ead65ceda82ca57fd62a6503
+
+# A few tests mysteriously fail for now
+do_check() {
+	:
+}
 
 post_install() {
 	vlicense COPYING
 }
 
 gjs-devel_package() {
-	depends="libgirepository-devel mozjs68-devel ${sourcepkg}>=${version}_${revision}"
+	depends="libgirepository-devel mozjs78-devel ${sourcepkg}>=${version}_${revision}"
 	short_desc+=" - development files"
 	pkg_install() {
 		vmove usr/include

From 2cf53f8522bc210c5b32d963defec5c59f8d5b2b Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sun, 16 Aug 2020 05:23:38 +0200
Subject: [PATCH 70/81] gnome-builder: update to 3.37.90

[ci skip]
---
 .../gnome-builder/patches/libgit2-1.0.0.patch |  22 --
 srcpkgs/gnome-builder/patches/meson052.patch  | 334 ------------------
 srcpkgs/gnome-builder/template                |  15 +-
 3 files changed, 10 insertions(+), 361 deletions(-)
 delete mode 100644 srcpkgs/gnome-builder/patches/libgit2-1.0.0.patch
 delete mode 100644 srcpkgs/gnome-builder/patches/meson052.patch

diff --git a/srcpkgs/gnome-builder/patches/libgit2-1.0.0.patch b/srcpkgs/gnome-builder/patches/libgit2-1.0.0.patch
deleted file mode 100644
index 7b9b4a2bf1a..00000000000
--- a/srcpkgs/gnome-builder/patches/libgit2-1.0.0.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-commit 44136a2e5c52623b0e62c38846f511f307615ce2
-Author: q66 <daniel@octaforge.org>
-Date:   Sun May 3 19:52:09 2020 +0200
-
-    fix build with libgit2-1.0.0
-
-diff --git a/src/plugins/git/daemon/ipc-git-repository-impl.c b/src/plugins/git/daemon/ipc-git-repository-impl.c
-index 7f01042..2ccc4df 100644
---- a/src/plugins/git/daemon/ipc-git-repository-impl.c
-+++ b/src/plugins/git/daemon/ipc-git-repository-impl.c
-@@ -33,11 +33,7 @@
- #include "ipc-git-types.h"
- #include "ipc-git-util.h"
- 
--#if LIBGIT2_SOVERSION >= 28
- G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (git_buf, git_buf_dispose)
--#else
--G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (git_buf, git_buf_free)
--#endif
- 
- typedef enum
- {
diff --git a/srcpkgs/gnome-builder/patches/meson052.patch b/srcpkgs/gnome-builder/patches/meson052.patch
deleted file mode 100644
index 68c28e82c1e..00000000000
--- a/srcpkgs/gnome-builder/patches/meson052.patch
+++ /dev/null
@@ -1,334 +0,0 @@
-From c8b862b491cfbbb4f79b24d7cd90e4fb1f37cb9f Mon Sep 17 00:00:00 2001
-From: Diego Escalante Urrelo <diegoe@gnome.org>
-Date: Fri, 25 Oct 2019 04:49:15 -0500
-Subject: [PATCH] WIP: build: Fix link_whole usage for meson 0.52.0
-
-Meson 0.52.0 changed how link_whole behaves and in doing so broke our
-usage of link_whole internally.
-
-A quick glance over mesonbuild/backend/ninjabackend.py seems to confirm
-Christian's suspicion that link_with is what we want for internal use,
-and link_whole for the final binary.
-
-You can see some more references to this and similar issues in the
-following jhbuild commit:
-https://gitlab.gnome.org/GNOME/jhbuild/commit/dbe679045ff5982577f22e7af8dc8fdfbd1c6311
-
-Fixes: https://gitlab.gnome.org/GNOME/gnome-builder/issues/1057
----
- src/libide/code/meson.build       |  2 +-
- src/libide/core/meson.build       |  2 +-
- src/libide/debugger/meson.build   |  2 +-
- src/libide/editor/meson.build     |  2 +-
- src/libide/foundry/meson.build    |  2 +-
- src/libide/greeter/meson.build    |  2 +-
- src/libide/gui/meson.build        |  2 +-
- src/libide/io/meson.build         |  2 +-
- src/libide/lsp/meson.build        |  2 +-
- src/libide/plugins/meson.build    |  2 +-
- src/libide/projects/meson.build   |  2 +-
- src/libide/search/meson.build     |  2 +-
- src/libide/sourceview/meson.build |  2 +-
- src/libide/terminal/meson.build   |  2 +-
- src/libide/themes/meson.build     |  2 +-
- src/libide/threading/meson.build  |  2 +-
- src/libide/tree/meson.build       |  2 +-
- src/libide/vcs/meson.build        |  2 +-
- src/libide/webkit/meson.build     |  2 +-
- src/meson.build                   | 26 +++++++++++++++++++++++++-
- 20 files changed, 44 insertions(+), 20 deletions(-)
-
-diff --git a/src/libide/code/meson.build b/src/libide/code/meson.build
-index ddacdc162..1a4fc5d26 100644
---- a/src/libide/code/meson.build
-+++ b/src/libide/code/meson.build
-@@ -175,7 +175,7 @@ libide_code = static_library('ide-code-' + libide_api_version,
- libide_code_dep = declare_dependency(
-               sources: libide_code_private_headers + libide_code_generated_headers,
-          dependencies: libide_code_deps,
--           link_whole: libide_code,
-+            link_with: libide_code,
-   include_directories: include_directories('.'),
- )
- 
-diff --git a/src/libide/core/meson.build b/src/libide/core/meson.build
-index 1fa82fad9..bb75cbf26 100644
---- a/src/libide/core/meson.build
-+++ b/src/libide/core/meson.build
-@@ -117,7 +117,7 @@ libide_core = static_library('ide-core-' + libide_api_version, libide_core_sourc
- libide_core_dep = declare_dependency(
-               sources: libide_core_private_headers + libide_core_generated_headers,
-          dependencies: libide_core_deps,
--           link_whole: libide_core,
-+            link_with: libide_core,
-   include_directories: include_directories('.'),
- )
- 
-diff --git a/src/libide/debugger/meson.build b/src/libide/debugger/meson.build
-index dffca20ca..b5e72d5c0 100644
---- a/src/libide/debugger/meson.build
-+++ b/src/libide/debugger/meson.build
-@@ -84,7 +84,7 @@ libide_debugger = static_library('ide-debugger-' + libide_api_version,
- libide_debugger_dep = declare_dependency(
-               sources: libide_debugger_private_headers + libide_debugger_generated_headers,
-          dependencies: libide_debugger_deps,
--           link_whole: libide_debugger,
-+            link_with: libide_debugger,
-   include_directories: include_directories('.'),
- )
- 
-diff --git a/src/libide/editor/meson.build b/src/libide/editor/meson.build
-index 2838425b7..808ed784f 100644
---- a/src/libide/editor/meson.build
-+++ b/src/libide/editor/meson.build
-@@ -107,7 +107,7 @@ libide_editor = static_library('ide-editor-' + libide_api_version, libide_editor
- 
- libide_editor_dep = declare_dependency(
-          dependencies: libide_editor_deps,
--           link_whole: libide_editor,
-+            link_with: libide_editor,
-   include_directories: include_directories('.'),
-               sources: libide_editor_generated_headers,
- )
-diff --git a/src/libide/foundry/meson.build b/src/libide/foundry/meson.build
-index 226397c15..d4878aa11 100644
---- a/src/libide/foundry/meson.build
-+++ b/src/libide/foundry/meson.build
-@@ -178,7 +178,7 @@ libide_foundry = static_library('ide-foundry-' + libide_api_version,
- 
- libide_foundry_dep = declare_dependency(
-          dependencies: libide_foundry_deps,
--           link_whole: libide_foundry,
-+            link_with: libide_foundry,
-   include_directories: include_directories('.'),
-               sources: libide_foundry_generated_headers,
- )
-diff --git a/src/libide/greeter/meson.build b/src/libide/greeter/meson.build
-index 3968ca41e..121d498d0 100644
---- a/src/libide/greeter/meson.build
-+++ b/src/libide/greeter/meson.build
-@@ -83,7 +83,7 @@ libide_greeter = static_library('ide-greeter-' + libide_api_version,
- libide_greeter_dep = declare_dependency(
-               sources: libide_greeter_private_headers + libide_greeter_generated_headers,
-          dependencies: libide_greeter_deps,
--           link_whole: libide_greeter,
-+            link_with: libide_greeter,
-   include_directories: include_directories('.'),
- )
- 
-diff --git a/src/libide/gui/meson.build b/src/libide/gui/meson.build
-index 9f469d2fa..94311282f 100644
---- a/src/libide/gui/meson.build
-+++ b/src/libide/gui/meson.build
-@@ -204,7 +204,7 @@ libide_gui = static_library('ide-gui-' + libide_api_version, libide_gui_sources,
- libide_gui_dep = declare_dependency(
-               sources: libide_gui_private_headers + libide_gui_generated_headers,
-          dependencies: libide_gui_deps,
--           link_whole: libide_gui,
-+            link_with: libide_gui,
-   include_directories: include_directories('.'),
- )
- 
-diff --git a/src/libide/io/meson.build b/src/libide/io/meson.build
-index b5b6f4c68..f48b3bd8d 100644
---- a/src/libide/io/meson.build
-+++ b/src/libide/io/meson.build
-@@ -63,7 +63,7 @@ libide_io = static_library('ide-io-' + libide_api_version, libide_io_sources,
- 
- libide_io_dep = declare_dependency(
-          dependencies: [ libgio_dep, libide_core_dep, libide_threading_dep ],
--           link_whole: libide_io,
-+            link_with: libide_io,
-   include_directories: include_directories('.'),
- )
- 
-diff --git a/src/libide/lsp/meson.build b/src/libide/lsp/meson.build
-index 23aba74fa..c8140ca03 100644
---- a/src/libide/lsp/meson.build
-+++ b/src/libide/lsp/meson.build
-@@ -84,7 +84,7 @@ libide_lsp = static_library('ide-lsp-' + libide_api_version, libide_lsp_sources,
- libide_lsp_dep = declare_dependency(
-               sources: libide_lsp_private_headers,
-          dependencies: libide_lsp_deps,
--           link_whole: libide_lsp,
-+            link_with: libide_lsp,
-   include_directories: include_directories('.'),
- )
- 
-diff --git a/src/libide/plugins/meson.build b/src/libide/plugins/meson.build
-index a33c528c9..fff599db3 100644
---- a/src/libide/plugins/meson.build
-+++ b/src/libide/plugins/meson.build
-@@ -51,7 +51,7 @@ libide_plugins = static_library('ide-plugins-' + libide_api_version,
- libide_plugins_dep = declare_dependency(
-               sources: libide_plugins_private_headers,
-          dependencies: libide_plugins_deps,
--           link_whole: libide_plugins,
-+            link_with: libide_plugins,
-   include_directories: include_directories('.'),
- )
- 
-diff --git a/src/libide/projects/meson.build b/src/libide/projects/meson.build
-index 463ff06bc..3cc9725c6 100644
---- a/src/libide/projects/meson.build
-+++ b/src/libide/projects/meson.build
-@@ -79,7 +79,7 @@ libide_projects = static_library('ide-projects-' + libide_api_version, libide_pr
- libide_projects_dep = declare_dependency(
-               sources: libide_projects_private_headers,
-          dependencies: libide_projects_deps,
--           link_whole: libide_projects,
-+            link_with: libide_projects,
-   include_directories: include_directories('.'),
- )
- 
-diff --git a/src/libide/search/meson.build b/src/libide/search/meson.build
-index e5b3b43ab..cf73aa91d 100644
---- a/src/libide/search/meson.build
-+++ b/src/libide/search/meson.build
-@@ -51,7 +51,7 @@ libide_search = static_library('ide-search-' + libide_api_version, libide_search
- 
- libide_search_dep = declare_dependency(
-          dependencies: libide_search_deps,
--           link_whole: libide_search,
-+            link_with: libide_search,
-   include_directories: include_directories('.'),
- )
- 
-diff --git a/src/libide/sourceview/meson.build b/src/libide/sourceview/meson.build
-index c4ba12d1f..99641298b 100644
---- a/src/libide/sourceview/meson.build
-+++ b/src/libide/sourceview/meson.build
-@@ -158,7 +158,7 @@ libide_sourceview = static_library('ide-sourceview-' + libide_api_version,
- libide_sourceview_dep = declare_dependency(
-               sources: libide_sourceview_private_headers + libide_sourceview_generated_headers,
-          dependencies: libide_sourceview_deps,
--           link_whole: libide_sourceview,
-+            link_with: libide_sourceview,
-   include_directories: include_directories('.'),
- )
- 
-diff --git a/src/libide/terminal/meson.build b/src/libide/terminal/meson.build
-index 1d7c9f727..6affcae14 100644
---- a/src/libide/terminal/meson.build
-+++ b/src/libide/terminal/meson.build
-@@ -93,7 +93,7 @@ libide_terminal = static_library('ide-terminal-' + libide_api_version,
- libide_terminal_dep = declare_dependency(
-               sources: libide_terminal_generated_headers,
-          dependencies: libide_terminal_deps,
--           link_whole: libide_terminal,
-+            link_with: libide_terminal,
-   include_directories: include_directories('.'),
- )
- 
-diff --git a/src/libide/themes/meson.build b/src/libide/themes/meson.build
-index 9d6c8e247..d883a4b86 100644
---- a/src/libide/themes/meson.build
-+++ b/src/libide/themes/meson.build
-@@ -46,7 +46,7 @@ libide_themes = static_library('ide-themes-' + libide_api_version,
- libide_themes_dep = declare_dependency(
-               sources: libide_themes_resources[1],
-          dependencies: libide_themes_deps,
--           link_whole: libide_themes,
-+            link_with: libide_themes,
-   include_directories: include_directories('.'),
- )
- 
-diff --git a/src/libide/threading/meson.build b/src/libide/threading/meson.build
-index d38ddfb64..d628be2ff 100644
---- a/src/libide/threading/meson.build
-+++ b/src/libide/threading/meson.build
-@@ -66,7 +66,7 @@ libide_threading = static_library('ide-threading-' + libide_api_version, libide_
- libide_threading_dep = declare_dependency(
-               sources: libide_threading_private_headers,
-          dependencies: libide_threading_deps,
--           link_whole: libide_threading,
-+            link_with: libide_threading,
-   include_directories: include_directories('.'),
- )
- 
-diff --git a/src/libide/tree/meson.build b/src/libide/tree/meson.build
-index 7b9922828..5a591106c 100644
---- a/src/libide/tree/meson.build
-+++ b/src/libide/tree/meson.build
-@@ -61,7 +61,7 @@ libide_tree = static_library('ide-tree-' + libide_api_version, libide_tree_sourc
- libide_tree_dep = declare_dependency(
-               sources: libide_tree_private_headers,
-          dependencies: libide_tree_deps,
--           link_whole: libide_tree,
-+            link_with: libide_tree,
-   include_directories: include_directories('.'),
- )
- 
-diff --git a/src/libide/vcs/meson.build b/src/libide/vcs/meson.build
-index 6b0e157c4..c762afb64 100644
---- a/src/libide/vcs/meson.build
-+++ b/src/libide/vcs/meson.build
-@@ -84,7 +84,7 @@ libide_vcs = static_library('ide-vcs-' + libide_api_version,
- 
- libide_vcs_dep = declare_dependency(
-          dependencies: libide_vcs_deps,
--           link_whole: libide_vcs,
-+            link_with: libide_vcs,
-   include_directories: include_directories('.'),
-               sources: libide_vcs_generated_headers,
- )
-diff --git a/src/libide/webkit/meson.build b/src/libide/webkit/meson.build
-index e1767ae46..fce477b36 100644
---- a/src/libide/webkit/meson.build
-+++ b/src/libide/webkit/meson.build
-@@ -39,7 +39,7 @@ libide_webkit = static_library('ide-webkit-' + libide_api_version, libide_webkit
- 
- libide_webkit_dep = declare_dependency(
-          dependencies: libide_webkit_deps,
--           link_whole: libide_webkit,
-+            link_with: libide_webkit,
-   include_directories: include_directories('.'),
-               sources: libide_webkit_generated_headers,
- )
-diff --git a/src/meson.build b/src/meson.build
-index 3eb9ba535..113a142ad 100644
---- a/src/meson.build
-+++ b/src/meson.build
-@@ -48,6 +48,30 @@ gnome_builder_deps = [
-   libide_tree_dep,
- ]
- 
-+gnome_builder_static = [
-+  libide_code,
-+  libide_core,
-+  libide_debugger,
-+  libide_editor,
-+  libide_foundry,
-+  libide_greeter,
-+  libide_gui,
-+  libide_io,
-+  libide_lsp,
-+  libide_plugins,
-+  libide_projects,
-+  libide_search,
-+  libide_sourceview,
-+  libide_terminal,
-+  libide_themes,
-+  libide_threading,
-+  libide_tree,
-+  libide_vcs,
-+  libide_webkit,
-+
-+  plugins,
-+]
-+
- if libsysprof_capture.found()
-   gnome_builder_deps += libsysprof_capture
- endif
-@@ -77,7 +101,7 @@ gnome_builder = executable('gnome-builder', 'main.c', 'bug-buddy.c',
-             c_args: libide_args + exe_c_args + release_args,
-          link_args: exe_link_args,
-                pie: true,
--        link_whole: plugins,
-+        link_whole: gnome_builder_static,
-      install_rpath: pkglibdir_abs,
-       dependencies: gnome_builder_deps,
- )
--- 
-2.24.1
-
diff --git a/srcpkgs/gnome-builder/template b/srcpkgs/gnome-builder/template
index 8c8c015d8a3..0968027a67b 100644
--- a/srcpkgs/gnome-builder/template
+++ b/srcpkgs/gnome-builder/template
@@ -1,7 +1,7 @@
 # Template file for 'gnome-builder'
 pkgname=gnome-builder
-version=3.34.1
-revision=6
+version=3.37.90
+revision=1
 build_style=meson
 build_helper=qemu
 configure_args="-Dwith_webkit=true -Dwith_sysprof=true -Dhelp=true"
@@ -11,15 +11,15 @@ makedepends="cairo-devel clang devhelp-devel enchant2-devel flatpak-devel
  gspell-devel gtksourceview4-devel gtk+3-devel json-glib-devel jsonrpc-glib-devel
  libdazzle-devel libgit2-glib-devel libglib-devel libostree-devel libpeas-devel
  libxml2-devel template-glib-devel vala-devel vte3-devel webkit2gtk-devel
- python3-gobject-devel sysprof-devel glade3-devel"
+ python3-gobject-devel sysprof-devel glade3-devel libportal-devel"
 depends="desktop-file-utils flatpak-builder python3-lxml devhelp python3-gobject"
 short_desc="IDE for GNOME"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://wiki.gnome.org/Apps/Builder"
-changelog="https://gitlab.gnome.org/GNOME/gnome-builder/raw/gnome-builder-3-34/NEWS"
+changelog="https://gitlab.gnome.org/GNOME/gnome-builder/raw/gnome-builder-3-36/NEWS"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=0b6e461057ea8151e80524c0ea7ef1cb948e92afda9dc6bd33ae3392f04501a4
+checksum=78089cf39dde4ecf1b512730bdf4c76910476495c4dab70c14086baf7ab8efc2
 patch_args="-Np1"
 
 case "$XBPS_TARGET_MACHINE" in
@@ -28,3 +28,8 @@ case "$XBPS_TARGET_MACHINE" in
 		LIBS+=" -lexecinfo"
 		;;
 esac
+
+pre_configure() {
+	# this test needs X
+	vsed -i "s/test('test-text-iter'/#&/" src/tests/meson.build
+}

From 574e6c66c84e27cc354aedd61b6e7d0a466c2fc2 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sun, 16 Aug 2020 18:24:02 +0200
Subject: [PATCH 71/81] adwaita-icon-theme: update to 3.37.2

---
 srcpkgs/adwaita-icon-theme/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/adwaita-icon-theme/template b/srcpkgs/adwaita-icon-theme/template
index febd2915be6..6cd2bdbe70f 100644
--- a/srcpkgs/adwaita-icon-theme/template
+++ b/srcpkgs/adwaita-icon-theme/template
@@ -1,7 +1,7 @@
 # Template file for 'adwaita-icon-theme'
 pkgname=adwaita-icon-theme
-version=3.36.1
-revision=2
+version=3.37.2
+revision=1
 archs=noarch
 build_style=gnu-configure
 hostmakedepends="pkg-config"
@@ -11,4 +11,4 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="LGPL-3.0-or-later, CC-BY-SA-3.0"
 homepage="https://gitlab.gnome.org/GNOME/adwaita-icon-theme"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=e498518627044dfd7db7d79a5b3d437848caf1991ef4ef036a2d3a2ac2c1f14d
+checksum=a594e7440971f860cc61b1b8291be15ffc1b8dd06a9f11485a5a7faf189bcf6b

From fb618ee62a4f40cf13a830eaa1a2b8d1a874dd2a Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sun, 16 Aug 2020 19:57:43 +0200
Subject: [PATCH 72/81] gnome-backgrounds: update to 3.37.2

---
 srcpkgs/gnome-backgrounds/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/gnome-backgrounds/template b/srcpkgs/gnome-backgrounds/template
index 0b1ee427353..f1f49da938e 100644
--- a/srcpkgs/gnome-backgrounds/template
+++ b/srcpkgs/gnome-backgrounds/template
@@ -1,7 +1,7 @@
 # Template file for 'gnome-backgrounds'
 pkgname=gnome-backgrounds
-version=3.36.0
-revision=2
+version=3.37.2
+revision=1
 archs=noarch
 build_style=meson
 hostmakedepends=gettext
@@ -10,4 +10,4 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later, CC-BY-2.0, CC-BY-SA-2.0, CC-BY-SA-3.0"
 homepage="https://gitlab.gnome.org/GNOME/gnome-backgrounds"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=b8cb81e4cf9d085fbb23540635b492d5c124a1f8611c2aa9ac6384111d77bb0b
+checksum=4a2cb86ff96a650eb04101c2a1bb0aefc03b35877f423131378f4c0fdf03db68

From 80975372a3a636d184dfabdc7ee73c2d8b704cbe Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sun, 16 Aug 2020 21:05:11 +0200
Subject: [PATCH 73/81] polari: update to 3.37.3

---
 srcpkgs/polari/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/polari/template b/srcpkgs/polari/template
index 0767bac97b8..41d08ee81b5 100644
--- a/srcpkgs/polari/template
+++ b/srcpkgs/polari/template
@@ -1,6 +1,6 @@
 # Template file for 'polari'
 pkgname=polari
-version=3.36.3
+version=3.37.3
 revision=1
 build_style=meson
 hostmakedepends="pkg-config itstool gobject-introspection gettext"
@@ -13,7 +13,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://wiki.gnome.org/Apps/Polari"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=4f26647e981c5d0bf42df582adac20bbfdacdfe8c4fe150af0ca03d2e0cef53a
+checksum=7905b9ddb3f811dcc23b307501187ead4ddc78ed0a6529afcddcb9443ba12908
 
 if [ "$CROSS_BUILD" ] ; then
 	hostmakedepends+=" glib-devel prelink-cross qemu-user-static"

From e0858687611ff5f7eae006e22b2a2d135fac0388 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sun, 16 Aug 2020 21:10:44 +0200
Subject: [PATCH 74/81] gvfs: update to 1.45.90

---
 srcpkgs/gvfs/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/gvfs/template b/srcpkgs/gvfs/template
index 127a0577901..1691d536d1a 100644
--- a/srcpkgs/gvfs/template
+++ b/srcpkgs/gvfs/template
@@ -1,6 +1,6 @@
 # Template file for 'gvfs'
 pkgname=gvfs
-version=1.44.1
+version=1.45.90
 revision=1
 build_style=meson
 configure_args="-Dsystemduserunitdir=no -Dtmpfilesdir=no -Dlogind=false
@@ -20,7 +20,7 @@ license="LGPL-2.1-or-later"
 homepage="https://wiki.gnome.org/Projects/gvfs"
 changelog="https://gitlab.gnome.org/GNOME/gvfs/raw/gnome-3-34/NEWS"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=50ef3245d1b03666a40455109169a2a1bd51419fd2d51f9fa6cfd4f89f04fb46
+checksum=de1f56ac4bcbceb777aa72f67ee5f574af6362182ab1c8097da657e3ddeade87
 
 # Manually declare shlibs used by the subpkgs.
 shlib_provides="libgvfscommon.so libgvfsdaemon.so"

From 8d0037959fd0eb32e9c02f0acafe431fae61a1cf Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sun, 16 Aug 2020 21:16:45 +0200
Subject: [PATCH 75/81] libsoup: update to 2.71.0

---
 srcpkgs/libsoup/template | 23 +++++++++++++----------
 1 file changed, 13 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/libsoup/template b/srcpkgs/libsoup/template
index f7a98373ac8..fdce1db316e 100644
--- a/srcpkgs/libsoup/template
+++ b/srcpkgs/libsoup/template
@@ -1,16 +1,16 @@
 # Template file for 'libsoup'
 pkgname=libsoup
-version=2.70.0
+version=2.71.0
 revision=1
 build_style=meson
 build_helper="gir"
-configure_args="-Dgssapi=disabled -Dntlm=disabled
+configure_args="-Dgssapi=disabled -Dntlm=disabled -Dtls_check=false
  -Dintrospection=$(vopt_if gir enabled disabled)
- -Dvapi=$(vopt_if vala enabled disabled) -Dtls_check=false"
+ -Dvapi=$(vopt_if gir enabled disabled)"
 hostmakedepends="gettext-devel glib-devel pkg-config gettext
- $(vopt_if vala 'vala')"
+ $(vopt_if gir vala)"
 makedepends="libglib-devel libxml2-devel sqlite-devel libpsl-devel
- brotli-devel $(vopt_if vala 'vala-devel')"
+ brotli-devel $(vopt_if gir vala-devel)"
 depends="glib-networking"
 short_desc="HTTP library implementation in C"
 maintainer="Enno Boland <gottox@voidlinux.org>"
@@ -18,11 +18,16 @@ license="LGPL-2.1-or-later"
 homepage="https://wiki.gnome.org/Projects/libsoup"
 changelog="https://raw.githubusercontent.com/GNOME/libsoup/gnome-3-36/NEWS"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=54b020f74aefa438918d8e53cff62e2b1e59efe2de53e06b19a4b07b1f4d5342
+checksum=88e24fad72d16e1cb692c8782688dbee4bf44151efb0d9ed25b14f3849d9896e
 
 # Package build options
-build_options="gir vala"
-build_options_default="gir vala"
+build_options="gir"
+build_options_default="gir"
+
+# gio tests can't run in chroot
+do_check() {
+	:
+}
 
 libsoup-devel_package() {
 	depends="${makedepends} libsoup>=${version}_${revision}"
@@ -31,8 +36,6 @@ libsoup-devel_package() {
 		vmove usr/lib/pkgconfig/libsoup-2.4.pc
 		if [ "$build_option_gir" ]; then
 			vmove usr/share/gir-1.0/Soup-2.4.gir
-		fi
-		if [ "$build_option_vala" ]; then
 			vmove usr/share/vala
 		fi
 		vmove usr/include/libsoup-2.4

From e7dc80923e549aa5733dd55b1673a87103ac911b Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sun, 16 Aug 2020 21:20:58 +0200
Subject: [PATCH 76/81] rygel: update to 0.39.2

---
 srcpkgs/rygel/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/rygel/template b/srcpkgs/rygel/template
index d28dbc2ce08..bdedd3c6c87 100644
--- a/srcpkgs/rygel/template
+++ b/srcpkgs/rygel/template
@@ -1,7 +1,7 @@
 # Template file for 'rygel'
 pkgname=rygel
-version=0.38.3
-revision=2
+version=0.39.2
+revision=1
 build_style=meson
 build_helper="gir"
 configure_args="-Dexamples=false -Dtests=false
@@ -9,14 +9,14 @@ configure_args="-Dexamples=false -Dtests=false
 hostmakedepends="pkg-config glib-devel vala"
 makedepends="sqlite-devel gtk+3-devel libsoup-devel libgee08-devel
  gupnp-av-devel gupnp-dlna-devel tracker-devel libmediaart-devel
- gssdp-devel"
+ gssdp-devel gst1-editing-services-devel"
 depends="hicolor-icon-theme desktop-file-utils"
 short_desc="GNOME home media solution"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="LGPL-2.1-or-later"
 homepage="https://wiki.gnome.org/Projects/Rygel"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=08c21a577f7bdad26446a75ffa32778b26842c3b1188165f0b19818559747d00
+checksum=453f1ce782a51bae8f776a92f70d233625c98a1c4cd2ec3b4545cb7e77733664
 
 conf_files="/etc/rygel.conf"
 

From a639082866e6c71aaa54c9f1f8777522a30eb3c8 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sun, 16 Aug 2020 21:23:24 +0200
Subject: [PATCH 77/81] simple-scan: update to 3.37.3

---
 srcpkgs/simple-scan/template | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/simple-scan/template b/srcpkgs/simple-scan/template
index 4ae3b8643fd..6e17a6efb4a 100644
--- a/srcpkgs/simple-scan/template
+++ b/srcpkgs/simple-scan/template
@@ -1,7 +1,6 @@
 # Template file for 'simple-scan'
 pkgname=simple-scan
-_gnome_version=3.36
-version=3.36.4
+version=3.37.3
 revision=1
 build_style=meson
 hostmakedepends="gettext glib-devel itstool pkg-config vala"
@@ -11,5 +10,5 @@ short_desc="GTK Simple scanning utility"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="https://gitlab.gnome.org/GNOME/simple-scan"
-distfiles="${GNOME_SITE}/${pkgname}/${_gnome_version}/${pkgname}-${version}.tar.xz"
-checksum=56af18291a7763f763da5f0eded247d2f8ebf9112c286ef89013374969fef525
+distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
+checksum=f5d8973c6b483d50d9ac08ae6c0802a7a6bb258538a8147266e73aa451eed952

From 5bd393e66f10d2678e2b8a6050780072f3a38d3d Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sun, 16 Aug 2020 21:25:15 +0200
Subject: [PATCH 78/81] yelp-xsl: update to 3.37.90

---
 srcpkgs/yelp-xsl/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/yelp-xsl/template b/srcpkgs/yelp-xsl/template
index f74a7fba67c..1074e6c3190 100644
--- a/srcpkgs/yelp-xsl/template
+++ b/srcpkgs/yelp-xsl/template
@@ -1,6 +1,6 @@
 # Template file for 'yelp-xsl'
 pkgname=yelp-xsl
-version=3.36.0
+version=3.37.90
 revision=1
 archs=noarch
 build_style=gnu-configure
@@ -11,4 +11,4 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://wiki.gnome.org/Apps/Yelp/Xsl"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=4fe51c0233b79a4c204c68498d45f09b342c30ed02c4e418506c0e35f0904ec3
+checksum=e8ca9caf5729f8de50349fefa2f2a6680e049298b7ab849d4efe4983c43a94f4

From 37dcc9a0b84f410db4df4f16f0db06d705840836 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sun, 16 Aug 2020 21:25:33 +0200
Subject: [PATCH 79/81] yelp: update to 3.37.90

---
 srcpkgs/yelp/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/yelp/template b/srcpkgs/yelp/template
index 63ca7c225c8..5a47a8e2bdb 100644
--- a/srcpkgs/yelp/template
+++ b/srcpkgs/yelp/template
@@ -1,6 +1,6 @@
 # Template file for 'yelp'
 pkgname=yelp
-version=3.36.0
+version=3.37.90
 revision=1
 build_style=gnu-configure
 configure_args="--disable-schemas-compile --disable-static"
@@ -13,7 +13,7 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://wiki.gnome.org/Apps/Yelp"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=fd4b3e23d31ad2bebe42ac8f80242b2d9bef51418bf62b59acdf2440bd94ed24
+checksum=dac3d2b14fbfcee4732d4e8a7f8a108a88e853ca05f071d988a5a8e185e5abd2
 
 yelp-devel_package() {
 	depends="yelp-${version}_${revision}"

From f0eeaa27f136800424536a7b25ecc95096b1429e Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sun, 16 Aug 2020 21:26:47 +0200
Subject: [PATCH 80/81] yelp-tools: update to 3.37.90

[ci skip]
---
 srcpkgs/yelp-tools/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/yelp-tools/template b/srcpkgs/yelp-tools/template
index 9e8a670e6b0..a1ec9f7e6ed 100644
--- a/srcpkgs/yelp-tools/template
+++ b/srcpkgs/yelp-tools/template
@@ -1,6 +1,6 @@
 # Template file for 'yelp-tools'
 pkgname=yelp-tools
-version=3.32.2
+version=3.37.90
 revision=1
 archs=noarch
 build_style=gnu-configure
@@ -12,4 +12,4 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="http://www.gnome.org"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=183856b5ed0b0bb2c05dd1204af023946ed436943e35e789afb0295e5e71e8f9
+checksum=d0702589c8238a215954caca94a964b3a0d16466798a8c1d644dd66c2492f2bb

From 5bac2585425e268812d069a808d1b314e4a9dcea Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Tue, 18 Aug 2020 05:35:06 +0200
Subject: [PATCH 81/81] budgie-desktop: rebuild for mutter-7

[ci skip]
---
 .../budgie-desktop/patches/gnome-338.patch    | 13472 ++++++++++++++++
 srcpkgs/budgie-desktop/template               |     2 +-
 2 files changed, 13473 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/budgie-desktop/patches/gnome-338.patch

diff --git a/srcpkgs/budgie-desktop/patches/gnome-338.patch b/srcpkgs/budgie-desktop/patches/gnome-338.patch
new file mode 100644
index 00000000000..92fa76a17b0
--- /dev/null
+++ b/srcpkgs/budgie-desktop/patches/gnome-338.patch
@@ -0,0 +1,13472 @@
+From 30ba0b5a4986d6be3687a1d7fb482906185ea8c9 Mon Sep 17 00:00:00 2001
+From: David Mohammed <fossfreedom@users.noreply.github.com>
+Date: Tue, 18 Feb 2020 06:40:12 +0000
+Subject: [PATCH] gnome 3.38 compatibility
+
+Squashed by @q66 from:
+
+https://github.com/solus-project/budgie-desktop/pull/1987
+
+plus an assortment of older mutter updates from git master
+---
+ meson.build                                   |   16 +-
+ meson_options.txt                             |    1 -
+ src/applets/status/StatusApplet.vala          |    6 -
+ src/applets/status/meson.build                |   13 +-
+ src/wm/background.vala                        |   15 +-
+ src/wm/meson.build                            |   30 +-
+ src/wm/shim.vala                              |   10 +-
+ src/wm/wm.vala                                |   10 +-
+ ...{Clutter-5.metadata => Clutter-6.metadata} |    0
+ ...{Clutter-4.metadata => Clutter-7.metadata} |   43 -
+ vapi/{Cogl-4.metadata => Cogl-6.metadata}     |    0
+ vapi/{Cogl-5.metadata => Cogl-7.metadata}     |    2 -
+ vapi/Meta-3.metadata                          |   66 -
+ vapi/{Meta-5.metadata => Meta-6.metadata}     |    0
+ vapi/{Meta-4.metadata => Meta-7.metadata}     |   25 +-
+ vapi/generate-mutter-vapi.sh                  |    2 +-
+ vapi/graphene-gobject-1.0.vapi                |  691 +++++++
+ vapi/libmutter-2.deps                         |    9 -
+ vapi/libmutter-2.vapi                         | 1325 --------------
+ vapi/libmutter-3-custom.vala                  |    6 -
+ vapi/libmutter-3.deps                         |    9 -
+ vapi/libmutter-4.deps                         |    8 -
+ vapi/libmutter-4.vapi                         | 1425 ---------------
+ vapi/{libmutter-5.deps => libmutter-6.deps}   |    3 +-
+ vapi/{libmutter-5.vapi => libmutter-6.vapi}   |   45 +-
+ vapi/libmutter-7-custom.vala                  |    7 +
+ vapi/libmutter-7.deps                         |    6 +
+ vapi/{libmutter-3.vapi => libmutter-7.vapi}   |  390 ++--
+ vapi/libmutter-cogl-4.vapi                    | 1272 -------------
+ vapi/mutter-clutter-5-custom.vala             |  158 --
+ ...stom.vala => mutter-clutter-6-custom.vala} |   11 -
+ ...r-clutter-5.deps => mutter-clutter-6.deps} |    2 +-
+ ...r-clutter-5.vapi => mutter-clutter-6.vapi} |  806 ++------
+ ...r-clutter-4.deps => mutter-clutter-7.deps} |    3 +-
+ ...r-clutter-4.vapi => mutter-clutter-7.vapi} | 1615 ++++-------------
+ ...-custom.vala => mutter-cogl-6-custom.vala} |    0
+ ...{mutter-cogl-4.deps => mutter-cogl-6.deps} |    0
+ ...{mutter-cogl-5.vapi => mutter-cogl-6.vapi} |  422 +----
+ ...-custom.vala => mutter-cogl-7-custom.vala} |   20 +-
+ ...{mutter-cogl-5.deps => mutter-cogl-7.deps} |    0
+ ...{mutter-cogl-4.vapi => mutter-cogl-7.vapi} |  671 +++----
+ vapi/polkit-gobject-1.vapi                    |   31 +-
+ 42 files changed, 1920 insertions(+), 7254 deletions(-)
+ rename vapi/{Clutter-5.metadata => Clutter-6.metadata} (100%)
+ rename vapi/{Clutter-4.metadata => Clutter-7.metadata} (78%)
+ rename vapi/{Cogl-4.metadata => Cogl-6.metadata} (100%)
+ rename vapi/{Cogl-5.metadata => Cogl-7.metadata} (91%)
+ delete mode 100644 vapi/Meta-3.metadata
+ rename vapi/{Meta-5.metadata => Meta-6.metadata} (100%)
+ rename vapi/{Meta-4.metadata => Meta-7.metadata} (76%)
+ create mode 100644 vapi/graphene-gobject-1.0.vapi
+ delete mode 100644 vapi/libmutter-2.deps
+ delete mode 100644 vapi/libmutter-2.vapi
+ delete mode 100644 vapi/libmutter-3-custom.vala
+ delete mode 100644 vapi/libmutter-3.deps
+ delete mode 100644 vapi/libmutter-4.deps
+ delete mode 100644 vapi/libmutter-4.vapi
+ rename vapi/{libmutter-5.deps => libmutter-6.deps} (50%)
+ rename vapi/{libmutter-5.vapi => libmutter-6.vapi} (97%)
+ create mode 100644 vapi/libmutter-7-custom.vala
+ create mode 100644 vapi/libmutter-7.deps
+ rename vapi/{libmutter-3.vapi => libmutter-7.vapi} (75%)
+ delete mode 100644 vapi/libmutter-cogl-4.vapi
+ delete mode 100644 vapi/mutter-clutter-5-custom.vala
+ rename vapi/{mutter-clutter-4-custom.vala => mutter-clutter-6-custom.vala} (92%)
+ rename vapi/{mutter-clutter-5.deps => mutter-clutter-6.deps} (63%)
+ rename vapi/{mutter-clutter-5.vapi => mutter-clutter-6.vapi} (93%)
+ rename vapi/{mutter-clutter-4.deps => mutter-clutter-7.deps} (54%)
+ rename vapi/{mutter-clutter-4.vapi => mutter-clutter-7.vapi} (86%)
+ rename vapi/{mutter-cogl-5-custom.vala => mutter-cogl-6-custom.vala} (100%)
+ rename vapi/{mutter-cogl-4.deps => mutter-cogl-6.deps} (100%)
+ rename vapi/{mutter-cogl-5.vapi => mutter-cogl-6.vapi} (68%)
+ rename vapi/{mutter-cogl-4-custom.vala => mutter-cogl-7-custom.vala} (81%)
+ rename vapi/{mutter-cogl-5.deps => mutter-cogl-7.deps} (100%)
+ rename vapi/{mutter-cogl-4.vapi => mutter-cogl-7.vapi} (59%)
+
+diff --git meson.build meson.build
+index 2a0e0316..3c4c6ac1 100644
+--- meson.build
++++ meson.build
+@@ -32,16 +32,16 @@ am_cflags = [
+ add_global_arguments(am_cflags, language: 'c')
+ meson.add_install_script('meson_post_install.sh')
+ 
+-# Budgie needs a minimum 3.22 GNOME stack
+-gnome_minimum_version = '>= 3.22.0'
++# Budgie needs a minimum 3.24 GNOME stack
++gnome_minimum_version = '>= 3.24.0'
+ 
+ dep_gtk3 = dependency('gtk+-3.0', version: gnome_minimum_version)
+-dep_glib = dependency('glib-2.0', version: '>= 2.46.0')
+-dep_giounix = dependency('gio-unix-2.0', version: '>= 2.46.0')
+-dep_peas = dependency('libpeas-1.0', version: '>= 1.8.0')
++dep_glib = dependency('glib-2.0', version: '>= 2.62.0')
++dep_giounix = dependency('gio-unix-2.0', version: '>= 2.62.0')
++dep_peas = dependency('libpeas-1.0', version: '>= 1.24.0')
+ dep_gdkx11 = dependency('gdk-x11-3.0', version: gnome_minimum_version)
+ dep_libuuid = dependency('uuid')
+-dep_vala = dependency('vapigen', version: '>= 0.40.0')
++dep_vala = dependency('vapigen', version: '>= 0.46.0')
+ 
+ # Needed for keyboardy bits
+ dep_ibus = dependency('ibus-1.0', version: '>= 1.5.10')
+@@ -51,10 +51,10 @@ dep_gsettings = dependency('gsettings-desktop-schemas', version: gnome_minimum_v
+ dep_gsd = dependency('gnome-settings-daemon', version: '>=3.28.0')
+ 
+ # wnck used all over the place..
+-dep_wnck = dependency('libwnck-3.0', version: '>= 3.14.0')
++dep_wnck = dependency('libwnck-3.0', version: '>= 3.32.0')
+ 
+ # accountsservice in multiple applets
+-dep_accountsservice = dependency('accountsservice', version: '>= 0.6.40')
++dep_accountsservice = dependency('accountsservice', version: '>= 0.6.55')
+ 
+ # Create config.h
+ cdata = configuration_data()
+diff --git meson_options.txt meson_options.txt
+index d71b09b5..dca91296 100644
+--- meson_options.txt
++++ meson_options.txt
+@@ -1,5 +1,4 @@
+ option('with-stateless', type: 'boolean', value: false, description: 'Enable stateless XDG paths')
+ option('with-polkit', type: 'boolean', value: true, description: 'Enable PolKit support')
+-option('with-bluetooth', type: 'boolean', value: true, description: 'Enable gnome-bluetooth support')
+ option('with-gtk-doc', type: 'boolean', value: true, description: 'Build gtk-doc documentation')
+ option('with-desktop-icons', type: 'combo', choices: ['nautilus', 'none'], value: 'nautilus', description: 'Desktop icon handling')
+diff --git src/applets/status/StatusApplet.vala src/applets/status/StatusApplet.vala
+index b9826394..71f287c9 100644
+--- src/applets/status/StatusApplet.vala
++++ src/applets/status/StatusApplet.vala
+@@ -20,9 +20,7 @@ public class StatusApplet : Budgie.Applet
+ {
+ 
+     protected Gtk.Box widget;
+-#if WITH_BLUETOOTH
+     protected BluetoothIndicator blue;
+-#endif
+     protected SoundIndicator sound;
+     protected PowerIndicator power;
+     protected Gtk.EventBox? wrap;
+@@ -68,12 +66,10 @@ public class StatusApplet : Budgie.Applet
+         this.setup_popover(power.ebox, power.popover);
+         this.setup_popover(sound.ebox, sound.popover);
+ 
+-#if WITH_BLUETOOTH
+         blue = new BluetoothIndicator();
+         widget.pack_start(blue, false, false, 2);
+         blue.show_all();
+         this.setup_popover(blue.ebox, blue.popover);
+-#endif
+     }
+ 
+     public override void panel_position_changed(Budgie.PanelPosition position)
+@@ -91,9 +87,7 @@ public class StatusApplet : Budgie.Applet
+         this.manager = manager;
+         manager.register_popover(power.ebox, power.popover);
+         manager.register_popover(sound.ebox, sound.popover);
+-#if WITH_BLUETOOTH
+         manager.register_popover(blue.ebox, blue.popover);
+-#endif
+     }
+ } // End class
+ 
+diff --git src/applets/status/meson.build src/applets/status/meson.build
+index 699fb8f4..b4d2706c 100644
+--- src/applets/status/meson.build
++++ src/applets/status/meson.build
+@@ -10,6 +10,7 @@ custom_target('plugin-file-status',
+     install_dir : applet_status_dir)
+ 
+ applet_status_sources = [
++    'BluetoothIndicator.vala',
+     'StatusApplet.vala',
+     'PowerIndicator.vala',
+     'SoundIndicator.vala',
+@@ -20,22 +21,13 @@ applet_status_deps = [
+     dep_gtk3,
+     dep_peas,
+     dep_accountsservice,
++    dependency('gnome-bluetooth-1.0', version: gnome_minimum_version),
+     dependency('upower-glib', version: '>= 0.99.0'),
+     link_libplugin,
+     gvc.get_variable('libgvc_dep'),
+     meson.get_compiler('c').find_library('m', required: false),
+ ]
+ 
+-# Bluetooth is optional to allow smaller builds
+-with_bluetooth = get_option('with-bluetooth')
+-applet_status_vala_args = []
+-
+-if with_bluetooth == true
+-    applet_status_deps += dependency('gnome-bluetooth-1.0', version: gnome_minimum_version)
+-    applet_status_sources += 'BluetoothIndicator.vala'
+-    applet_status_vala_args += ['-D', 'WITH_BLUETOOTH']
+-endif
+-
+ shared_library(
+     'statusapplet',
+     applet_status_sources,
+@@ -50,7 +42,6 @@ shared_library(
+         '--pkg', 'gvc-1.0',
+         '--pkg', 'gio-unix-2.0',
+         '--vapidir', join_paths(meson.source_root(), 'vapi'),
+-        applet_status_vala_args,
+     ],
+     install: true,
+     install_dir: applet_status_dir,
+diff --git src/wm/background.vala src/wm/background.vala
+index 084aa9ab..b331e0c4 100644
+--- src/wm/background.vala
++++ src/wm/background.vala
+@@ -204,8 +204,13 @@ public class BudgieBackground : Clutter.Actor
+ 
+         var actor = new Meta.BackgroundActor(display, index);
+         var background = new Meta.Background(display);
++#if HAVE_MUTTER_6
+         actor.set_background(background);
+-
++#else
++        var content = actor.get_content();
++        unowned Meta.BackgroundContent background_content = (Meta.BackgroundContent) content;
++        background_content.set_background(background);
++#endif
+         rect = display.get_monitor_geometry(index);
+         actor.set_size(rect.width, rect.height);
+         actor.set("opacity", 0);
+@@ -221,13 +226,21 @@ public class BudgieBackground : Clutter.Actor
+         shading_direction = (GDesktop.BackgroundShading)settings.get_enum(COLOR_SHADING_TYPE_KEY);
+         var color_str = settings.get_string(PRIMARY_COLOR_KEY);
+         if (color_str != null && color_str != "") {
++#if HAVE_MUTTER_6
+             primary_color = Clutter.Color.from_string(color_str);
++#else
++            Clutter.Color.from_string(out primary_color, color_str);
++#endif
+             color_str = null;
+         }
+ 
+         color_str = settings.get_string(SECONDARY_COLOR_KEY);
+         if (color_str != null && color_str != "") {
++#if HAVE_MUTTER_6
+             secondary_color = Clutter.Color.from_string(color_str);
++#else
++            Clutter.Color.from_string(out secondary_color, color_str);
++#endif
+             color_str = null;
+         }
+ 
+diff --git src/wm/meson.build src/wm/meson.build
+index e39b8678..583ce790 100644
+--- src/wm/meson.build
++++ src/wm/meson.build
+@@ -17,20 +17,18 @@ budgie_wm_sources = [
+ 
+ budgie_wm_status_vala_args = []
+ 
+-vapi_mutter = 'libmutter-3'
+-dep_mutter = dependency('libmutter-3', version: gnome_minimum_version, required: false)
+-if not dep_mutter.found()
+-    dep_mutter = dependency('libmutter-4', version: gnome_minimum_version, required: false)
++dep_graphene = dependency('graphene-gobject-1.0', version: '>= 1.10')
++dep_mutter = dependency('libmutter-7', version: gnome_minimum_version, required: false)
++if dep_mutter.found()
++    budgie_wm_status_vala_args += ['-D', 'HAVE_MUTTER_7']
++    message('Using new libmutter-7 ABI from GNOME 3.38')
++    vapi_mutter = 'libmutter-7'
++else
++    dep_mutter = dependency('libmutter-6', version: gnome_minimum_version)
++    budgie_wm_status_vala_args += ['-D', 'HAVE_MUTTER_6']
+     if dep_mutter.found()
+-        message('Using new libmutter-4 ABI from GNOME 3.32')
+-        vapi_mutter = 'libmutter-4'
+-    else
+-        dep_mutter = dependency('libmutter-5', version: gnome_minimum_version)
+-        if dep_mutter.found()
+-            message('Using new libmutter-5 ABI from GNOME 3.34')
+-            vapi_mutter = 'libmutter-5'
+-            budgie_wm_status_vala_args += ['-D', 'HAVE_MUTTER_5']
+-        endif
++        message('Using new libmutter-6 ABI from GNOME 3.36')
++        vapi_mutter = 'libmutter-6'
+     endif
+ endif
+ 
+@@ -42,8 +40,8 @@ budgie_wm_deps = [
+     dep_ibus,
+ ]
+ 
+-if dep_gsd.version().version_compare('>=3.31.91')
+-    budgie_wm_status_vala_args += ['-D', 'HAVE_GSD_332']
++if dep_gsd.version().version_compare('>=3.36.0')
++    budgie_wm_status_vala_args += ['-D', 'HAVE_GSD_SUPPORTED']
+ endif
+ 
+ budgie_wm_vala_args =  [
+@@ -60,7 +58,7 @@ budgie_wm_vala_args =  [
+ 
+ rpath = ''
+ 
+-if dep_mutter.version().version_compare('>=3.28.0')
++if dep_mutter.version().version_compare('>=3.36.0')
+     rpath = dep_mutter.get_pkgconfig_variable('typelibdir')
+     budgie_wm_vala_args += ['--girdir', rpath]
+ endif
+diff --git src/wm/shim.vala src/wm/shim.vala
+index 4cdfa0b0..fc24b289 100644
+--- src/wm/shim.vala
++++ src/wm/shim.vala
+@@ -14,7 +14,7 @@ namespace Budgie {
+ public struct GsdAccel {
+     string accelerator;
+     uint flags;
+-#if HAVE_GSD_332
++#if HAVE_GSD_SUPPORTED
+     Meta.KeyBindingFlags grab_flags;
+ #endif
+ }
+@@ -193,11 +193,7 @@ public class ShellShim : GLib.Object
+         osd_proxy = null;
+     }
+ 
+-#if HAVE_MUTTER_5
+     private void on_accelerator_activated(uint action, Clutter.InputDevice dev, uint device_id)
+-#else
+-    private void on_accelerator_activated(uint action, uint device_id)
+-#endif
+     {
+         HashTable<string,Variant> params = new HashTable<string,Variant>(str_hash, str_equal);
+ 
+@@ -230,7 +226,7 @@ public class ShellShim : GLib.Object
+         }
+     }
+ 
+-#if HAVE_GSD_332
++#if HAVE_GSD_SUPPORTED
+     private uint _grab(string sender, string seq, uint flag, Meta.KeyBindingFlags grab_flags)
+     {
+         var ret = display.grab_accelerator(seq, grab_flags);
+@@ -273,7 +269,7 @@ public class ShellShim : GLib.Object
+             on_bus_acquired, null, null);
+     }
+ 
+-#if HAVE_GSD_332
++#if HAVE_GSD_SUPPORTED
+     public uint GrabAccelerator(BusName sender, string accelerator, uint flags, Meta.KeyBindingFlags grab_flags)
+     {
+         return _grab(sender, accelerator, flags, grab_flags);
+diff --git src/wm/wm.vala src/wm/wm.vala
+index fee89443..bccf3b95 100644
+--- src/wm/wm.vala
++++ src/wm/wm.vala
+@@ -137,8 +137,8 @@ public class BudgieWM : Meta.Plugin
+     public static string[]? old_args;
+     public static bool wayland = false;
+ 
+-    static Clutter.Point PV_CENTER;
+-    static Clutter.Point PV_NORM;
++    static Graphene.Point PV_CENTER;
++    static Graphene.Point PV_NORM;
+ 
+     private Meta.BackgroundGroup? background_group;
+ 
+@@ -171,10 +171,10 @@ public class BudgieWM : Meta.Plugin
+             license = "GPL-2.0",
+             description = "Budgie Window Manager"
+         };
+-        PV_CENTER = Clutter.Point.alloc();
++        PV_CENTER = Graphene.Point();
++        PV_NORM = Graphene.Point();
+         PV_CENTER.x = 0.5f;
+         PV_CENTER.y = 0.5f;
+-        PV_NORM = Clutter.Point.alloc();
+         PV_NORM.x = 0.0f;
+         PV_NORM.y = 0.0f;
+     }
+@@ -1001,7 +1001,7 @@ public class BudgieWM : Meta.Plugin
+         tile_preview.set("scale-x", NOTIFICATION_MAP_SCALE_X, "scale-y", NOTIFICATION_MAP_SCALE_Y,
+             "pivot-point", PV_CENTER);
+ 
+-        tile_preview.lower(win_actor);
++        //tile_preview.lower(win_actor);
+         tile_preview.tile_rect = tile_rect;
+ 
+         tile_preview.show();
+diff --git vapi/Clutter-5.metadata vapi/Clutter-6.metadata
+similarity index 100%
+rename from vapi/Clutter-5.metadata
+rename to vapi/Clutter-6.metadata
+diff --git vapi/Clutter-4.metadata vapi/Clutter-7.metadata
+similarity index 78%
+rename from vapi/Clutter-4.metadata
+rename to vapi/Clutter-7.metadata
+index 5c212e85..1855274d 100644
+--- vapi/Clutter-4.metadata
++++ vapi/Clutter-7.metadata
+@@ -1,13 +1,10 @@
+ // Non mini-object
+ ActorBox struct
+ Color struct
+-Fog struct
+-Geometry struct
+ Knot struct
+ PathNode struct
+ Perspective struct
+ Units struct
+-Vertex struct
+ 
+ *.ref unowned
+ 
+@@ -17,7 +14,6 @@ init_with_args
+ Actor
+ 	.apply_transform.matrix ref
+ 	.get_abs_allocation_vertices.verts out=false
+-	.get_allocation_vertices.verts out=false
+ Canvas
+ 	.new symbol_type="constructor"
+ Event.type#method name="get_type"
+@@ -27,7 +23,6 @@ Image
+ // ???
+ Actor.has_pointer#method name="get_has_pointer"
+ InitError errordomain=false
+-redraw skip
+ 
+ // Not all backing symbols are deprecated
+ Actor.pick deprecated=false
+@@ -55,7 +50,6 @@ Container
+ 	.lower virtual
+ 	.raise virtual
+ 	.*_child_meta#virtual_method virtual
+-	.foreach_with_internals#virtual_method virtual
+ 
+ // Default values
+ Container
+@@ -70,32 +64,21 @@ Text
+ // Reparented funcs methods can't be instance methods
+ feature_available skip
+ feature_get_all skip
+-FeatureFlags.texture_npot skip
+ 
+ // Skipped by g-i for unknown reasons
+ LayoutManager
+ 	.create_child_meta skip=false
+-Model
+-	.insert_row skip=false
+ 
+ // Variadic arguments
+-Actor
+-	.animate skip=false
+-	.animate_with_alpha skip=false
+-	.animate_with_timeline skip=false
+-Animator
+-	.set skip=false
+ Box
+ 	.pack skip=false
+ 	.pack_after skip=false
+ 	.pack_at skip=false
+ 	.pack_before skip=false
+ Container
+-	.add_valist skip=false
+ 	.child_get skip=false
+ 	.child_set skip=false
+ 	.remove skip=false
+-	.remove_valist skip=false
+ Interval
+ 	.new skip=false
+ 	.get_interval skip=false
+@@ -105,15 +88,6 @@ Interval
+ LayoutManager
+ 	.child_get skip=false
+ 	.child_set skip=false
+-ListModel
+-	.new skip=false
+-Model
+-	.append skip=false
+-	.insert skip=false
+-	.prepend skip=false
+-ModelIter
+-	.get skip=false
+-	.set skip=false
+ Script
+ 	.get_objects skip=false
+ 
+@@ -122,17 +96,11 @@ Texture
+ 	.new_from_file throws="Clutter.TextureError"
+ 
+ // Skipped upstream for unknown reasons
+-Alpha.register_func skip=false
+-TimeoutPool skip=false
+ Interval.register_progress_func skip=false
+-frame_source_* skip=false
+ get_option_group skip=false
+ get_option_group_without_init skip=false
+-threads_add_frame_source skip=false
+-threads_add_frame_source_full skip=false
+ threads_add_idle skip=false
+ threads_add_idle_full skip=false
+-threads_set_lock_functions skip=false
+ threads_add_timeout skip=false
+ threads_add_timeout_full skip=false
+ 
+@@ -143,15 +111,12 @@ ActorBox
+ Units.from_* skip
+ Color
+ 	.new skip
+-Vertex.new skip
+ 
+ // Class methods
+ container_class_find_child_property skip
+ container_class_list_child_properties skip
+ 
+ // Move symbols
+-get_actor_by_gid parent="Clutter.Actor" name="get_by_gid"
+-get_input_device_for_id parent="Clutter.InputDevice" name="get_for_id"
+ units_from_* skip
+ 
+ // Classes marked as out but not double ptr
+@@ -202,23 +167,15 @@ PATH_RELATIVE skip=false
+ PRIORITY_REDRAW skip=false
+ 
+ // Clutter devs don't like us creating nested namespaces
+-frame_source_* name="frame_source_(.+)" parent="Clutter.FrameSource"
+ value_* name="value_(.+)" parent="Clutter.Value"
+ threads_* name="threads_(.+)" parent="Clutter.Threads"
+-threads_add_frame_source name="add" parent="Clutter.Threads.FrameSource"
+-threads_add_frame_source_full name="add_full" parent="Clutter.Threads.FrameSource"
+ threads_add_idle name="add" parent="Clutter.Threads.Idle"
+ threads_add_idle_full name="add_full" parent="Clutter.Threads.Idle"
+ threads_add_timeout name="add" parent="Clutter.Threads.Timeout"
+ threads_add_timeout_full name="add_full" parent="Clutter.Threads.Timeout"
+-util_next_p2 name="next_power_of_2" parent="Clutter.Util"
+ 
+ // Backwards compatibility
+ Color.alloc symbol_type="function"
+-Point.alloc symbol_type="function"
+-Rect.alloc symbol_type="function"
+-Size.alloc symbol_type="function"
+-Vertex.alloc symbol_type="function"
+ 
+ BinAlignment deprecated=false deprecated_since=null
+ BinAlignment.* deprecated
+diff --git vapi/Cogl-4.metadata vapi/Cogl-6.metadata
+similarity index 100%
+rename from vapi/Cogl-4.metadata
+rename to vapi/Cogl-6.metadata
+diff --git vapi/Cogl-5.metadata vapi/Cogl-7.metadata
+similarity index 91%
+rename from vapi/Cogl-5.metadata
+rename to vapi/Cogl-7.metadata
+index 092b5e29..e52bfa35 100644
+--- vapi/Cogl-5.metadata
++++ vapi/Cogl-7.metadata
+@@ -9,12 +9,10 @@ create_shader skip
+ 
+ 
+ is_bitmap skip
+-is_material skip
+ is_offscreen skip
+ is_program skip
+ is_shader skip
+ is_texture skip
+-is_vertex_buffer skip
+ 
+ Matrix struct
+   .get_array array=true array_length_idx=-1
+diff --git vapi/Meta-3.metadata vapi/Meta-3.metadata
+deleted file mode 100644
+index 370d4996..00000000
+--- vapi/Meta-3.metadata
++++ /dev/null
+@@ -1,66 +0,0 @@
+-Backend cheader_filename="meta/meta-backend.h"
+-Background cheader_filename="meta/meta-background.h"
+-BackgroundActor cheader_filename="meta/meta-background-actor.h"
+-BackgroundGroup cheader_filename="meta/meta-background-group.h"
+-BackgroundImageCache cheader_filename="meta/meta-background-image.h"
+-Display cheader_filename="meta/display.h"
+-Meta cheader_filename="meta/main.h"
+-MonitorManager cheader_filename="meta/meta-monitor-manager.h"
+-Rectangle struct
+-Plugin cheader_filename="meta/meta-plugin.h"
+-PluginInfo cheader_filename="meta/meta-plugin.h"
+-prefs_* cheader_filename="meta/prefs.h" parent="Meta.Prefs"
+-add_verbose_topic parent="Meta.Util" cheader_filename="meta/util.h"
+-bug parent="Meta.Util" cheader_filename="meta/util.h"
+-debug_spew_real parent="Meta.Util" cheader_filename="meta/util.h"
+-empty_stage_input_region parent="Meta.Util" cheader_filename="meta/util.h"
+-x11_error_trap_pop parent="Meta.Util" cheader_filename="meta/util.h"
+-x11_error_trap_push parent="Meta.Util" cheader_filename="meta/util.h"
+-x11_error_trap_pop_with_return parent="Meta.Util" cheader_filename="meta/util.h"
+-external_binding_name_for_action parent="Meta.Util" cheader_filename="meta/util.h"
+-free_gslist_and_elements parent="Meta.Util" cheader_filename="meta/util.h"
+-g_utf8_strndup parent="Meta.Util" cheader_filename="meta/util.h"
+-get_locale_direction parent="Meta.Util" cheader_filename="meta/util.h"
+-get_overlay_window parent="Meta.Util" cheader_filename="meta/util.h"
+-gravity_to_string parent="Meta.Util" cheader_filename="meta/util.h"
+-is_debugging parent="Meta.Util" cheader_filename="meta/util.h"
+-is_syncing parent="Meta.Util" cheader_filename="meta/util.h"
+-is_verbose parent="Meta.Util" cheader_filename="meta/util.h"
+-is_wayland_compositor parent="Meta.Util" cheader_filename="meta/util.h"
+-later_add parent="Meta.Util" cheader_filename="meta/util.h"
+-later_remove parent="Meta.Util" cheader_filename="meta/util.h"
+-pop_no_msg_prefix parent="Meta.Util" cheader_filename="meta/util.h"
+-push_no_msg_prefix parent="Meta.Util" cheader_filename="meta/util.h"
+-rect parent="Meta.Util" cheader_filename="meta/util.h"
+-remove_verbose_topic parent="Meta.Util" cheader_filename="meta/util.h"
+-set_stage_input_region parent="Meta.Util" cheader_filename="meta/util.h"
+-show_dialog parent="Meta.Util" cheader_filename="meta/util.h"
+-topic_real parent="Meta.Util" cheader_filename="meta/util.h"
+-unsigned_long_equal parent="Meta.Util" cheader_filename="meta/util.h"
+-unsigned_long_hash parent="Meta.Util" cheader_filename="meta/util.h"
+-verbose_real parent="Meta.Util" cheader_filename="meta/util.h"
+-warning parent="Meta.Util" cheader_filename="meta/util.h"
+-show_dialog parent="Meta.Util" cheader_filename="meta/util.h"
+-get_stage_for_display parent="Meta.Compositor" cheader_filename="meta/compositor-mutter.h"
+-get_window_actors parent="Meta.Compositor" cheader_filename="meta/compositor-mutter.h"
+-get_window_group_for_display parent="Meta.Compositor" cheader_filename="meta/compositor-mutter.h"
+-get_top_window_group_for_display parent="Meta.Compositor" cheader_filename="meta/compositor-mutter.h"
+-get_feedback_group_for_display parent="Meta.Compositor" cheader_filename="meta/compositor-mutter.h"
+-disable_unredirect_for_display parent="Meta.Compositor" cheader_filename="meta/compositor-mutter.h"
+-enable_unredirect_for_display parent="Meta.Compositor" cheader_filename="meta/compositor-mutter.h"
+-set_stage_input_region parent="Meta.Compositor" cheader_filename="meta/compositor-mutter.h"
+-empty_stage_input_region parent="Meta.Compositor" cheader_filename="meta/compositor-mutter.h"
+-focus_stage_window parent="Meta.Compositor" cheader_filename="meta/compositor-mutter.h"
+-stage_is_focused parent="Meta.Compositor" cheader_filename="meta/compositor-mutter.h"
+-keybindings_set_custom_handler parent="Meta.KeyBinding" name="set_custom_handler"
+-KeyHandlerFunc.event type="Clutter.KeyEvent?"
+-get_backend parent="Meta.Backend"
+-Window.focus#signal skip=true
+-Window.get_xwindow skip=false
+-get_option_context skip=false
+-set_gnome_wm_keybindings skip=false
+-set_wm_name skip=false
+-init skip=false
+-run skip=false
+-show_dialog skip=false
+-get_backend cheader_filename="meta/meta-backend.h"
+diff --git vapi/Meta-5.metadata vapi/Meta-6.metadata
+similarity index 100%
+rename from vapi/Meta-5.metadata
+rename to vapi/Meta-6.metadata
+diff --git vapi/Meta-4.metadata vapi/Meta-7.metadata
+similarity index 76%
+rename from vapi/Meta-4.metadata
+rename to vapi/Meta-7.metadata
+index ae2a7817..72629fba 100644
+--- vapi/Meta-4.metadata
++++ vapi/Meta-7.metadata
+@@ -1,26 +1,21 @@
+ Backend cheader_filename="meta/meta-backend.h"
+ Background cheader_filename="meta/meta-background.h"
+ BackgroundActor cheader_filename="meta/meta-background-actor.h"
++BackgroundContent cheader_filename="meta/meta-background-content.h"
+ BackgroundGroup cheader_filename="meta/meta-background-group.h"
+ BackgroundImage cheader_filename="meta/meta-background-image.h"
+ BackgroundImageCache cheader_filename="meta/meta-background-image.h"
+ Barrier cheader_filename="meta/barrier.h"
+ BarrierEvent cheader_filename="meta/barrier.h"
+-Boxes cheader_filename="meta/boxes.h"
+ CloseDialog cheader_filename="meta/meta-close-dialog.h"
+-Compositor cheader_filename="meta/compositor.h"
+-CompositorMutter cheader_filename="meta/compositor-mutter.h"
+ CursorTracker cheader_filename="meta/meta-cursor-tracker.h"
+ Display cheader_filename="meta/display.h"
+ Dnd cheader_filename="meta/meta-dnd.h"
+-Group cheader_filename="meta/group.h"
+ IdleMonitor cheader_filename="meta/meta-idle-monitor.h"
+ InhibitShortcutsDialog cheader_filename="meta/meta-inhibit-shortcuts-dialog.h"
+-Keybindings cheader_filename="meta/keybindings.h"
+ LaunchContext cheader_filename="meta/meta-launch-context.h"
+ Meta cheader_filename="meta/main.h"
+ MonitorManager cheader_filename="meta/meta-monitor-manager.h"
+-Plugin cheader_filename="meta/meta-plugin.h"
+ Preference cheader_filename="meta/prefs.h"
+ RemoteAccessController cheader_filename="meta/meta-remote-access-controller.h"
+ RemoteAccessHandle cheader_filename="meta/meta-remote-access-controller.h"
+@@ -31,9 +26,7 @@ SoundPlayer cheader_filename="meta/meta-sound-player.h"
+ Stage cheader_filename="meta/meta-stage.h"
+ StartupNotification cheader_filename="meta/meta-startup-notification.h"
+ Theme cheader_filename="meta/theme.h"
+-Types cheader_filename="meta/types.h"
+-Util cheader_filename="meta/util.h"
+-Version cheader_filename="meta/meta-version.h"
++WaylandClient cheader_filename="meta/meta-wayland-client.h"
+ Window cheader_filename="meta/window.h"
+ WindowActor cheader_filename="meta/meta-window-actor.h"
+ WindowGroup cheader_filename="meta/meta-window-group.h"
+@@ -46,17 +39,11 @@ Plugin cheader_filename="meta/meta-plugin.h"
+ PluginInfo cheader_filename="meta/meta-plugin.h"
+ prefs_* cheader_filename="meta/prefs.h" parent="Meta.Prefs"
+ add_verbose_topic parent="Meta.Util" cheader_filename="meta/util.h"
+-bug parent="Meta.Util" cheader_filename="meta/util.h"
+-debug_spew_real parent="Meta.Util" cheader_filename="meta/util.h"
+-empty_stage_input_region parent="Meta.Util" cheader_filename="meta/util.h"
+ x11_error_trap_pop parent="Meta.Util" cheader_filename="meta/util.h"
+ x11_error_trap_push parent="Meta.Util" cheader_filename="meta/util.h"
+ x11_error_trap_pop_with_return parent="Meta.Util" cheader_filename="meta/util.h"
+ external_binding_name_for_action parent="Meta.Util" cheader_filename="meta/util.h"
+-free_gslist_and_elements parent="Meta.Util" cheader_filename="meta/util.h"
+-g_utf8_strndup parent="Meta.Util" cheader_filename="meta/util.h"
+ get_locale_direction parent="Meta.Util" cheader_filename="meta/util.h"
+-get_overlay_window parent="Meta.Util" cheader_filename="meta/util.h"
+ gravity_to_string parent="Meta.Util" cheader_filename="meta/util.h"
+ is_debugging parent="Meta.Util" cheader_filename="meta/util.h"
+ is_syncing parent="Meta.Util" cheader_filename="meta/util.h"
+@@ -68,13 +55,8 @@ pop_no_msg_prefix parent="Meta.Util" cheader_filename="meta/util.h"
+ push_no_msg_prefix parent="Meta.Util" cheader_filename="meta/util.h"
+ rect parent="Meta.Util" cheader_filename="meta/util.h"
+ remove_verbose_topic parent="Meta.Util" cheader_filename="meta/util.h"
+-set_stage_input_region parent="Meta.Util" cheader_filename="meta/util.h"
+-show_dialog parent="Meta.Util" cheader_filename="meta/util.h"
+-topic_real parent="Meta.Util" cheader_filename="meta/util.h"
+ unsigned_long_equal parent="Meta.Util" cheader_filename="meta/util.h"
+ unsigned_long_hash parent="Meta.Util" cheader_filename="meta/util.h"
+-verbose_real parent="Meta.Util" cheader_filename="meta/util.h"
+-warning parent="Meta.Util" cheader_filename="meta/util.h"
+ show_dialog parent="Meta.Util" cheader_filename="meta/util.h"
+ get_stage_for_display parent="Meta.Compositor" cheader_filename="meta/compositor-mutter.h"
+ get_window_actors parent="Meta.Compositor" cheader_filename="meta/compositor-mutter.h"
+@@ -83,10 +65,7 @@ get_top_window_group_for_display parent="Meta.Compositor" cheader_filename="meta
+ get_feedback_group_for_display parent="Meta.Compositor" cheader_filename="meta/compositor-mutter.h"
+ disable_unredirect_for_display parent="Meta.Compositor" cheader_filename="meta/compositor-mutter.h"
+ enable_unredirect_for_display parent="Meta.Compositor" cheader_filename="meta/compositor-mutter.h"
+-set_stage_input_region parent="Meta.Compositor" cheader_filename="meta/compositor-mutter.h"
+-empty_stage_input_region parent="Meta.Compositor" cheader_filename="meta/compositor-mutter.h"
+ focus_stage_window parent="Meta.Compositor" cheader_filename="meta/compositor-mutter.h"
+-stage_is_focused parent="Meta.Compositor" cheader_filename="meta/compositor-mutter.h"
+ keybindings_set_custom_handler parent="Meta.KeyBinding" name="set_custom_handler"
+ KeyHandlerFunc.event type="Clutter.KeyEvent?"
+ get_backend parent="Meta.Backend"
+diff --git vapi/generate-mutter-vapi.sh vapi/generate-mutter-vapi.sh
+index 6b070240..b233e586 100755
+--- vapi/generate-mutter-vapi.sh
++++ vapi/generate-mutter-vapi.sh
+@@ -1,7 +1,7 @@
+ #!/bin/bash
+ set -xe
+ 
+-version=${1-4}
++version=${6-7}
+ girdir=$(pkg-config libmutter-$version --variable=girdir)
+ 
+ cd $(dirname $0)
+diff --git vapi/graphene-gobject-1.0.vapi vapi/graphene-gobject-1.0.vapi
+new file mode 100644
+index 00000000..69801535
+--- /dev/null
++++ vapi/graphene-gobject-1.0.vapi
+@@ -0,0 +1,691 @@
++/* graphene-gobject-1.0.vapi generated by vapigen, do not modify. */
++
++[CCode (cprefix = "Graphene", gir_namespace = "Graphene", gir_version = "1.0", lower_case_cprefix = "graphene_")]
++namespace Graphene {
++	[CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_box_t", type_id = "graphene_box_get_type ()")]
++	[Version (since = "1.2")]
++	public struct Box {
++		public bool contains_box (Graphene.Box b);
++		public bool contains_point (Graphene.Point3D point);
++		public static unowned Graphene.Box? empty ();
++		public bool equal (Graphene.Box b);
++		public Graphene.Box expand (Graphene.Point3D point);
++		public Graphene.Box expand_scalar (float scalar);
++		public Graphene.Box expand_vec3 (Graphene.Vec3 vec);
++		public Graphene.Sphere get_bounding_sphere ();
++		public Graphene.Point3D get_center ();
++		public float get_depth ();
++		public float get_height ();
++		public Graphene.Point3D get_max ();
++		public Graphene.Point3D get_min ();
++		public Graphene.Vec3 get_size ();
++		public void get_vertices ([CCode (array_length = false)] ref Graphene.Vec3 vertices[8]);
++		public float get_width ();
++		public static unowned Graphene.Box? infinite ();
++		public unowned Graphene.Box? init (Graphene.Point3D? min, Graphene.Point3D? max);
++		public unowned Graphene.Box? init_from_box (Graphene.Box src);
++		public unowned Graphene.Box? init_from_points ([CCode (array_length_cname = "n_points", array_length_pos = 0.5, array_length_type = "guint")] Graphene.Point3D[] points);
++		public unowned Graphene.Box? init_from_vec3 (Graphene.Vec3? min, Graphene.Vec3? max);
++		public unowned Graphene.Box? init_from_vectors ([CCode (array_length_cname = "n_vectors", array_length_pos = 0.5, array_length_type = "guint")] Graphene.Vec3[] vectors);
++		public bool intersection (Graphene.Box b, out Graphene.Box res);
++		public static unowned Graphene.Box? minus_one ();
++		public static unowned Graphene.Box? one ();
++		public static unowned Graphene.Box? one_minus_one ();
++		public Graphene.Box union (Graphene.Box b);
++		public static unowned Graphene.Box? zero ();
++	}
++	[CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_euler_t", type_id = "graphene_euler_get_type ()")]
++	[Version (since = "1.2")]
++	public struct Euler {
++		public bool equal (Graphene.Euler b);
++		[Version (since = "1.10")]
++		public float get_alpha ();
++		[Version (since = "1.10")]
++		public float get_beta ();
++		[Version (since = "1.10")]
++		public float get_gamma ();
++		public Graphene.EulerOrder get_order ();
++		public float get_x ();
++		public float get_y ();
++		public float get_z ();
++		public unowned Graphene.Euler? init (float x, float y, float z);
++		public unowned Graphene.Euler? init_from_euler (Graphene.Euler? src);
++		public unowned Graphene.Euler? init_from_matrix (Graphene.Matrix? m, Graphene.EulerOrder order);
++		public unowned Graphene.Euler? init_from_quaternion (Graphene.Quaternion? q, Graphene.EulerOrder order);
++		[Version (since = "1.10")]
++		public unowned Graphene.Euler? init_from_radians (float x, float y, float z, Graphene.EulerOrder order);
++		public unowned Graphene.Euler? init_from_vec3 (Graphene.Vec3? v, Graphene.EulerOrder order);
++		public unowned Graphene.Euler? init_with_order (float x, float y, float z, Graphene.EulerOrder order);
++		public Graphene.Euler reorder (Graphene.EulerOrder order);
++		public Graphene.Matrix to_matrix ();
++		[Version (since = "1.10")]
++		public Graphene.Quaternion to_quaternion ();
++		public Graphene.Vec3 to_vec3 ();
++	}
++	[CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_frustum_t", type_id = "graphene_frustum_get_type ()")]
++	[Version (since = "1.2")]
++	public struct Frustum {
++		public bool contains_point (Graphene.Point3D point);
++		[Version (since = "1.6")]
++		public bool equal (Graphene.Frustum b);
++		public void get_planes ([CCode (array_length = false)] ref Graphene.Plane planes[6]);
++		public unowned Graphene.Frustum? init (Graphene.Plane p0, Graphene.Plane p1, Graphene.Plane p2, Graphene.Plane p3, Graphene.Plane p4, Graphene.Plane p5);
++		public unowned Graphene.Frustum? init_from_frustum (Graphene.Frustum src);
++		public unowned Graphene.Frustum? init_from_matrix (Graphene.Matrix matrix);
++		public bool intersects_box (Graphene.Box box);
++		public bool intersects_sphere (Graphene.Sphere sphere);
++	}
++	[CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_matrix_t", type_id = "graphene_matrix_get_type ()")]
++	public struct Matrix {
++		public bool decompose (out Graphene.Vec3 translate, out Graphene.Vec3 scale, out Graphene.Quaternion rotate, out Graphene.Vec3 shear, out Graphene.Vec4 perspective);
++		[Version (since = "1.0")]
++		public float determinant ();
++		[Version (since = "1.10")]
++		public bool equal (Graphene.Matrix b);
++		[Version (since = "1.10")]
++		public bool equal_fast (Graphene.Matrix b);
++		[Version (since = "1.0")]
++		public Graphene.Vec4 get_row (uint index_);
++		[Version (since = "1.0")]
++		public float get_value (uint row, uint col);
++		[Version (since = "1.0")]
++		public float get_x_scale ();
++		[Version (since = "1.10")]
++		public float get_x_translation ();
++		[Version (since = "1.0")]
++		public float get_y_scale ();
++		[Version (since = "1.10")]
++		public float get_y_translation ();
++		[Version (since = "1.0")]
++		public float get_z_scale ();
++		[Version (since = "1.10")]
++		public float get_z_translation ();
++		[Version (since = "1.0")]
++		public unowned Graphene.Matrix? init_from_2d (double xx, double yx, double xy, double yy, double x_0, double y_0);
++		[Version (since = "1.0")]
++		public unowned Graphene.Matrix? init_from_float ([CCode (array_length = false)] float v[16]);
++		[Version (since = "1.0")]
++		public unowned Graphene.Matrix? init_from_matrix (Graphene.Matrix src);
++		[Version (since = "1.0")]
++		public unowned Graphene.Matrix? init_from_vec4 (Graphene.Vec4 v0, Graphene.Vec4 v1, Graphene.Vec4 v2, Graphene.Vec4 v3);
++		[Version (since = "1.2")]
++		public unowned Graphene.Matrix? init_frustum (float left, float right, float bottom, float top, float z_near, float z_far);
++		[Version (since = "1.0")]
++		public unowned Graphene.Matrix? init_identity ();
++		[Version (since = "1.0")]
++		public unowned Graphene.Matrix? init_look_at (Graphene.Vec3 eye, Graphene.Vec3 center, Graphene.Vec3 up);
++		[Version (since = "1.0")]
++		public unowned Graphene.Matrix? init_ortho (float left, float right, float top, float bottom, float z_near, float z_far);
++		[Version (since = "1.0")]
++		public unowned Graphene.Matrix? init_perspective (float fovy, float aspect, float z_near, float z_far);
++		[Version (since = "1.0")]
++		public unowned Graphene.Matrix? init_rotate (float angle, Graphene.Vec3 axis);
++		[Version (since = "1.0")]
++		public unowned Graphene.Matrix? init_scale (float x, float y, float z);
++		[Version (since = "1.0")]
++		public unowned Graphene.Matrix? init_skew (float x_skew, float y_skew);
++		[Version (since = "1.0")]
++		public unowned Graphene.Matrix? init_translate (Graphene.Point3D p);
++		[Version (since = "1.0")]
++		public Graphene.Matrix interpolate (Graphene.Matrix b, double factor);
++		[Version (since = "1.0")]
++		public bool inverse (out Graphene.Matrix res);
++		[Version (since = "1.0")]
++		public bool is_2d ();
++		[Version (since = "1.0")]
++		public bool is_backface_visible ();
++		[Version (since = "1.0")]
++		public bool is_identity ();
++		[Version (since = "1.0")]
++		public bool is_singular ();
++		[Version (since = "1.0")]
++		public Graphene.Matrix multiply (Graphene.Matrix b);
++		[Version (since = "1.10")]
++		public bool near (Graphene.Matrix b, float epsilon);
++		[Version (since = "1.0")]
++		public Graphene.Matrix normalize ();
++		[Version (since = "1.0")]
++		public Graphene.Matrix perspective (float depth);
++		[Version (since = "1.0")]
++		public void print ();
++		[Version (since = "1.0")]
++		public Graphene.Point project_point (Graphene.Point p);
++		[Version (since = "1.2")]
++		public Graphene.Quad project_rect (Graphene.Rect r);
++		[Version (since = "1.0")]
++		public Graphene.Rect project_rect_bounds (Graphene.Rect r);
++		[Version (since = "1.0")]
++		public void rotate (float angle, Graphene.Vec3 axis);
++		[Version (since = "1.2")]
++		public void rotate_euler (Graphene.Euler e);
++		[Version (since = "1.2")]
++		public void rotate_quaternion (Graphene.Quaternion q);
++		[Version (since = "1.0")]
++		public void rotate_x (float angle);
++		[Version (since = "1.0")]
++		public void rotate_y (float angle);
++		[Version (since = "1.0")]
++		public void rotate_z (float angle);
++		[Version (since = "1.0")]
++		public void scale (float factor_x, float factor_y, float factor_z);
++		[Version (since = "1.0")]
++		public void skew_xy (float factor);
++		[Version (since = "1.0")]
++		public void skew_xz (float factor);
++		[Version (since = "1.0")]
++		public void skew_yz (float factor);
++		[Version (since = "1.0")]
++		public bool to_2d (out double xx, out double yx, out double xy, out double yy, out double x_0, out double y_0);
++		[Version (since = "1.0")]
++		public void to_float ([CCode (array_length = false)] ref float v[16]);
++		[Version (since = "1.0")]
++		public Graphene.Rect transform_bounds (Graphene.Rect r);
++		[Version (since = "1.2")]
++		public Graphene.Box transform_box (Graphene.Box b);
++		[Version (since = "1.0")]
++		public Graphene.Point transform_point (Graphene.Point p);
++		[Version (since = "1.2")]
++		public Graphene.Point3D transform_point3d (Graphene.Point3D p);
++		[Version (since = "1.4")]
++		public Graphene.Ray transform_ray (Graphene.Ray r);
++		[Version (since = "1.0")]
++		public Graphene.Quad transform_rect (Graphene.Rect r);
++		[Version (since = "1.2")]
++		public Graphene.Sphere transform_sphere (Graphene.Sphere s);
++		[Version (since = "1.0")]
++		public Graphene.Vec3 transform_vec3 (Graphene.Vec3 v);
++		[Version (since = "1.0")]
++		public Graphene.Vec4 transform_vec4 (Graphene.Vec4 v);
++		[Version (since = "1.0")]
++		public void translate (Graphene.Point3D pos);
++		[Version (since = "1.0")]
++		public Graphene.Matrix transpose ();
++		[Version (since = "1.2")]
++		public Graphene.Point3D unproject_point3d (Graphene.Matrix modelview, Graphene.Point3D point);
++		[Version (since = "1.0")]
++		public Graphene.Rect untransform_bounds (Graphene.Rect r, Graphene.Rect bounds);
++		[Version (since = "1.0")]
++		public bool untransform_point (Graphene.Point p, Graphene.Rect bounds, out Graphene.Point res);
++	}
++	[CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_plane_t", type_id = "graphene_plane_get_type ()")]
++	[Version (since = "1.2")]
++	public struct Plane {
++		public float distance (Graphene.Point3D point);
++		public bool equal (Graphene.Plane b);
++		public float get_constant ();
++		public Graphene.Vec3 get_normal ();
++		public unowned Graphene.Plane? init (Graphene.Vec3? normal, float constant);
++		public unowned Graphene.Plane? init_from_plane (Graphene.Plane src);
++		public unowned Graphene.Plane? init_from_point (Graphene.Vec3 normal, Graphene.Point3D point);
++		public unowned Graphene.Plane? init_from_points (Graphene.Point3D a, Graphene.Point3D b, Graphene.Point3D c);
++		public unowned Graphene.Plane? init_from_vec4 (Graphene.Vec4 src);
++		public Graphene.Plane negate ();
++		public Graphene.Plane normalize ();
++		[Version (since = "1.10")]
++		public Graphene.Plane transform (Graphene.Matrix matrix, Graphene.Matrix? normal_matrix);
++	}
++	[CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_point_t", type_id = "graphene_point_get_type ()")]
++	[Version (since = "1.0")]
++	public struct Point {
++		public float x;
++		public float y;
++		public float distance (Graphene.Point b, out float d_x, out float d_y);
++		public bool equal (Graphene.Point b);
++		public unowned Graphene.Point? init (float x, float y);
++		public unowned Graphene.Point? init_from_point (Graphene.Point src);
++		[Version (since = "1.4")]
++		public unowned Graphene.Point? init_from_vec2 (Graphene.Vec2 src);
++		public Graphene.Point interpolate (Graphene.Point b, double factor);
++		public bool near (Graphene.Point b, float epsilon);
++		[Version (since = "1.4")]
++		public Graphene.Vec2 to_vec2 ();
++		public static unowned Graphene.Point? zero ();
++	}
++	[CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_point3d_t", lower_case_csuffix = "point3d", type_id = "graphene_point3d_get_type ()")]
++	[Version (since = "1.0")]
++	public struct Point3D {
++		public float x;
++		public float y;
++		public float z;
++		public Graphene.Point3D cross (Graphene.Point3D b);
++		[Version (since = "1.4")]
++		public float distance (Graphene.Point3D b, out Graphene.Vec3 delta);
++		public float dot (Graphene.Point3D b);
++		public bool equal (Graphene.Point3D b);
++		public unowned Graphene.Point3D? init (float x, float y, float z);
++		public unowned Graphene.Point3D? init_from_point (Graphene.Point3D src);
++		public unowned Graphene.Point3D? init_from_vec3 (Graphene.Vec3 v);
++		public Graphene.Point3D interpolate (Graphene.Point3D b, double factor);
++		public float length ();
++		public bool near (Graphene.Point3D b, float epsilon);
++		public Graphene.Point3D normalize ();
++		[Version (since = "1.4")]
++		public Graphene.Point3D normalize_viewport (Graphene.Rect viewport, float z_near, float z_far);
++		public Graphene.Point3D scale (float factor);
++		public Graphene.Vec3 to_vec3 ();
++		public static unowned Graphene.Point3D? zero ();
++	}
++	[CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_quad_t", type_id = "graphene_quad_get_type ()")]
++	[Version (since = "1.0")]
++	public struct Quad {
++		public Graphene.Rect bounds ();
++		public bool contains (Graphene.Point p);
++		public unowned Graphene.Point? get_point (uint index_);
++		public unowned Graphene.Quad? init (Graphene.Point p1, Graphene.Point p2, Graphene.Point p3, Graphene.Point p4);
++		[Version (since = "1.2")]
++		public unowned Graphene.Quad? init_from_points ([CCode (array_length = false)] Graphene.Point points[4]);
++		public unowned Graphene.Quad? init_from_rect (Graphene.Rect r);
++	}
++	[CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_quaternion_t", type_id = "graphene_quaternion_get_type ()")]
++	[Version (since = "1.0")]
++	public struct Quaternion {
++		[Version (since = "1.10")]
++		public Graphene.Quaternion add (Graphene.Quaternion b);
++		public float dot (Graphene.Quaternion b);
++		public bool equal (Graphene.Quaternion b);
++		public unowned Graphene.Quaternion? init (float x, float y, float z, float w);
++		public unowned Graphene.Quaternion? init_from_angle_vec3 (float angle, Graphene.Vec3 axis);
++		public unowned Graphene.Quaternion? init_from_angles (float deg_x, float deg_y, float deg_z);
++		[Version (since = "1.2")]
++		public unowned Graphene.Quaternion? init_from_euler (Graphene.Euler e);
++		public unowned Graphene.Quaternion? init_from_matrix (Graphene.Matrix m);
++		public unowned Graphene.Quaternion? init_from_quaternion (Graphene.Quaternion src);
++		public unowned Graphene.Quaternion? init_from_radians (float rad_x, float rad_y, float rad_z);
++		public unowned Graphene.Quaternion? init_from_vec4 (Graphene.Vec4 src);
++		public unowned Graphene.Quaternion? init_identity ();
++		public Graphene.Quaternion invert ();
++		[Version (since = "1.10")]
++		public Graphene.Quaternion multiply (Graphene.Quaternion b);
++		public Graphene.Quaternion normalize ();
++		[Version (since = "1.10")]
++		public Graphene.Quaternion scale (float factor);
++		public Graphene.Quaternion slerp (Graphene.Quaternion b, float factor);
++		public void to_angle_vec3 (out float angle, out Graphene.Vec3 axis);
++		[Version (since = "1.2")]
++		public void to_angles (out float deg_x, out float deg_y, out float deg_z);
++		public Graphene.Matrix to_matrix ();
++		[Version (since = "1.2")]
++		public void to_radians (out float rad_x, out float rad_y, out float rad_z);
++		public Graphene.Vec4 to_vec4 ();
++	}
++	[CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_ray_t", type_id = "graphene_ray_get_type ()")]
++	[Version (since = "1.4")]
++	public struct Ray {
++		public bool equal (Graphene.Ray b);
++		public Graphene.Point3D get_closest_point_to_point (Graphene.Point3D p);
++		public Graphene.Vec3 get_direction ();
++		public float get_distance_to_plane (Graphene.Plane p);
++		public float get_distance_to_point (Graphene.Point3D p);
++		public Graphene.Point3D get_origin ();
++		public Graphene.Point3D get_position_at (float t);
++		public unowned Graphene.Ray? init (Graphene.Point3D? origin, Graphene.Vec3? direction);
++		public unowned Graphene.Ray? init_from_ray (Graphene.Ray src);
++		public unowned Graphene.Ray? init_from_vec3 (Graphene.Vec3? origin, Graphene.Vec3? direction);
++		[Version (since = "1.10")]
++		public Graphene.RayIntersectionKind intersect_box (Graphene.Box b, out float t_out);
++		[Version (since = "1.10")]
++		public Graphene.RayIntersectionKind intersect_sphere (Graphene.Sphere s, out float t_out);
++		[Version (since = "1.10")]
++		public Graphene.RayIntersectionKind intersect_triangle (Graphene.Triangle t, out float t_out);
++		[Version (since = "1.10")]
++		public bool intersects_box (Graphene.Box b);
++		[Version (since = "1.10")]
++		public bool intersects_sphere (Graphene.Sphere s);
++		[Version (since = "1.10")]
++		public bool intersects_triangle (Graphene.Triangle t);
++	}
++	[CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_rect_t", type_id = "graphene_rect_get_type ()")]
++	[Version (since = "1.0")]
++	public struct Rect {
++		public Graphene.Point origin;
++		public Graphene.Size size;
++		public static Graphene.Rect? alloc ();
++		public bool contains_point (Graphene.Point p);
++		public bool contains_rect (Graphene.Rect b);
++		public bool equal (Graphene.Rect b);
++		[Version (since = "1.4")]
++		public Graphene.Rect expand (Graphene.Point p);
++		[Version (since = "1.10")]
++		public float get_area ();
++		public Graphene.Point get_bottom_left ();
++		public Graphene.Point get_bottom_right ();
++		public Graphene.Point get_center ();
++		public float get_height ();
++		public Graphene.Point get_top_left ();
++		public Graphene.Point get_top_right ();
++		[Version (since = "1.4")]
++		public void get_vertices ([CCode (array_length = false)] ref Graphene.Vec2 vertices[4]);
++		public float get_width ();
++		public float get_x ();
++		public float get_y ();
++		public unowned Graphene.Rect? init (float x, float y, float width, float height);
++		public unowned Graphene.Rect? init_from_rect (Graphene.Rect src);
++		public unowned Graphene.Rect? inset (float d_x, float d_y);
++		[Version (since = "1.4")]
++		public Graphene.Rect inset_r (float d_x, float d_y);
++		public Graphene.Rect interpolate (Graphene.Rect b, double factor);
++		public bool intersection (Graphene.Rect b, out Graphene.Rect res);
++		public unowned Graphene.Rect? normalize ();
++		[Version (since = "1.4")]
++		public Graphene.Rect normalize_r ();
++		public unowned Graphene.Rect? offset (float d_x, float d_y);
++		[Version (since = "1.4")]
++		public Graphene.Rect offset_r (float d_x, float d_y);
++		[Version (deprecated = true, deprecated_since = "1.10", since = "1.4")]
++		public Graphene.Rect round ();
++		[Version (since = "1.10")]
++		public Graphene.Rect round_extents ();
++		[Version (deprecated = true, deprecated_since = "1.4", since = "1.0")]
++		public unowned Graphene.Rect? round_to_pixel ();
++		[Version (since = "1.10")]
++		public Graphene.Rect scale (float s_h, float s_v);
++		public Graphene.Rect union (Graphene.Rect b);
++		[Version (since = "1.4")]
++		public static unowned Graphene.Rect? zero ();
++	}
++	[CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_simd4f_t", has_type_id = false)]
++	public struct Simd4F {
++	}
++	[CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_simd4x4f_t", has_type_id = false)]
++	public struct Simd4X4F {
++	}
++	[CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_size_t", type_id = "graphene_size_get_type ()")]
++	[Version (since = "1.0")]
++	public struct Size {
++		public float width;
++		public float height;
++		public bool equal (Graphene.Size b);
++		public unowned Graphene.Size? init (float width, float height);
++		public unowned Graphene.Size? init_from_size (Graphene.Size src);
++		public Graphene.Size interpolate (Graphene.Size b, double factor);
++		public Graphene.Size scale (float factor);
++		public static unowned Graphene.Size? zero ();
++	}
++	[CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_sphere_t", type_id = "graphene_sphere_get_type ()")]
++	[Version (since = "1.2")]
++	public struct Sphere {
++		public bool contains_point (Graphene.Point3D point);
++		public float distance (Graphene.Point3D point);
++		public bool equal (Graphene.Sphere b);
++		public Graphene.Box get_bounding_box ();
++		public Graphene.Point3D get_center ();
++		public float get_radius ();
++		public unowned Graphene.Sphere? init (Graphene.Point3D? center, float radius);
++		public unowned Graphene.Sphere? init_from_points ([CCode (array_length_cname = "n_points", array_length_pos = 0.5, array_length_type = "guint")] Graphene.Point3D[] points, Graphene.Point3D? center);
++		public unowned Graphene.Sphere? init_from_vectors ([CCode (array_length_cname = "n_vectors", array_length_pos = 0.5, array_length_type = "guint")] Graphene.Vec3[] vectors, Graphene.Point3D? center);
++		public bool is_empty ();
++		public Graphene.Sphere translate (Graphene.Point3D point);
++	}
++	[CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_triangle_t", type_id = "graphene_triangle_get_type ()")]
++	[Version (since = "1.2")]
++	public struct Triangle {
++		public bool contains_point (Graphene.Point3D p);
++		public bool equal (Graphene.Triangle b);
++		public float get_area ();
++		public bool get_barycoords (Graphene.Point3D? p, out Graphene.Vec2 res);
++		public Graphene.Box get_bounding_box ();
++		public Graphene.Point3D get_midpoint ();
++		public Graphene.Vec3 get_normal ();
++		public Graphene.Plane get_plane ();
++		public void get_points (out Graphene.Point3D a, out Graphene.Point3D b, out Graphene.Point3D c);
++		[Version (since = "1.10")]
++		public bool get_uv (Graphene.Point3D? p, Graphene.Vec2 uv_a, Graphene.Vec2 uv_b, Graphene.Vec2 uv_c, out Graphene.Vec2 res);
++		public void get_vertices (out Graphene.Vec3 a, out Graphene.Vec3 b, out Graphene.Vec3 c);
++		[Version (since = "1.10")]
++		public unowned Graphene.Triangle? init_from_float ([CCode (array_length = false)] float a[3], [CCode (array_length = false)] float b[3], [CCode (array_length = false)] float c[3]);
++		public unowned Graphene.Triangle? init_from_point3d (Graphene.Point3D? a, Graphene.Point3D? b, Graphene.Point3D? c);
++		public unowned Graphene.Triangle? init_from_vec3 (Graphene.Vec3? a, Graphene.Vec3? b, Graphene.Vec3? c);
++	}
++	[CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_vec2_t", type_id = "graphene_vec2_get_type ()")]
++	public struct Vec2 {
++		[Version (since = "1.0")]
++		public Graphene.Vec2 add (Graphene.Vec2 b);
++		[Version (since = "1.0")]
++		public Graphene.Vec2 divide (Graphene.Vec2 b);
++		[Version (since = "1.0")]
++		public float dot (Graphene.Vec2 b);
++		[Version (since = "1.2")]
++		public bool equal (Graphene.Vec2 v2);
++		[Version (since = "1.0")]
++		public float get_x ();
++		[Version (since = "1.0")]
++		public float get_y ();
++		[Version (since = "1.0")]
++		public unowned Graphene.Vec2? init (float x, float y);
++		[Version (since = "1.0")]
++		public unowned Graphene.Vec2? init_from_float ([CCode (array_length = false)] float src[2]);
++		[Version (since = "1.0")]
++		public unowned Graphene.Vec2? init_from_vec2 (Graphene.Vec2 src);
++		[Version (since = "1.10")]
++		public Graphene.Vec2 interpolate (Graphene.Vec2 v2, double factor);
++		[Version (since = "1.0")]
++		public float length ();
++		[Version (since = "1.0")]
++		public Graphene.Vec2 max (Graphene.Vec2 b);
++		[Version (since = "1.0")]
++		public Graphene.Vec2 min (Graphene.Vec2 b);
++		[Version (since = "1.0")]
++		public Graphene.Vec2 multiply (Graphene.Vec2 b);
++		[Version (since = "1.2")]
++		public bool near (Graphene.Vec2 v2, float epsilon);
++		[Version (since = "1.2")]
++		public Graphene.Vec2 negate ();
++		[Version (since = "1.0")]
++		public Graphene.Vec2 normalize ();
++		[Version (since = "1.0")]
++		public static unowned Graphene.Vec2? one ();
++		[Version (since = "1.2")]
++		public Graphene.Vec2 scale (float factor);
++		[Version (since = "1.0")]
++		public Graphene.Vec2 subtract (Graphene.Vec2 b);
++		[Version (since = "1.0")]
++		public void to_float ([CCode (array_length = false)] ref float dest[2]);
++		[Version (since = "1.0")]
++		public static unowned Graphene.Vec2? x_axis ();
++		[Version (since = "1.0")]
++		public static unowned Graphene.Vec2? y_axis ();
++		[Version (since = "1.0")]
++		public static unowned Graphene.Vec2? zero ();
++	}
++	[CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_vec3_t", type_id = "graphene_vec3_get_type ()")]
++	public struct Vec3 {
++		[Version (since = "1.0")]
++		public Graphene.Vec3 add (Graphene.Vec3 b);
++		[Version (since = "1.0")]
++		public Graphene.Vec3 cross (Graphene.Vec3 b);
++		[Version (since = "1.0")]
++		public Graphene.Vec3 divide (Graphene.Vec3 b);
++		[Version (since = "1.0")]
++		public float dot (Graphene.Vec3 b);
++		[Version (since = "1.2")]
++		public bool equal (Graphene.Vec3 v2);
++		[Version (since = "1.0")]
++		public float get_x ();
++		[Version (since = "1.0")]
++		public Graphene.Vec2 get_xy ();
++		[Version (since = "1.0")]
++		public Graphene.Vec3 get_xy0 ();
++		[Version (since = "1.0")]
++		public Graphene.Vec4 get_xyz0 ();
++		[Version (since = "1.0")]
++		public Graphene.Vec4 get_xyz1 ();
++		[Version (since = "1.0")]
++		public Graphene.Vec4 get_xyzw (float w);
++		[Version (since = "1.0")]
++		public float get_y ();
++		[Version (since = "1.0")]
++		public float get_z ();
++		[Version (since = "1.0")]
++		public unowned Graphene.Vec3? init (float x, float y, float z);
++		[Version (since = "1.0")]
++		public unowned Graphene.Vec3? init_from_float ([CCode (array_length = false)] float src[3]);
++		[Version (since = "1.0")]
++		public unowned Graphene.Vec3? init_from_vec3 (Graphene.Vec3 src);
++		[Version (since = "1.10")]
++		public Graphene.Vec3 interpolate (Graphene.Vec3 v2, double factor);
++		[Version (since = "1.0")]
++		public float length ();
++		[Version (since = "1.0")]
++		public Graphene.Vec3 max (Graphene.Vec3 b);
++		[Version (since = "1.0")]
++		public Graphene.Vec3 min (Graphene.Vec3 b);
++		[Version (since = "1.0")]
++		public Graphene.Vec3 multiply (Graphene.Vec3 b);
++		[Version (since = "1.2")]
++		public bool near (Graphene.Vec3 v2, float epsilon);
++		[Version (since = "1.2")]
++		public Graphene.Vec3 negate ();
++		[Version (since = "1.0")]
++		public Graphene.Vec3 normalize ();
++		[Version (since = "1.0")]
++		public static unowned Graphene.Vec3? one ();
++		[Version (since = "1.2")]
++		public Graphene.Vec3 scale (float factor);
++		[Version (since = "1.0")]
++		public Graphene.Vec3 subtract (Graphene.Vec3 b);
++		[Version (since = "1.0")]
++		public void to_float ([CCode (array_length = false)] ref float dest[3]);
++		[Version (since = "1.0")]
++		public static unowned Graphene.Vec3? x_axis ();
++		[Version (since = "1.0")]
++		public static unowned Graphene.Vec3? y_axis ();
++		[Version (since = "1.0")]
++		public static unowned Graphene.Vec3? z_axis ();
++		[Version (since = "1.0")]
++		public static unowned Graphene.Vec3? zero ();
++	}
++	[CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_vec4_t", type_id = "graphene_vec4_get_type ()")]
++	public struct Vec4 {
++		[Version (since = "1.0")]
++		public Graphene.Vec4 add (Graphene.Vec4 b);
++		[Version (since = "1.0")]
++		public Graphene.Vec4 divide (Graphene.Vec4 b);
++		[Version (since = "1.0")]
++		public float dot (Graphene.Vec4 b);
++		[Version (since = "1.2")]
++		public bool equal (Graphene.Vec4 v2);
++		[Version (since = "1.0")]
++		public float get_w ();
++		[Version (since = "1.0")]
++		public float get_x ();
++		[Version (since = "1.0")]
++		public Graphene.Vec2 get_xy ();
++		[Version (since = "1.0")]
++		public Graphene.Vec3 get_xyz ();
++		[Version (since = "1.0")]
++		public float get_y ();
++		[Version (since = "1.0")]
++		public float get_z ();
++		[Version (since = "1.0")]
++		public unowned Graphene.Vec4? init (float x, float y, float z, float w);
++		[Version (since = "1.0")]
++		public unowned Graphene.Vec4? init_from_float ([CCode (array_length = false)] float src[4]);
++		[Version (since = "1.0")]
++		public unowned Graphene.Vec4? init_from_vec2 (Graphene.Vec2 src, float z, float w);
++		[Version (since = "1.0")]
++		public unowned Graphene.Vec4? init_from_vec3 (Graphene.Vec3 src, float w);
++		[Version (since = "1.0")]
++		public unowned Graphene.Vec4? init_from_vec4 (Graphene.Vec4 src);
++		[Version (since = "1.10")]
++		public Graphene.Vec4 interpolate (Graphene.Vec4 v2, double factor);
++		[Version (since = "1.0")]
++		public float length ();
++		[Version (since = "1.0")]
++		public Graphene.Vec4 max (Graphene.Vec4 b);
++		[Version (since = "1.0")]
++		public Graphene.Vec4 min (Graphene.Vec4 b);
++		[Version (since = "1.0")]
++		public Graphene.Vec4 multiply (Graphene.Vec4 b);
++		[Version (since = "1.2")]
++		public bool near (Graphene.Vec4 v2, float epsilon);
++		[Version (since = "1.2")]
++		public Graphene.Vec4 negate ();
++		[Version (since = "1.0")]
++		public Graphene.Vec4 normalize ();
++		[Version (since = "1.0")]
++		public static unowned Graphene.Vec4? one ();
++		[Version (since = "1.2")]
++		public Graphene.Vec4 scale (float factor);
++		[Version (since = "1.0")]
++		public Graphene.Vec4 subtract (Graphene.Vec4 b);
++		[Version (since = "1.0")]
++		public void to_float ([CCode (array_length = false)] ref float dest[4]);
++		[Version (since = "1.0")]
++		public static unowned Graphene.Vec4? w_axis ();
++		[Version (since = "1.0")]
++		public static unowned Graphene.Vec4? x_axis ();
++		[Version (since = "1.0")]
++		public static unowned Graphene.Vec4? y_axis ();
++		[Version (since = "1.0")]
++		public static unowned Graphene.Vec4? z_axis ();
++		[Version (since = "1.0")]
++		public static unowned Graphene.Vec4? zero ();
++	}
++	[CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_euler_order_t", cprefix = "GRAPHENE_EULER_ORDER_", has_type_id = false)]
++	[Version (since = "1.2")]
++	public enum EulerOrder {
++		DEFAULT,
++		XYZ,
++		YZX,
++		ZXY,
++		XZY,
++		YXZ,
++		ZYX,
++		SXYZ,
++		SXYX,
++		SXZY,
++		SXZX,
++		SYZX,
++		SYZY,
++		SYXZ,
++		SYXY,
++		SZXY,
++		SZXZ,
++		SZYX,
++		SZYZ,
++		RZYX,
++		RXYX,
++		RYZX,
++		RXZX,
++		RXZY,
++		RYZY,
++		RZXY,
++		RYXY,
++		RYXZ,
++		RZXZ,
++		RXYZ,
++		RZYZ
++	}
++	[CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_ray_intersection_kind_t", cprefix = "GRAPHENE_RAY_INTERSECTION_KIND_", has_type_id = false)]
++	[Version (since = "1.10")]
++	public enum RayIntersectionKind {
++		NONE,
++		ENTER,
++		LEAVE
++	}
++	[CCode (cheader_filename = "graphene-gobject.h", cname = "GRAPHENE_HAS_GCC")]
++	public const int HAS_GCC;
++	[CCode (cheader_filename = "graphene-gobject.h", cname = "GRAPHENE_HAS_SCALAR")]
++	public const int HAS_SCALAR;
++	[CCode (cheader_filename = "graphene-gobject.h", cname = "GRAPHENE_HAS_SSE")]
++	public const int HAS_SSE;
++	[CCode (cheader_filename = "graphene-gobject.h", cname = "GRAPHENE_PI")]
++	public const double PI;
++	[CCode (cheader_filename = "graphene-gobject.h", cname = "GRAPHENE_PI_2")]
++	public const double PI_2;
++	[CCode (cheader_filename = "graphene-gobject.h", cname = "GRAPHENE_SIMD_S")]
++	public const string SIMD_S;
++	[CCode (cheader_filename = "graphene-gobject.h", cname = "GRAPHENE_VEC2_LEN")]
++	[Version (since = "1.0")]
++	public const int VEC2_LEN;
++	[CCode (cheader_filename = "graphene-gobject.h", cname = "GRAPHENE_VEC3_LEN")]
++	[Version (since = "1.0")]
++	public const int VEC3_LEN;
++	[CCode (cheader_filename = "graphene-gobject.h", cname = "GRAPHENE_VEC4_LEN")]
++	[Version (since = "1.0")]
++	public const int VEC4_LEN;
++	[CCode (cheader_filename = "graphene-gobject.h", cname = "false")]
++	public const int @false;
++	[CCode (cheader_filename = "graphene-gobject.h", cname = "true")]
++	public const int @true;
++}
+diff --git vapi/libmutter-2.deps vapi/libmutter-2.deps
+deleted file mode 100644
+index 1f3c9079..00000000
+--- vapi/libmutter-2.deps
++++ /dev/null
+@@ -1,9 +0,0 @@
+-cairo
+-gsettings-desktop-schemas
+-gdk-3.0
+-gdk-pixbuf-2.0
+-gtk+-3.0
+-x11
+-xfixes-4.0
+-clutter-1.0
+-cogl-1.0
+diff --git vapi/libmutter-2.vapi vapi/libmutter-2.vapi
+deleted file mode 100644
+index 0a6c4357..00000000
+--- vapi/libmutter-2.vapi
++++ /dev/null
+@@ -1,1325 +0,0 @@
+-/* libmutter.vapi generated by vapigen, do not modify. */
+-
+-[CCode (cprefix = "Meta", gir_namespace = "Meta", gir_version = "3.0", lower_case_cprefix = "meta_")]
+-namespace Meta {
+-	namespace Prefs {
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static void add_listener (Meta.PrefsChangedFunc func);
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static bool bell_is_audible ();
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static void change_workspace_name (int i, string name);
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static GDesktop.TitlebarAction get_action_double_click_titlebar ();
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static GDesktop.TitlebarAction get_action_middle_click_titlebar ();
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static GDesktop.TitlebarAction get_action_right_click_titlebar ();
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static bool get_attach_modal_dialogs ();
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static bool get_auto_maximize ();
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static bool get_auto_raise ();
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static int get_auto_raise_delay ();
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static Meta.ButtonLayout get_button_layout ();
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static bool get_center_new_windows ();
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static bool get_compositing_manager ();
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static int get_cursor_size ();
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static unowned string get_cursor_theme ();
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static bool get_disable_workarounds ();
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static int get_drag_threshold ();
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static int get_draggable_border_width ();
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static bool get_dynamic_workspaces ();
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static bool get_edge_tiling ();
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static bool get_focus_change_on_pointer_rest ();
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static GDesktop.FocusMode get_focus_mode ();
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static GDesktop.FocusNewWindows get_focus_new_windows ();
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static bool get_force_fullscreen ();
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static bool get_gnome_accessibility ();
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static bool get_gnome_animations ();
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static bool get_ignore_request_hide_titlebar ();
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static Meta.KeyBindingAction get_keybinding_action (string name);
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static int get_mouse_button_menu ();
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static Meta.VirtualModifier get_mouse_button_mods ();
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static int get_mouse_button_resize ();
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static int get_num_workspaces ();
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static bool get_raise_on_click ();
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static bool get_show_fallback_app_menu ();
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static unowned Pango.FontDescription get_titlebar_font ();
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static bool get_visual_bell ();
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static GDesktop.VisualBellType get_visual_bell_type ();
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static unowned string get_workspace_name (int i);
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static bool get_workspaces_only_on_primary ();
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static void init ();
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static void override_preference_schema (string key, string schema);
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static void remove_listener (Meta.PrefsChangedFunc func);
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static void set_force_fullscreen (bool whether);
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static void set_ignore_request_hide_titlebar (bool whether);
+-		[CCode (cheader_filename = "meta/prefs.h")]
+-		public static void set_num_workspaces (int n_workspaces);
+-	}
+-	namespace Util {
+-		[CCode (cheader_filename = "meta/main.h", cname = "meta_add_verbose_topic")]
+-		public static void add_verbose_topic (Meta.DebugTopic topic);
+-		[CCode (cheader_filename = "meta/main.h", cname = "meta_bug")]
+-		public static void bug (string format, ...);
+-		[CCode (cheader_filename = "meta/main.h", cname = "meta_debug_spew_real")]
+-		public static void debug_spew_real (string format, ...);
+-		[CCode (cheader_filename = "meta/main.h", cname = "meta_disable_unredirect_for_screen")]
+-		public static void disable_unredirect_for_screen (Meta.Screen screen);
+-		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_empty_stage_input_region")]
+-		public static void empty_stage_input_region (Meta.Screen screen);
+-		[CCode (cheader_filename = "meta/main.h", cname = "meta_enable_unredirect_for_screen")]
+-		public static void enable_unredirect_for_screen (Meta.Screen screen);
+-		[CCode (cheader_filename = "meta/main.h", cname = "meta_error_trap_pop")]
+-		public static void error_trap_pop (Meta.Display display);
+-		[CCode (cheader_filename = "meta/main.h", cname = "meta_error_trap_push")]
+-		public static void error_trap_push (Meta.Display display);
+-		[CCode (cheader_filename = "meta/main.h", cname = "meta_error_trap_push_with_return")]
+-		public static void error_trap_push_with_return (Meta.Display display);
+-		[CCode (cheader_filename = "meta/main.h", cname = "meta_external_binding_name_for_action")]
+-		public static string external_binding_name_for_action (uint keybinding_action);
+-		[CCode (cheader_filename = "meta/main.h", cname = "meta_fatal")]
+-		public static void fatal (string format, ...);
+-		[CCode (cheader_filename = "meta/main.h", cname = "meta_free_gslist_and_elements")]
+-		public static void free_gslist_and_elements (GLib.SList<void*> list_to_deep_free);
+-		[CCode (cheader_filename = "meta/main.h", cname = "meta_g_utf8_strndup")]
+-		public static string g_utf8_strndup (string src, size_t n);
+-		[CCode (cheader_filename = "meta/main.h", cname = "meta_get_locale_direction")]
+-		public static Meta.LocaleDirection get_locale_direction ();
+-		[CCode (cheader_filename = "meta/main.h", cname = "meta_get_overlay_window")]
+-		public static X.Window get_overlay_window (Meta.Screen screen);
+-		[CCode (cheader_filename = "meta/main.h", cname = "meta_gravity_to_string")]
+-		public static unowned string gravity_to_string (int gravity);
+-		[CCode (cheader_filename = "meta/main.h", cname = "meta_is_debugging")]
+-		public static bool is_debugging ();
+-		[CCode (cheader_filename = "meta/main.h", cname = "meta_is_syncing")]
+-		public static bool is_syncing ();
+-		[CCode (cheader_filename = "meta/main.h", cname = "meta_is_verbose")]
+-		public static bool is_verbose ();
+-		[CCode (cheader_filename = "meta/main.h", cname = "meta_is_wayland_compositor")]
+-		public static bool is_wayland_compositor ();
+-		[CCode (cheader_filename = "meta/main.h", cname = "meta_later_add")]
+-		public static uint later_add (Meta.LaterType when, owned GLib.SourceFunc func);
+-		[CCode (cheader_filename = "meta/main.h", cname = "meta_later_remove")]
+-		public static void later_remove (uint later_id);
+-		[CCode (cheader_filename = "meta/main.h", cname = "meta_pop_no_msg_prefix")]
+-		public static void pop_no_msg_prefix ();
+-		[CCode (cheader_filename = "meta/main.h", cname = "meta_push_no_msg_prefix")]
+-		public static void push_no_msg_prefix ();
+-		[CCode (cheader_filename = "meta/main.h", cname = "meta_rect")]
+-		public static Meta.Rectangle? rect (int x, int y, int width, int height);
+-		[CCode (cheader_filename = "meta/main.h", cname = "meta_remove_verbose_topic")]
+-		public static void remove_verbose_topic (Meta.DebugTopic topic);
+-		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_set_stage_input_region")]
+-		public static void set_stage_input_region (Meta.Screen screen, X.XserverRegion region);
+-		[CCode (cheader_filename = "meta/main.h", cname = "meta_show_dialog")]
+-		public static GLib.Pid show_dialog (string type, string message, string? timeout = null, string? display = null, string? ok_text = null, string? cancel_text = null, string? icon_name = null, int transient_for = 0, GLib.SList<string>? columns = null, GLib.SList<string>? entries = null);
+-		[CCode (cheader_filename = "meta/main.h", cname = "meta_topic_real")]
+-		public static void topic_real (Meta.DebugTopic topic, string format, ...);
+-		[CCode (cheader_filename = "meta/main.h", cname = "meta_unsigned_long_equal")]
+-		public static int unsigned_long_equal (void* v1, void* v2);
+-		[CCode (cheader_filename = "meta/main.h", cname = "meta_unsigned_long_hash")]
+-		public static uint unsigned_long_hash (void* v);
+-		[CCode (cheader_filename = "meta/main.h", cname = "meta_verbose_real")]
+-		public static void verbose_real (string format, ...);
+-		[CCode (cheader_filename = "meta/main.h", cname = "meta_warning")]
+-		public static void warning (string format, ...);
+-	}
+-	[CCode (cheader_filename = "meta/main.h", type_id = "meta_backend_get_type ()")]
+-	public abstract class Backend : GLib.Object {
+-		[CCode (has_construct_function = false)]
+-		protected Backend ();
+-		[CCode (cheader_filename = "meta/meta-backend.h", cname = "meta_get_backend")]
+-		public static unowned Meta.Backend get_backend ();
+-		public unowned Clutter.Actor get_stage ();
+-		public void lock_layout_group (uint idx);
+-		public void set_keymap (string layouts, string variants, string options);
+-		public signal void keymap_changed ();
+-		public signal void keymap_layout_group_changed (uint object);
+-		public signal void last_device_changed (int object);
+-	}
+-	[CCode (cheader_filename = "meta/meta-background.h", type_id = "meta_background_get_type ()")]
+-	public class Background : GLib.Object {
+-		[CCode (has_construct_function = false)]
+-		public Background (Meta.Screen screen);
+-		public static void refresh_all ();
+-		public void set_blend (GLib.File file1, GLib.File file2, double blend_factor, GDesktop.BackgroundStyle style);
+-		public void set_color (Clutter.Color color);
+-		public void set_file (GLib.File file, GDesktop.BackgroundStyle style);
+-		public void set_gradient (GDesktop.BackgroundShading shading_direction, Clutter.Color color, Clutter.Color second_color);
+-		[NoAccessorMethod]
+-		public Meta.Screen meta_screen { owned get; construct; }
+-		public signal void changed ();
+-	}
+-	[CCode (cheader_filename = "meta/meta-background-actor.h", type_id = "meta_background_actor_get_type ()")]
+-	public class BackgroundActor : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+-		[CCode (has_construct_function = false, type = "ClutterActor*")]
+-		public BackgroundActor (Meta.Screen screen, int monitor);
+-		public void set_background (Meta.Background background);
+-		public void set_vignette (bool enabled, double brightness, double sharpness);
+-		[NoAccessorMethod]
+-		public Meta.Background background { owned get; set; }
+-		[NoAccessorMethod]
+-		public double brightness { get; set; }
+-		[NoAccessorMethod]
+-		public Meta.Screen meta_screen { owned get; construct; }
+-		[NoAccessorMethod]
+-		public int monitor { get; construct; }
+-		[NoAccessorMethod]
+-		public bool vignette { get; set; }
+-		[NoAccessorMethod]
+-		public double vignette_sharpness { get; set; }
+-	}
+-	[CCode (cheader_filename = "meta/meta-background-group.h", type_id = "meta_background_group_get_type ()")]
+-	public class BackgroundGroup : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+-		[CCode (has_construct_function = false, type = "ClutterActor*")]
+-		public BackgroundGroup ();
+-	}
+-	[CCode (cheader_filename = "meta/meta-background-image.h", type_id = "meta_background_image_get_type ()")]
+-	public class BackgroundImage : GLib.Object {
+-		[CCode (has_construct_function = false)]
+-		protected BackgroundImage ();
+-		public bool get_success ();
+-		public unowned Cogl.Texture get_texture ();
+-		public bool is_loaded ();
+-		public signal void loaded ();
+-	}
+-	[CCode (cheader_filename = "meta/meta-background-image.h", type_id = "meta_background_image_cache_get_type ()")]
+-	public class BackgroundImageCache : GLib.Object {
+-		[CCode (has_construct_function = false)]
+-		protected BackgroundImageCache ();
+-		public static unowned Meta.BackgroundImageCache get_default ();
+-		public Meta.BackgroundImage load (GLib.File file);
+-		public void purge (GLib.File file);
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h", type_id = "meta_barrier_get_type ()")]
+-	public class Barrier : GLib.Object {
+-		[CCode (has_construct_function = false)]
+-		protected Barrier ();
+-		public void destroy ();
+-		public bool is_active ();
+-		public void release (Meta.BarrierEvent event);
+-		[NoAccessorMethod]
+-		public Meta.BarrierDirection directions { get; construct; }
+-		[NoAccessorMethod]
+-		public Meta.Display display { owned get; construct; }
+-		[NoAccessorMethod]
+-		public int x1 { get; construct; }
+-		[NoAccessorMethod]
+-		public int x2 { get; construct; }
+-		[NoAccessorMethod]
+-		public int y1 { get; construct; }
+-		[NoAccessorMethod]
+-		public int y2 { get; construct; }
+-		public signal void hit (Meta.BarrierEvent event);
+-		public signal void left (Meta.BarrierEvent event);
+-	}
+-	[CCode (cheader_filename = "meta/main.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "meta_barrier_event_get_type ()")]
+-	[Compact]
+-	public class BarrierEvent {
+-		public int dt;
+-		public double dx;
+-		public double dy;
+-		public int event_id;
+-		public bool grabbed;
+-		public bool released;
+-		public uint32 time;
+-		public double x;
+-		public double y;
+-	}
+-	[CCode (cheader_filename = "meta/compositor.h")]
+-	[Compact]
+-	public class Compositor {
+-		public void add_window (Meta.Window window);
+-		public void destroy ();
+-		public bool filter_keybinding (Meta.KeyBinding binding);
+-		public void flash_screen (Meta.Screen screen);
+-		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_focus_stage_window")]
+-		public static void focus_stage_window (Meta.Screen screen, uint32 timestamp);
+-		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_get_feedback_group_for_screen")]
+-		public static unowned Clutter.Actor get_feedback_group_for_screen (Meta.Screen screen);
+-		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_get_stage_for_screen")]
+-		public static unowned Clutter.Actor? get_stage_for_screen (Meta.Screen screen);
+-		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_get_top_window_group_for_screen")]
+-		public static unowned Clutter.Actor? get_top_window_group_for_screen (Meta.Screen screen);
+-		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_get_window_actors")]
+-		public static unowned GLib.List<weak Meta.WindowActor>? get_window_actors (Meta.Screen screen);
+-		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_get_window_group_for_screen")]
+-		public static unowned Clutter.Actor? get_window_group_for_screen (Meta.Screen screen);
+-		public void hide_tile_preview ();
+-		public void hide_window (Meta.Window window, Meta.CompEffect effect);
+-		public void manage ();
+-		[CCode (cheader_filename = "meta/main.h")]
+-		public static unowned Meta.Compositor @new (Meta.Display display);
+-		public void queue_frame_drawn (Meta.Window window, bool no_delay_frame);
+-		public void remove_window (Meta.Window window);
+-		public void show_tile_preview (Meta.Window window, Meta.Rectangle tile_rect, int tile_monitor_number);
+-		public void show_window (Meta.Window window, Meta.CompEffect effect);
+-		public void show_window_menu (Meta.Window window, Meta.WindowMenuType menu, int x, int y);
+-		public void show_window_menu_for_rect (Meta.Window window, Meta.WindowMenuType menu, Meta.Rectangle rect);
+-		public void size_change_window (Meta.Window window, Meta.SizeChange which_change, Meta.Rectangle old_frame_rect, Meta.Rectangle old_buffer_rect);
+-		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_stage_is_focused")]
+-		public static bool stage_is_focused (Meta.Screen screen);
+-		public void switch_workspace (Meta.Workspace from, Meta.Workspace to, Meta.MotionDirection direction);
+-		public void sync_stack (GLib.List<Meta.WindowActor> stack);
+-		public void sync_updates_frozen (Meta.Window window);
+-		public void sync_window_geometry (Meta.Window window, bool did_placement);
+-		public void unmanage ();
+-		public void window_opacity_changed (Meta.Window window);
+-		public void window_shape_changed (Meta.Window window);
+-		public void window_surface_changed (Meta.Window window);
+-	}
+-	[CCode (cheader_filename = "meta/meta-cursor-tracker.h", type_id = "meta_cursor_tracker_get_type ()")]
+-	public class CursorTracker : GLib.Object {
+-		[CCode (has_construct_function = false)]
+-		protected CursorTracker ();
+-		public static unowned Meta.CursorTracker get_for_screen (Meta.Screen screen);
+-		public void get_hot (out int x, out int y);
+-		public void get_pointer (int x, int y, Clutter.ModifierType mods);
+-		public unowned Cogl.Texture get_sprite ();
+-		public void set_pointer_visible (bool visible);
+-		public signal void cursor_changed ();
+-	}
+-	[CCode (cheader_filename = "meta/display.h", type_id = "meta_display_get_type ()")]
+-	public class Display : GLib.Object {
+-		[CCode (has_construct_function = false)]
+-		protected Display ();
+-		public void add_ignored_crossing_serial (ulong serial);
+-		public uint add_keybinding (string name, GLib.Settings settings, Meta.KeyBindingFlags flags, owned Meta.KeyHandlerFunc handler);
+-		public bool begin_grab_op (Meta.Screen screen, Meta.Window window, Meta.GrabOp op, bool pointer_already_grabbed, bool frame_action, int button, ulong modmask, uint32 timestamp, int root_x, int root_y);
+-		public void clear_mouse_mode ();
+-		public void end_grab_op (uint32 timestamp);
+-		public void focus_the_no_focus_window (Meta.Screen screen, uint32 timestamp);
+-		public void freeze_keyboard (uint32 timestamp);
+-		public unowned Meta.Compositor get_compositor ();
+-		public uint32 get_current_time ();
+-		public uint32 get_current_time_roundtrip ();
+-		public int get_damage_event_base ();
+-		public unowned Meta.Window get_focus_window ();
+-		public Meta.GrabOp get_grab_op ();
+-		public uint get_keybinding_action (uint keycode, ulong mask);
+-		public uint32 get_last_user_time ();
+-		public int get_shape_event_base ();
+-		public unowned Meta.Window get_tab_current (Meta.TabList type, Meta.Workspace workspace);
+-		public GLib.List<weak Meta.Window> get_tab_list (Meta.TabList type, Meta.Workspace? workspace);
+-		public unowned Meta.Window get_tab_next (Meta.TabList type, Meta.Workspace workspace, Meta.Window? window, bool backward);
+-		public unowned X.Display get_xdisplay ();
+-		public int get_xinput_opcode ();
+-		public uint grab_accelerator (string accelerator);
+-		public bool has_shape ();
+-		public bool is_pointer_emulating_sequence (Clutter.EventSequence? sequence);
+-		public unowned Meta.Group lookup_group (X.Window group_leader);
+-		public bool remove_keybinding (string name);
+-		public void set_input_focus_window (Meta.Window window, bool focus_frame, uint32 timestamp);
+-		public GLib.SList<weak Meta.Window> sort_windows_by_stacking (GLib.SList<Meta.Window> windows);
+-		public bool supports_extended_barriers ();
+-		public void unfreeze_keyboard (uint32 timestamp);
+-		public bool ungrab_accelerator (uint action_id);
+-		public void ungrab_keyboard (uint32 timestamp);
+-		public void unmanage_screen (Meta.Screen screen, uint32 timestamp);
+-		public bool xserver_time_is_before (uint32 time1, uint32 time2);
+-		public bool xwindow_is_a_no_focus_window (X.Window xwindow);
+-		public signal void accelerator_activated (uint object, uint p0, uint p1);
+-		public signal void grab_op_begin (Meta.Screen object, Meta.Window p0, Meta.GrabOp p1);
+-		public signal void grab_op_end (Meta.Screen object, Meta.Window p0, Meta.GrabOp p1);
+-		public signal bool modifiers_accelerator_activated ();
+-		public signal void overlay_key ();
+-		public signal bool restart ();
+-		public signal bool show_resize_popup (bool object, Meta.Rectangle p0, int p1, int p2);
+-		public signal bool show_restart_message (string? message);
+-		public signal void window_created (Meta.Window object);
+-		public signal void window_demands_attention (Meta.Window object);
+-		public signal void window_marked_urgent (Meta.Window object);
+-	}
+-	[CCode (cheader_filename = "meta/common.h")]
+-	[Compact]
+-	public class Frame {
+-	}
+-	[CCode (cheader_filename = "meta/group.h")]
+-	[Compact]
+-	public class Group {
+-		public int get_size ();
+-		public unowned string get_startup_id ();
+-		public GLib.SList<weak Meta.Window> list_windows ();
+-		public bool property_notify (X.Event event);
+-		public void update_layers ();
+-	}
+-	[CCode (cheader_filename = "meta/meta-idle-monitor.h", type_id = "meta_idle_monitor_get_type ()")]
+-	public class IdleMonitor : GLib.Object {
+-		[CCode (has_construct_function = false)]
+-		protected IdleMonitor ();
+-		public uint add_idle_watch (uint64 interval_msec, owned Meta.IdleMonitorWatchFunc? callback);
+-		public uint add_user_active_watch (owned Meta.IdleMonitorWatchFunc? callback);
+-		public static unowned Meta.IdleMonitor get_core ();
+-		public static unowned Meta.IdleMonitor get_for_device (int device_id);
+-		public int64 get_idletime ();
+-		public void remove_watch (uint id);
+-		[NoAccessorMethod]
+-		public int device_id { get; construct; }
+-	}
+-	[CCode (cheader_filename = "meta/keybindings.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "meta_key_binding_get_type ()")]
+-	[Compact]
+-	public class KeyBinding {
+-		public uint get_mask ();
+-		public Meta.VirtualModifier get_modifiers ();
+-		public unowned string get_name ();
+-		public bool is_builtin ();
+-		public bool is_reversed ();
+-		[CCode (cheader_filename = "meta/keybindings.h", cname = "meta_keybindings_set_custom_handler")]
+-		public static bool set_custom_handler (string name, owned Meta.KeyHandlerFunc? handler);
+-	}
+-	[CCode (cheader_filename = "meta/meta-monitor-manager.h", type_id = "meta_monitor_manager_get_type ()")]
+-	public abstract class MonitorManager : GLib.DBusInterfaceSkeleton, GLib.DBusInterface {
+-		[CCode (has_construct_function = false)]
+-		protected MonitorManager ();
+-		public static unowned Meta.MonitorManager @get ();
+-		public int get_monitor_for_output (uint id);
+-		public signal void confirm_display_change ();
+-	}
+-	[CCode (cheader_filename = "meta/meta-plugin.h", type_id = "meta_plugin_get_type ()")]
+-	public abstract class Plugin : GLib.Object {
+-		[CCode (has_construct_function = false)]
+-		protected Plugin ();
+-		public bool begin_modal (Meta.ModalOptions options, uint32 timestamp);
+-		public void complete_display_change (bool ok);
+-		[NoWrapper]
+-		public virtual void confirm_display_change ();
+-		[NoWrapper]
+-		public virtual void destroy (Meta.WindowActor actor);
+-		public void destroy_completed (Meta.WindowActor actor);
+-		public void end_modal (uint32 timestamp);
+-		public unowned Meta.PluginInfo? get_info ();
+-		public unowned Meta.Screen get_screen ();
+-		[NoWrapper]
+-		public virtual void hide_tile_preview ();
+-		[NoWrapper]
+-		public virtual bool keybinding_filter (Meta.KeyBinding binding);
+-		[NoWrapper]
+-		public virtual void kill_switch_workspace ();
+-		[NoWrapper]
+-		public virtual void kill_window_effects (Meta.WindowActor actor);
+-		public static void manager_set_plugin_type (GLib.Type gtype);
+-		[NoWrapper]
+-		public virtual void map (Meta.WindowActor actor);
+-		public void map_completed (Meta.WindowActor actor);
+-		[NoWrapper]
+-		public virtual void minimize (Meta.WindowActor actor);
+-		public void minimize_completed (Meta.WindowActor actor);
+-		[NoWrapper]
+-		public virtual unowned Meta.PluginInfo? plugin_info ();
+-		[NoWrapper]
+-		public virtual void show_tile_preview (Meta.Window window, Meta.Rectangle tile_rect, int tile_monitor_number);
+-		[NoWrapper]
+-		public virtual void show_window_menu (Meta.Window window, Meta.WindowMenuType menu, int x, int y);
+-		[NoWrapper]
+-		public virtual void show_window_menu_for_rect (Meta.Window window, Meta.WindowMenuType menu, Meta.Rectangle rect);
+-		[NoWrapper]
+-		public virtual void size_change (Meta.WindowActor actor, Meta.SizeChange which_change, Meta.Rectangle old_frame_rect, Meta.Rectangle old_buffer_rect);
+-		public void size_change_completed (Meta.WindowActor actor);
+-		[NoWrapper]
+-		public virtual void start ();
+-		[NoWrapper]
+-		public virtual void switch_workspace (int from, int to, Meta.MotionDirection direction);
+-		public void switch_workspace_completed ();
+- 		[NoWrapper]
+-		public virtual void unminimize (Meta.WindowActor actor);
+-		public void unminimize_completed (Meta.WindowActor actor);
+-		[NoWrapper]
+-		public virtual bool xevent_filter (X.Event event);
+-	}
+-	[CCode (cheader_filename = "meta/screen.h", type_id = "meta_screen_get_type ()")]
+-	public class Screen : GLib.Object {
+-		[CCode (has_construct_function = false)]
+-		protected Screen ();
+-		public unowned Meta.Workspace? append_new_workspace (bool activate, uint32 timestamp);
+-		public void focus_default_window (uint32 timestamp);
+-		public unowned Meta.Workspace get_active_workspace ();
+-		public int get_active_workspace_index ();
+-		public int get_current_monitor ();
+-		public int get_current_monitor_for_pos (int x, int y);
+-		public unowned Meta.Display get_display ();
+-		public Meta.Rectangle get_monitor_geometry (int monitor);
+-		public bool get_monitor_in_fullscreen (int monitor);
+-		public int get_monitor_index_for_rect (Meta.Rectangle rect);
+-		public int get_monitor_neighbor_index (int which_monitor, Meta.ScreenDirection dir);
+-		public int get_n_monitors ();
+-		public int get_n_workspaces ();
+-		public int get_primary_monitor ();
+-		public int get_screen_number ();
+-		public void get_size (out int width, out int height);
+-		public unowned Meta.Workspace? get_workspace_by_index (int index);
+-		public unowned GLib.List<Meta.Workspace> get_workspaces ();
+-		public X.Window get_xroot ();
+-		public void override_workspace_layout (Meta.ScreenCorner starting_corner, bool vertical_layout, int n_rows, int n_columns);
+-		public void remove_workspace (Meta.Workspace workspace, uint32 timestamp);
+-		public void set_cm_selection ();
+-		public void set_cursor (Meta.Cursor cursor);
+-		public int n_workspaces { get; }
+-		public signal void in_fullscreen_changed ();
+-		public signal void monitors_changed ();
+-		public signal void restacked ();
+-		public signal void startup_sequence_changed (void* object);
+-		public signal void window_entered_monitor (int object, Meta.Window p0);
+-		public signal void window_left_monitor (int object, Meta.Window p0);
+-		public signal void workareas_changed ();
+-		public signal void workspace_added (int object);
+-		public signal void workspace_removed (int object);
+-		public signal void workspace_switched (int object, int p0, Meta.MotionDirection p1);
+-	}
+-	[CCode (cheader_filename = "meta/meta-shadow-factory.h", ref_function = "meta_shadow_ref", type_id = "meta_shadow_get_type ()", unref_function = "meta_shadow_unref")]
+-	[Compact]
+-	public class Shadow {
+-		public void get_bounds (int window_x, int window_y, int window_width, int window_height, Cairo.RectangleInt bounds);
+-		public void paint (int window_x, int window_y, int window_width, int window_height, uint8 opacity, Cairo.Region? clip, bool clip_strictly);
+-		public Meta.Shadow @ref ();
+-		public void unref ();
+-	}
+-	[CCode (cheader_filename = "meta/meta-shadow-factory.h", type_id = "meta_shadow_factory_get_type ()")]
+-	public class ShadowFactory : GLib.Object {
+-		[CCode (has_construct_function = false)]
+-		public ShadowFactory ();
+-		public static unowned Meta.ShadowFactory get_default ();
+-		public Meta.ShadowParams get_params (string class_name, bool focused);
+-		public Meta.Shadow get_shadow (Meta.WindowShape shape, int width, int height, string class_name, bool focused);
+-		public void set_params (string class_name, bool focused, Meta.ShadowParams @params);
+-		public signal void changed ();
+-	}
+-	[CCode (cheader_filename = "meta/meta-shaped-texture.h", type_id = "meta_shaped_texture_get_type ()")]
+-	public class ShapedTexture : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+-		[CCode (has_construct_function = false)]
+-		protected ShapedTexture ();
+-		public Cairo.Surface get_image (Cairo.RectangleInt clip);
+-		public unowned Cogl.Texture get_texture ();
+-		public void set_create_mipmaps (bool create_mipmaps);
+-		public void set_mask_texture (Cogl.Texture mask_texture);
+-		public void set_opaque_region (owned Cairo.Region opaque_region);
+-		public bool update_area (int x, int y, int width, int height);
+-		public signal void size_changed ();
+-	}
+-	[CCode (cheader_filename = "meta/theme.h")]
+-	[Compact]
+-	public class Theme {
+-		public void free ();
+-		[CCode (cheader_filename = "meta/main.h")]
+-		public static unowned Meta.Theme get_default ();
+-		[CCode (cheader_filename = "meta/main.h")]
+-		public static unowned Meta.Theme @new ();
+-	}
+-	[CCode (cheader_filename = "meta/window.h", type_id = "meta_window_get_type ()")]
+-	public abstract class Window : GLib.Object {
+-		[CCode (has_construct_function = false)]
+-		protected Window ();
+-		public void activate (uint32 current_time);
+-		public void activate_with_workspace (uint32 current_time, Meta.Workspace workspace);
+-		public bool allows_move ();
+-		public bool allows_resize ();
+-		public void begin_grab_op (Meta.GrabOp op, bool frame_action, uint32 timestamp);
+-		public bool can_close ();
+-		public bool can_maximize ();
+-		public bool can_minimize ();
+-		public bool can_shade ();
+-		public void change_workspace (Meta.Workspace workspace);
+-		public void change_workspace_by_index (int space_index, bool append);
+-		public void check_alive (uint32 timestamp);
+-		public Meta.Rectangle client_rect_to_frame_rect (Meta.Rectangle client_rect);
+-		public void compute_group ();
+-		public void @delete (uint32 timestamp);
+-		public unowned Meta.Window find_root_ancestor ();
+-		public void focus (uint32 timestamp);
+-		public void foreach_ancestor (Meta.WindowForeachFunc func);
+-		public void foreach_transient (Meta.WindowForeachFunc func);
+-		public Meta.Rectangle frame_rect_to_client_rect (Meta.Rectangle frame_rect);
+-		[CCode (array_length_pos = 0.1, array_length_type = "gsize")]
+-		public int[] get_all_monitors ();
+-		public Meta.Rectangle get_buffer_rect ();
+-		public unowned string get_client_machine ();
+-		public unowned GLib.Object get_compositor_private ();
+-		public unowned string get_description ();
+-		public unowned Meta.Display get_display ();
+-		public unowned Meta.Frame get_frame ();
+-		public unowned Cairo.Region? get_frame_bounds ();
+-		public Meta.Rectangle get_frame_rect ();
+-		public Meta.FrameType get_frame_type ();
+-		public unowned Meta.Group get_group ();
+-		public unowned string get_gtk_app_menu_object_path ();
+-		public unowned string get_gtk_application_id ();
+-		public unowned string get_gtk_application_object_path ();
+-		public unowned string get_gtk_menubar_object_path ();
+-		public unowned string get_gtk_theme_variant ();
+-		public unowned string get_gtk_unique_bus_name ();
+-		public unowned string get_gtk_window_object_path ();
+-		public bool get_icon_geometry (out Meta.Rectangle rect);
+-		public Meta.StackLayer get_layer ();
+-		public Meta.MaximizeFlags get_maximized ();
+-		public int get_monitor ();
+-		public unowned string get_mutter_hints ();
+-		public int get_pid ();
+-		public unowned string get_role ();
+-		public unowned Meta.Screen get_screen ();
+-		public uint get_stable_sequence ();
+-		public unowned string get_startup_id ();
+-		public unowned Meta.Window? get_tile_match ();
+-		public unowned string get_title ();
+-		public unowned Meta.Window get_transient_for ();
+-		public uint32 get_user_time ();
+-		public Meta.WindowType get_window_type ();
+-		public unowned string get_wm_class ();
+-		public unowned string get_wm_class_instance ();
+-		public Meta.Rectangle get_work_area_all_monitors ();
+-		public Meta.Rectangle get_work_area_current_monitor ();
+-		public Meta.Rectangle get_work_area_for_monitor (int which_monitor);
+-		public unowned Meta.Workspace get_workspace ();
+-		public X.Window get_xwindow ();
+-		public void group_leader_changed ();
+-		public bool has_focus ();
+-		public bool is_above ();
+-		public bool is_always_on_all_workspaces ();
+-		public bool is_ancestor_of_transient (Meta.Window transient);
+-		public bool is_attached_dialog ();
+-		public bool is_fullscreen ();
+-		public bool is_hidden ();
+-		public bool is_monitor_sized ();
+-		public bool is_on_all_workspaces ();
+-		public bool is_on_primary_monitor ();
+-		public bool is_override_redirect ();
+-		public bool is_remote ();
+-		public bool is_screen_sized ();
+-		public bool is_shaded ();
+-		public bool is_skip_taskbar ();
+-		public void kill ();
+-		public bool located_on_workspace (Meta.Workspace workspace);
+-		public void lower ();
+-		public void make_above ();
+-		public void make_fullscreen ();
+-		public void maximize (Meta.MaximizeFlags directions);
+-		public void minimize ();
+-		public void move_frame (bool user_op, int root_x_nw, int root_y_nw);
+-		public void move_resize_frame (bool user_op, int root_x_nw, int root_y_nw, int w, int h);
+-		public void move_to_monitor (int monitor);
+-		public void raise ();
+-		public bool requested_bypass_compositor ();
+-		public bool requested_dont_bypass_compositor ();
+-		public void set_compositor_private (GLib.Object priv);
+-		public void set_demands_attention ();
+-		public void set_icon_geometry (Meta.Rectangle? rect);
+-		public void shade (uint32 timestamp);
+-		public void shove_titlebar_onscreen ();
+-		public bool showing_on_its_workspace ();
+-		public void shutdown_group ();
+-		public void stick ();
+-		public bool titlebar_is_onscreen ();
+-		public void unmake_above ();
+-		public void unmake_fullscreen ();
+-		public void unmaximize (Meta.MaximizeFlags directions);
+-		public void unminimize ();
+-		public void unset_demands_attention ();
+-		public void unshade (uint32 timestamp);
+-		public void unstick ();
+-		[NoAccessorMethod]
+-		public bool above { get; }
+-		[NoAccessorMethod]
+-		public bool appears_focused { get; }
+-		[NoAccessorMethod]
+-		public bool decorated { get; }
+-		[NoAccessorMethod]
+-		public bool demands_attention { get; }
+-		[NoAccessorMethod]
+-		public bool fullscreen { get; }
+-		public string gtk_app_menu_object_path { get; }
+-		public string gtk_application_id { get; }
+-		public string gtk_application_object_path { get; }
+-		public string gtk_menubar_object_path { get; }
+-		public string gtk_unique_bus_name { get; }
+-		public string gtk_window_object_path { get; }
+-		[NoAccessorMethod]
+-		public Cairo.Surface icon { owned get; }
+-		[NoAccessorMethod]
+-		public bool maximized_horizontally { get; }
+-		[NoAccessorMethod]
+-		public bool maximized_vertically { get; }
+-		[NoAccessorMethod]
+-		public Cairo.Surface mini_icon { owned get; }
+-		[NoAccessorMethod]
+-		public bool minimized { get; }
+-		public string mutter_hints { get; }
+-		[NoAccessorMethod]
+-		public bool on_all_workspaces { get; }
+-		[NoAccessorMethod]
+-		public bool resizeable { get; }
+-		[NoAccessorMethod]
+-		public bool skip_taskbar { get; }
+-		public string title { get; }
+-		[NoAccessorMethod]
+-		public bool urgent { get; }
+-		public uint user_time { get; }
+-		public Meta.WindowType window_type { get; }
+-		public string wm_class { get; }
+-		[CCode (cname = "focus")]
+-		public signal void focused ();
+-		public signal void position_changed ();
+-		public signal void raised ();
+-		public signal void size_changed ();
+-		public signal void unmanaged ();
+-		public signal void workspace_changed ();
+-	}
+-	[CCode (cheader_filename = "meta/meta-window-actor.h", type_id = "meta_window_actor_get_type ()")]
+-	public class WindowActor : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+-		[CCode (has_construct_function = false)]
+-		protected WindowActor ();
+-		public unowned Meta.Window get_meta_window ();
+-		public unowned Clutter.Actor get_texture ();
+-		public X.Window get_x_window ();
+-		public bool is_destroyed ();
+-		[NoAccessorMethod]
+-		public string shadow_class { owned get; set; }
+-		[NoAccessorMethod]
+-		public Meta.ShadowMode shadow_mode { get; set; }
+-		public signal void first_frame ();
+-	}
+-	[CCode (cheader_filename = "meta/meta_window_shape.h", ref_function = "meta_window_shape_ref", type_id = "meta_window_shape_get_type ()", unref_function = "meta_window_shape_unref")]
+-	[Compact]
+-	public class WindowShape {
+-		[CCode (has_construct_function = false)]
+-		public WindowShape (Cairo.Region region);
+-		public bool equal (Meta.WindowShape shape_b);
+-		public void get_borders (int border_top, int border_right, int border_bottom, int border_left);
+-		public uint hash ();
+-		public Meta.WindowShape @ref ();
+-		public Cairo.Region to_region (int center_width, int center_height);
+-		public void unref ();
+-	}
+-	[CCode (cheader_filename = "meta/workspace.h", type_id = "meta_workspace_get_type ()")]
+-	public class Workspace : GLib.Object {
+-		[CCode (has_construct_function = false)]
+-		protected Workspace ();
+-		public void activate (uint32 timestamp);
+-		public void activate_with_focus (Meta.Window focus_this, uint32 timestamp);
+-		public unowned Meta.Workspace get_neighbor (Meta.MotionDirection direction);
+-		public unowned Meta.Screen get_screen ();
+-		public Meta.Rectangle get_work_area_all_monitors ();
+-		public Meta.Rectangle get_work_area_for_monitor (int which_monitor);
+-		public int index ();
+-		public GLib.List<weak Meta.Window> list_windows ();
+-		public void set_builtin_struts (GLib.SList<Meta.Strut> struts);
+-		[NoAccessorMethod]
+-		public uint n_windows { get; }
+-		[NoAccessorMethod]
+-		public uint workspace_index { get; }
+-		public signal void window_added (Meta.Window object);
+-		public signal void window_removed (Meta.Window object);
+-	}
+-	[CCode (cheader_filename = "meta/common.h", has_type_id = false)]
+-	public struct ButtonLayout {
+-		[CCode (array_length = false, array_null_terminated = true)]
+-		public weak Meta.ButtonFunction[] left_buttons;
+-		[CCode (array_length = false, array_null_terminated = true)]
+-		public weak bool[] left_buttons_has_spacer;
+-		[CCode (array_length = false, array_null_terminated = true)]
+-		public weak Meta.ButtonFunction[] right_buttons;
+-		[CCode (array_length = false, array_null_terminated = true)]
+-		public weak bool[] right_buttons_has_spacer;
+-	}
+-	[CCode (cheader_filename = "meta/boxes.h", has_type_id = false)]
+-	public struct Edge {
+-		public Meta.Rectangle rect;
+-		public Meta.Side side_type;
+-		public Meta.EdgeType edge_type;
+-	}
+-	[CCode (cheader_filename = "meta/common.h", has_type_id = false)]
+-	public struct FrameBorders {
+-		public Gtk.Border visible;
+-		public Gtk.Border invisible;
+-		public Gtk.Border total;
+-		public void clear ();
+-	}
+-	[CCode (cheader_filename = "meta/meta-plugin.h", has_type_id = false)]
+-	public struct PluginInfo {
+-		public weak string name;
+-		public weak string version;
+-		public weak string author;
+-		public weak string license;
+-		public weak string description;
+-	}
+-	[CCode (cheader_filename = "meta/meta-plugin.h", has_type_id = false)]
+-	public struct PluginVersion {
+-		public uint version_major;
+-		public uint version_minor;
+-		public uint version_micro;
+-		public uint version_api;
+-	}
+-	[CCode (cheader_filename = "meta/boxes.h", has_type_id = false)]
+-	public struct Rectangle {
+-		public int x;
+-		public int y;
+-		public int width;
+-		public int height;
+-		public int area ();
+-		public bool contains_rect (Meta.Rectangle inner_rect);
+-		public bool could_fit_rect (Meta.Rectangle inner_rect);
+-		public bool equal (Meta.Rectangle src2);
+-		public bool horiz_overlap (Meta.Rectangle rect2);
+-		public bool intersect (Meta.Rectangle src2, out Meta.Rectangle dest);
+-		public bool overlap (Meta.Rectangle rect2);
+-		public Meta.Rectangle union (Meta.Rectangle rect2);
+-		public bool vert_overlap (Meta.Rectangle rect2);
+-	}
+-	[CCode (cheader_filename = "meta/meta-shadow-factory.h", has_type_id = false)]
+-	public struct ShadowParams {
+-		public int radius;
+-		public int top_fade;
+-		public int x_offset;
+-		public int y_offset;
+-		public uint8 opacity;
+-	}
+-	[CCode (cheader_filename = "meta/boxes.h", has_type_id = false)]
+-	public struct Strut {
+-		public Meta.Rectangle rect;
+-		public Meta.Side side;
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h", cprefix = "META_BARRIER_DIRECTION_", type_id = "meta_barrier_direction_get_type ()")]
+-	[Flags]
+-	public enum BarrierDirection {
+-		POSITIVE_X,
+-		POSITIVE_Y,
+-		NEGATIVE_X,
+-		NEGATIVE_Y
+-	}
+-	[CCode (cheader_filename = "meta/common.h", cprefix = "META_BUTTON_FUNCTION_", type_id = "meta_button_function_get_type ()")]
+-	public enum ButtonFunction {
+-		MENU,
+-		MINIMIZE,
+-		MAXIMIZE,
+-		CLOSE,
+-		SHADE,
+-		ABOVE,
+-		STICK,
+-		UNSHADE,
+-		UNABOVE,
+-		UNSTICK,
+-		APPMENU,
+-		LAST
+-	}
+-	[CCode (cheader_filename = "meta/compositor.h", cprefix = "META_COMP_EFFECT_", type_id = "meta_comp_effect_get_type ()")]
+-	public enum CompEffect {
+-		CREATE,
+-		UNMINIMIZE,
+-		DESTROY,
+-		MINIMIZE,
+-		NONE
+-	}
+-	[CCode (cheader_filename = "meta/common.h", cprefix = "META_CURSOR_", type_id = "meta_cursor_get_type ()")]
+-	public enum Cursor {
+-		NONE,
+-		DEFAULT,
+-		NORTH_RESIZE,
+-		SOUTH_RESIZE,
+-		WEST_RESIZE,
+-		EAST_RESIZE,
+-		SE_RESIZE,
+-		SW_RESIZE,
+-		NE_RESIZE,
+-		NW_RESIZE,
+-		MOVE_OR_RESIZE_WINDOW,
+-		BUSY,
+-		DND_IN_DRAG,
+-		DND_MOVE,
+-		DND_COPY,
+-		DND_UNSUPPORTED_TARGET,
+-		POINTING_HAND,
+-		CROSSHAIR,
+-		IBEAM,
+-		LAST
+-	}
+-	[CCode (cheader_filename = "meta/util.h", cprefix = "META_DEBUG_", type_id = "meta_debug_topic_get_type ()")]
+-	[Flags]
+-	public enum DebugTopic {
+-		VERBOSE,
+-		FOCUS,
+-		WORKAREA,
+-		STACK,
+-		THEMES,
+-		SM,
+-		EVENTS,
+-		WINDOW_STATE,
+-		WINDOW_OPS,
+-		GEOMETRY,
+-		PLACEMENT,
+-		PING,
+-		XINERAMA,
+-		KEYBINDINGS,
+-		SYNC,
+-		ERRORS,
+-		STARTUP,
+-		PREFS,
+-		GROUPS,
+-		RESIZING,
+-		SHAPES,
+-		COMPOSITOR,
+-		EDGE_RESISTANCE,
+-		DBUS
+-	}
+-	[CCode (cheader_filename = "meta/common.h", cprefix = "META_DIRECTION_", type_id = "meta_direction_get_type ()")]
+-	[Flags]
+-	public enum Direction {
+-		LEFT,
+-		RIGHT,
+-		TOP,
+-		BOTTOM,
+-		UP,
+-		DOWN,
+-		HORIZONTAL,
+-		VERTICAL
+-	}
+-	[CCode (cheader_filename = "meta/boxes.h", cprefix = "META_EDGE_", type_id = "meta_edge_type_get_type ()")]
+-	public enum EdgeType {
+-		WINDOW,
+-		MONITOR,
+-		SCREEN
+-	}
+-	[CCode (cheader_filename = "meta/main.h", cprefix = "META_EXIT_", type_id = "meta_exit_code_get_type ()")]
+-	public enum ExitCode {
+-		SUCCESS,
+-		ERROR
+-	}
+-	[CCode (cheader_filename = "meta/common.h", cprefix = "META_FRAME_", type_id = "meta_frame_flags_get_type ()")]
+-	[Flags]
+-	public enum FrameFlags {
+-		ALLOWS_DELETE,
+-		ALLOWS_MENU,
+-		ALLOWS_APPMENU,
+-		ALLOWS_MINIMIZE,
+-		ALLOWS_MAXIMIZE,
+-		ALLOWS_VERTICAL_RESIZE,
+-		ALLOWS_HORIZONTAL_RESIZE,
+-		HAS_FOCUS,
+-		SHADED,
+-		STUCK,
+-		MAXIMIZED,
+-		ALLOWS_SHADE,
+-		ALLOWS_MOVE,
+-		FULLSCREEN,
+-		IS_FLASHING,
+-		ABOVE,
+-		TILED_LEFT,
+-		TILED_RIGHT
+-	}
+-	[CCode (cheader_filename = "meta/common.h", cprefix = "META_FRAME_TYPE_", type_id = "meta_frame_type_get_type ()")]
+-	public enum FrameType {
+-		NORMAL,
+-		DIALOG,
+-		MODAL_DIALOG,
+-		UTILITY,
+-		MENU,
+-		BORDER,
+-		ATTACHED,
+-		LAST;
+-		[CCode (cheader_filename = "meta/main.h")]
+-		public static unowned string to_string (Meta.FrameType type);
+-	}
+-	[CCode (cheader_filename = "meta/common.h", cprefix = "META_GRAB_OP_", type_id = "meta_grab_op_get_type ()")]
+-	public enum GrabOp {
+-		NONE,
+-		COMPOSITOR,
+-		WAYLAND_POPUP,
+-		WINDOW_BASE,
+-		FRAME_BUTTON,
+-		MOVING,
+-		RESIZING_NW,
+-		RESIZING_N,
+-		RESIZING_NE,
+-		RESIZING_E,
+-		RESIZING_SW,
+-		RESIZING_S,
+-		RESIZING_SE,
+-		RESIZING_W,
+-		KEYBOARD_MOVING,
+-		KEYBOARD_RESIZING_UNKNOWN,
+-		KEYBOARD_RESIZING_NW,
+-		KEYBOARD_RESIZING_N,
+-		KEYBOARD_RESIZING_NE,
+-		KEYBOARD_RESIZING_E,
+-		KEYBOARD_RESIZING_SW,
+-		KEYBOARD_RESIZING_S,
+-		KEYBOARD_RESIZING_SE,
+-		KEYBOARD_RESIZING_W
+-	}
+-	[CCode (cheader_filename = "meta/prefs.h", cprefix = "META_KEYBINDING_ACTION_", type_id = "meta_key_binding_action_get_type ()")]
+-	public enum KeyBindingAction {
+-		NONE,
+-		WORKSPACE_1,
+-		WORKSPACE_2,
+-		WORKSPACE_3,
+-		WORKSPACE_4,
+-		WORKSPACE_5,
+-		WORKSPACE_6,
+-		WORKSPACE_7,
+-		WORKSPACE_8,
+-		WORKSPACE_9,
+-		WORKSPACE_10,
+-		WORKSPACE_11,
+-		WORKSPACE_12,
+-		WORKSPACE_LEFT,
+-		WORKSPACE_RIGHT,
+-		WORKSPACE_UP,
+-		WORKSPACE_DOWN,
+-		WORKSPACE_LAST,
+-		SWITCH_APPLICATIONS,
+-		SWITCH_APPLICATIONS_BACKWARD,
+-		SWITCH_GROUP,
+-		SWITCH_GROUP_BACKWARD,
+-		SWITCH_WINDOWS,
+-		SWITCH_WINDOWS_BACKWARD,
+-		SWITCH_PANELS,
+-		SWITCH_PANELS_BACKWARD,
+-		CYCLE_GROUP,
+-		CYCLE_GROUP_BACKWARD,
+-		CYCLE_WINDOWS,
+-		CYCLE_WINDOWS_BACKWARD,
+-		CYCLE_PANELS,
+-		CYCLE_PANELS_BACKWARD,
+-		SHOW_DESKTOP,
+-		PANEL_MAIN_MENU,
+-		PANEL_RUN_DIALOG,
+-		TOGGLE_RECORDING,
+-		SET_SPEW_MARK,
+-		ACTIVATE_WINDOW_MENU,
+-		TOGGLE_FULLSCREEN,
+-		TOGGLE_MAXIMIZED,
+-		TOGGLE_TILED_LEFT,
+-		TOGGLE_TILED_RIGHT,
+-		TOGGLE_ABOVE,
+-		MAXIMIZE,
+-		UNMAXIMIZE,
+-		TOGGLE_SHADED,
+-		MINIMIZE,
+-		CLOSE,
+-		BEGIN_MOVE,
+-		BEGIN_RESIZE,
+-		TOGGLE_ON_ALL_WORKSPACES,
+-		MOVE_TO_WORKSPACE_1,
+-		MOVE_TO_WORKSPACE_2,
+-		MOVE_TO_WORKSPACE_3,
+-		MOVE_TO_WORKSPACE_4,
+-		MOVE_TO_WORKSPACE_5,
+-		MOVE_TO_WORKSPACE_6,
+-		MOVE_TO_WORKSPACE_7,
+-		MOVE_TO_WORKSPACE_8,
+-		MOVE_TO_WORKSPACE_9,
+-		MOVE_TO_WORKSPACE_10,
+-		MOVE_TO_WORKSPACE_11,
+-		MOVE_TO_WORKSPACE_12,
+-		MOVE_TO_WORKSPACE_LEFT,
+-		MOVE_TO_WORKSPACE_RIGHT,
+-		MOVE_TO_WORKSPACE_UP,
+-		MOVE_TO_WORKSPACE_DOWN,
+-		MOVE_TO_WORKSPACE_LAST,
+-		MOVE_TO_MONITOR_LEFT,
+-		MOVE_TO_MONITOR_RIGHT,
+-		MOVE_TO_MONITOR_UP,
+-		MOVE_TO_MONITOR_DOWN,
+-		RAISE_OR_LOWER,
+-		RAISE,
+-		LOWER,
+-		MAXIMIZE_VERTICALLY,
+-		MAXIMIZE_HORIZONTALLY,
+-		MOVE_TO_CORNER_NW,
+-		MOVE_TO_CORNER_NE,
+-		MOVE_TO_CORNER_SW,
+-		MOVE_TO_CORNER_SE,
+-		MOVE_TO_SIDE_N,
+-		MOVE_TO_SIDE_S,
+-		MOVE_TO_SIDE_E,
+-		MOVE_TO_SIDE_W,
+-		MOVE_TO_CENTER,
+-		OVERLAY_KEY,
+-		ISO_NEXT_GROUP,
+-		ALWAYS_ON_TOP,
+-		LAST
+-	}
+-	[CCode (cheader_filename = "meta/prefs.h", cprefix = "META_KEY_BINDING_", type_id = "meta_key_binding_flags_get_type ()")]
+-	[Flags]
+-	public enum KeyBindingFlags {
+-		NONE,
+-		PER_WINDOW,
+-		BUILTIN,
+-		IS_REVERSED
+-	}
+-	[CCode (cheader_filename = "meta/util.h", cprefix = "META_LATER_", type_id = "meta_later_type_get_type ()")]
+-	public enum LaterType {
+-		RESIZE,
+-		CALC_SHOWING,
+-		CHECK_FULLSCREEN,
+-		SYNC_STACK,
+-		BEFORE_REDRAW,
+-		IDLE
+-	}
+-	[CCode (cheader_filename = "meta/util.h", cprefix = "META_LOCALE_DIRECTION_", type_id = "meta_locale_direction_get_type ()")]
+-	public enum LocaleDirection {
+-		LTR,
+-		RTL
+-	}
+-	[CCode (cheader_filename = "meta/window.h", cprefix = "META_MAXIMIZE_", type_id = "meta_maximize_flags_get_type ()")]
+-	[Flags]
+-	public enum MaximizeFlags {
+-		HORIZONTAL,
+-		VERTICAL,
+-		BOTH
+-	}
+-	[CCode (cheader_filename = "meta/meta-plugin.h", cprefix = "META_MODAL_", type_id = "meta_modal_options_get_type ()")]
+-	[Flags]
+-	public enum ModalOptions {
+-		POINTER_ALREADY_GRABBED,
+-		KEYBOARD_ALREADY_GRABBED
+-	}
+-	[CCode (cheader_filename = "meta/common.h", cprefix = "META_MOTION_", type_id = "meta_motion_direction_get_type ()")]
+-	public enum MotionDirection {
+-		UP,
+-		DOWN,
+-		LEFT,
+-		RIGHT,
+-		UP_LEFT,
+-		UP_RIGHT,
+-		DOWN_LEFT,
+-		DOWN_RIGHT
+-	}
+-	[CCode (cheader_filename = "meta/prefs.h", cprefix = "META_PREF_", type_id = "meta_preference_get_type ()")]
+-	public enum Preference {
+-		MOUSE_BUTTON_MODS,
+-		FOCUS_MODE,
+-		FOCUS_NEW_WINDOWS,
+-		ATTACH_MODAL_DIALOGS,
+-		RAISE_ON_CLICK,
+-		ACTION_DOUBLE_CLICK_TITLEBAR,
+-		ACTION_MIDDLE_CLICK_TITLEBAR,
+-		ACTION_RIGHT_CLICK_TITLEBAR,
+-		AUTO_RAISE,
+-		AUTO_RAISE_DELAY,
+-		FOCUS_CHANGE_ON_POINTER_REST,
+-		TITLEBAR_FONT,
+-		NUM_WORKSPACES,
+-		DYNAMIC_WORKSPACES,
+-		KEYBINDINGS,
+-		DISABLE_WORKAROUNDS,
+-		BUTTON_LAYOUT,
+-		WORKSPACE_NAMES,
+-		VISUAL_BELL,
+-		AUDIBLE_BELL,
+-		VISUAL_BELL_TYPE,
+-		GNOME_ACCESSIBILITY,
+-		GNOME_ANIMATIONS,
+-		CURSOR_THEME,
+-		CURSOR_SIZE,
+-		RESIZE_WITH_RIGHT_BUTTON,
+-		EDGE_TILING,
+-		FORCE_FULLSCREEN,
+-		WORKSPACES_ONLY_ON_PRIMARY,
+-		DRAGGABLE_BORDER_WIDTH,
+-		AUTO_MAXIMIZE,
+-		CENTER_NEW_WINDOWS,
+-		DRAG_THRESHOLD;
+-		[CCode (cheader_filename = "meta/main.h")]
+-		public static unowned string to_string (Meta.Preference pref);
+-	}
+-	[CCode (cheader_filename = "meta/screen.h", cprefix = "META_SCREEN_", type_id = "meta_screen_corner_get_type ()")]
+-	public enum ScreenCorner {
+-		TOPLEFT,
+-		TOPRIGHT,
+-		BOTTOMLEFT,
+-		BOTTOMRIGHT
+-	}
+-	[CCode (cheader_filename = "meta/meta-enum-types.h", cprefix = "META_SCREEN_", type_id = "meta_screen_direction_get_type ()")]
+-	public enum ScreenDirection {
+-		UP,
+-		DOWN,
+-		LEFT,
+-		RIGHT
+-	}
+-	[CCode (cheader_filename = "meta/meta-enum-types.h", cprefix = "META_SHADOW_MODE_", type_id = "meta_shadow_mode_get_type ()")]
+-	public enum ShadowMode {
+-		AUTO,
+-		FORCED_OFF,
+-		FORCED_ON
+-	}
+-	[CCode (cheader_filename = "meta/common.h", cprefix = "META_SIDE_", type_id = "meta_side_get_type ()")]
+-	public enum Side {
+-		LEFT,
+-		RIGHT,
+-		TOP,
+-		BOTTOM
+-	}
+-	[CCode (cheader_filename = "meta/meta-enum-types.h", cprefix = "META_SIZE_CHANGE_", type_id = "meta_size_change_get_type ()")]
+-	public enum SizeChange {
+-		MAXIMIZE,
+-		UNMAXIMIZE,
+-		FULLSCREEN,
+-		UNFULLSCREEN
+-	}
+-	[CCode (cheader_filename = "meta/common.h", cprefix = "META_LAYER_", type_id = "meta_stack_layer_get_type ()")]
+-	public enum StackLayer {
+-		DESKTOP,
+-		BOTTOM,
+-		NORMAL,
+-		TOP,
+-		DOCK,
+-		FULLSCREEN,
+-		FOCUSED_WINDOW,
+-		OVERRIDE_REDIRECT,
+-		LAST
+-	}
+-	[CCode (cheader_filename = "meta/display.h", cprefix = "META_TAB_LIST_", type_id = "meta_tab_list_get_type ()")]
+-	public enum TabList {
+-		NORMAL,
+-		DOCKS,
+-		GROUP,
+-		NORMAL_ALL
+-	}
+-	[CCode (cheader_filename = "meta/display.h", cprefix = "META_TAB_SHOW_", type_id = "meta_tab_show_type_get_type ()")]
+-	public enum TabShowType {
+-		ICON,
+-		INSTANTLY
+-	}
+-	[CCode (cheader_filename = "meta/common.h", cprefix = "META_VIRTUAL_", type_id = "meta_virtual_modifier_get_type ()")]
+-	[Flags]
+-	public enum VirtualModifier {
+-		SHIFT_MASK,
+-		CONTROL_MASK,
+-		ALT_MASK,
+-		META_MASK,
+-		SUPER_MASK,
+-		HYPER_MASK,
+-		MOD2_MASK,
+-		MOD3_MASK,
+-		MOD4_MASK,
+-		MOD5_MASK
+-	}
+-	[CCode (cheader_filename = "meta/window.h", cprefix = "META_WINDOW_CLIENT_TYPE_", type_id = "meta_window_client_type_get_type ()")]
+-	public enum WindowClientType {
+-		WAYLAND,
+-		X11
+-	}
+-	[CCode (cheader_filename = "meta/common.h", cprefix = "META_WINDOW_MENU_", type_id = "meta_window_menu_type_get_type ()")]
+-	public enum WindowMenuType {
+-		WM,
+-		APP
+-	}
+-	[CCode (cheader_filename = "meta/window.h", cprefix = "META_WINDOW_", type_id = "meta_window_type_get_type ()")]
+-	public enum WindowType {
+-		NORMAL,
+-		DESKTOP,
+-		DOCK,
+-		DIALOG,
+-		MODAL_DIALOG,
+-		TOOLBAR,
+-		MENU,
+-		UTILITY,
+-		SPLASHSCREEN,
+-		DROPDOWN_MENU,
+-		POPUP_MENU,
+-		TOOLTIP,
+-		NOTIFICATION,
+-		COMBO,
+-		DND,
+-		OVERRIDE_OTHER
+-	}
+-	[CCode (cheader_filename = "meta/meta-idle-monitor.h", instance_pos = 2.9)]
+-	public delegate void IdleMonitorWatchFunc (Meta.IdleMonitor monitor, uint watch_id);
+-	[CCode (cheader_filename = "meta/prefs.h", instance_pos = 5.9)]
+-	public delegate void KeyHandlerFunc (Meta.Display display, Meta.Screen screen, Meta.Window? window, Clutter.KeyEvent? event, Meta.KeyBinding binding);
+-	[CCode (cheader_filename = "meta/prefs.h", instance_pos = 1.9)]
+-	public delegate void PrefsChangedFunc (Meta.Preference pref);
+-	[CCode (cheader_filename = "meta/window.h", instance_pos = 1.9)]
+-	public delegate bool WindowForeachFunc (Meta.Window window);
+-	[CCode (cheader_filename = "meta/main.h", cname = "META_DEFAULT_ICON_NAME")]
+-	public const string DEFAULT_ICON_NAME;
+-	[CCode (cheader_filename = "meta/main.h", cname = "META_ICON_HEIGHT")]
+-	public const int ICON_HEIGHT;
+-	[CCode (cheader_filename = "meta/main.h", cname = "META_ICON_WIDTH")]
+-	public const int ICON_WIDTH;
+-	[CCode (cheader_filename = "meta/main.h", cname = "META_MAJOR_VERSION")]
+-	public const int MAJOR_VERSION;
+-	[CCode (cheader_filename = "meta/main.h", cname = "META_MICRO_VERSION")]
+-	public const int MICRO_VERSION;
+-	[CCode (cheader_filename = "meta/main.h", cname = "META_MINI_ICON_HEIGHT")]
+-	public const int MINI_ICON_HEIGHT;
+-	[CCode (cheader_filename = "meta/main.h", cname = "META_MINI_ICON_WIDTH")]
+-	public const int MINI_ICON_WIDTH;
+-	[CCode (cheader_filename = "meta/main.h", cname = "META_MINOR_VERSION")]
+-	public const int MINOR_VERSION;
+-	[CCode (cheader_filename = "meta/main.h", cname = "META_PLUGIN_API_VERSION")]
+-	public const int PLUGIN_API_VERSION;
+-	[CCode (cheader_filename = "meta/main.h", cname = "META_PRIORITY_BEFORE_REDRAW")]
+-	public const int PRIORITY_BEFORE_REDRAW;
+-	[CCode (cheader_filename = "meta/main.h", cname = "META_PRIORITY_PREFS_NOTIFY")]
+-	public const int PRIORITY_PREFS_NOTIFY;
+-	[CCode (cheader_filename = "meta/main.h", cname = "META_PRIORITY_REDRAW")]
+-	public const int PRIORITY_REDRAW;
+-	[CCode (cheader_filename = "meta/main.h", cname = "META_PRIORITY_RESIZE")]
+-	public const int PRIORITY_RESIZE;
+-	[CCode (cheader_filename = "meta/main.h", cname = "META_VIRTUAL_CORE_KEYBOARD_ID")]
+-	public const int VIRTUAL_CORE_KEYBOARD_ID;
+-	[CCode (cheader_filename = "meta/main.h", cname = "META_VIRTUAL_CORE_POINTER_ID")]
+-	public const int VIRTUAL_CORE_POINTER_ID;
+-	[CCode (cheader_filename = "meta/main.h")]
+-	public static bool activate_session ();
+- 	[CCode (cheader_filename = "meta/main.h")]
+-	public static void clutter_init ();
+-	[CCode (cheader_filename = "meta/main.h")]
+-	public static void exit (Meta.ExitCode code);
+-	[CCode (cheader_filename = "meta/main.h")]
+-	public static unowned GLib.OptionContext get_option_context ();
+-	[CCode (cheader_filename = "meta/main.h")]
+-	public static bool get_replace_current_wm ();
+-	[CCode (cheader_filename = "meta/main.h")]
+-	public static void init ();
+-	[CCode (cheader_filename = "meta/main.h")]
+-	public static bool is_restart ();
+-	[CCode (cheader_filename = "meta/main.h")]
+-	public static void quit (Meta.ExitCode code);
+-	[CCode (cheader_filename = "meta/main.h")]
+-	public static void register_with_session ();
+- 	[CCode (cheader_filename = "meta/main.h")]
+-	public static void restart (string message);
+-	[CCode (cheader_filename = "meta/main.h")]
+-	public static int run ();
+-	[CCode (cheader_filename = "meta/main.h")]
+-	public static void set_gnome_wm_keybindings (string wm_keybindings);
+-	[CCode (cheader_filename = "meta/main.h")]
+-	public static void set_wm_name (string wm_name);
+-}
+diff --git vapi/libmutter-3-custom.vala vapi/libmutter-3-custom.vala
+deleted file mode 100644
+index 29e5977d..00000000
+--- vapi/libmutter-3-custom.vala
++++ /dev/null
+@@ -1,6 +0,0 @@
+-namespace Meta {
+-	public abstract class MonitorManager : Meta.DBusDisplayConfigSkeleton, GLib.DBusInterface {
+-		/* not exported */
+-		public signal void monitors_changed ();
+-	}
+-}
+diff --git vapi/libmutter-3.deps vapi/libmutter-3.deps
+deleted file mode 100644
+index 1f3c9079..00000000
+--- vapi/libmutter-3.deps
++++ /dev/null
+@@ -1,9 +0,0 @@
+-cairo
+-gsettings-desktop-schemas
+-gdk-3.0
+-gdk-pixbuf-2.0
+-gtk+-3.0
+-x11
+-xfixes-4.0
+-clutter-1.0
+-cogl-1.0
+diff --git vapi/libmutter-4.deps vapi/libmutter-4.deps
+deleted file mode 100644
+index 367c35b9..00000000
+--- vapi/libmutter-4.deps
++++ /dev/null
+@@ -1,8 +0,0 @@
+-gdk-3.0
+-gdk-pixbuf-2.0
+-gsettings-desktop-schemas
+-gtk+-3.0
+-mutter-clutter-4
+-mutter-cogl-4
+-x11
+-xfixes-4.0
+diff --git vapi/libmutter-4.vapi vapi/libmutter-4.vapi
+deleted file mode 100644
+index e0d356a0..00000000
+--- vapi/libmutter-4.vapi
++++ /dev/null
+@@ -1,1425 +0,0 @@
+-/* libmutter-4.vapi generated by vapigen, do not modify. */
+-
+-[CCode (cprefix = "Meta", gir_namespace = "Meta", gir_version = "4", lower_case_cprefix = "meta_")]
+-namespace Meta {
+-	namespace Compositor {
+-		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_disable_unredirect_for_display")]
+-		public static void disable_unredirect_for_display (Meta.Display display);
+-		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_empty_stage_input_region")]
+-		public static void empty_stage_input_region (Meta.Display display);
+-		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_enable_unredirect_for_display")]
+-		public static void enable_unredirect_for_display (Meta.Display display);
+-		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_focus_stage_window")]
+-		public static void focus_stage_window (Meta.Display display, uint32 timestamp);
+-		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_get_feedback_group_for_display")]
+-		public static unowned Clutter.Actor get_feedback_group_for_display (Meta.Display display);
+-		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_get_stage_for_display")]
+-		public static unowned Clutter.Actor get_stage_for_display (Meta.Display display);
+-		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_get_top_window_group_for_display")]
+-		public static unowned Clutter.Actor get_top_window_group_for_display (Meta.Display display);
+-		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_get_window_actors")]
+-		public static unowned GLib.List<Clutter.Actor> get_window_actors (Meta.Display display);
+-		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_get_window_group_for_display")]
+-		public static unowned Clutter.Actor get_window_group_for_display (Meta.Display display);
+-		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_set_stage_input_region")]
+-		public static void set_stage_input_region (Meta.Display display, X.XserverRegion region);
+-	}
+-	namespace Prefs {
+-		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_bell_is_audible")]
+-		public static bool prefs_bell_is_audible ();
+-		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_change_workspace_name")]
+-		public static void prefs_change_workspace_name (int i, string name);
+-		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_get_action_double_click_titlebar")]
+-		public static GDesktop.TitlebarAction prefs_get_action_double_click_titlebar ();
+-		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_get_action_middle_click_titlebar")]
+-		public static GDesktop.TitlebarAction prefs_get_action_middle_click_titlebar ();
+-		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_get_action_right_click_titlebar")]
+-		public static GDesktop.TitlebarAction prefs_get_action_right_click_titlebar ();
+-		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_get_attach_modal_dialogs")]
+-		public static bool prefs_get_attach_modal_dialogs ();
+-		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_get_auto_maximize")]
+-		public static bool prefs_get_auto_maximize ();
+-		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_get_auto_raise")]
+-		public static bool prefs_get_auto_raise ();
+-		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_get_auto_raise_delay")]
+-		public static int prefs_get_auto_raise_delay ();
+-		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_get_button_layout")]
+-		public static Meta.ButtonLayout prefs_get_button_layout ();
+-		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_get_center_new_windows")]
+-		public static bool prefs_get_center_new_windows ();
+-		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_get_compositing_manager")]
+-		public static bool prefs_get_compositing_manager ();
+-		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_get_cursor_size")]
+-		public static int prefs_get_cursor_size ();
+-		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_get_cursor_theme")]
+-		public static unowned string prefs_get_cursor_theme ();
+-		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_get_disable_workarounds")]
+-		public static bool prefs_get_disable_workarounds ();
+-		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_get_drag_threshold")]
+-		public static int prefs_get_drag_threshold ();
+-		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_get_draggable_border_width")]
+-		public static int prefs_get_draggable_border_width ();
+-		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_get_dynamic_workspaces")]
+-		public static bool prefs_get_dynamic_workspaces ();
+-		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_get_edge_tiling")]
+-		public static bool prefs_get_edge_tiling ();
+-		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_get_focus_change_on_pointer_rest")]
+-		public static bool prefs_get_focus_change_on_pointer_rest ();
+-		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_get_focus_mode")]
+-		public static GDesktop.FocusMode prefs_get_focus_mode ();
+-		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_get_focus_new_windows")]
+-		public static GDesktop.FocusNewWindows prefs_get_focus_new_windows ();
+-		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_get_force_fullscreen")]
+-		public static bool prefs_get_force_fullscreen ();
+-		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_get_gnome_accessibility")]
+-		public static bool prefs_get_gnome_accessibility ();
+-		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_get_gnome_animations")]
+-		public static bool prefs_get_gnome_animations ();
+-		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_get_keybinding_action")]
+-		public static Meta.KeyBindingAction prefs_get_keybinding_action (string name);
+-		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_get_mouse_button_menu")]
+-		public static int prefs_get_mouse_button_menu ();
+-		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_get_mouse_button_mods")]
+-		public static Meta.VirtualModifier prefs_get_mouse_button_mods ();
+-		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_get_mouse_button_resize")]
+-		public static int prefs_get_mouse_button_resize ();
+-		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_get_num_workspaces")]
+-		public static int prefs_get_num_workspaces ();
+-		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_get_raise_on_click")]
+-		public static bool prefs_get_raise_on_click ();
+-		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_get_show_fallback_app_menu")]
+-		public static bool prefs_get_show_fallback_app_menu ();
+-		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_get_titlebar_font")]
+-		public static unowned Pango.FontDescription prefs_get_titlebar_font ();
+-		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_get_visual_bell")]
+-		public static bool prefs_get_visual_bell ();
+-		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_get_visual_bell_type")]
+-		public static GDesktop.VisualBellType prefs_get_visual_bell_type ();
+-		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_get_workspace_name")]
+-		public static unowned string prefs_get_workspace_name (int i);
+-		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_get_workspaces_only_on_primary")]
+-		public static bool prefs_get_workspaces_only_on_primary ();
+-		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_init")]
+-		public static void prefs_init ();
+-		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_set_force_fullscreen")]
+-		public static void prefs_set_force_fullscreen (bool whether);
+-		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_set_num_workspaces")]
+-		public static void prefs_set_num_workspaces (int n_workspaces);
+-		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_set_show_fallback_app_menu")]
+-		public static void prefs_set_show_fallback_app_menu (bool whether);
+-	}
+-	namespace Util {
+-		[CCode (cheader_filename = "meta/util.h", cname = "meta_add_verbose_topic")]
+-		public static void add_verbose_topic (Meta.DebugTopic topic);
+-		[CCode (cheader_filename = "meta/util.h", cname = "meta_external_binding_name_for_action")]
+-		public static string external_binding_name_for_action (uint keybinding_action);
+-		[CCode (cheader_filename = "meta/util.h", cname = "meta_g_utf8_strndup")]
+-		public static string g_utf8_strndup (string src, size_t n);
+-		[CCode (cheader_filename = "meta/util.h", cname = "meta_get_locale_direction")]
+-		public static Meta.LocaleDirection get_locale_direction ();
+-		[CCode (cheader_filename = "meta/util.h", cname = "meta_gravity_to_string")]
+-		public static unowned string gravity_to_string (int gravity);
+-		[CCode (cheader_filename = "meta/util.h", cname = "meta_is_debugging")]
+-		public static bool is_debugging ();
+-		[CCode (cheader_filename = "meta/util.h", cname = "meta_is_syncing")]
+-		public static bool is_syncing ();
+-		[CCode (cheader_filename = "meta/util.h", cname = "meta_is_verbose")]
+-		public static bool is_verbose ();
+-		[CCode (cheader_filename = "meta/util.h", cname = "meta_is_wayland_compositor")]
+-		public static bool is_wayland_compositor ();
+-		[CCode (cheader_filename = "meta/util.h", cname = "meta_later_add")]
+-		public static uint later_add (Meta.LaterType when, owned GLib.SourceFunc func);
+-		[CCode (cheader_filename = "meta/util.h", cname = "meta_later_remove")]
+-		public static void later_remove (uint later_id);
+-		[CCode (cheader_filename = "meta/util.h", cname = "meta_pop_no_msg_prefix")]
+-		public static void pop_no_msg_prefix ();
+-		[CCode (cheader_filename = "meta/util.h", cname = "meta_push_no_msg_prefix")]
+-		public static void push_no_msg_prefix ();
+-		[CCode (cheader_filename = "meta/util.h", cname = "meta_rect")]
+-		public static Meta.Rectangle? rect (int x, int y, int width, int height);
+-		[CCode (cheader_filename = "meta/util.h", cname = "meta_remove_verbose_topic")]
+-		public static void remove_verbose_topic (Meta.DebugTopic topic);
+-		[CCode (cheader_filename = "meta/util.h", cname = "meta_show_dialog")]
+-		public static GLib.Pid show_dialog (string type, string message, string timeout, string display, string ok_text, string cancel_text, string icon_name, int transient_for, GLib.SList<void*> columns, GLib.SList<void*> entries);
+-		[CCode (cheader_filename = "meta/util.h", cname = "meta_unsigned_long_equal")]
+-		public static int unsigned_long_equal (void* v1, void* v2);
+-		[CCode (cheader_filename = "meta/util.h", cname = "meta_unsigned_long_hash")]
+-		public static uint unsigned_long_hash (void* v);
+-		[CCode (cheader_filename = "meta/util.h", cname = "meta_x11_error_trap_pop")]
+-		public static void x11_error_trap_pop (Meta.X11Display x11_display);
+-		[CCode (cheader_filename = "meta/util.h", cname = "meta_x11_error_trap_pop_with_return")]
+-		public static int x11_error_trap_pop_with_return (Meta.X11Display x11_display);
+-		[CCode (cheader_filename = "meta/util.h", cname = "meta_x11_error_trap_push")]
+-		public static void x11_error_trap_push (Meta.X11Display x11_display);
+-	}
+-	[CCode (cheader_filename = "meta/meta-backend.h", type_id = "meta_backend_get_type ()")]
+-	public abstract class Backend : GLib.Object, GLib.Initable {
+-		[CCode (has_construct_function = false)]
+-		protected Backend ();
+-		[CCode (cheader_filename = "meta/meta-backend.h", cname = "meta_get_backend")]
+-		public static unowned Meta.Backend get_backend ();
+-		public unowned Meta.Dnd get_dnd ();
+-		public unowned Meta.RemoteAccessController get_remote_access_controller ();
+-		public unowned Clutter.Actor get_stage ();
+-		public void lock_layout_group (uint idx);
+-		public void set_keymap (string layouts, string variants, string options);
+-		public void set_numlock (bool numlock_state);
+-		public signal void keymap_changed ();
+-		public signal void keymap_layout_group_changed (uint object);
+-		public signal void last_device_changed (int object);
+-		public signal void lid_is_closed_changed (bool object);
+-	}
+-	[CCode (cheader_filename = "meta/meta-background.h", type_id = "meta_background_get_type ()")]
+-	public class Background : GLib.Object {
+-		[CCode (has_construct_function = false)]
+-		public Background (Meta.Display display);
+-		public static void refresh_all ();
+-		public void set_blend (GLib.File file1, GLib.File file2, double blend_factor, GDesktop.BackgroundStyle style);
+-		public void set_color (Clutter.Color color);
+-		public void set_file (GLib.File file, GDesktop.BackgroundStyle style);
+-		public void set_gradient (GDesktop.BackgroundShading shading_direction, Clutter.Color color, Clutter.Color second_color);
+-		[NoAccessorMethod]
+-		public Meta.Display meta_display { owned get; construct; }
+-		public signal void changed ();
+-	}
+-	[CCode (cheader_filename = "meta/meta-background-actor.h", type_id = "meta_background_actor_get_type ()")]
+-	public class BackgroundActor : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+-		[CCode (has_construct_function = false, type = "ClutterActor*")]
+-		public BackgroundActor (Meta.Display display, int monitor);
+-		public void set_background (Meta.Background background);
+-		public void set_gradient (bool enabled, int height, double tone_start);
+-		public void set_monitor (int monitor);
+-		public void set_vignette (bool enabled, double brightness, double sharpness);
+-		[NoAccessorMethod]
+-		public Meta.Background background { owned get; set; }
+-		[NoAccessorMethod]
+-		public double brightness { get; set; }
+-		[NoAccessorMethod]
+-		public bool gradient { get; set; }
+-		[NoAccessorMethod]
+-		public int gradient_height { get; set; }
+-		[NoAccessorMethod]
+-		public double gradient_max_darkness { get; set; }
+-		[NoAccessorMethod]
+-		public Meta.Display meta_display { owned get; construct; }
+-		[NoAccessorMethod]
+-		public int monitor { get; construct; }
+-		[NoAccessorMethod]
+-		public bool vignette { get; set; }
+-		[NoAccessorMethod]
+-		public double vignette_sharpness { get; set; }
+-	}
+-	[CCode (cheader_filename = "meta/meta-background-group.h", type_id = "meta_background_group_get_type ()")]
+-	public class BackgroundGroup : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+-		[CCode (has_construct_function = false, type = "ClutterActor*")]
+-		public BackgroundGroup ();
+-	}
+-	[CCode (cheader_filename = "meta/meta-background-image.h", type_id = "meta_background_image_get_type ()")]
+-	public class BackgroundImage : GLib.Object {
+-		[CCode (has_construct_function = false)]
+-		protected BackgroundImage ();
+-		public bool get_success ();
+-		public unowned Cogl.Texture get_texture ();
+-		public bool is_loaded ();
+-		public signal void loaded ();
+-	}
+-	[CCode (cheader_filename = "meta/meta-background-image.h", type_id = "meta_background_image_cache_get_type ()")]
+-	public class BackgroundImageCache : GLib.Object {
+-		[CCode (has_construct_function = false)]
+-		protected BackgroundImageCache ();
+-		public static unowned Meta.BackgroundImageCache get_default ();
+-		public Meta.BackgroundImage load (GLib.File file);
+-		public void purge (GLib.File file);
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", type_id = "meta_barrier_get_type ()")]
+-	public class Barrier : GLib.Object {
+-		[CCode (has_construct_function = false)]
+-		protected Barrier ();
+-		public void destroy ();
+-		public bool is_active ();
+-		public void release (Meta.BarrierEvent event);
+-		[NoAccessorMethod]
+-		public Meta.BarrierDirection directions { get; construct; }
+-		[NoAccessorMethod]
+-		public Meta.Display display { owned get; construct; }
+-		[NoAccessorMethod]
+-		public int x1 { get; construct; }
+-		[NoAccessorMethod]
+-		public int x2 { get; construct; }
+-		[NoAccessorMethod]
+-		public int y1 { get; construct; }
+-		[NoAccessorMethod]
+-		public int y2 { get; construct; }
+-		public signal void hit (Meta.BarrierEvent event);
+-		public signal void left (Meta.BarrierEvent event);
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "meta_barrier_event_get_type ()")]
+-	[Compact]
+-	public class BarrierEvent {
+-		public int dt;
+-		public double dx;
+-		public double dy;
+-		public int event_id;
+-		public bool grabbed;
+-		public bool released;
+-		public uint32 time;
+-		public double x;
+-		public double y;
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", type_id = "meta_cursor_tracker_get_type ()")]
+-	public class CursorTracker : GLib.Object {
+-		[CCode (has_construct_function = false)]
+-		protected CursorTracker ();
+-		public static unowned Meta.CursorTracker get_for_display (Meta.Display display);
+-		public void get_hot (out int x, out int y);
+-		public void get_pointer (int x, int y, Clutter.ModifierType mods);
+-		public unowned Cogl.Texture get_sprite ();
+-		public void set_pointer_visible (bool visible);
+-		public signal void cursor_changed ();
+-		public signal void cursor_moved (float object, float p0);
+-	}
+-	[CCode (cheader_filename = "meta/display.h", type_id = "meta_display_get_type ()")]
+-	public class Display : GLib.Object {
+-		[CCode (has_construct_function = false)]
+-		protected Display ();
+-		public void add_ignored_crossing_serial (ulong serial);
+-		public uint add_keybinding (string name, GLib.Settings settings, Meta.KeyBindingFlags flags, owned Meta.KeyHandlerFunc handler);
+-		public bool begin_grab_op (Meta.Window window, Meta.GrabOp op, bool pointer_already_grabbed, bool frame_action, int button, ulong modmask, uint32 timestamp, int root_x, int root_y);
+-		public void clear_mouse_mode ();
+-		public void close (uint32 timestamp);
+-		public void end_grab_op (uint32 timestamp);
+-		public void focus_default_window (uint32 timestamp);
+-		public void freeze_keyboard (uint32 timestamp);
+-		public int get_current_monitor ();
+-		public uint32 get_current_time ();
+-		public uint32 get_current_time_roundtrip ();
+-		public unowned Meta.Window get_focus_window ();
+-		public Meta.GrabOp get_grab_op ();
+-		public uint get_keybinding_action (uint keycode, ulong mask);
+-		public uint32 get_last_user_time ();
+-		public Meta.Rectangle get_monitor_geometry (int monitor);
+-		public bool get_monitor_in_fullscreen (int monitor);
+-		public int get_monitor_index_for_rect (Meta.Rectangle rect);
+-		public int get_monitor_neighbor_index (int which_monitor, Meta.DisplayDirection dir);
+-		public int get_n_monitors ();
+-		public string get_pad_action_label (Clutter.InputDevice pad, Meta.PadActionType action_type, uint action_number);
+-		public int get_primary_monitor ();
+-		public void get_size (out int width, out int height);
+-		public unowned Meta.SoundPlayer get_sound_player ();
+-		public unowned Meta.Window get_tab_current (Meta.TabList type, Meta.Workspace workspace);
+-		public GLib.List<weak Meta.Window> get_tab_list (Meta.TabList type, Meta.Workspace? workspace);
+-		public unowned Meta.Window get_tab_next (Meta.TabList type, Meta.Workspace workspace, Meta.Window? window, bool backward);
+-		public unowned Meta.WorkspaceManager get_workspace_manager ();
+-		public uint grab_accelerator (string accelerator, Meta.KeyBindingFlags flags);
+-		public bool is_pointer_emulating_sequence (Clutter.EventSequence? sequence);
+-		public bool remove_keybinding (string name);
+-		public void request_pad_osd (Clutter.InputDevice pad, bool edition_mode);
+-		public void set_cursor (Meta.Cursor cursor);
+-		public GLib.SList<weak Meta.Window> sort_windows_by_stacking (GLib.SList<Meta.Window> windows);
+-		public bool supports_extended_barriers ();
+-		public void unfreeze_keyboard (uint32 timestamp);
+-		public bool ungrab_accelerator (uint action_id);
+-		public void ungrab_keyboard (uint32 timestamp);
+-		public bool xserver_time_is_before (uint32 time1, uint32 time2);
+-		public Meta.Window focus_window { get; }
+-		public signal void accelerator_activated (uint object, uint p0, uint p1);
+-		public signal void cursor_updated ();
+-		public signal void gl_video_memory_purged ();
+-		public signal void grab_op_begin (Meta.Display object, Meta.Window p0, Meta.GrabOp p1);
+-		public signal void grab_op_end (Meta.Display object, Meta.Window p0, Meta.GrabOp p1);
+-		public signal void in_fullscreen_changed ();
+-		public signal bool modifiers_accelerator_activated ();
+-		public signal void overlay_key ();
+-		public signal void pad_mode_switch (Clutter.InputDevice object, uint p0, uint p1);
+-		public signal void restacked ();
+-		public signal bool restart ();
+-		public signal void show_osd (int object, string p0, string p1);
+-		public signal unowned Clutter.Actor? show_pad_osd (Clutter.InputDevice pad, GLib.Settings settings, string layout_path, bool edition_mode, int monitor_idx);
+-		public signal bool show_resize_popup (bool object, Meta.Rectangle p0, int p1, int p2);
+-		public signal bool show_restart_message (string? message);
+-		public signal void showing_desktop_changed ();
+-		public signal void window_created (Meta.Window object);
+-		public signal void window_demands_attention (Meta.Window object);
+-		public signal void window_entered_monitor (int object, Meta.Window p0);
+-		public signal void window_left_monitor (int object, Meta.Window p0);
+-		public signal void window_marked_urgent (Meta.Window object);
+-		public signal void workareas_changed ();
+-		public signal void x11_display_closing ();
+-		public signal void x11_display_opened ();
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", type_id = "meta_dnd_get_type ()")]
+-	public class Dnd : GLib.Object {
+-		[CCode (has_construct_function = false)]
+-		protected Dnd ();
+-		public signal void dnd_enter ();
+-		public signal void dnd_leave ();
+-		public signal void dnd_position_change (int object, int p0);
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", has_type_id = false)]
+-	[Compact]
+-	public class Frame {
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", type_id = "meta_idle_monitor_get_type ()")]
+-	public class IdleMonitor : GLib.Object {
+-		[CCode (has_construct_function = false)]
+-		protected IdleMonitor ();
+-		public uint add_idle_watch (uint64 interval_msec, owned Meta.IdleMonitorWatchFunc? callback);
+-		public uint add_user_active_watch (owned Meta.IdleMonitorWatchFunc? callback);
+-		public static unowned Meta.IdleMonitor get_core ();
+-		public static unowned Meta.IdleMonitor get_for_device (int device_id);
+-		public int64 get_idletime ();
+-		public void remove_watch (uint id);
+-		[NoAccessorMethod]
+-		public int device_id { get; construct; }
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "meta_key_binding_get_type ()")]
+-	[Compact]
+-	public class KeyBinding {
+-		public uint get_mask ();
+-		public Meta.VirtualModifier get_modifiers ();
+-		public unowned string get_name ();
+-		public bool is_builtin ();
+-		public bool is_reversed ();
+-		[CCode (cname = "meta_keybindings_set_custom_handler")]
+-		public static bool set_custom_handler (string name, owned Meta.KeyHandlerFunc? handler);
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", type_id = "meta_launch_context_get_type ()")]
+-	public class LaunchContext : GLib.AppLaunchContext {
+-		[CCode (has_construct_function = false)]
+-		protected LaunchContext ();
+-		public void set_timestamp (uint32 timestamp);
+-		public void set_workspace (Meta.Workspace workspace);
+-		[NoAccessorMethod]
+-		public Meta.Display display { owned get; construct; }
+-		[NoAccessorMethod]
+-		public uint timestamp { get; set; }
+-		[NoAccessorMethod]
+-		public Meta.Workspace workspace { owned get; set; }
+-	}
+-	[CCode (cheader_filename = "meta/meta-monitor-manager.h", type_id = "meta_monitor_manager_get_type ()")]
+-	public class MonitorManager : GLib.Object {
+-		[CCode (has_construct_function = false)]
+-		protected MonitorManager ();
+-		public bool can_switch_config ();
+-		public static unowned Meta.MonitorManager @get ();
+-		public static int get_display_configuration_timeout ();
+-		public bool get_is_builtin_display_on ();
+-		public int get_monitor_for_connector (string connector);
+-		public Meta.MonitorSwitchConfigType get_switch_config ();
+-		public void switch_config (Meta.MonitorSwitchConfigType config_type);
+-		[NoAccessorMethod]
+-		public Meta.Backend backend { owned get; construct; }
+-		public signal void confirm_display_change ();
+-		public signal void monitors_changed ();
+-		public signal void monitors_changed_internal ();
+-		public signal void power_save_mode_changed ();
+-	}
+-	[CCode (cheader_filename = "meta/meta-plugin.h", type_id = "meta_plugin_get_type ()")]
+-	public abstract class Plugin : GLib.Object {
+-		[CCode (has_construct_function = false)]
+-		protected Plugin ();
+-		public bool begin_modal (Meta.ModalOptions options, uint32 timestamp);
+-		public void complete_display_change (bool ok);
+-		[NoWrapper]
+-		public virtual void confirm_display_change ();
+-		[NoWrapper]
+-		public virtual void destroy (Meta.WindowActor actor);
+-		public void destroy_completed (Meta.WindowActor actor);
+-		public void end_modal (uint32 timestamp);
+-		public unowned Meta.Display get_display ();
+-		public unowned Meta.PluginInfo? get_info ();
+-		[NoWrapper]
+-		public virtual void hide_tile_preview ();
+-		[NoWrapper]
+-		public virtual bool keybinding_filter (Meta.KeyBinding binding);
+-		[NoWrapper]
+-		public virtual void kill_switch_workspace ();
+-		[NoWrapper]
+-		public virtual void kill_window_effects (Meta.WindowActor actor);
+-		public static void manager_set_plugin_type (GLib.Type gtype);
+-		[NoWrapper]
+-		public virtual void map (Meta.WindowActor actor);
+-		public void map_completed (Meta.WindowActor actor);
+-		[NoWrapper]
+-		public virtual void minimize (Meta.WindowActor actor);
+-		public void minimize_completed (Meta.WindowActor actor);
+-		[NoWrapper]
+-		public virtual unowned Meta.PluginInfo? plugin_info ();
+-		[NoWrapper]
+-		public virtual void show_tile_preview (Meta.Window window, Meta.Rectangle tile_rect, int tile_monitor_number);
+-		[NoWrapper]
+-		public virtual void show_window_menu (Meta.Window window, Meta.WindowMenuType menu, int x, int y);
+-		[NoWrapper]
+-		public virtual void show_window_menu_for_rect (Meta.Window window, Meta.WindowMenuType menu, Meta.Rectangle rect);
+-		[NoWrapper]
+-		public virtual void size_change (Meta.WindowActor actor, Meta.SizeChange which_change, Meta.Rectangle old_frame_rect, Meta.Rectangle old_buffer_rect);
+-		public void size_change_completed (Meta.WindowActor actor);
+-		[NoWrapper]
+-		public virtual void size_changed (Meta.WindowActor actor);
+-		[NoWrapper]
+-		public virtual void start ();
+-		[NoWrapper]
+-		public virtual void switch_workspace (int from, int to, Meta.MotionDirection direction);
+-		public void switch_workspace_completed ();
+-		[NoWrapper]
+-		public virtual void unminimize (Meta.WindowActor actor);
+-		public void unminimize_completed (Meta.WindowActor actor);
+-		[NoWrapper]
+-		public virtual bool xevent_filter (X.Event event);
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", type_id = "meta_remote_access_controller_get_type ()")]
+-	public class RemoteAccessController : GLib.Object {
+-		[CCode (has_construct_function = false)]
+-		protected RemoteAccessController ();
+-		public signal void new_handle (Meta.RemoteAccessHandle object);
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", type_id = "meta_remote_access_handle_get_type ()")]
+-	public class RemoteAccessHandle : GLib.Object {
+-		[CCode (has_construct_function = false)]
+-		protected RemoteAccessHandle ();
+-		public virtual void stop ();
+-		public signal void stopped ();
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", has_type_id = false)]
+-	[Compact]
+-	public class Settings {
+-		public int get_font_dpi ();
+-		public int get_ui_scaling_factor ();
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", ref_function = "meta_shadow_ref", type_id = "meta_shadow_get_type ()", unref_function = "meta_shadow_unref")]
+-	[Compact]
+-	public class Shadow {
+-		public void get_bounds (int window_x, int window_y, int window_width, int window_height, Cairo.RectangleInt bounds);
+-		public void paint (Cogl.Framebuffer framebuffer, int window_x, int window_y, int window_width, int window_height, uint8 opacity, Cairo.Region? clip, bool clip_strictly);
+-		public Meta.Shadow @ref ();
+-		public void unref ();
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", type_id = "meta_shadow_factory_get_type ()")]
+-	public class ShadowFactory : GLib.Object {
+-		[CCode (has_construct_function = false)]
+-		public ShadowFactory ();
+-		public static unowned Meta.ShadowFactory get_default ();
+-		public Meta.ShadowParams get_params (string class_name, bool focused);
+-		public Meta.Shadow get_shadow (Meta.WindowShape shape, int width, int height, string class_name, bool focused);
+-		public void set_params (string class_name, bool focused, Meta.ShadowParams @params);
+-		public signal void changed ();
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", type_id = "meta_shaped_texture_get_type ()")]
+-	public class ShapedTexture : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+-		[CCode (has_construct_function = false)]
+-		protected ShapedTexture ();
+-		public Cairo.Surface get_image (Cairo.RectangleInt clip);
+-		public unowned Cogl.Texture get_texture ();
+-		public void set_create_mipmaps (bool create_mipmaps);
+-		public void set_mask_texture (Cogl.Texture mask_texture);
+-		public void set_opaque_region (owned Cairo.Region opaque_region);
+-		public bool update_area (int x, int y, int width, int height);
+-		public signal void size_changed ();
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", type_id = "meta_sound_player_get_type ()")]
+-	public class SoundPlayer : GLib.Object {
+-		[CCode (has_construct_function = false)]
+-		protected SoundPlayer ();
+-		public void play_from_file (GLib.File file, string description, GLib.Cancellable? cancellable = null);
+-		public void play_from_theme (string name, string description, GLib.Cancellable? cancellable = null);
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", type_id = "meta_stage_get_type ()")]
+-	public class Stage : Clutter.Stage, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+-		[CCode (has_construct_function = false)]
+-		protected Stage ();
+-		public static bool is_focused (Meta.Display display);
+-		public signal void actors_painted ();
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", type_id = "meta_startup_notification_get_type ()")]
+-	public class StartupNotification : GLib.Object {
+-		[CCode (has_construct_function = false)]
+-		protected StartupNotification ();
+-		public Meta.LaunchContext create_launcher ();
+-		[NoAccessorMethod]
+-		public Meta.Display display { owned get; construct; }
+-		public signal void changed (void* object);
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", type_id = "meta_startup_sequence_get_type ()")]
+-	public class StartupSequence : GLib.Object {
+-		[CCode (has_construct_function = false)]
+-		protected StartupSequence ();
+-		public void complete ();
+-		public unowned string get_application_id ();
+-		public bool get_completed ();
+-		public unowned string get_icon_name ();
+-		public unowned string get_id ();
+-		public unowned string get_name ();
+-		public uint64 get_timestamp ();
+-		public unowned string get_wmclass ();
+-		public int get_workspace ();
+-		public string application_id { get; construct; }
+-		public string icon_name { get; construct; }
+-		public string id { get; construct; }
+-		public string name { get; construct; }
+-		public uint64 timestamp { get; construct; }
+-		public string wmclass { get; construct; }
+-		public int workspace { get; construct; }
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", has_type_id = false)]
+-	[Compact]
+-	public class Theme {
+-		public void free ();
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", type_id = "meta_window_get_type ()")]
+-	public abstract class Window : GLib.Object {
+-		[CCode (has_construct_function = false)]
+-		protected Window ();
+-		public void activate (uint32 current_time);
+-		public void activate_with_workspace (uint32 current_time, Meta.Workspace workspace);
+-		public bool allows_move ();
+-		public bool allows_resize ();
+-		public void begin_grab_op (Meta.GrabOp op, bool frame_action, uint32 timestamp);
+-		public bool can_close ();
+-		public bool can_maximize ();
+-		public bool can_minimize ();
+-		public bool can_shade ();
+-		public void change_workspace (Meta.Workspace workspace);
+-		public void change_workspace_by_index (int space_index, bool append);
+-		public void check_alive (uint32 timestamp);
+-		public Meta.Rectangle client_rect_to_frame_rect (Meta.Rectangle client_rect);
+-		public void compute_group ();
+-		public void @delete (uint32 timestamp);
+-		public unowned Meta.Window find_root_ancestor ();
+-		public void focus (uint32 timestamp);
+-		public void foreach_ancestor (Meta.WindowForeachFunc func);
+-		public void foreach_transient (Meta.WindowForeachFunc func);
+-		public Meta.Rectangle frame_rect_to_client_rect (Meta.Rectangle frame_rect);
+-		public Meta.Rectangle get_buffer_rect ();
+-		public unowned string get_client_machine ();
+-		public Meta.WindowClientType get_client_type ();
+-		public unowned GLib.Object get_compositor_private ();
+-		public unowned string get_description ();
+-		public unowned Meta.Display get_display ();
+-		public unowned Cairo.Region? get_frame_bounds ();
+-		public Meta.Rectangle get_frame_rect ();
+-		public Meta.FrameType get_frame_type ();
+-		public unowned string get_gtk_app_menu_object_path ();
+-		public unowned string get_gtk_application_id ();
+-		public unowned string get_gtk_application_object_path ();
+-		public unowned string get_gtk_menubar_object_path ();
+-		public unowned string get_gtk_theme_variant ();
+-		public unowned string get_gtk_unique_bus_name ();
+-		public unowned string get_gtk_window_object_path ();
+-		public bool get_icon_geometry (out Meta.Rectangle rect);
+-		public uint64 get_id ();
+-		public Meta.StackLayer get_layer ();
+-		public Meta.MaximizeFlags get_maximized ();
+-		public int get_monitor ();
+-		public unowned string get_mutter_hints ();
+-		public int get_pid ();
+-		public unowned string get_role ();
+-		public unowned string get_sandboxed_app_id ();
+-		public uint get_stable_sequence ();
+-		public unowned string get_startup_id ();
+-		public unowned Meta.Window? get_tile_match ();
+-		public unowned string get_title ();
+-		public unowned Meta.Window get_transient_for ();
+-		public uint32 get_user_time ();
+-		public Meta.WindowType get_window_type ();
+-		public unowned string get_wm_class ();
+-		public unowned string get_wm_class_instance ();
+-		public Meta.Rectangle get_work_area_all_monitors ();
+-		public Meta.Rectangle get_work_area_current_monitor ();
+-		public Meta.Rectangle get_work_area_for_monitor (int which_monitor);
+-		public unowned Meta.Workspace get_workspace ();
+-		public X.Window get_xwindow ();
+-		public void group_leader_changed ();
+-		public bool has_focus ();
+-		public bool is_above ();
+-		public bool is_always_on_all_workspaces ();
+-		public bool is_ancestor_of_transient (Meta.Window transient);
+-		public bool is_attached_dialog ();
+-		public bool is_client_decorated ();
+-		public bool is_fullscreen ();
+-		public bool is_hidden ();
+-		public bool is_monitor_sized ();
+-		public bool is_on_all_workspaces ();
+-		public bool is_on_primary_monitor ();
+-		public bool is_override_redirect ();
+-		public bool is_remote ();
+-		public bool is_screen_sized ();
+-		public bool is_shaded ();
+-		public bool is_skip_taskbar ();
+-		public void kill ();
+-		public bool located_on_workspace (Meta.Workspace workspace);
+-		public void lower ();
+-		public void make_above ();
+-		public void make_fullscreen ();
+-		public void maximize (Meta.MaximizeFlags directions);
+-		public void minimize ();
+-		public void move_frame (bool user_op, int root_x_nw, int root_y_nw);
+-		public void move_resize_frame (bool user_op, int root_x_nw, int root_y_nw, int w, int h);
+-		public void move_to_monitor (int monitor);
+-		public void raise ();
+-		public bool requested_bypass_compositor ();
+-		public bool requested_dont_bypass_compositor ();
+-		public void set_compositor_private (GLib.Object priv);
+-		public void set_demands_attention ();
+-		public void set_icon_geometry (Meta.Rectangle? rect);
+-		public void shade (uint32 timestamp);
+-		public void shove_titlebar_onscreen ();
+-		public bool showing_on_its_workspace ();
+-		public void shutdown_group ();
+-		public void stick ();
+-		public bool titlebar_is_onscreen ();
+-		public void unmake_above ();
+-		public void unmake_fullscreen ();
+-		public void unmaximize (Meta.MaximizeFlags directions);
+-		public void unminimize ();
+-		public void unset_demands_attention ();
+-		public void unshade (uint32 timestamp);
+-		public void unstick ();
+-		[NoAccessorMethod]
+-		public bool above { get; }
+-		[NoAccessorMethod]
+-		public bool appears_focused { get; }
+-		[NoAccessorMethod]
+-		public bool decorated { get; }
+-		[NoAccessorMethod]
+-		public bool demands_attention { get; }
+-		[NoAccessorMethod]
+-		public bool fullscreen { get; }
+-		public string gtk_app_menu_object_path { get; }
+-		public string gtk_application_id { get; }
+-		public string gtk_application_object_path { get; }
+-		public string gtk_menubar_object_path { get; }
+-		public string gtk_unique_bus_name { get; }
+-		public string gtk_window_object_path { get; }
+-		[NoAccessorMethod]
+-		public void* icon { get; }
+-		[NoAccessorMethod]
+-		public bool maximized_horizontally { get; }
+-		[NoAccessorMethod]
+-		public bool maximized_vertically { get; }
+-		[NoAccessorMethod]
+-		public void* mini_icon { get; }
+-		[NoAccessorMethod]
+-		public bool minimized { get; }
+-		public string mutter_hints { get; }
+-		[NoAccessorMethod]
+-		public bool on_all_workspaces { get; }
+-		[NoAccessorMethod]
+-		public bool resizeable { get; }
+-		[NoAccessorMethod]
+-		public bool skip_taskbar { get; }
+-		public string title { get; }
+-		[NoAccessorMethod]
+-		public bool urgent { get; }
+-		public uint user_time { get; }
+-		public Meta.WindowType window_type { get; }
+-		public string wm_class { get; }
+-		public signal void position_changed ();
+-		public signal void raised ();
+-		public signal void shown ();
+-		public signal void size_changed ();
+-		public signal void unmanaged ();
+-		public signal void workspace_changed ();
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", type_id = "meta_window_actor_get_type ()")]
+-	public abstract class WindowActor : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+-		[CCode (has_construct_function = false)]
+-		protected WindowActor ();
+-		public unowned Meta.Window get_meta_window ();
+-		public unowned Clutter.Actor get_texture ();
+-		public X.Window get_x_window ();
+-		public bool is_destroyed ();
+-		public void sync_visibility ();
+-		public Meta.Window meta_window { get; construct; }
+-		[NoAccessorMethod]
+-		public string shadow_class { owned get; set; }
+-		[NoAccessorMethod]
+-		public Meta.ShadowMode shadow_mode { get; set; }
+-		public signal void effects_completed ();
+-		public signal void first_frame ();
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", type_id = "meta_window_group_get_type ()")]
+-	public class WindowGroup : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+-		[CCode (has_construct_function = false)]
+-		protected WindowGroup ();
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", ref_function = "meta_window_shape_ref", type_id = "meta_window_shape_get_type ()", unref_function = "meta_window_shape_unref")]
+-	[Compact]
+-	public class WindowShape {
+-		[CCode (has_construct_function = false)]
+-		public WindowShape (Cairo.Region region);
+-		public bool equal (Meta.WindowShape shape_b);
+-		public void get_borders (int border_top, int border_right, int border_bottom, int border_left);
+-		public uint hash ();
+-		public Meta.WindowShape @ref ();
+-		public Cairo.Region to_region (int center_width, int center_height);
+-		public void unref ();
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", type_id = "meta_workspace_get_type ()")]
+-	public class Workspace : GLib.Object {
+-		[CCode (has_construct_function = false)]
+-		protected Workspace ();
+-		public void activate (uint32 timestamp);
+-		public void activate_with_focus (Meta.Window focus_this, uint32 timestamp);
+-		public unowned Meta.Display get_display ();
+-		public unowned Meta.Workspace get_neighbor (Meta.MotionDirection direction);
+-		public Meta.Rectangle get_work_area_all_monitors ();
+-		public Meta.Rectangle get_work_area_for_monitor (int which_monitor);
+-		public int index ();
+-		public GLib.List<weak Meta.Window> list_windows ();
+-		public void set_builtin_struts (GLib.SList<Meta.Strut?> struts);
+-		[NoAccessorMethod]
+-		public uint n_windows { get; }
+-		[NoAccessorMethod]
+-		public uint workspace_index { get; }
+-		public signal void window_added (Meta.Window object);
+-		public signal void window_removed (Meta.Window object);
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", type_id = "meta_workspace_manager_get_type ()")]
+-	public class WorkspaceManager : GLib.Object {
+-		[CCode (has_construct_function = false)]
+-		protected WorkspaceManager ();
+-		public unowned Meta.Workspace append_new_workspace (bool activate, uint32 timestamp);
+-		public unowned Meta.Workspace get_active_workspace ();
+-		public int get_active_workspace_index ();
+-		public int get_n_workspaces ();
+-		public unowned Meta.Workspace get_workspace_by_index (int index);
+-		public void override_workspace_layout (Meta.DisplayCorner starting_corner, bool vertical_layout, int n_rows, int n_columns);
+-		public void remove_workspace (Meta.Workspace workspace, uint32 timestamp);
+-		public int n_workspaces { get; }
+-		public signal void active_workspace_changed ();
+-		public signal void showing_desktop_changed ();
+-		public signal void workspace_added (int object);
+-		public signal void workspace_removed (int object);
+-		public signal void workspace_switched (int object, int p0, Meta.MotionDirection p1);
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", type_id = "meta_x11_display_get_type ()")]
+-	public class X11Display : GLib.Object {
+-		[CCode (has_construct_function = false)]
+-		protected X11Display ();
+-		public void focus_the_no_focus_window (uint32 timestamp);
+-		public int get_damage_event_base ();
+-		public int get_screen_number ();
+-		public int get_shape_event_base ();
+-		public bool has_shape ();
+-		public void set_cm_selection ();
+-		public void set_input_focus_window (Meta.Window window, bool focus_frame, uint32 timestamp);
+-		public bool xwindow_is_a_no_focus_window (X.Window xwindow);
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", type_cname = "MetaCloseDialogInterface", type_id = "meta_close_dialog_get_type ()")]
+-	public interface CloseDialog : GLib.Object {
+-		public abstract void focus ();
+-		public abstract void hide ();
+-		public bool is_visible ();
+-		public abstract void show ();
+-		[NoAccessorMethod]
+-		public abstract Meta.Window window { owned get; construct; }
+-		[HasEmitter]
+-		public signal void response (Meta.CloseDialogResponse response);
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", type_cname = "MetaInhibitShortcutsDialogInterface", type_id = "meta_inhibit_shortcuts_dialog_get_type ()")]
+-	public interface InhibitShortcutsDialog : GLib.Object {
+-		public abstract void hide ();
+-		public abstract void show ();
+-		[NoAccessorMethod]
+-		public abstract Meta.Window window { owned get; construct; }
+-		[HasEmitter]
+-		public signal void response (Meta.InhibitShortcutsDialogResponse response);
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", has_type_id = false)]
+-	public struct ButtonLayout {
+-		[CCode (array_length = false)]
+-		public weak Meta.ButtonFunction left_buttons[4];
+-		[CCode (array_length = false)]
+-		public weak bool left_buttons_has_spacer[4];
+-		[CCode (array_length = false)]
+-		public weak Meta.ButtonFunction right_buttons[4];
+-		[CCode (array_length = false)]
+-		public weak bool right_buttons_has_spacer[4];
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", has_type_id = false)]
+-	public struct Edge {
+-		public Meta.Rectangle rect;
+-		public Meta.Side side_type;
+-		public Meta.EdgeType edge_type;
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", has_type_id = false)]
+-	public struct FrameBorders {
+-		public Gtk.Border visible;
+-		public Gtk.Border invisible;
+-		public Gtk.Border total;
+-		public void clear ();
+-	}
+-	[CCode (cheader_filename = "meta/meta-plugin.h", has_type_id = false)]
+-	public struct PluginInfo {
+-		public weak string name;
+-		public weak string version;
+-		public weak string author;
+-		public weak string license;
+-		public weak string description;
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", has_type_id = false)]
+-	public struct PluginVersion {
+-		public uint version_major;
+-		public uint version_minor;
+-		public uint version_micro;
+-		public uint version_api;
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", type_id = "meta_rectangle_get_type ()")]
+-	public struct Rectangle {
+-		public int x;
+-		public int y;
+-		public int width;
+-		public int height;
+-		public int area ();
+-		public bool contains_rect (Meta.Rectangle inner_rect);
+-		public Meta.Rectangle? copy ();
+-		public bool could_fit_rect (Meta.Rectangle inner_rect);
+-		public bool equal (Meta.Rectangle src2);
+-		public void free ();
+-		public bool horiz_overlap (Meta.Rectangle rect2);
+-		public bool intersect (Meta.Rectangle src2, out Meta.Rectangle dest);
+-		public bool overlap (Meta.Rectangle rect2);
+-		public Meta.Rectangle union (Meta.Rectangle rect2);
+-		public bool vert_overlap (Meta.Rectangle rect2);
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", has_type_id = false)]
+-	public struct ShadowParams {
+-		public int radius;
+-		public int top_fade;
+-		public int x_offset;
+-		public int y_offset;
+-		public uint8 opacity;
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", has_type_id = false)]
+-	public struct Strut {
+-		public Meta.Rectangle rect;
+-		public Meta.Side side;
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cprefix = "META_BARRIER_DIRECTION_", type_id = "meta_barrier_direction_get_type ()")]
+-	[Flags]
+-	public enum BarrierDirection {
+-		POSITIVE_X,
+-		POSITIVE_Y,
+-		NEGATIVE_X,
+-		NEGATIVE_Y
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cprefix = "META_BUTTON_FUNCTION_", type_id = "meta_button_function_get_type ()")]
+-	public enum ButtonFunction {
+-		MENU,
+-		MINIMIZE,
+-		MAXIMIZE,
+-		CLOSE,
+-		LAST
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cprefix = "META_CLOSE_DIALOG_RESPONSE_", type_id = "meta_close_dialog_response_get_type ()")]
+-	public enum CloseDialogResponse {
+-		WAIT,
+-		FORCE_CLOSE
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cprefix = "META_COMP_EFFECT_", type_id = "meta_comp_effect_get_type ()")]
+-	public enum CompEffect {
+-		CREATE,
+-		UNMINIMIZE,
+-		DESTROY,
+-		MINIMIZE,
+-		NONE
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cprefix = "META_CURSOR_", type_id = "meta_cursor_get_type ()")]
+-	public enum Cursor {
+-		NONE,
+-		DEFAULT,
+-		NORTH_RESIZE,
+-		SOUTH_RESIZE,
+-		WEST_RESIZE,
+-		EAST_RESIZE,
+-		SE_RESIZE,
+-		SW_RESIZE,
+-		NE_RESIZE,
+-		NW_RESIZE,
+-		MOVE_OR_RESIZE_WINDOW,
+-		BUSY,
+-		DND_IN_DRAG,
+-		DND_MOVE,
+-		DND_COPY,
+-		DND_UNSUPPORTED_TARGET,
+-		POINTING_HAND,
+-		CROSSHAIR,
+-		IBEAM,
+-		LAST
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cprefix = "META_DEBUG_", type_id = "meta_debug_topic_get_type ()")]
+-	[Flags]
+-	public enum DebugTopic {
+-		VERBOSE,
+-		FOCUS,
+-		WORKAREA,
+-		STACK,
+-		THEMES,
+-		SM,
+-		EVENTS,
+-		WINDOW_STATE,
+-		WINDOW_OPS,
+-		GEOMETRY,
+-		PLACEMENT,
+-		PING,
+-		XINERAMA,
+-		KEYBINDINGS,
+-		SYNC,
+-		ERRORS,
+-		STARTUP,
+-		PREFS,
+-		GROUPS,
+-		RESIZING,
+-		SHAPES,
+-		COMPOSITOR,
+-		EDGE_RESISTANCE,
+-		DBUS
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cprefix = "META_DIRECTION_", type_id = "meta_direction_get_type ()")]
+-	[Flags]
+-	public enum Direction {
+-		LEFT,
+-		RIGHT,
+-		TOP,
+-		BOTTOM,
+-		UP,
+-		DOWN,
+-		HORIZONTAL,
+-		VERTICAL
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cprefix = "META_DISPLAY_", type_id = "meta_display_corner_get_type ()")]
+-	public enum DisplayCorner {
+-		TOPLEFT,
+-		TOPRIGHT,
+-		BOTTOMLEFT,
+-		BOTTOMRIGHT
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cprefix = "META_DISPLAY_", type_id = "meta_display_direction_get_type ()")]
+-	public enum DisplayDirection {
+-		UP,
+-		DOWN,
+-		LEFT,
+-		RIGHT
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cprefix = "META_EDGE_", type_id = "meta_edge_type_get_type ()")]
+-	public enum EdgeType {
+-		WINDOW,
+-		MONITOR,
+-		SCREEN
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cprefix = "META_EXIT_", type_id = "meta_exit_code_get_type ()")]
+-	public enum ExitCode {
+-		SUCCESS,
+-		ERROR
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cprefix = "META_FRAME_", type_id = "meta_frame_flags_get_type ()")]
+-	[Flags]
+-	public enum FrameFlags {
+-		ALLOWS_DELETE,
+-		ALLOWS_MENU,
+-		ALLOWS_MINIMIZE,
+-		ALLOWS_MAXIMIZE,
+-		ALLOWS_VERTICAL_RESIZE,
+-		ALLOWS_HORIZONTAL_RESIZE,
+-		HAS_FOCUS,
+-		SHADED,
+-		STUCK,
+-		MAXIMIZED,
+-		ALLOWS_SHADE,
+-		ALLOWS_MOVE,
+-		FULLSCREEN,
+-		IS_FLASHING,
+-		ABOVE,
+-		TILED_LEFT,
+-		TILED_RIGHT
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cprefix = "META_FRAME_TYPE_", type_id = "meta_frame_type_get_type ()")]
+-	public enum FrameType {
+-		NORMAL,
+-		DIALOG,
+-		MODAL_DIALOG,
+-		UTILITY,
+-		MENU,
+-		BORDER,
+-		ATTACHED,
+-		LAST;
+-		public unowned string to_string ();
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cprefix = "META_GRAB_OP_", type_id = "meta_grab_op_get_type ()")]
+-	public enum GrabOp {
+-		NONE,
+-		WINDOW_BASE,
+-		COMPOSITOR,
+-		WAYLAND_POPUP,
+-		FRAME_BUTTON,
+-		MOVING,
+-		RESIZING_NW,
+-		RESIZING_N,
+-		RESIZING_NE,
+-		RESIZING_E,
+-		RESIZING_SW,
+-		RESIZING_S,
+-		RESIZING_SE,
+-		RESIZING_W,
+-		KEYBOARD_MOVING,
+-		KEYBOARD_RESIZING_UNKNOWN,
+-		KEYBOARD_RESIZING_NW,
+-		KEYBOARD_RESIZING_N,
+-		KEYBOARD_RESIZING_NE,
+-		KEYBOARD_RESIZING_E,
+-		KEYBOARD_RESIZING_SW,
+-		KEYBOARD_RESIZING_S,
+-		KEYBOARD_RESIZING_SE,
+-		KEYBOARD_RESIZING_W
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cprefix = "META_INHIBIT_SHORTCUTS_DIALOG_RESPONSE_", type_id = "meta_inhibit_shortcuts_dialog_response_get_type ()")]
+-	public enum InhibitShortcutsDialogResponse {
+-		ALLOW,
+-		DENY
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cprefix = "META_KEYBINDING_ACTION_", type_id = "meta_key_binding_action_get_type ()")]
+-	public enum KeyBindingAction {
+-		NONE,
+-		WORKSPACE_1,
+-		WORKSPACE_2,
+-		WORKSPACE_3,
+-		WORKSPACE_4,
+-		WORKSPACE_5,
+-		WORKSPACE_6,
+-		WORKSPACE_7,
+-		WORKSPACE_8,
+-		WORKSPACE_9,
+-		WORKSPACE_10,
+-		WORKSPACE_11,
+-		WORKSPACE_12,
+-		WORKSPACE_LEFT,
+-		WORKSPACE_RIGHT,
+-		WORKSPACE_UP,
+-		WORKSPACE_DOWN,
+-		WORKSPACE_LAST,
+-		SWITCH_APPLICATIONS,
+-		SWITCH_APPLICATIONS_BACKWARD,
+-		SWITCH_GROUP,
+-		SWITCH_GROUP_BACKWARD,
+-		SWITCH_WINDOWS,
+-		SWITCH_WINDOWS_BACKWARD,
+-		SWITCH_PANELS,
+-		SWITCH_PANELS_BACKWARD,
+-		CYCLE_GROUP,
+-		CYCLE_GROUP_BACKWARD,
+-		CYCLE_WINDOWS,
+-		CYCLE_WINDOWS_BACKWARD,
+-		CYCLE_PANELS,
+-		CYCLE_PANELS_BACKWARD,
+-		SHOW_DESKTOP,
+-		PANEL_MAIN_MENU,
+-		PANEL_RUN_DIALOG,
+-		TOGGLE_RECORDING,
+-		SET_SPEW_MARK,
+-		ACTIVATE_WINDOW_MENU,
+-		TOGGLE_FULLSCREEN,
+-		TOGGLE_MAXIMIZED,
+-		TOGGLE_TILED_LEFT,
+-		TOGGLE_TILED_RIGHT,
+-		TOGGLE_ABOVE,
+-		MAXIMIZE,
+-		UNMAXIMIZE,
+-		TOGGLE_SHADED,
+-		MINIMIZE,
+-		CLOSE,
+-		BEGIN_MOVE,
+-		BEGIN_RESIZE,
+-		TOGGLE_ON_ALL_WORKSPACES,
+-		MOVE_TO_WORKSPACE_1,
+-		MOVE_TO_WORKSPACE_2,
+-		MOVE_TO_WORKSPACE_3,
+-		MOVE_TO_WORKSPACE_4,
+-		MOVE_TO_WORKSPACE_5,
+-		MOVE_TO_WORKSPACE_6,
+-		MOVE_TO_WORKSPACE_7,
+-		MOVE_TO_WORKSPACE_8,
+-		MOVE_TO_WORKSPACE_9,
+-		MOVE_TO_WORKSPACE_10,
+-		MOVE_TO_WORKSPACE_11,
+-		MOVE_TO_WORKSPACE_12,
+-		MOVE_TO_WORKSPACE_LEFT,
+-		MOVE_TO_WORKSPACE_RIGHT,
+-		MOVE_TO_WORKSPACE_UP,
+-		MOVE_TO_WORKSPACE_DOWN,
+-		MOVE_TO_WORKSPACE_LAST,
+-		MOVE_TO_MONITOR_LEFT,
+-		MOVE_TO_MONITOR_RIGHT,
+-		MOVE_TO_MONITOR_UP,
+-		MOVE_TO_MONITOR_DOWN,
+-		RAISE_OR_LOWER,
+-		RAISE,
+-		LOWER,
+-		MAXIMIZE_VERTICALLY,
+-		MAXIMIZE_HORIZONTALLY,
+-		MOVE_TO_CORNER_NW,
+-		MOVE_TO_CORNER_NE,
+-		MOVE_TO_CORNER_SW,
+-		MOVE_TO_CORNER_SE,
+-		MOVE_TO_SIDE_N,
+-		MOVE_TO_SIDE_S,
+-		MOVE_TO_SIDE_E,
+-		MOVE_TO_SIDE_W,
+-		MOVE_TO_CENTER,
+-		OVERLAY_KEY,
+-		ISO_NEXT_GROUP,
+-		ALWAYS_ON_TOP,
+-		SWITCH_MONITOR,
+-		ROTATE_MONITOR,
+-		LAST
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cprefix = "META_KEY_BINDING_", type_id = "meta_key_binding_flags_get_type ()")]
+-	[Flags]
+-	public enum KeyBindingFlags {
+-		NONE,
+-		PER_WINDOW,
+-		BUILTIN,
+-		IS_REVERSED,
+-		NON_MASKABLE,
+-		IGNORE_AUTOREPEAT
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cprefix = "META_LATER_", type_id = "meta_later_type_get_type ()")]
+-	public enum LaterType {
+-		RESIZE,
+-		CALC_SHOWING,
+-		CHECK_FULLSCREEN,
+-		SYNC_STACK,
+-		BEFORE_REDRAW,
+-		IDLE
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cprefix = "META_LOCALE_DIRECTION_", type_id = "meta_locale_direction_get_type ()")]
+-	public enum LocaleDirection {
+-		LTR,
+-		RTL
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cprefix = "META_MAXIMIZE_", type_id = "meta_maximize_flags_get_type ()")]
+-	[Flags]
+-	public enum MaximizeFlags {
+-		HORIZONTAL,
+-		VERTICAL,
+-		BOTH
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cprefix = "META_MODAL_", type_id = "meta_modal_options_get_type ()")]
+-	[Flags]
+-	public enum ModalOptions {
+-		POINTER_ALREADY_GRABBED,
+-		KEYBOARD_ALREADY_GRABBED
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cprefix = "META_MONITOR_SWITCH_CONFIG_", type_id = "meta_monitor_switch_config_type_get_type ()")]
+-	public enum MonitorSwitchConfigType {
+-		ALL_MIRROR,
+-		ALL_LINEAR,
+-		EXTERNAL,
+-		BUILTIN,
+-		UNKNOWN
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cprefix = "META_MOTION_", type_id = "meta_motion_direction_get_type ()")]
+-	public enum MotionDirection {
+-		UP,
+-		DOWN,
+-		LEFT,
+-		RIGHT,
+-		UP_LEFT,
+-		UP_RIGHT,
+-		DOWN_LEFT,
+-		DOWN_RIGHT
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cprefix = "META_PAD_ACTION_", type_id = "meta_pad_action_type_get_type ()")]
+-	public enum PadActionType {
+-		BUTTON,
+-		RING,
+-		STRIP
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cprefix = "META_PREF_", type_id = "meta_preference_get_type ()")]
+-	public enum Preference {
+-		MOUSE_BUTTON_MODS,
+-		FOCUS_MODE,
+-		FOCUS_NEW_WINDOWS,
+-		ATTACH_MODAL_DIALOGS,
+-		RAISE_ON_CLICK,
+-		ACTION_DOUBLE_CLICK_TITLEBAR,
+-		ACTION_MIDDLE_CLICK_TITLEBAR,
+-		ACTION_RIGHT_CLICK_TITLEBAR,
+-		AUTO_RAISE,
+-		AUTO_RAISE_DELAY,
+-		FOCUS_CHANGE_ON_POINTER_REST,
+-		TITLEBAR_FONT,
+-		NUM_WORKSPACES,
+-		DYNAMIC_WORKSPACES,
+-		KEYBINDINGS,
+-		DISABLE_WORKAROUNDS,
+-		BUTTON_LAYOUT,
+-		WORKSPACE_NAMES,
+-		VISUAL_BELL,
+-		AUDIBLE_BELL,
+-		VISUAL_BELL_TYPE,
+-		GNOME_ACCESSIBILITY,
+-		GNOME_ANIMATIONS,
+-		CURSOR_THEME,
+-		CURSOR_SIZE,
+-		RESIZE_WITH_RIGHT_BUTTON,
+-		EDGE_TILING,
+-		FORCE_FULLSCREEN,
+-		WORKSPACES_ONLY_ON_PRIMARY,
+-		DRAGGABLE_BORDER_WIDTH,
+-		AUTO_MAXIMIZE,
+-		CENTER_NEW_WINDOWS,
+-		DRAG_THRESHOLD;
+-		public unowned string to_string ();
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cprefix = "META_SHADOW_MODE_", type_id = "meta_shadow_mode_get_type ()")]
+-	public enum ShadowMode {
+-		AUTO,
+-		FORCED_OFF,
+-		FORCED_ON
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cprefix = "META_SIDE_", type_id = "meta_side_get_type ()")]
+-	public enum Side {
+-		LEFT,
+-		RIGHT,
+-		TOP,
+-		BOTTOM
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cprefix = "META_SIZE_CHANGE_", type_id = "meta_size_change_get_type ()")]
+-	public enum SizeChange {
+-		MAXIMIZE,
+-		UNMAXIMIZE,
+-		FULLSCREEN,
+-		UNFULLSCREEN
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cprefix = "META_LAYER_", type_id = "meta_stack_layer_get_type ()")]
+-	public enum StackLayer {
+-		DESKTOP,
+-		BOTTOM,
+-		NORMAL,
+-		TOP,
+-		DOCK,
+-		OVERRIDE_REDIRECT,
+-		LAST
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cprefix = "META_TAB_LIST_", type_id = "meta_tab_list_get_type ()")]
+-	public enum TabList {
+-		NORMAL,
+-		DOCKS,
+-		GROUP,
+-		NORMAL_ALL
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cprefix = "META_TAB_SHOW_", type_id = "meta_tab_show_type_get_type ()")]
+-	public enum TabShowType {
+-		ICON,
+-		INSTANTLY
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cprefix = "META_VIRTUAL_", type_id = "meta_virtual_modifier_get_type ()")]
+-	[Flags]
+-	public enum VirtualModifier {
+-		SHIFT_MASK,
+-		CONTROL_MASK,
+-		ALT_MASK,
+-		META_MASK,
+-		SUPER_MASK,
+-		HYPER_MASK,
+-		MOD2_MASK,
+-		MOD3_MASK,
+-		MOD4_MASK,
+-		MOD5_MASK
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cprefix = "META_WINDOW_CLIENT_TYPE_", type_id = "meta_window_client_type_get_type ()")]
+-	public enum WindowClientType {
+-		WAYLAND,
+-		X11
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cprefix = "META_WINDOW_MENU_", type_id = "meta_window_menu_type_get_type ()")]
+-	public enum WindowMenuType {
+-		WM,
+-		APP
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cprefix = "META_WINDOW_", type_id = "meta_window_type_get_type ()")]
+-	public enum WindowType {
+-		NORMAL,
+-		DESKTOP,
+-		DOCK,
+-		DIALOG,
+-		MODAL_DIALOG,
+-		TOOLBAR,
+-		MENU,
+-		UTILITY,
+-		SPLASHSCREEN,
+-		DROPDOWN_MENU,
+-		POPUP_MENU,
+-		TOOLTIP,
+-		NOTIFICATION,
+-		COMBO,
+-		DND,
+-		OVERRIDE_OTHER
+-	}
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", instance_pos = 2.9)]
+-	public delegate void IdleMonitorWatchFunc (Meta.IdleMonitor monitor, uint watch_id);
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", instance_pos = 4.9)]
+-	public delegate void KeyHandlerFunc (Meta.Display display, Meta.Window window, [CCode (type = "ClutterKeyEvent*")] Clutter.KeyEvent? event, Meta.KeyBinding binding);
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", instance_pos = 1.9)]
+-	public delegate void PrefsChangedFunc (Meta.Preference pref);
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", instance_pos = 1.9)]
+-	public delegate bool WindowForeachFunc (Meta.Window window);
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cname = "META_CURRENT_TIME")]
+-	public const int CURRENT_TIME;
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cname = "META_DEFAULT_ICON_NAME")]
+-	public const string DEFAULT_ICON_NAME;
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cname = "META_ICON_HEIGHT")]
+-	public const int ICON_HEIGHT;
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cname = "META_ICON_WIDTH")]
+-	public const int ICON_WIDTH;
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cname = "META_MAJOR_VERSION")]
+-	public const int MAJOR_VERSION;
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cname = "META_MICRO_VERSION")]
+-	public const int MICRO_VERSION;
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cname = "META_MINI_ICON_HEIGHT")]
+-	public const int MINI_ICON_HEIGHT;
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cname = "META_MINI_ICON_WIDTH")]
+-	public const int MINI_ICON_WIDTH;
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cname = "META_MINOR_VERSION")]
+-	public const int MINOR_VERSION;
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cname = "META_PLUGIN_API_VERSION")]
+-	public const int PLUGIN_API_VERSION;
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cname = "META_PRIORITY_BEFORE_REDRAW")]
+-	public const int PRIORITY_BEFORE_REDRAW;
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cname = "META_PRIORITY_PREFS_NOTIFY")]
+-	public const int PRIORITY_PREFS_NOTIFY;
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cname = "META_PRIORITY_REDRAW")]
+-	public const int PRIORITY_REDRAW;
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cname = "META_PRIORITY_RESIZE")]
+-	public const int PRIORITY_RESIZE;
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cname = "META_VIRTUAL_CORE_KEYBOARD_ID")]
+-	public const int VIRTUAL_CORE_KEYBOARD_ID;
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h", cname = "META_VIRTUAL_CORE_POINTER_ID")]
+-	public const int VIRTUAL_CORE_POINTER_ID;
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h")]
+-	public static bool activate_session ();
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h")]
+-	public static void exit (Meta.ExitCode code);
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h")]
+-	public static unowned GLib.OptionContext get_option_context ();
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h")]
+-	public static bool get_replace_current_wm ();
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h")]
+-	public static void init ();
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h")]
+-	public static bool is_restart ();
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h")]
+-	public static void quit (Meta.ExitCode code);
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h")]
+-	public static void register_with_session ();
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h")]
+-	public static void restart (string? message);
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h")]
+-	public static int run ();
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h")]
+-	public static void set_gnome_wm_keybindings (string wm_keybindings);
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h")]
+-	public static void set_wm_name (string wm_name);
+-	[CCode (cheader_filename = "meta/barrier.h,meta/boxes.h,meta/common.h,meta/compositor.h,meta/compositor-mutter.h,meta/display.h,meta/group.h,meta/keybindings.h,meta/main.h,meta/meta-backend.h,meta/meta-background-actor.h,meta/meta-background-group.h,meta/meta-background.h,meta/meta-background-image.h,meta/meta-close-dialog.h,meta/meta-cursor-tracker.h,meta/meta-dnd.h,meta/meta-enum-types.h,meta/meta-idle-monitor.h,meta/meta-inhibit-shortcuts-dialog.h,meta/meta-launch-context.h,meta/meta-monitor-manager.h,meta/meta-plugin.h,meta/meta-remote-access-controller.h,meta/meta-settings.h,meta/meta-shadow-factory.h,meta/meta-shaped-texture.h,meta/meta-sound-player.h,meta/meta-stage.h,meta/meta-startup-notification.h,meta/meta-version.h,meta/meta-window-actor.h,meta/meta-window-group.h,meta/meta-window-shape.h,meta/meta-workspace-manager.h,meta/meta-x11-display.h,meta/meta-x11-errors.h,meta/prefs.h,meta/theme.h,meta/types.h,meta/util.h,meta/window.h,meta/workspace.h")]
+-	public static bool x11_init_gdk_display () throws GLib.Error;
+-}
+diff --git vapi/libmutter-5.deps vapi/libmutter-6.deps
+similarity index 50%
+rename from vapi/libmutter-5.deps
+rename to vapi/libmutter-6.deps
+index 48aa7563..223525e4 100644
+--- vapi/libmutter-5.deps
++++ vapi/libmutter-6.deps
+@@ -1,5 +1,6 @@
+ gtk+-3.0
+ json-glib-1.0
+-mutter-clutter-5
++mutter-clutter-6
+ x11
+ xfixes-4.0
++graphene-gobject-1.0
+diff --git vapi/libmutter-5.vapi vapi/libmutter-6.vapi
+similarity index 97%
+rename from vapi/libmutter-5.vapi
+rename to vapi/libmutter-6.vapi
+index b95a28e6..b36be1b7 100644
+--- vapi/libmutter-5.vapi
++++ vapi/libmutter-6.vapi
+@@ -1,12 +1,10 @@
+-/* libmutter-5.vapi generated by vapigen, do not modify. */
++/* libmutter-6.vapi generated by vapigen, do not modify. */
+ 
+-[CCode (cprefix = "Meta", gir_namespace = "Meta", gir_version = "5", lower_case_cprefix = "meta_")]
++[CCode (cprefix = "Meta", gir_namespace = "Meta", gir_version = "6", lower_case_cprefix = "meta_")]
+ namespace Meta {
+ 	namespace Compositor {
+ 		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_disable_unredirect_for_display")]
+ 		public static void disable_unredirect_for_display (Meta.Display display);
+-		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_empty_stage_input_region")]
+-		public static void empty_stage_input_region (Meta.Display display);
+ 		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_enable_unredirect_for_display")]
+ 		public static void enable_unredirect_for_display (Meta.Display display);
+ 		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_focus_stage_window")]
+@@ -21,8 +19,6 @@ namespace Meta {
+ 		public static unowned GLib.List<Clutter.Actor> get_window_actors (Meta.Display display);
+ 		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_get_window_group_for_display")]
+ 		public static unowned Clutter.Actor get_window_group_for_display (Meta.Display display);
+-		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_set_stage_input_region")]
+-		public static void set_stage_input_region (Meta.Display display, X.XserverRegion region);
+ 	}
+ 	namespace Prefs {
+ 		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_bell_is_audible")]
+@@ -164,7 +160,7 @@ namespace Meta {
+ 		public void set_numlock (bool numlock_state);
+ 		public signal void keymap_changed ();
+ 		public signal void keymap_layout_group_changed (uint object);
+-		public signal void last_device_changed (int object);
++		public signal void last_device_changed (Clutter.InputDevice object);
+ 		public signal void lid_is_closed_changed (bool object);
+ 	}
+ 	[CCode (cheader_filename = "meta/meta-background.h", type_id = "meta_background_get_type ()")]
+@@ -174,7 +170,7 @@ namespace Meta {
+ 		public static void refresh_all ();
+ 		public void set_blend (GLib.File file1, GLib.File file2, double blend_factor, GDesktop.BackgroundStyle style);
+ 		public void set_color (Clutter.Color color);
+-		public void set_file (GLib.File file, GDesktop.BackgroundStyle style);
++		public void set_file (GLib.File? file, GDesktop.BackgroundStyle style);
+ 		public void set_gradient (GDesktop.BackgroundShading shading_direction, Clutter.Color color, Clutter.Color second_color);
+ 		[NoAccessorMethod]
+ 		public Meta.Display meta_display { owned get; construct; }
+@@ -275,7 +271,7 @@ namespace Meta {
+ 		public unowned Cogl.Texture get_sprite ();
+ 		public void set_pointer_visible (bool visible);
+ 		public signal void cursor_changed ();
+-		public signal void cursor_moved (float object, float p0);
++		public signal void cursor_moved (float x, float y);
+ 		public signal void visibility_changed ();
+ 	}
+ 	[CCode (cheader_filename = "meta/display.h", type_id = "meta_display_get_type ()")]
+@@ -327,6 +323,7 @@ namespace Meta {
+ 		public bool xserver_time_is_before (uint32 time1, uint32 time2);
+ 		public Meta.Window focus_window { get; }
+ 		public signal void accelerator_activated (uint object, Clutter.InputDevice p0, uint p1);
++		public signal void closing ();
+ 		public signal void cursor_updated ();
+ 		public signal void gl_video_memory_purged ();
+ 		public signal void grab_op_begin (Meta.Display object, Meta.Window p0, Meta.GrabOp p1);
+@@ -350,6 +347,7 @@ namespace Meta {
+ 		public signal void workareas_changed ();
+ 		public signal void x11_display_closing ();
+ 		public signal void x11_display_opened ();
++		public signal void x11_display_setup ();
+ 	}
+ 	[CCode (cheader_filename = "meta/meta-dnd.h", type_id = "meta_dnd_get_type ()")]
+ 	public class Dnd : GLib.Object {
+@@ -370,11 +368,10 @@ namespace Meta {
+ 		public uint add_idle_watch (uint64 interval_msec, owned Meta.IdleMonitorWatchFunc? callback);
+ 		public uint add_user_active_watch (owned Meta.IdleMonitorWatchFunc? callback);
+ 		public static unowned Meta.IdleMonitor get_core ();
+-		public static unowned Meta.IdleMonitor get_for_device (int device_id);
+ 		public int64 get_idletime ();
+ 		public void remove_watch (uint id);
+ 		[NoAccessorMethod]
+-		public int device_id { get; construct; }
++		public Clutter.InputDevice device { owned get; construct; }
+ 	}
+ 	[CCode (cheader_filename = "meta/main.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "meta_key_binding_get_type ()")]
+ 	[Compact]
+@@ -536,15 +533,14 @@ namespace Meta {
+ 		public signal void changed ();
+ 	}
+ 	[CCode (cheader_filename = "meta/meta-shaped-texture.h", type_id = "meta_shaped_texture_get_type ()")]
+-	public class ShapedTexture : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
++	public class ShapedTexture : GLib.Object, Clutter.Content {
+ 		[CCode (has_construct_function = false)]
+ 		protected ShapedTexture ();
+-		public Cairo.Surface get_image (Cairo.RectangleInt clip);
++		public Cairo.Surface? get_image (Cairo.RectangleInt? clip);
+ 		public unowned Cogl.Texture get_texture ();
+ 		public void set_create_mipmaps (bool create_mipmaps);
+ 		public void set_mask_texture (Cogl.Texture mask_texture);
+ 		public void set_opaque_region (owned Cairo.Region opaque_region);
+-		public bool update_area (int x, int y, int width, int height);
+ 		public signal void size_changed ();
+ 	}
+ 	[CCode (cheader_filename = "meta/meta-sound-player.h", type_id = "meta_sound_player_get_type ()")]
+@@ -756,17 +752,16 @@ namespace Meta {
+ 	public abstract class WindowActor : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+ 		[CCode (has_construct_function = false)]
+ 		protected WindowActor ();
++		public Cairo.Surface? get_image (Cairo.RectangleInt? clip);
+ 		public unowned Meta.Window get_meta_window ();
+-		public unowned Clutter.Actor get_texture ();
++		public unowned Meta.ShapedTexture get_texture ();
+ 		public bool is_destroyed ();
+ 		public void sync_visibility ();
+ 		public Meta.Window meta_window { get; construct; }
+-		[NoAccessorMethod]
+-		public string shadow_class { owned get; set; }
+-		[NoAccessorMethod]
+-		public Meta.ShadowMode shadow_mode { get; set; }
++		public signal void damaged ();
+ 		public signal void effects_completed ();
+ 		public signal void first_frame ();
++		public signal void thawed ();
+ 	}
+ 	[CCode (cheader_filename = "meta/meta-window-group.h", type_id = "meta_window_group_get_type ()")]
+ 	public class WindowGroup : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+@@ -813,7 +808,7 @@ namespace Meta {
+ 		public unowned Meta.Workspace get_active_workspace ();
+ 		public int get_active_workspace_index ();
+ 		public int get_n_workspaces ();
+-		public unowned Meta.Workspace get_workspace_by_index (int index);
++		public unowned Meta.Workspace? get_workspace_by_index (int index);
+ 		public void override_workspace_layout (Meta.DisplayCorner starting_corner, bool vertical_layout, int n_rows, int n_columns);
+ 		public void remove_workspace (Meta.Workspace workspace, uint32 timestamp);
+ 		public void reorder_workspace (Meta.Workspace workspace, int new_index);
+@@ -833,11 +828,13 @@ namespace Meta {
+ 	public class X11Display : GLib.Object {
+ 		[CCode (has_construct_function = false)]
+ 		protected X11Display ();
++		public void clear_stage_input_region ();
+ 		public int get_damage_event_base ();
+ 		public int get_screen_number ();
+ 		public int get_shape_event_base ();
+ 		public bool has_shape ();
+ 		public void set_cm_selection ();
++		public void set_stage_input_region (X.XserverRegion region);
+ 		public bool xwindow_is_a_no_focus_window (X.Window xwindow);
+ 	}
+ 	[CCode (cheader_filename = "meta/meta-close-dialog.h", type_cname = "MetaCloseDialogInterface", type_id = "meta_close_dialog_get_type ()")]
+@@ -899,7 +896,7 @@ namespace Meta {
+ 		public uint version_micro;
+ 		public uint version_api;
+ 	}
+-	[CCode (cheader_filename = "meta/main.h", type_id = "meta_rectangle_get_type ()")]
++	[CCode (cheader_filename = "meta/main.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "meta_rectangle_get_type ()")]
+ 	public struct Rectangle {
+ 		public int x;
+ 		public int y;
+@@ -1443,6 +1440,8 @@ namespace Meta {
+ 	[CCode (cheader_filename = "meta/main.h")]
+ 	public static bool activate_session ();
+ 	[CCode (cheader_filename = "meta/main.h")]
++	public static void add_clutter_debug_flags (Clutter.DebugFlag debug_flags, Clutter.DrawDebugFlag draw_flags, Clutter.PickDebugFlag pick_flags);
++	[CCode (cheader_filename = "meta/main.h")]
+ 	public static void exit (Meta.ExitCode code);
+ 	[CCode (cheader_filename = "meta/main.h")]
+ 	public static string g_utf8_strndup (string src, size_t n);
+@@ -1459,6 +1458,8 @@ namespace Meta {
+ 	[CCode (cheader_filename = "meta/main.h")]
+ 	public static void register_with_session ();
+ 	[CCode (cheader_filename = "meta/main.h")]
++	public static void remove_clutter_debug_flags (Clutter.DebugFlag debug_flags, Clutter.DrawDebugFlag draw_flags, Clutter.PickDebugFlag pick_flags);
++	[CCode (cheader_filename = "meta/main.h")]
+ 	public static void restart (string? message);
+ 	[CCode (cheader_filename = "meta/main.h")]
+ 	public static int run ();
+@@ -1467,5 +1468,7 @@ namespace Meta {
+ 	[CCode (cheader_filename = "meta/main.h")]
+ 	public static void set_wm_name (string wm_name);
+ 	[CCode (cheader_filename = "meta/main.h")]
++	public static void test_init ();
++	[CCode (cheader_filename = "meta/main.h")]
+ 	public static bool x11_init_gdk_display () throws GLib.Error;
+ }
+diff --git vapi/libmutter-7-custom.vala vapi/libmutter-7-custom.vala
+new file mode 100644
+index 00000000..1e0b917c
+--- /dev/null
++++ vapi/libmutter-7-custom.vala
+@@ -0,0 +1,7 @@
++[CCode (has_type_id = false)]
++public struct before_frame {
++}
++
++[CCode (has_type_id = false)]
++public struct frame {
++}
+diff --git vapi/libmutter-7.deps vapi/libmutter-7.deps
+new file mode 100644
+index 00000000..2ef919ee
+--- /dev/null
++++ vapi/libmutter-7.deps
+@@ -0,0 +1,6 @@
++gtk+-3.0
++json-glib-1.0
++mutter-clutter-7
++x11
++xfixes-4.0
++graphene-gobject-1.0
+diff --git vapi/libmutter-3.vapi vapi/libmutter-7.vapi
+similarity index 75%
+rename from vapi/libmutter-3.vapi
+rename to vapi/libmutter-7.vapi
+index 1715aa8f..90c41590 100644
+--- vapi/libmutter-3.vapi
++++ vapi/libmutter-7.vapi
+@@ -1,12 +1,10 @@
+-/* libmutter-3.vapi generated by vapigen, do not modify. */
++/* libmutter-7.vapi generated by vapigen, do not modify. */
+ 
+-[CCode (cprefix = "Meta", gir_namespace = "Meta", gir_version = "3", lower_case_cprefix = "meta_")]
++[CCode (cprefix = "Meta", gir_namespace = "Meta", gir_version = "7", lower_case_cprefix = "meta_")]
+ namespace Meta {
+ 	namespace Compositor {
+ 		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_disable_unredirect_for_display")]
+ 		public static void disable_unredirect_for_display (Meta.Display display);
+-		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_empty_stage_input_region")]
+-		public static void empty_stage_input_region (Meta.Display display);
+ 		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_enable_unredirect_for_display")]
+ 		public static void enable_unredirect_for_display (Meta.Display display);
+ 		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_focus_stage_window")]
+@@ -21,8 +19,6 @@ namespace Meta {
+ 		public static unowned GLib.List<Clutter.Actor> get_window_actors (Meta.Display display);
+ 		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_get_window_group_for_display")]
+ 		public static unowned Clutter.Actor get_window_group_for_display (Meta.Display display);
+-		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_set_stage_input_region")]
+-		public static void set_stage_input_region (Meta.Display display, X.XserverRegion region);
+ 	}
+ 	namespace Prefs {
+ 		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_bell_is_audible")]
+@@ -47,6 +43,8 @@ namespace Meta {
+ 		public static Meta.ButtonLayout prefs_get_button_layout ();
+ 		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_get_center_new_windows")]
+ 		public static bool prefs_get_center_new_windows ();
++		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_get_check_alive_timeout")]
++		public static uint prefs_get_check_alive_timeout ();
+ 		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_get_compositing_manager")]
+ 		public static bool prefs_get_compositing_manager ();
+ 		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_get_cursor_size")]
+@@ -75,8 +73,6 @@ namespace Meta {
+ 		public static bool prefs_get_gnome_accessibility ();
+ 		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_get_gnome_animations")]
+ 		public static bool prefs_get_gnome_animations ();
+-		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_get_ignore_request_hide_titlebar")]
+-		public static bool prefs_get_ignore_request_hide_titlebar ();
+ 		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_get_keybinding_action")]
+ 		public static Meta.KeyBindingAction prefs_get_keybinding_action (string name);
+ 		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_get_mouse_button_menu")]
+@@ -105,8 +101,6 @@ namespace Meta {
+ 		public static void prefs_init ();
+ 		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_set_force_fullscreen")]
+ 		public static void prefs_set_force_fullscreen (bool whether);
+-		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_set_ignore_request_hide_titlebar")]
+-		public static void prefs_set_ignore_request_hide_titlebar (bool whether);
+ 		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_set_num_workspaces")]
+ 		public static void prefs_set_num_workspaces (int n_workspaces);
+ 		[CCode (cheader_filename = "meta/prefs.h", cname = "meta_prefs_set_show_fallback_app_menu")]
+@@ -117,12 +111,10 @@ namespace Meta {
+ 		public static void add_verbose_topic (Meta.DebugTopic topic);
+ 		[CCode (cheader_filename = "meta/util.h", cname = "meta_external_binding_name_for_action")]
+ 		public static string external_binding_name_for_action (uint keybinding_action);
+-		[CCode (cheader_filename = "meta/util.h", cname = "meta_g_utf8_strndup")]
+-		public static string g_utf8_strndup (string src, size_t n);
+ 		[CCode (cheader_filename = "meta/util.h", cname = "meta_get_locale_direction")]
+ 		public static Meta.LocaleDirection get_locale_direction ();
+ 		[CCode (cheader_filename = "meta/util.h", cname = "meta_gravity_to_string")]
+-		public static unowned string gravity_to_string (int gravity);
++		public static unowned string gravity_to_string (Meta.Gravity gravity);
+ 		[CCode (cheader_filename = "meta/util.h", cname = "meta_is_debugging")]
+ 		public static bool is_debugging ();
+ 		[CCode (cheader_filename = "meta/util.h", cname = "meta_is_syncing")]
+@@ -165,12 +157,13 @@ namespace Meta {
+ 		public unowned Meta.Dnd get_dnd ();
+ 		public unowned Meta.RemoteAccessController get_remote_access_controller ();
+ 		public unowned Clutter.Actor get_stage ();
++		public bool is_rendering_hardware_accelerated ();
+ 		public void lock_layout_group (uint idx);
+ 		public void set_keymap (string layouts, string variants, string options);
+ 		public void set_numlock (bool numlock_state);
+ 		public signal void keymap_changed ();
+ 		public signal void keymap_layout_group_changed (uint object);
+-		public signal void last_device_changed (int object);
++		public signal void last_device_changed (Clutter.InputDevice object);
+ 		public signal void lid_is_closed_changed (bool object);
+ 	}
+ 	[CCode (cheader_filename = "meta/meta-background.h", type_id = "meta_background_get_type ()")]
+@@ -180,7 +173,7 @@ namespace Meta {
+ 		public static void refresh_all ();
+ 		public void set_blend (GLib.File file1, GLib.File file2, double blend_factor, GDesktop.BackgroundStyle style);
+ 		public void set_color (Clutter.Color color);
+-		public void set_file (GLib.File file, GDesktop.BackgroundStyle style);
++		public void set_file (GLib.File? file, GDesktop.BackgroundStyle style);
+ 		public void set_gradient (GDesktop.BackgroundShading shading_direction, Clutter.Color color, Clutter.Color second_color);
+ 		[NoAccessorMethod]
+ 		public Meta.Display meta_display { owned get; construct; }
+@@ -190,9 +183,18 @@ namespace Meta {
+ 	public class BackgroundActor : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+ 		[CCode (has_construct_function = false, type = "ClutterActor*")]
+ 		public BackgroundActor (Meta.Display display, int monitor);
++		[NoAccessorMethod]
++		public Meta.Display meta_display { owned get; construct; }
++		[NoAccessorMethod]
++		public int monitor { get; construct; }
++	}
++	[CCode (cheader_filename = "meta/meta-background-content.h", type_id = "meta_background_content_get_type ()")]
++	public class BackgroundContent : GLib.Object, Clutter.Content {
++		[CCode (has_construct_function = false)]
++		protected BackgroundContent ();
++		public static Clutter.Content @new (Meta.Display display, int monitor);
+ 		public void set_background (Meta.Background background);
+ 		public void set_gradient (bool enabled, int height, double tone_start);
+-		public void set_monitor (int monitor);
+ 		public void set_vignette (bool enabled, double brightness, double sharpness);
+ 		[NoAccessorMethod]
+ 		public Meta.Background background { owned get; set; }
+@@ -277,14 +279,14 @@ namespace Meta {
+ 		public static unowned Meta.CursorTracker get_for_display (Meta.Display display);
+ 		public void get_hot (out int x, out int y);
+ 		public void get_pointer (int x, int y, Clutter.ModifierType mods);
++		public bool get_pointer_visible ();
+ 		public unowned Cogl.Texture get_sprite ();
+ 		public void set_pointer_visible (bool visible);
++		[NoAccessorMethod]
++		public Meta.Backend backend { owned get; construct; }
+ 		public signal void cursor_changed ();
+-	}
+-	[CCode (cheader_filename = "meta/meta-monitor-manager.h", type_id = "meta_dbus_display_config_skeleton_get_type ()")]
+-	public class DBusDisplayConfigSkeleton : GLib.DBusInterfaceSkeleton, GLib.DBusInterface {
+-		[CCode (has_construct_function = false)]
+-		protected DBusDisplayConfigSkeleton ();
++		public signal void cursor_moved (float x, float y);
++		public signal void visibility_changed ();
+ 	}
+ 	[CCode (cheader_filename = "meta/display.h", type_id = "meta_display_get_type ()")]
+ 	public class Display : GLib.Object {
+@@ -309,32 +311,39 @@ namespace Meta {
+ 		public bool get_monitor_in_fullscreen (int monitor);
+ 		public int get_monitor_index_for_rect (Meta.Rectangle rect);
+ 		public int get_monitor_neighbor_index (int which_monitor, Meta.DisplayDirection dir);
++		public float get_monitor_scale (int monitor);
+ 		public int get_n_monitors ();
+ 		public string get_pad_action_label (Clutter.InputDevice pad, Meta.PadActionType action_type, uint action_number);
+ 		public int get_primary_monitor ();
++		public unowned Meta.Selection get_selection ();
+ 		public void get_size (out int width, out int height);
++		public unowned Meta.SoundPlayer get_sound_player ();
+ 		public unowned Meta.Window get_tab_current (Meta.TabList type, Meta.Workspace workspace);
+ 		public GLib.List<weak Meta.Window> get_tab_list (Meta.TabList type, Meta.Workspace? workspace);
+ 		public unowned Meta.Window get_tab_next (Meta.TabList type, Meta.Workspace workspace, Meta.Window? window, bool backward);
+ 		public unowned Meta.WorkspaceManager get_workspace_manager ();
+-		public uint grab_accelerator (string accelerator);
++		public uint grab_accelerator (string accelerator, Meta.KeyBindingFlags flags);
+ 		public bool is_pointer_emulating_sequence (Clutter.EventSequence? sequence);
+ 		public bool remove_keybinding (string name);
+ 		public void request_pad_osd (Clutter.InputDevice pad, bool edition_mode);
+ 		public void set_cursor (Meta.Cursor cursor);
++		public void set_input_focus (Meta.Window window, bool focus_frame, uint32 timestamp);
+ 		public GLib.SList<weak Meta.Window> sort_windows_by_stacking (GLib.SList<Meta.Window> windows);
+ 		public bool supports_extended_barriers ();
+ 		public void unfreeze_keyboard (uint32 timestamp);
+ 		public bool ungrab_accelerator (uint action_id);
+ 		public void ungrab_keyboard (uint32 timestamp);
++		public void unset_input_focus (uint32 timestamp);
+ 		public bool xserver_time_is_before (uint32 time1, uint32 time2);
+ 		public Meta.Window focus_window { get; }
+-		public signal void accelerator_activated (uint object, uint p0, uint p1);
++		public signal void accelerator_activated (uint object, Clutter.InputDevice p0, uint p1);
++		public signal void closing ();
+ 		public signal void cursor_updated ();
+ 		public signal void gl_video_memory_purged ();
+ 		public signal void grab_op_begin (Meta.Display object, Meta.Window p0, Meta.GrabOp p1);
+ 		public signal void grab_op_end (Meta.Display object, Meta.Window p0, Meta.GrabOp p1);
+ 		public signal void in_fullscreen_changed ();
++		public signal bool init_xserver (GLib.Task object);
+ 		public signal bool modifiers_accelerator_activated ();
+ 		public signal void overlay_key ();
+ 		public signal void pad_mode_switch (Clutter.InputDevice object, uint p0, uint p1);
+@@ -345,7 +354,6 @@ namespace Meta {
+ 		public signal bool show_resize_popup (bool object, Meta.Rectangle p0, int p1, int p2);
+ 		public signal bool show_restart_message (string? message);
+ 		public signal void showing_desktop_changed ();
+-		public signal void startup_sequence_changed (void* object);
+ 		public signal void window_created (Meta.Window object);
+ 		public signal void window_demands_attention (Meta.Window object);
+ 		public signal void window_entered_monitor (int object, Meta.Window p0);
+@@ -354,6 +362,7 @@ namespace Meta {
+ 		public signal void workareas_changed ();
+ 		public signal void x11_display_closing ();
+ 		public signal void x11_display_opened ();
++		public signal void x11_display_setup ();
+ 	}
+ 	[CCode (cheader_filename = "meta/meta-dnd.h", type_id = "meta_dnd_get_type ()")]
+ 	public class Dnd : GLib.Object {
+@@ -363,7 +372,7 @@ namespace Meta {
+ 		public signal void dnd_leave ();
+ 		public signal void dnd_position_change (int object, int p0);
+ 	}
+-	[CCode (cheader_filename = "meta/common.h", has_type_id = false)]
++	[CCode (cheader_filename = "meta/main.h", has_type_id = false)]
+ 	[Compact]
+ 	public class Frame {
+ 	}
+@@ -374,13 +383,12 @@ namespace Meta {
+ 		public uint add_idle_watch (uint64 interval_msec, owned Meta.IdleMonitorWatchFunc? callback);
+ 		public uint add_user_active_watch (owned Meta.IdleMonitorWatchFunc? callback);
+ 		public static unowned Meta.IdleMonitor get_core ();
+-		public static unowned Meta.IdleMonitor get_for_device (int device_id);
+ 		public int64 get_idletime ();
+ 		public void remove_watch (uint id);
+ 		[NoAccessorMethod]
+-		public int device_id { get; construct; }
++		public Clutter.InputDevice device { owned get; construct; }
+ 	}
+-	[CCode (cheader_filename = "meta/keybindings.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "meta_key_binding_get_type ()")]
++	[CCode (cheader_filename = "meta/main.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "meta_key_binding_get_type ()")]
+ 	[Compact]
+ 	public class KeyBinding {
+ 		public uint get_mask ();
+@@ -391,8 +399,21 @@ namespace Meta {
+ 		[CCode (cname = "meta_keybindings_set_custom_handler")]
+ 		public static bool set_custom_handler (string name, owned Meta.KeyHandlerFunc? handler);
+ 	}
++	[CCode (cheader_filename = "meta/meta-launch-context.h", type_id = "meta_launch_context_get_type ()")]
++	public class LaunchContext : GLib.AppLaunchContext {
++		[CCode (has_construct_function = false)]
++		protected LaunchContext ();
++		public void set_timestamp (uint32 timestamp);
++		public void set_workspace (Meta.Workspace workspace);
++		[NoAccessorMethod]
++		public Meta.Display display { owned get; construct; }
++		[NoAccessorMethod]
++		public uint timestamp { get; set; }
++		[NoAccessorMethod]
++		public Meta.Workspace workspace { owned get; set; }
++	}
+ 	[CCode (cheader_filename = "meta/meta-monitor-manager.h", type_id = "meta_monitor_manager_get_type ()")]
+-	public abstract class MonitorManager : Meta.DBusDisplayConfigSkeleton, GLib.DBusInterface, GLib.DBusInterface {
++	public class MonitorManager : GLib.Object {
+ 		[CCode (has_construct_function = false)]
+ 		protected MonitorManager ();
+ 		public bool can_switch_config ();
+@@ -407,6 +428,7 @@ namespace Meta {
+ 		public signal void confirm_display_change ();
+ 		public signal void monitors_changed ();
+ 		public signal void monitors_changed_internal ();
++		public signal void power_save_mode_changed ();
+ 	}
+ 	[CCode (cheader_filename = "meta/meta-plugin.h", type_id = "meta_plugin_get_type ()")]
+ 	public abstract class Plugin : GLib.Object {
+@@ -430,6 +452,8 @@ namespace Meta {
+ 		public virtual void kill_switch_workspace ();
+ 		[NoWrapper]
+ 		public virtual void kill_window_effects (Meta.WindowActor actor);
++		[NoWrapper]
++		public virtual void locate_pointer ();
+ 		public static void manager_set_plugin_type (GLib.Type gtype);
+ 		[NoWrapper]
+ 		public virtual void map (Meta.WindowActor actor);
+@@ -465,26 +489,56 @@ namespace Meta {
+ 	public class RemoteAccessController : GLib.Object {
+ 		[CCode (has_construct_function = false)]
+ 		protected RemoteAccessController ();
++		public void inhibit_remote_access ();
++		public void uninhibit_remote_access ();
+ 		public signal void new_handle (Meta.RemoteAccessHandle object);
+ 	}
+ 	[CCode (cheader_filename = "meta/meta-remote-access-controller.h", type_id = "meta_remote_access_handle_get_type ()")]
+ 	public class RemoteAccessHandle : GLib.Object {
+ 		[CCode (has_construct_function = false)]
+ 		protected RemoteAccessHandle ();
++		public bool get_disable_animations ();
+ 		public virtual void stop ();
++		[NoAccessorMethod]
++		public bool is_recording { get; construct; }
+ 		public signal void stopped ();
+ 	}
++	[CCode (cheader_filename = "meta/main.h", type_id = "meta_selection_get_type ()")]
++	public class Selection : GLib.Object {
++		[CCode (has_construct_function = false)]
++		public Selection (Meta.Display display);
++		public GLib.List<string> get_mimetypes (Meta.SelectionType selection_type);
++		public void set_owner (Meta.SelectionType selection_type, Meta.SelectionSource owner);
++		public async bool transfer_async (Meta.SelectionType selection_type, string mimetype, ssize_t size, GLib.OutputStream output, GLib.Cancellable? cancellable) throws GLib.Error;
++		public void unset_owner (Meta.SelectionType selection_type, Meta.SelectionSource owner);
++		public signal void owner_changed (uint object, Meta.SelectionSource p0);
++	}
++	[CCode (cheader_filename = "meta/main.h", type_id = "meta_selection_source_get_type ()")]
++	public class SelectionSource : GLib.Object {
++		[CCode (has_construct_function = false)]
++		protected SelectionSource ();
++		public virtual GLib.List<string> get_mimetypes ();
++		public bool is_active ();
++		public virtual async GLib.InputStream read_async (string mimetype, GLib.Cancellable? cancellable) throws GLib.Error;
++		public virtual signal void activated ();
++		public virtual signal void deactivated ();
++	}
++	[CCode (cheader_filename = "meta/main.h", type_id = "meta_selection_source_memory_get_type ()")]
++	public class SelectionSourceMemory : Meta.SelectionSource {
++		[CCode (has_construct_function = false, type = "MetaSelectionSource*")]
++		public SelectionSourceMemory (string mimetype, GLib.Bytes content);
++	}
+ 	[CCode (cheader_filename = "meta/meta-settings.h", has_type_id = false)]
+ 	[Compact]
+ 	public class Settings {
+ 		public int get_font_dpi ();
+ 		public int get_ui_scaling_factor ();
+ 	}
+-	[CCode (cheader_filename = "meta/meta-shadow-factory.h", ref_function = "meta_shadow_ref", type_id = "meta_shadow_get_type ()", unref_function = "meta_shadow_unref")]
++	[CCode (cheader_filename = "meta/main.h", ref_function = "meta_shadow_ref", type_id = "meta_shadow_get_type ()", unref_function = "meta_shadow_unref")]
+ 	[Compact]
+ 	public class Shadow {
+ 		public void get_bounds (int window_x, int window_y, int window_width, int window_height, Cairo.RectangleInt bounds);
+-		public void paint (int window_x, int window_y, int window_width, int window_height, uint8 opacity, Cairo.Region? clip, bool clip_strictly);
++		public void paint (Cogl.Framebuffer framebuffer, int window_x, int window_y, int window_width, int window_height, uint8 opacity, Cairo.Region? clip, bool clip_strictly);
+ 		public Meta.Shadow @ref ();
+ 		public void unref ();
+ 	}
+@@ -499,28 +553,74 @@ namespace Meta {
+ 		public signal void changed ();
+ 	}
+ 	[CCode (cheader_filename = "meta/meta-shaped-texture.h", type_id = "meta_shaped_texture_get_type ()")]
+-	public class ShapedTexture : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
++	public class ShapedTexture : GLib.Object, Clutter.Content {
+ 		[CCode (has_construct_function = false)]
+ 		protected ShapedTexture ();
+-		public Cairo.Surface get_image (Cairo.RectangleInt clip);
++		public Cairo.Surface? get_image (Cairo.RectangleInt? clip);
+ 		public unowned Cogl.Texture get_texture ();
+ 		public void set_create_mipmaps (bool create_mipmaps);
+ 		public void set_mask_texture (Cogl.Texture mask_texture);
+-		public void set_opaque_region (owned Cairo.Region opaque_region);
+-		public bool update_area (int x, int y, int width, int height);
+ 		public signal void size_changed ();
+ 	}
+-	[CCode (cheader_filename = "meta/compositor-mutter.h", type_id = "meta_stage_get_type ()")]
++	[CCode (cheader_filename = "meta/meta-sound-player.h", type_id = "meta_sound_player_get_type ()")]
++	public class SoundPlayer : GLib.Object {
++		[CCode (has_construct_function = false)]
++		protected SoundPlayer ();
++		public void play_from_file (GLib.File file, string description, GLib.Cancellable? cancellable = null);
++		public void play_from_theme (string name, string description, GLib.Cancellable? cancellable = null);
++	}
++	[CCode (cheader_filename = "meta/meta-stage.h", type_id = "meta_stage_get_type ()")]
+ 	public class Stage : Clutter.Stage, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+ 		[CCode (has_construct_function = false)]
+ 		protected Stage ();
+ 		public static bool is_focused (Meta.Display display);
++		public signal void actors_painted ();
++	}
++	[CCode (cheader_filename = "meta/meta-startup-notification.h", type_id = "meta_startup_notification_get_type ()")]
++	public class StartupNotification : GLib.Object {
++		[CCode (has_construct_function = false)]
++		protected StartupNotification ();
++		public Meta.LaunchContext create_launcher ();
++		[NoAccessorMethod]
++		public Meta.Display display { owned get; construct; }
++		public signal void changed (void* object);
++	}
++	[CCode (cheader_filename = "meta/main.h", type_id = "meta_startup_sequence_get_type ()")]
++	public class StartupSequence : GLib.Object {
++		[CCode (has_construct_function = false)]
++		protected StartupSequence ();
++		public unowned string get_application_id ();
++		public bool get_completed ();
++		public unowned string get_icon_name ();
++		public unowned string get_id ();
++		public unowned string get_name ();
++		public uint64 get_timestamp ();
++		public unowned string get_wmclass ();
++		public int get_workspace ();
++		public string application_id { get; construct; }
++		public string icon_name { get; construct; }
++		public string id { get; construct; }
++		public string name { get; construct; }
++		public uint64 timestamp { get; construct; }
++		public string wmclass { get; construct; }
++		public int workspace { get; construct; }
++		[HasEmitter]
++		public signal void complete ();
+ 	}
+ 	[CCode (cheader_filename = "meta/theme.h", has_type_id = false)]
+ 	[Compact]
+ 	public class Theme {
+ 		public void free ();
+ 	}
++	[CCode (cheader_filename = "meta/meta-wayland-client.h", type_id = "meta_wayland_client_get_type ()")]
++	public class WaylandClient : GLib.Object {
++		[CCode (has_construct_function = false)]
++		public WaylandClient (GLib.SubprocessLauncher launcher) throws GLib.Error;
++		public void hide_from_window_list (Meta.Window window);
++		public bool owns_window (Meta.Window window);
++		public void show_in_window_list (Meta.Window window);
++		public GLib.Subprocess spawnv (Meta.Display display, [CCode (array_length = false, array_null_terminated = true)] string[] argv) throws GLib.Error;
++	}
+ 	[CCode (cheader_filename = "meta/window.h", type_id = "meta_window_get_type ()")]
+ 	public abstract class Window : GLib.Object {
+ 		[CCode (has_construct_function = false)]
+@@ -547,6 +647,7 @@ namespace Meta {
+ 		public Meta.Rectangle frame_rect_to_client_rect (Meta.Rectangle frame_rect);
+ 		public Meta.Rectangle get_buffer_rect ();
+ 		public unowned string get_client_machine ();
++		public Meta.WindowClientType get_client_type ();
+ 		public unowned GLib.Object get_compositor_private ();
+ 		public unowned string get_description ();
+ 		public unowned Meta.Display get_display ();
+@@ -561,6 +662,7 @@ namespace Meta {
+ 		public unowned string get_gtk_unique_bus_name ();
+ 		public unowned string get_gtk_window_object_path ();
+ 		public bool get_icon_geometry (out Meta.Rectangle rect);
++		public uint64 get_id ();
+ 		public Meta.StackLayer get_layer ();
+ 		public Meta.MaximizeFlags get_maximized ();
+ 		public int get_monitor ();
+@@ -610,8 +712,6 @@ namespace Meta {
+ 		public void move_resize_frame (bool user_op, int root_x_nw, int root_y_nw, int w, int h);
+ 		public void move_to_monitor (int monitor);
+ 		public void raise ();
+-		public bool requested_bypass_compositor ();
+-		public bool requested_dont_bypass_compositor ();
+ 		public void set_compositor_private (GLib.Object priv);
+ 		public void set_demands_attention ();
+ 		public void set_icon_geometry (Meta.Rectangle? rect);
+@@ -672,24 +772,25 @@ namespace Meta {
+ 		public signal void shown ();
+ 		public signal void size_changed ();
+ 		public signal void unmanaged ();
++		public signal void unmanaging ();
+ 		public signal void workspace_changed ();
+ 	}
+ 	[CCode (cheader_filename = "meta/meta-window-actor.h", type_id = "meta_window_actor_get_type ()")]
+-	public class WindowActor : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
++	public abstract class WindowActor : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+ 		[CCode (has_construct_function = false)]
+ 		protected WindowActor ();
++		public void freeze ();
++		public Cairo.Surface? get_image (Cairo.RectangleInt? clip);
+ 		public unowned Meta.Window get_meta_window ();
+-		public unowned Clutter.Actor get_texture ();
+-		public X.Window get_x_window ();
++		public unowned Meta.ShapedTexture get_texture ();
+ 		public bool is_destroyed ();
+ 		public void sync_visibility ();
++		public void thaw ();
+ 		public Meta.Window meta_window { get; construct; }
+-		[NoAccessorMethod]
+-		public string shadow_class { owned get; set; }
+-		[NoAccessorMethod]
+-		public Meta.ShadowMode shadow_mode { get; set; }
++		public signal void damaged ();
+ 		public signal void effects_completed ();
+ 		public signal void first_frame ();
++		public signal void thawed ();
+ 	}
+ 	[CCode (cheader_filename = "meta/meta-window-group.h", type_id = "meta_window_group_get_type ()")]
+ 	public class WindowGroup : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+@@ -720,7 +821,9 @@ namespace Meta {
+ 		public Meta.Rectangle get_work_area_for_monitor (int which_monitor);
+ 		public int index ();
+ 		public GLib.List<weak Meta.Window> list_windows ();
+-		public void set_builtin_struts (GLib.SList<Meta.Strut> struts);
++		public void set_builtin_struts (GLib.SList<Meta.Strut?> struts);
++		[NoAccessorMethod]
++		public bool active { get; }
+ 		[NoAccessorMethod]
+ 		public uint n_windows { get; }
+ 		[NoAccessorMethod]
+@@ -736,27 +839,33 @@ namespace Meta {
+ 		public unowned Meta.Workspace get_active_workspace ();
+ 		public int get_active_workspace_index ();
+ 		public int get_n_workspaces ();
+-		public unowned Meta.Workspace get_workspace_by_index (int index);
++		public unowned Meta.Workspace? get_workspace_by_index (int index);
+ 		public void override_workspace_layout (Meta.DisplayCorner starting_corner, bool vertical_layout, int n_rows, int n_columns);
+ 		public void remove_workspace (Meta.Workspace workspace, uint32 timestamp);
++		public void reorder_workspace (Meta.Workspace workspace, int new_index);
++		[NoAccessorMethod]
++		public int layout_columns { get; }
++		[NoAccessorMethod]
++		public int layout_rows { get; }
+ 		public int n_workspaces { get; }
+ 		public signal void active_workspace_changed ();
+ 		public signal void showing_desktop_changed ();
+ 		public signal void workspace_added (int object);
+ 		public signal void workspace_removed (int object);
+ 		public signal void workspace_switched (int object, int p0, Meta.MotionDirection p1);
++		public signal void workspaces_reordered ();
+ 	}
+ 	[CCode (cheader_filename = "meta/meta-x11-display.h", type_id = "meta_x11_display_get_type ()")]
+ 	public class X11Display : GLib.Object {
+ 		[CCode (has_construct_function = false)]
+ 		protected X11Display ();
+-		public void focus_the_no_focus_window (uint32 timestamp);
++		public void clear_stage_input_region ();
+ 		public int get_damage_event_base ();
+ 		public int get_screen_number ();
+ 		public int get_shape_event_base ();
+ 		public bool has_shape ();
+ 		public void set_cm_selection ();
+-		public void set_input_focus_window (Meta.Window window, bool focus_frame, uint32 timestamp);
++		public void set_stage_input_region (X.XserverRegion region);
+ 		public bool xwindow_is_a_no_focus_window (X.Window xwindow);
+ 	}
+ 	[CCode (cheader_filename = "meta/meta-close-dialog.h", type_cname = "MetaCloseDialogInterface", type_id = "meta_close_dialog_get_type ()")]
+@@ -779,24 +888,24 @@ namespace Meta {
+ 		[HasEmitter]
+ 		public signal void response (Meta.InhibitShortcutsDialogResponse response);
+ 	}
+-	[CCode (cheader_filename = "meta/common.h", has_type_id = false)]
++	[CCode (cheader_filename = "meta/main.h", has_type_id = false)]
+ 	public struct ButtonLayout {
+ 		[CCode (array_length = false)]
+-		public weak Meta.ButtonFunction left_buttons[5];
++		public weak Meta.ButtonFunction left_buttons[4];
+ 		[CCode (array_length = false)]
+-		public weak bool left_buttons_has_spacer[5];
++		public weak bool left_buttons_has_spacer[4];
+ 		[CCode (array_length = false)]
+-		public weak Meta.ButtonFunction right_buttons[5];
++		public weak Meta.ButtonFunction right_buttons[4];
+ 		[CCode (array_length = false)]
+-		public weak bool right_buttons_has_spacer[5];
++		public weak bool right_buttons_has_spacer[4];
+ 	}
+-	[CCode (cheader_filename = "meta/boxes.h", has_type_id = false)]
++	[CCode (cheader_filename = "meta/main.h", has_type_id = false)]
+ 	public struct Edge {
+ 		public Meta.Rectangle rect;
+ 		public Meta.Side side_type;
+ 		public Meta.EdgeType edge_type;
+ 	}
+-	[CCode (cheader_filename = "meta/common.h", has_type_id = false)]
++	[CCode (cheader_filename = "meta/main.h", has_type_id = false)]
+ 	public struct FrameBorders {
+ 		public Gtk.Border visible;
+ 		public Gtk.Border invisible;
+@@ -811,14 +920,14 @@ namespace Meta {
+ 		public weak string license;
+ 		public weak string description;
+ 	}
+-	[CCode (cheader_filename = "meta/meta-plugin.h", has_type_id = false)]
++	[CCode (cheader_filename = "meta/main.h", has_type_id = false)]
+ 	public struct PluginVersion {
+ 		public uint version_major;
+ 		public uint version_minor;
+ 		public uint version_micro;
+ 		public uint version_api;
+ 	}
+-	[CCode (cheader_filename = "meta/boxes.h", type_id = "meta_rectangle_get_type ()")]
++	[CCode (cheader_filename = "meta/main.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "meta_rectangle_get_type ()")]
+ 	public struct Rectangle {
+ 		public int x;
+ 		public int y;
+@@ -836,7 +945,7 @@ namespace Meta {
+ 		public Meta.Rectangle union (Meta.Rectangle rect2);
+ 		public bool vert_overlap (Meta.Rectangle rect2);
+ 	}
+-	[CCode (cheader_filename = "meta/meta-shadow-factory.h", has_type_id = false)]
++	[CCode (cheader_filename = "meta/main.h", has_type_id = false)]
+ 	public struct ShadowParams {
+ 		public int radius;
+ 		public int top_fade;
+@@ -844,12 +953,12 @@ namespace Meta {
+ 		public int y_offset;
+ 		public uint8 opacity;
+ 	}
+-	[CCode (cheader_filename = "meta/boxes.h", has_type_id = false)]
++	[CCode (cheader_filename = "meta/main.h", has_type_id = false)]
+ 	public struct Strut {
+ 		public Meta.Rectangle rect;
+ 		public Meta.Side side;
+ 	}
+-	[CCode (cheader_filename = "meta/barrier.h", cprefix = "META_BARRIER_DIRECTION_", type_id = "meta_barrier_direction_get_type ()")]
++	[CCode (cheader_filename = "meta/main.h", cprefix = "META_BARRIER_DIRECTION_", type_id = "meta_barrier_direction_get_type ()")]
+ 	[Flags]
+ 	public enum BarrierDirection {
+ 		POSITIVE_X,
+@@ -857,21 +966,20 @@ namespace Meta {
+ 		NEGATIVE_X,
+ 		NEGATIVE_Y
+ 	}
+-	[CCode (cheader_filename = "meta/common.h", cprefix = "META_BUTTON_FUNCTION_", type_id = "meta_button_function_get_type ()")]
++	[CCode (cheader_filename = "meta/main.h", cprefix = "META_BUTTON_FUNCTION_", type_id = "meta_button_function_get_type ()")]
+ 	public enum ButtonFunction {
+ 		MENU,
+ 		MINIMIZE,
+ 		MAXIMIZE,
+ 		CLOSE,
+-		APPMENU,
+ 		LAST
+ 	}
+-	[CCode (cheader_filename = "meta/meta-close-dialog.h", cprefix = "META_CLOSE_DIALOG_RESPONSE_", type_id = "meta_close_dialog_response_get_type ()")]
++	[CCode (cheader_filename = "meta/main.h", cprefix = "META_CLOSE_DIALOG_RESPONSE_", type_id = "meta_close_dialog_response_get_type ()")]
+ 	public enum CloseDialogResponse {
+ 		WAIT,
+ 		FORCE_CLOSE
+ 	}
+-	[CCode (cheader_filename = "meta/compositor.h", cprefix = "META_COMP_EFFECT_", type_id = "meta_comp_effect_get_type ()")]
++	[CCode (cheader_filename = "meta/main.h", cprefix = "META_COMP_EFFECT_", type_id = "meta_comp_effect_get_type ()")]
+ 	public enum CompEffect {
+ 		CREATE,
+ 		UNMINIMIZE,
+@@ -879,7 +987,7 @@ namespace Meta {
+ 		MINIMIZE,
+ 		NONE
+ 	}
+-	[CCode (cheader_filename = "meta/common.h", cprefix = "META_CURSOR_", type_id = "meta_cursor_get_type ()")]
++	[CCode (cheader_filename = "meta/main.h", cprefix = "META_CURSOR_", type_id = "meta_cursor_get_type ()")]
+ 	public enum Cursor {
+ 		NONE,
+ 		DEFAULT,
+@@ -900,9 +1008,10 @@ namespace Meta {
+ 		POINTING_HAND,
+ 		CROSSHAIR,
+ 		IBEAM,
++		BLANK,
+ 		LAST
+ 	}
+-	[CCode (cheader_filename = "meta/util.h", cprefix = "META_DEBUG_", type_id = "meta_debug_topic_get_type ()")]
++	[CCode (cheader_filename = "meta/main.h", cprefix = "META_DEBUG_", type_id = "meta_debug_topic_get_type ()")]
+ 	[Flags]
+ 	public enum DebugTopic {
+ 		VERBOSE,
+@@ -928,9 +1037,10 @@ namespace Meta {
+ 		SHAPES,
+ 		COMPOSITOR,
+ 		EDGE_RESISTANCE,
+-		DBUS
++		DBUS,
++		INPUT
+ 	}
+-	[CCode (cheader_filename = "meta/common.h", cprefix = "META_DIRECTION_", type_id = "meta_direction_get_type ()")]
++	[CCode (cheader_filename = "meta/main.h", cprefix = "META_DIRECTION_", type_id = "meta_direction_get_type ()")]
+ 	[Flags]
+ 	public enum Direction {
+ 		LEFT,
+@@ -942,21 +1052,21 @@ namespace Meta {
+ 		HORIZONTAL,
+ 		VERTICAL
+ 	}
+-	[CCode (cheader_filename = "meta/display.h", cprefix = "META_DISPLAY_", type_id = "meta_display_corner_get_type ()")]
++	[CCode (cheader_filename = "meta/main.h", cprefix = "META_DISPLAY_", type_id = "meta_display_corner_get_type ()")]
+ 	public enum DisplayCorner {
+ 		TOPLEFT,
+ 		TOPRIGHT,
+ 		BOTTOMLEFT,
+ 		BOTTOMRIGHT
+ 	}
+-	[CCode (cheader_filename = "meta/display.h", cprefix = "META_DISPLAY_", type_id = "meta_display_direction_get_type ()")]
++	[CCode (cheader_filename = "meta/main.h", cprefix = "META_DISPLAY_", type_id = "meta_display_direction_get_type ()")]
+ 	public enum DisplayDirection {
+ 		UP,
+ 		DOWN,
+ 		LEFT,
+ 		RIGHT
+ 	}
+-	[CCode (cheader_filename = "meta/boxes.h", cprefix = "META_EDGE_", type_id = "meta_edge_type_get_type ()")]
++	[CCode (cheader_filename = "meta/main.h", cprefix = "META_EDGE_", type_id = "meta_edge_type_get_type ()")]
+ 	public enum EdgeType {
+ 		WINDOW,
+ 		MONITOR,
+@@ -967,12 +1077,11 @@ namespace Meta {
+ 		SUCCESS,
+ 		ERROR
+ 	}
+-	[CCode (cheader_filename = "meta/common.h", cprefix = "META_FRAME_", type_id = "meta_frame_flags_get_type ()")]
++	[CCode (cheader_filename = "meta/main.h", cprefix = "META_FRAME_", type_id = "meta_frame_flags_get_type ()")]
+ 	[Flags]
+ 	public enum FrameFlags {
+ 		ALLOWS_DELETE,
+ 		ALLOWS_MENU,
+-		ALLOWS_APPMENU,
+ 		ALLOWS_MINIMIZE,
+ 		ALLOWS_MAXIMIZE,
+ 		ALLOWS_VERTICAL_RESIZE,
+@@ -984,12 +1093,11 @@ namespace Meta {
+ 		ALLOWS_SHADE,
+ 		ALLOWS_MOVE,
+ 		FULLSCREEN,
+-		IS_FLASHING,
+ 		ABOVE,
+ 		TILED_LEFT,
+ 		TILED_RIGHT
+ 	}
+-	[CCode (cheader_filename = "meta/common.h", cprefix = "META_FRAME_TYPE_", type_id = "meta_frame_type_get_type ()")]
++	[CCode (cheader_filename = "meta/main.h", cprefix = "META_FRAME_TYPE_", type_id = "meta_frame_type_get_type ()")]
+ 	public enum FrameType {
+ 		NORMAL,
+ 		DIALOG,
+@@ -1001,7 +1109,7 @@ namespace Meta {
+ 		LAST;
+ 		public unowned string to_string ();
+ 	}
+-	[CCode (cheader_filename = "meta/common.h", cprefix = "META_GRAB_OP_", type_id = "meta_grab_op_get_type ()")]
++	[CCode (cheader_filename = "meta/main.h", cprefix = "META_GRAB_OP_", type_id = "meta_grab_op_get_type ()")]
+ 	public enum GrabOp {
+ 		NONE,
+ 		WINDOW_BASE,
+@@ -1028,12 +1136,26 @@ namespace Meta {
+ 		KEYBOARD_RESIZING_SE,
+ 		KEYBOARD_RESIZING_W
+ 	}
+-	[CCode (cheader_filename = "meta/meta-inhibit-shortcuts-dialog.h", cprefix = "META_INHIBIT_SHORTCUTS_DIALOG_RESPONSE_", type_id = "meta_inhibit_shortcuts_dialog_response_get_type ()")]
++	[CCode (cheader_filename = "meta/main.h", cprefix = "META_GRAVITY_", type_id = "meta_gravity_get_type ()")]
++	public enum Gravity {
++		NONE,
++		NORTH_WEST,
++		NORTH,
++		NORTH_EAST,
++		WEST,
++		CENTER,
++		EAST,
++		SOUTH_WEST,
++		SOUTH,
++		SOUTH_EAST,
++		STATIC
++	}
++	[CCode (cheader_filename = "meta/main.h", cprefix = "META_INHIBIT_SHORTCUTS_DIALOG_RESPONSE_", type_id = "meta_inhibit_shortcuts_dialog_response_get_type ()")]
+ 	public enum InhibitShortcutsDialogResponse {
+ 		ALLOW,
+ 		DENY
+ 	}
+-	[CCode (cheader_filename = "meta/prefs.h", cprefix = "META_KEYBINDING_ACTION_", type_id = "meta_key_binding_action_get_type ()")]
++	[CCode (cheader_filename = "meta/main.h", cprefix = "META_KEYBINDING_ACTION_", type_id = "meta_key_binding_action_get_type ()")]
+ 	public enum KeyBindingAction {
+ 		NONE,
+ 		WORKSPACE_1,
+@@ -1122,22 +1244,25 @@ namespace Meta {
+ 		MOVE_TO_SIDE_W,
+ 		MOVE_TO_CENTER,
+ 		OVERLAY_KEY,
++		LOCATE_POINTER_KEY,
+ 		ISO_NEXT_GROUP,
+ 		ALWAYS_ON_TOP,
+ 		SWITCH_MONITOR,
+ 		ROTATE_MONITOR,
+ 		LAST
+ 	}
+-	[CCode (cheader_filename = "meta/prefs.h", cprefix = "META_KEY_BINDING_", type_id = "meta_key_binding_flags_get_type ()")]
++	[CCode (cheader_filename = "meta/main.h", cprefix = "META_KEY_BINDING_", type_id = "meta_key_binding_flags_get_type ()")]
+ 	[Flags]
+ 	public enum KeyBindingFlags {
+ 		NONE,
+ 		PER_WINDOW,
+ 		BUILTIN,
+ 		IS_REVERSED,
+-		NON_MASKABLE
++		NON_MASKABLE,
++		IGNORE_AUTOREPEAT,
++		NO_AUTO_GRAB
+ 	}
+-	[CCode (cheader_filename = "meta/util.h", cprefix = "META_LATER_", type_id = "meta_later_type_get_type ()")]
++	[CCode (cheader_filename = "meta/main.h", cprefix = "META_LATER_", type_id = "meta_later_type_get_type ()")]
+ 	public enum LaterType {
+ 		RESIZE,
+ 		CALC_SHOWING,
+@@ -1146,25 +1271,25 @@ namespace Meta {
+ 		BEFORE_REDRAW,
+ 		IDLE
+ 	}
+-	[CCode (cheader_filename = "meta/util.h", cprefix = "META_LOCALE_DIRECTION_", type_id = "meta_locale_direction_get_type ()")]
++	[CCode (cheader_filename = "meta/main.h", cprefix = "META_LOCALE_DIRECTION_", type_id = "meta_locale_direction_get_type ()")]
+ 	public enum LocaleDirection {
+ 		LTR,
+ 		RTL
+ 	}
+-	[CCode (cheader_filename = "meta/window.h", cprefix = "META_MAXIMIZE_", type_id = "meta_maximize_flags_get_type ()")]
++	[CCode (cheader_filename = "meta/main.h", cprefix = "META_MAXIMIZE_", type_id = "meta_maximize_flags_get_type ()")]
+ 	[Flags]
+ 	public enum MaximizeFlags {
+ 		HORIZONTAL,
+ 		VERTICAL,
+ 		BOTH
+ 	}
+-	[CCode (cheader_filename = "meta/meta-plugin.h", cprefix = "META_MODAL_", type_id = "meta_modal_options_get_type ()")]
++	[CCode (cheader_filename = "meta/main.h", cprefix = "META_MODAL_", type_id = "meta_modal_options_get_type ()")]
+ 	[Flags]
+ 	public enum ModalOptions {
+ 		POINTER_ALREADY_GRABBED,
+ 		KEYBOARD_ALREADY_GRABBED
+ 	}
+-	[CCode (cheader_filename = "meta/meta-monitor-manager.h", cprefix = "META_MONITOR_SWITCH_CONFIG_", type_id = "meta_monitor_switch_config_type_get_type ()")]
++	[CCode (cheader_filename = "meta/main.h", cprefix = "META_MONITOR_SWITCH_CONFIG_", type_id = "meta_monitor_switch_config_type_get_type ()")]
+ 	public enum MonitorSwitchConfigType {
+ 		ALL_MIRROR,
+ 		ALL_LINEAR,
+@@ -1172,7 +1297,7 @@ namespace Meta {
+ 		BUILTIN,
+ 		UNKNOWN
+ 	}
+-	[CCode (cheader_filename = "meta/common.h", cprefix = "META_MOTION_", type_id = "meta_motion_direction_get_type ()")]
++	[CCode (cheader_filename = "meta/main.h", cprefix = "META_MOTION_", type_id = "meta_motion_direction_get_type ()")]
+ 	public enum MotionDirection {
+ 		UP,
+ 		DOWN,
+@@ -1183,7 +1308,7 @@ namespace Meta {
+ 		DOWN_LEFT,
+ 		DOWN_RIGHT
+ 	}
+-	[CCode (cheader_filename = "meta/display.h", cprefix = "META_PAD_ACTION_", type_id = "meta_pad_action_type_get_type ()")]
++	[CCode (cheader_filename = "meta/main.h", cprefix = "META_PAD_ACTION_", type_id = "meta_pad_action_type_get_type ()")]
+ 	public enum PadActionType {
+ 		BUTTON,
+ 		RING,
+@@ -1223,30 +1348,39 @@ namespace Meta {
+ 		DRAGGABLE_BORDER_WIDTH,
+ 		AUTO_MAXIMIZE,
+ 		CENTER_NEW_WINDOWS,
+-		DRAG_THRESHOLD;
++		DRAG_THRESHOLD,
++		LOCATE_POINTER,
++		CHECK_ALIVE_TIMEOUT;
+ 		public unowned string to_string ();
+ 	}
+-	[CCode (cheader_filename = "meta/meta-window-actor.h", cprefix = "META_SHADOW_MODE_", type_id = "meta_shadow_mode_get_type ()")]
++	[CCode (cheader_filename = "meta/main.h", cprefix = "META_", type_id = "meta_selection_type_get_type ()")]
++	public enum SelectionType {
++		SELECTION_PRIMARY,
++		SELECTION_CLIPBOARD,
++		SELECTION_DND,
++		N_SELECTION_TYPES
++	}
++	[CCode (cheader_filename = "meta/main.h", cprefix = "META_SHADOW_MODE_", type_id = "meta_shadow_mode_get_type ()")]
+ 	public enum ShadowMode {
+ 		AUTO,
+ 		FORCED_OFF,
+ 		FORCED_ON
+ 	}
+-	[CCode (cheader_filename = "meta/common.h", cprefix = "META_SIDE_", type_id = "meta_side_get_type ()")]
++	[CCode (cheader_filename = "meta/main.h", cprefix = "META_SIDE_", type_id = "meta_side_get_type ()")]
+ 	public enum Side {
+ 		LEFT,
+ 		RIGHT,
+ 		TOP,
+ 		BOTTOM
+ 	}
+-	[CCode (cheader_filename = "meta/compositor.h", cprefix = "META_SIZE_CHANGE_", type_id = "meta_size_change_get_type ()")]
++	[CCode (cheader_filename = "meta/main.h", cprefix = "META_SIZE_CHANGE_", type_id = "meta_size_change_get_type ()")]
+ 	public enum SizeChange {
+ 		MAXIMIZE,
+ 		UNMAXIMIZE,
+ 		FULLSCREEN,
+ 		UNFULLSCREEN
+ 	}
+-	[CCode (cheader_filename = "meta/common.h", cprefix = "META_LAYER_", type_id = "meta_stack_layer_get_type ()")]
++	[CCode (cheader_filename = "meta/main.h", cprefix = "META_LAYER_", type_id = "meta_stack_layer_get_type ()")]
+ 	public enum StackLayer {
+ 		DESKTOP,
+ 		BOTTOM,
+@@ -1256,19 +1390,19 @@ namespace Meta {
+ 		OVERRIDE_REDIRECT,
+ 		LAST
+ 	}
+-	[CCode (cheader_filename = "meta/display.h", cprefix = "META_TAB_LIST_", type_id = "meta_tab_list_get_type ()")]
++	[CCode (cheader_filename = "meta/main.h", cprefix = "META_TAB_LIST_", type_id = "meta_tab_list_get_type ()")]
+ 	public enum TabList {
+ 		NORMAL,
+ 		DOCKS,
+ 		GROUP,
+ 		NORMAL_ALL
+ 	}
+-	[CCode (cheader_filename = "meta/display.h", cprefix = "META_TAB_SHOW_", type_id = "meta_tab_show_type_get_type ()")]
++	[CCode (cheader_filename = "meta/main.h", cprefix = "META_TAB_SHOW_", type_id = "meta_tab_show_type_get_type ()")]
+ 	public enum TabShowType {
+ 		ICON,
+ 		INSTANTLY
+ 	}
+-	[CCode (cheader_filename = "meta/common.h", cprefix = "META_VIRTUAL_", type_id = "meta_virtual_modifier_get_type ()")]
++	[CCode (cheader_filename = "meta/main.h", cprefix = "META_VIRTUAL_", type_id = "meta_virtual_modifier_get_type ()")]
+ 	[Flags]
+ 	public enum VirtualModifier {
+ 		SHIFT_MASK,
+@@ -1282,17 +1416,17 @@ namespace Meta {
+ 		MOD4_MASK,
+ 		MOD5_MASK
+ 	}
+-	[CCode (cheader_filename = "meta/window.h", cprefix = "META_WINDOW_CLIENT_TYPE_", type_id = "meta_window_client_type_get_type ()")]
++	[CCode (cheader_filename = "meta/main.h", cprefix = "META_WINDOW_CLIENT_TYPE_", type_id = "meta_window_client_type_get_type ()")]
+ 	public enum WindowClientType {
+ 		WAYLAND,
+ 		X11
+ 	}
+-	[CCode (cheader_filename = "meta/common.h", cprefix = "META_WINDOW_MENU_", type_id = "meta_window_menu_type_get_type ()")]
++	[CCode (cheader_filename = "meta/main.h", cprefix = "META_WINDOW_MENU_", type_id = "meta_window_menu_type_get_type ()")]
+ 	public enum WindowMenuType {
+ 		WM,
+ 		APP
+ 	}
+-	[CCode (cheader_filename = "meta/window.h", cprefix = "META_WINDOW_", type_id = "meta_window_type_get_type ()")]
++	[CCode (cheader_filename = "meta/main.h", cprefix = "META_WINDOW_", type_id = "meta_window_type_get_type ()")]
+ 	public enum WindowType {
+ 		NORMAL,
+ 		DESKTOP,
+@@ -1311,51 +1445,57 @@ namespace Meta {
+ 		DND,
+ 		OVERRIDE_OTHER
+ 	}
+-	[CCode (cheader_filename = "meta/meta-idle-monitor.h", instance_pos = 2.9)]
++	[CCode (cheader_filename = "meta/main.h", instance_pos = 2.9)]
+ 	public delegate void IdleMonitorWatchFunc (Meta.IdleMonitor monitor, uint watch_id);
+-	[CCode (cheader_filename = "meta/prefs.h", instance_pos = 4.9)]
++	[CCode (cheader_filename = "meta/main.h", instance_pos = 4.9)]
+ 	public delegate void KeyHandlerFunc (Meta.Display display, Meta.Window window, [CCode (type = "ClutterKeyEvent*")] Clutter.KeyEvent? event, Meta.KeyBinding binding);
+-	[CCode (cheader_filename = "meta/prefs.h", instance_pos = 1.9)]
++	[CCode (cheader_filename = "meta/main.h", instance_pos = 1.9)]
+ 	public delegate void PrefsChangedFunc (Meta.Preference pref);
+-	[CCode (cheader_filename = "meta/window.h", instance_pos = 1.9)]
++	[CCode (cheader_filename = "meta/main.h", instance_pos = 1.9)]
+ 	public delegate bool WindowForeachFunc (Meta.Window window);
+-	[CCode (cheader_filename = "meta/common.h", cname = "META_CURRENT_TIME")]
++	[CCode (cheader_filename = "meta/main.h", cname = "META_CURRENT_TIME")]
+ 	public const int CURRENT_TIME;
+-	[CCode (cheader_filename = "meta/common.h", cname = "META_DEFAULT_ICON_NAME")]
++	[CCode (cheader_filename = "meta/main.h", cname = "META_DEFAULT_ICON_NAME")]
+ 	public const string DEFAULT_ICON_NAME;
+-	[CCode (cheader_filename = "meta/common.h", cname = "META_ICON_HEIGHT")]
++	[CCode (cheader_filename = "meta/main.h", cname = "META_ICON_HEIGHT")]
+ 	public const int ICON_HEIGHT;
+-	[CCode (cheader_filename = "meta/common.h", cname = "META_ICON_WIDTH")]
++	[CCode (cheader_filename = "meta/main.h", cname = "META_ICON_WIDTH")]
+ 	public const int ICON_WIDTH;
+-	[CCode (cheader_filename = "meta/common.h", cname = "META_MAJOR_VERSION")]
++	[CCode (cheader_filename = "meta/main.h", cname = "META_MAJOR_VERSION")]
+ 	public const int MAJOR_VERSION;
+-	[CCode (cheader_filename = "meta/common.h", cname = "META_MICRO_VERSION")]
++	[CCode (cheader_filename = "meta/main.h", cname = "META_MICRO_VERSION")]
+ 	public const int MICRO_VERSION;
+-	[CCode (cheader_filename = "meta/common.h", cname = "META_MINI_ICON_HEIGHT")]
++	[CCode (cheader_filename = "meta/main.h", cname = "META_MINI_ICON_HEIGHT")]
+ 	public const int MINI_ICON_HEIGHT;
+-	[CCode (cheader_filename = "meta/common.h", cname = "META_MINI_ICON_WIDTH")]
++	[CCode (cheader_filename = "meta/main.h", cname = "META_MINI_ICON_WIDTH")]
+ 	public const int MINI_ICON_WIDTH;
+-	[CCode (cheader_filename = "meta/common.h", cname = "META_MINOR_VERSION")]
++	[CCode (cheader_filename = "meta/main.h", cname = "META_MINOR_VERSION")]
+ 	public const int MINOR_VERSION;
+-	[CCode (cheader_filename = "meta/common.h", cname = "META_PLUGIN_API_VERSION")]
++	[CCode (cheader_filename = "meta/main.h", cname = "META_PLUGIN_API_VERSION")]
+ 	public const int PLUGIN_API_VERSION;
+-	[CCode (cheader_filename = "meta/common.h", cname = "META_PRIORITY_BEFORE_REDRAW")]
++	[CCode (cheader_filename = "meta/main.h", cname = "META_PRIORITY_BEFORE_REDRAW")]
+ 	public const int PRIORITY_BEFORE_REDRAW;
+-	[CCode (cheader_filename = "meta/common.h", cname = "META_PRIORITY_PREFS_NOTIFY")]
++	[CCode (cheader_filename = "meta/main.h", cname = "META_PRIORITY_PREFS_NOTIFY")]
+ 	public const int PRIORITY_PREFS_NOTIFY;
+-	[CCode (cheader_filename = "meta/common.h", cname = "META_PRIORITY_REDRAW")]
++	[CCode (cheader_filename = "meta/main.h", cname = "META_PRIORITY_REDRAW")]
+ 	public const int PRIORITY_REDRAW;
+-	[CCode (cheader_filename = "meta/common.h", cname = "META_PRIORITY_RESIZE")]
++	[CCode (cheader_filename = "meta/main.h", cname = "META_PRIORITY_RESIZE")]
+ 	public const int PRIORITY_RESIZE;
+-	[CCode (cheader_filename = "meta/common.h", cname = "META_VIRTUAL_CORE_KEYBOARD_ID")]
++	[CCode (cheader_filename = "meta/main.h", cname = "META_VIRTUAL_CORE_KEYBOARD_ID")]
+ 	public const int VIRTUAL_CORE_KEYBOARD_ID;
+-	[CCode (cheader_filename = "meta/common.h", cname = "META_VIRTUAL_CORE_POINTER_ID")]
++	[CCode (cheader_filename = "meta/main.h", cname = "META_VIRTUAL_CORE_POINTER_ID")]
+ 	public const int VIRTUAL_CORE_POINTER_ID;
+ 	[CCode (cheader_filename = "meta/main.h")]
+ 	public static bool activate_session ();
+ 	[CCode (cheader_filename = "meta/main.h")]
++	public static void add_clutter_debug_flags (Clutter.DebugFlag debug_flags, Clutter.DrawDebugFlag draw_flags, Clutter.PickDebugFlag pick_flags);
++	[CCode (cheader_filename = "meta/main.h")]
++	public static void clutter_init ();
++	[CCode (cheader_filename = "meta/main.h")]
+ 	public static void exit (Meta.ExitCode code);
+ 	[CCode (cheader_filename = "meta/main.h")]
++	public static string g_utf8_strndup (string src, size_t n);
++	[CCode (cheader_filename = "meta/main.h")]
+ 	public static unowned GLib.OptionContext get_option_context ();
+ 	[CCode (cheader_filename = "meta/main.h")]
+ 	public static bool get_replace_current_wm ();
+@@ -1368,6 +1508,8 @@ namespace Meta {
+ 	[CCode (cheader_filename = "meta/main.h")]
+ 	public static void register_with_session ();
+ 	[CCode (cheader_filename = "meta/main.h")]
++	public static void remove_clutter_debug_flags (Clutter.DebugFlag debug_flags, Clutter.DrawDebugFlag draw_flags, Clutter.PickDebugFlag pick_flags);
++	[CCode (cheader_filename = "meta/main.h")]
+ 	public static void restart (string? message);
+ 	[CCode (cheader_filename = "meta/main.h")]
+ 	public static int run ();
+@@ -1375,6 +1517,14 @@ namespace Meta {
+ 	public static void set_gnome_wm_keybindings (string wm_keybindings);
+ 	[CCode (cheader_filename = "meta/main.h")]
+ 	public static void set_wm_name (string wm_name);
+-	[CCode (cheader_filename = "meta/meta-x11-display.h")]
++	[CCode (cheader_filename = "meta/main.h")]
++	public static void test_init ();
++	[CCode (cheader_filename = "meta/main.h")]
+ 	public static bool x11_init_gdk_display () throws GLib.Error;
+ }
++[CCode (cheader_filename = "libmutter-7-custom.h", has_type_id = false)]
++public struct before_frame {
++}
++[CCode (cheader_filename = "libmutter-7-custom.h", has_type_id = false)]
++public struct frame {
++}
+diff --git vapi/libmutter-cogl-4.vapi vapi/libmutter-cogl-4.vapi
+deleted file mode 100644
+index 7dc18476..00000000
+--- vapi/libmutter-cogl-4.vapi
++++ /dev/null
+@@ -1,1272 +0,0 @@
+-/* libmutter-cogl-4.vapi generated by vapigen, do not modify. */
+-
+-[CCode (cprefix = "Cogl", gir_namespace = "Cogl", gir_version = "4", lower_case_cprefix = "cogl_")]
+-namespace Cogl {
+-	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_bitmap_get_gtype ()")]
+-	public class Bitmap : Cogl.Object {
+-		[CCode (has_construct_function = false)]
+-		protected Bitmap ();
+-		public static uint32 error_quark ();
+-		[CCode (has_construct_function = false)]
+-		[Version (since = "1.0")]
+-		public Bitmap.from_file (string filename) throws GLib.Error;
+-		[Version (since = "1.10")]
+-		public Cogl.PixelFormat get_format ();
+-		[Version (since = "1.10")]
+-		public int get_height ();
+-		[Version (since = "1.10")]
+-		public int get_rowstride ();
+-		[Version (since = "1.0")]
+-		public static Cogl.Bool get_size_from_file (string filename, out int width, out int height);
+-		[Version (since = "1.10")]
+-		public int get_width ();
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)]
+-	[Compact]
+-	public class Euler {
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "cogl_frame_closure_get_gtype ()")]
+-	[Compact]
+-	[Version (since = "1.14")]
+-	public class FrameClosure {
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "cogl_material_get_type ()")]
+-	[Compact]
+-	public class Material {
+-		[CCode (has_construct_function = false)]
+-		[Version (deprecated = true, deprecated_since = "1.16")]
+-		public Material ();
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.2")]
+-		public Cogl.Material copy ();
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+-		public void foreach_layer (Cogl.MaterialLayerCallback callback);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public void get_ambient (Cogl.Color ambient);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public Cogl.Color get_color ();
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public void get_diffuse (Cogl.Color diffuse);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public void get_emission (Cogl.Color emission);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+-		public Cogl.Bool get_layer_point_sprite_coords_enabled (int layer_index);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.6")]
+-		public Cogl.MaterialWrapMode get_layer_wrap_mode_p (int layer_index);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.6")]
+-		public Cogl.MaterialWrapMode get_layer_wrap_mode_s (int layer_index);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.6")]
+-		public Cogl.MaterialWrapMode get_layer_wrap_mode_t (int layer_index);
+-		public unowned GLib.List<Cogl.MaterialLayer> get_layers ();
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public int get_n_layers ();
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+-		public float get_point_size ();
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public float get_shininess ();
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public void get_specular (Cogl.Color specular);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+-		public Cogl.Handle get_user_program ();
+-		[Version (deprecated = true, deprecated_since = "1.2", since = "1.0")]
+-		public static Cogl.Handle @ref (Cogl.Handle material);
+-		[Version (deprecated = true, deprecated_since = "1.16")]
+-		public void remove_layer (int layer_index);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public void set_alpha_test_function (Cogl.MaterialAlphaFunc alpha_func, float alpha_reference);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public void set_ambient (Cogl.Color ambient);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public void set_ambient_and_diffuse (Cogl.Color color);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public Cogl.Bool set_blend (string blend_string) throws GLib.Error;
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public void set_blend_constant (Cogl.Color constant_color);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public void set_color (Cogl.Color color);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public void set_color4f (float red, float green, float blue, float alpha);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public void set_color4ub (uint8 red, uint8 green, uint8 blue, uint8 alpha);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public void set_diffuse (Cogl.Color diffuse);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public void set_emission (Cogl.Color emission);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public void set_layer (int layer_index, Cogl.Handle texture);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public Cogl.Bool set_layer_combine (int layer_index, string blend_string) throws GLib.Error;
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public void set_layer_combine_constant (int layer_index, Cogl.Color constant);
+-		[Version (deprecated = true, deprecated_since = "1.16")]
+-		public void set_layer_filters (int layer_index, Cogl.MaterialFilter min_filter, Cogl.MaterialFilter mag_filter);
+-		[Version (deprecated = true, deprecated_since = "1.16")]
+-		public void set_layer_matrix (int layer_index, Cogl.Matrix matrix);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+-		public Cogl.Bool set_layer_point_sprite_coords_enabled (int layer_index, Cogl.Bool enable) throws GLib.Error;
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+-		public void set_layer_wrap_mode (int layer_index, Cogl.MaterialWrapMode mode);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+-		public void set_layer_wrap_mode_p (int layer_index, Cogl.MaterialWrapMode mode);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+-		public void set_layer_wrap_mode_s (int layer_index, Cogl.MaterialWrapMode mode);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+-		public void set_layer_wrap_mode_t (int layer_index, Cogl.MaterialWrapMode mode);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+-		public void set_point_size (float point_size);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public void set_shininess (float shininess);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public void set_specular (Cogl.Color specular);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+-		public void set_user_program (Cogl.Handle program);
+-		[Version (deprecated = true, deprecated_since = "1.2", since = "1.0")]
+-		public static void unref (Cogl.Handle material);
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)]
+-	[Compact]
+-	public class MaterialLayer {
+-		[Version (deprecated = true, deprecated_since = "1.16")]
+-		public Cogl.MaterialFilter get_mag_filter ();
+-		[Version (deprecated = true, deprecated_since = "1.16")]
+-		public Cogl.MaterialFilter get_min_filter ();
+-		[Version (deprecated = true, deprecated_since = "1.16")]
+-		public Cogl.Handle get_texture ();
+-		[Version (deprecated = true, deprecated_since = "1.16")]
+-		public Cogl.MaterialLayerType get_type ();
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+-		public Cogl.MaterialWrapMode get_wrap_mode_p ();
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+-		public Cogl.MaterialWrapMode get_wrap_mode_s ();
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+-		public Cogl.MaterialWrapMode get_wrap_mode_t ();
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_object_get_gtype ()")]
+-	public abstract class Object {
+-		[CCode (has_construct_function = false)]
+-		protected Object ();
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_offscreen_get_gtype ()")]
+-	public class Offscreen : Cogl.Object, Cogl.Framebuffer {
+-		[CCode (has_construct_function = false)]
+-		protected Offscreen ();
+-		[Version (deprecated = true, deprecated_since = "1.2")]
+-		public static void* @ref (void* offscreen);
+-		[CCode (has_construct_function = false)]
+-		[Version (deprecated = true, deprecated_since = "1.16")]
+-		public Offscreen.to_texture (Cogl.Texture texture);
+-		[Version (deprecated = true, deprecated_since = "1.2")]
+-		public static void unref (void* offscreen);
+-		[CCode (has_construct_function = false)]
+-		public Offscreen.with_texture (Cogl.Texture texture);
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_onscreen_get_gtype ()")]
+-	public class Onscreen : Cogl.Object, Cogl.Framebuffer {
+-		[CCode (has_construct_function = false)]
+-		protected Onscreen ();
+-		[Version (since = "1.16")]
+-		public Cogl.OnscreenDirtyClosure add_dirty_callback ([CCode (delegate_target_pos = 1.5)] Cogl.OnscreenDirtyCallback callback, Cogl.UserDataDestroyCallback? destroy);
+-		[Version (since = "2.0")]
+-		public Cogl.OnscreenResizeClosure add_resize_callback ([CCode (delegate_target_pos = 1.5)] Cogl.OnscreenResizeCallback callback, Cogl.UserDataDestroyCallback? destroy);
+-		[Version (deprecated = true, deprecated_since = "1.14", since = "1.10")]
+-		public uint add_swap_buffers_callback (Cogl.SwapBuffersNotify callback);
+-		public static void clutter_backend_set_size_CLUTTER (int width, int height);
+-		[Version (since = "1.14")]
+-		public int get_buffer_age ();
+-		[Version (since = "1.14")]
+-		public int64 get_frame_counter ();
+-		[Version (since = "2.0")]
+-		public Cogl.Bool get_resizable ();
+-		[Version (since = "2.0")]
+-		public void hide ();
+-		[Version (since = "1.16")]
+-		public void remove_dirty_callback (Cogl.OnscreenDirtyClosure closure);
+-		[Version (since = "1.14")]
+-		public void remove_frame_callback (Cogl.FrameClosure closure);
+-		[Version (since = "2.0")]
+-		public void remove_resize_callback (Cogl.OnscreenResizeClosure closure);
+-		[Version (deprecated = true, deprecated_since = "1.14", since = "1.10")]
+-		public void remove_swap_buffers_callback (uint id);
+-		[Version (since = "2.0")]
+-		public void set_resizable (Cogl.Bool resizable);
+-		[Version (since = "2.0")]
+-		public void show ();
+-		[Version (since = "1.10")]
+-		public void swap_buffers ();
+-		[Version (since = "1.16")]
+-		public void swap_buffers_with_damage (int rectangles, int n_rectangles);
+-		[Version (since = "1.10")]
+-		public void swap_region (int rectangles, int n_rectangles);
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "cogl_onscreen_dirty_closure_get_gtype ()")]
+-	[Compact]
+-	[Version (since = "1.16")]
+-	public class OnscreenDirtyClosure {
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "cogl_onscreen_resize_closure_get_gtype ()")]
+-	[Compact]
+-	[Version (since = "2.0")]
+-	public class OnscreenResizeClosure {
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_pipeline_get_gtype ()")]
+-	public class Pipeline : Cogl.Object {
+-		[CCode (has_construct_function = false)]
+-		protected Pipeline ();
+-		[Version (since = "2.0")]
+-		public Cogl.Pipeline copy ();
+-		[Version (since = "2.0")]
+-		public void foreach_layer (Cogl.PipelineLayerCallback callback);
+-		[Version (since = "2.0")]
+-		public Cogl.PipelineAlphaFunc get_alpha_test_function ();
+-		[Version (since = "2.0")]
+-		public float get_alpha_test_reference ();
+-		[Version (since = "2.0")]
+-		public void get_ambient (Cogl.Color ambient);
+-		[Version (since = "2.0")]
+-		public Cogl.Color get_color ();
+-		[Version (since = "1.8")]
+-		public Cogl.ColorMask get_color_mask ();
+-		[Version (since = "2.0")]
+-		public Cogl.PipelineCullFaceMode get_cull_face_mode ();
+-		[Version (since = "2.0")]
+-		public void get_diffuse (Cogl.Color diffuse);
+-		[Version (since = "2.0")]
+-		public void get_emission (Cogl.Color emission);
+-		[Version (since = "2.0")]
+-		public Cogl.Winding get_front_face_winding ();
+-		[Version (since = "1.10")]
+-		public Cogl.PipelineFilter get_layer_mag_filter (int layer_index);
+-		[Version (since = "1.10")]
+-		public Cogl.PipelineFilter get_layer_min_filter (int layer_index);
+-		[Version (since = "2.0")]
+-		public Cogl.Bool get_layer_point_sprite_coords_enabled (int layer_index);
+-		[Version (since = "1.10")]
+-		public unowned Cogl.Texture get_layer_texture (int layer_index);
+-		[Version (since = "1.6")]
+-		public Cogl.PipelineWrapMode get_layer_wrap_mode_p (int layer_index);
+-		[Version (since = "1.6")]
+-		public Cogl.PipelineWrapMode get_layer_wrap_mode_s (int layer_index);
+-		[Version (since = "1.6")]
+-		public Cogl.PipelineWrapMode get_layer_wrap_mode_t (int layer_index);
+-		[Version (since = "2.0")]
+-		public int get_n_layers ();
+-		[Version (since = "2.0")]
+-		public Cogl.Bool get_per_vertex_point_size ();
+-		[Version (since = "2.0")]
+-		public float get_point_size ();
+-		[Version (since = "2.0")]
+-		public float get_shininess ();
+-		[Version (since = "2.0")]
+-		public void get_specular (Cogl.Color specular);
+-		[Version (since = "2.0")]
+-		public int get_uniform_location (string uniform_name);
+-		[Version (since = "2.0")]
+-		public Cogl.Handle get_user_program ();
+-		[Version (since = "1.10")]
+-		public void remove_layer (int layer_index);
+-		[Version (since = "2.0")]
+-		public void set_alpha_test_function (Cogl.PipelineAlphaFunc alpha_func, float alpha_reference);
+-		[Version (since = "2.0")]
+-		public void set_ambient (Cogl.Color ambient);
+-		[Version (since = "2.0")]
+-		public void set_ambient_and_diffuse (Cogl.Color color);
+-		[Version (since = "2.0")]
+-		public Cogl.Bool set_blend (string blend_string) throws GLib.Error;
+-		[Version (since = "2.0")]
+-		public void set_blend_constant (Cogl.Color constant_color);
+-		[Version (since = "2.0")]
+-		public void set_color (Cogl.Color color);
+-		[Version (since = "2.0")]
+-		public void set_color4f (float red, float green, float blue, float alpha);
+-		[Version (since = "2.0")]
+-		public void set_color4ub (uint8 red, uint8 green, uint8 blue, uint8 alpha);
+-		[Version (since = "1.8")]
+-		public void set_color_mask (Cogl.ColorMask color_mask);
+-		[Version (since = "2.0")]
+-		public void set_cull_face_mode (Cogl.PipelineCullFaceMode cull_face_mode);
+-		[Version (since = "2.0")]
+-		public void set_diffuse (Cogl.Color diffuse);
+-		[Version (since = "2.0")]
+-		public void set_emission (Cogl.Color emission);
+-		[Version (since = "2.0")]
+-		public void set_front_face_winding (Cogl.Winding front_winding);
+-		[Version (since = "2.0")]
+-		public Cogl.Bool set_layer_combine (int layer_index, string blend_string) throws GLib.Error;
+-		[Version (since = "2.0")]
+-		public void set_layer_combine_constant (int layer_index, Cogl.Color constant);
+-		[Version (since = "1.10")]
+-		public void set_layer_filters (int layer_index, Cogl.PipelineFilter min_filter, Cogl.PipelineFilter mag_filter);
+-		[Version (since = "1.10")]
+-		public void set_layer_matrix (int layer_index, Cogl.Matrix matrix);
+-		[Version (since = "1.10")]
+-		public void set_layer_null_texture (int layer_index, Cogl.TextureType texture_type);
+-		[Version (since = "2.0")]
+-		public Cogl.Bool set_layer_point_sprite_coords_enabled (int layer_index, Cogl.Bool enable) throws GLib.Error;
+-		public void set_layer_texture (int layer_index, Cogl.Texture texture);
+-		[Version (since = "2.0")]
+-		public void set_layer_wrap_mode (int layer_index, Cogl.PipelineWrapMode mode);
+-		[Version (since = "2.0")]
+-		public void set_layer_wrap_mode_p (int layer_index, Cogl.PipelineWrapMode mode);
+-		[Version (since = "2.0")]
+-		public void set_layer_wrap_mode_s (int layer_index, Cogl.PipelineWrapMode mode);
+-		[Version (since = "2.0")]
+-		public void set_layer_wrap_mode_t (int layer_index, Cogl.PipelineWrapMode mode);
+-		[Version (since = "2.0")]
+-		public Cogl.Bool set_per_vertex_point_size (Cogl.Bool enable) throws GLib.Error;
+-		[Version (since = "2.0")]
+-		public void set_point_size (float point_size);
+-		[Version (since = "2.0")]
+-		public void set_shininess (float shininess);
+-		[Version (since = "2.0")]
+-		public void set_specular (Cogl.Color specular);
+-		[Version (since = "2.0")]
+-		public void set_uniform_1f (int uniform_location, float value);
+-		[Version (since = "2.0")]
+-		public void set_uniform_1i (int uniform_location, int value);
+-		[Version (since = "2.0")]
+-		public void set_uniform_float (int uniform_location, int n_components, int count, float value);
+-		[Version (since = "2.0")]
+-		public void set_uniform_int (int uniform_location, int n_components, int count, int value);
+-		[Version (since = "2.0")]
+-		public void set_uniform_matrix (int uniform_location, int dimensions, int count, Cogl.Bool transpose, float value);
+-		[Version (since = "2.0")]
+-		public void set_user_program (Cogl.Handle program);
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)]
+-	[Compact]
+-	public class Quaternion {
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_framebuffer_get_gtype ()")]
+-	public interface Framebuffer : Cogl.Object {
+-		[Version (since = "1.8")]
+-		public Cogl.Bool allocate () throws GLib.Error;
+-		[Version (since = "1.8")]
+-		public void clear (ulong buffers, Cogl.Color color);
+-		[Version (since = "1.8")]
+-		public void clear4f (ulong buffers, float red, float green, float blue, float alpha);
+-		[Version (since = "1.8")]
+-		public void discard_buffers (ulong buffers);
+-		[Version (since = "1.10")]
+-		public void draw_multitextured_rectangle (Cogl.Pipeline pipeline, float x_1, float y_1, float x_2, float y_2, [CCode (array_length = false)] float[] tex_coords, int tex_coords_len);
+-		[Version (since = "1.10")]
+-		public void draw_rectangle (Cogl.Pipeline pipeline, float x_1, float y_1, float x_2, float y_2);
+-		[Version (since = "1.10")]
+-		public void draw_rectangles (Cogl.Pipeline pipeline, [CCode (array_length = false)] float[] coordinates, uint n_rectangles);
+-		[Version (since = "1.10")]
+-		public void draw_textured_rectangle (Cogl.Pipeline pipeline, float x_1, float y_1, float x_2, float y_2, float s_1, float t_1, float s_2, float t_2);
+-		[Version (since = "1.10")]
+-		public void draw_textured_rectangles (Cogl.Pipeline pipeline, [CCode (array_length = false)] float[] coordinates, uint n_rectangles);
+-		public static uint32 error_quark ();
+-		[Version (since = "1.10")]
+-		public void finish ();
+-		[Version (since = "1.10")]
+-		public void frustum (float left, float right, float bottom, float top, float z_near, float z_far);
+-		[Version (since = "1.8")]
+-		public int get_alpha_bits ();
+-		[Version (since = "1.8")]
+-		public int get_blue_bits ();
+-		[Version (since = "1.8")]
+-		public Cogl.ColorMask get_color_mask ();
+-		[Version (since = "2.0")]
+-		public int get_depth_bits ();
+-		[Version (since = "1.14")]
+-		public unowned Cogl.Texture get_depth_texture ();
+-		[Version (since = "1.14")]
+-		public Cogl.Bool get_depth_texture_enabled ();
+-		[Version (since = "1.18")]
+-		public Cogl.Bool get_depth_write_enabled ();
+-		[Version (since = "1.8")]
+-		public Cogl.Bool get_dither_enabled ();
+-		[Version (since = "1.8")]
+-		public int get_green_bits ();
+-		[Version (since = "1.8")]
+-		public int get_height ();
+-		public Cogl.Bool get_is_stereo ();
+-		[Version (since = "1.10")]
+-		public Cogl.Matrix get_modelview_matrix ();
+-		[Version (since = "1.10")]
+-		public Cogl.Matrix get_projection_matrix ();
+-		[Version (since = "1.8")]
+-		public int get_red_bits ();
+-		[Version (since = "1.10")]
+-		public int get_samples_per_pixel ();
+-		[Version (since = "1.20")]
+-		public Cogl.StereoMode get_stereo_mode ();
+-		[Version (since = "1.8")]
+-		public void get_viewport4fv ([CCode (array_length = false)] out unowned float viewport[4]);
+-		[Version (since = "1.8")]
+-		public float get_viewport_height ();
+-		[Version (since = "1.8")]
+-		public float get_viewport_width ();
+-		[Version (since = "1.8")]
+-		public float get_viewport_x ();
+-		[Version (since = "1.8")]
+-		public float get_viewport_y ();
+-		[Version (since = "1.8")]
+-		public int get_width ();
+-		[Version (since = "1.10")]
+-		public void identity_matrix ();
+-		[Version (since = "1.10")]
+-		public void orthographic (float x_1, float y_1, float x_2, float y_2, float near, float far);
+-		[Version (since = "1.10")]
+-		public void perspective (float fov_y, float aspect, float z_near, float z_far);
+-		[Version (since = "1.10")]
+-		public void pop_clip ();
+-		[Version (since = "1.10")]
+-		public void pop_matrix ();
+-		[Version (since = "1.10")]
+-		public void push_matrix ();
+-		[Version (since = "1.10")]
+-		public void push_rectangle_clip (float x_1, float y_1, float x_2, float y_2);
+-		[Version (since = "1.10")]
+-		public void push_scissor_clip (int x, int y, int width, int height);
+-		[Version (since = "1.10")]
+-		public Cogl.Bool read_pixels (int x, int y, int width, int height, Cogl.PixelFormat format, uint8 pixels);
+-		[Version (since = "1.10")]
+-		public Cogl.Bool read_pixels_into_bitmap (int x, int y, Cogl.ReadPixelsFlags source, Cogl.Bitmap bitmap);
+-		[Version (since = "1.8")]
+-		public void resolve_samples ();
+-		[Version (since = "1.8")]
+-		public void resolve_samples_region (int x, int y, int width, int height);
+-		[Version (since = "1.10")]
+-		public void rotate (float angle, float x, float y, float z);
+-		[Version (since = "2.0")]
+-		public void rotate_euler (Cogl.Euler euler);
+-		[Version (since = "2.0")]
+-		public void rotate_quaternion (Cogl.Quaternion quaternion);
+-		[Version (since = "1.10")]
+-		public void scale (float x, float y, float z);
+-		[Version (since = "1.8")]
+-		public void set_color_mask (Cogl.ColorMask color_mask);
+-		[Version (since = "1.14")]
+-		public void set_depth_texture_enabled (Cogl.Bool enabled);
+-		[Version (since = "1.18")]
+-		public void set_depth_write_enabled (Cogl.Bool depth_write_enabled);
+-		[Version (since = "1.8")]
+-		public void set_dither_enabled (Cogl.Bool dither_enabled);
+-		[Version (since = "1.10")]
+-		public void set_modelview_matrix (Cogl.Matrix matrix);
+-		[Version (since = "1.10")]
+-		public void set_projection_matrix (Cogl.Matrix matrix);
+-		[Version (since = "1.8")]
+-		public void set_samples_per_pixel (int samples_per_pixel);
+-		[Version (since = "1.20")]
+-		public void set_stereo_mode (Cogl.StereoMode stereo_mode);
+-		[Version (since = "1.8")]
+-		public void set_viewport (float x, float y, float width, float height);
+-		[Version (since = "1.10")]
+-		public void transform (Cogl.Matrix matrix);
+-		[Version (since = "1.10")]
+-		public void translate (float x, float y, float z);
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_texture_get_gtype ()")]
+-	public interface Texture : Cogl.Object {
+-		public Cogl.Bool allocate () throws GLib.Error;
+-		public static uint32 error_quark ();
+-		[Version (since = "1.18")]
+-		public Cogl.TextureComponents get_components ();
+-		public int get_data (Cogl.PixelFormat format, uint rowstride, uint8 data);
+-		public Cogl.Bool get_gl_texture (out uint out_gl_handle, out uint out_gl_target);
+-		public uint get_height ();
+-		public int get_max_waste ();
+-		[Version (since = "1.18")]
+-		public Cogl.Bool get_premultiplied ();
+-		public uint get_width ();
+-		public Cogl.Bool is_sliced ();
+-		[Version (deprecated = true, deprecated_since = "1.18", since = "1.0")]
+-		public static Cogl.Texture new_from_bitmap (Cogl.Bitmap bitmap, Cogl.TextureFlags flags, Cogl.PixelFormat internal_format);
+-		[Version (deprecated = true, deprecated_since = "1.18", since = "0.8")]
+-		public static Cogl.Texture new_from_data (int width, int height, Cogl.TextureFlags flags, Cogl.PixelFormat format, Cogl.PixelFormat internal_format, int rowstride, uint8 data);
+-		[Version (deprecated = true, deprecated_since = "1.18", since = "0.8")]
+-		public static Cogl.Texture new_from_file (string filename, Cogl.TextureFlags flags, Cogl.PixelFormat internal_format) throws GLib.Error;
+-		[Version (deprecated = true, deprecated_since = "1.18", since = "0.8")]
+-		public static Cogl.Texture new_from_foreign (uint gl_handle, uint gl_target, uint width, uint height, uint x_pot_waste, uint y_pot_waste, Cogl.PixelFormat format);
+-		[Version (deprecated = true, deprecated_since = "1.18", since = "1.2")]
+-		public Cogl.Texture new_from_sub_texture (int sub_x, int sub_y, int sub_width, int sub_height);
+-		[Version (deprecated = true, deprecated_since = "1.18", since = "0.8")]
+-		public static Cogl.Texture new_with_size (uint width, uint height, Cogl.TextureFlags flags, Cogl.PixelFormat internal_format);
+-		[Version (since = "1.18")]
+-		public void set_components (Cogl.TextureComponents components);
+-		public Cogl.Bool set_data (Cogl.PixelFormat format, int rowstride, uint8 data, int level) throws GLib.Error;
+-		[Version (since = "1.18")]
+-		public void set_premultiplied (Cogl.Bool premultiplied);
+-		public Cogl.Bool set_region (int src_x, int src_y, int dst_x, int dst_y, uint dst_width, uint dst_height, int width, int height, Cogl.PixelFormat format, uint rowstride, uint8 data);
+-		[Version (since = "1.8")]
+-		public Cogl.Bool set_region_from_bitmap (int src_x, int src_y, int dst_x, int dst_y, uint dst_width, uint dst_height, Cogl.Bitmap bitmap);
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[SimpleType]
+-	public struct Angle : int32 {
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[SimpleType]
+-	public struct Bool : int {
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_color_get_gtype ()")]
+-	[Version (since = "1.0")]
+-	public struct Color {
+-		public Cogl.Color? copy ();
+-		public static Cogl.Bool equal (void* v1, void* v2);
+-		public float get_alpha ();
+-		public uint8 get_alpha_byte ();
+-		public float get_alpha_float ();
+-		public float get_blue ();
+-		public uint8 get_blue_byte ();
+-		public float get_blue_float ();
+-		public float get_green ();
+-		public uint8 get_green_byte ();
+-		public float get_green_float ();
+-		public float get_red ();
+-		public uint8 get_red_byte ();
+-		public float get_red_float ();
+-		[Version (since = "1.4")]
+-		public void init_from_4f (float red, float green, float blue, float alpha);
+-		[Version (since = "1.4")]
+-		public void init_from_4fv (float color_array);
+-		[Version (since = "1.4")]
+-		public void init_from_4ub (uint8 red, uint8 green, uint8 blue, uint8 alpha);
+-		[Version (since = "1.16")]
+-		public static void init_from_hsl (out Cogl.Color color, float hue, float saturation, float luminance);
+-		public void premultiply ();
+-		[Version (since = "1.4")]
+-		public void set_alpha (float alpha);
+-		[Version (since = "1.4")]
+-		public void set_alpha_byte (uint8 alpha);
+-		[Version (since = "1.4")]
+-		public void set_alpha_float (float alpha);
+-		[Version (since = "1.4")]
+-		public void set_blue (float blue);
+-		[Version (since = "1.4")]
+-		public void set_blue_byte (uint8 blue);
+-		[Version (since = "1.4")]
+-		public void set_blue_float (float blue);
+-		[Version (deprecated = true, deprecated_since = "1.4", since = "1.0")]
+-		public void set_from_4f (float red, float green, float blue, float alpha);
+-		[Version (deprecated = true, deprecated_since = "1.4", since = "1.0")]
+-		public void set_from_4ub (uint8 red, uint8 green, uint8 blue, uint8 alpha);
+-		[Version (since = "1.4")]
+-		public void set_green (float green);
+-		[Version (since = "1.4")]
+-		public void set_green_byte (uint8 green);
+-		[Version (since = "1.4")]
+-		public void set_green_float (float green);
+-		[Version (since = "1.4")]
+-		public void set_red (float red);
+-		[Version (since = "1.4")]
+-		public void set_red_byte (uint8 red);
+-		[Version (since = "1.4")]
+-		public void set_red_float (float red);
+-		[Version (since = "1.16")]
+-		public void to_hsl (out float hue, out float saturation, out float luminance);
+-		[Version (since = "1.4")]
+-		public void unpremultiply ();
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)]
+-	[Version (since = "1.8")]
+-	public struct DebugObjectTypeInfo {
+-		public weak string name;
+-		public ulong instance_count;
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[SimpleType]
+-	public struct Handle {
+-		public static GLib.Type get_type ();
+-		public Cogl.Handle @ref ();
+-		public void unref ();
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_matrix_get_gtype ()")]
+-	public struct Matrix {
+-		public float xx;
+-		public float yx;
+-		public float zx;
+-		public float wx;
+-		public float xy;
+-		public float yy;
+-		public float zy;
+-		public float wy;
+-		public float xz;
+-		public float yz;
+-		public float zz;
+-		public float wz;
+-		public float xw;
+-		public float yw;
+-		public float zw;
+-		public float ww;
+-		[Version (since = "1.6")]
+-		public Cogl.Matrix? copy ();
+-		[Version (since = "1.4")]
+-		public static Cogl.Bool equal (void* v1, void* v2);
+-		[Version (since = "1.6")]
+-		public void free ();
+-		public void frustum (float left, float right, float bottom, float top, float z_near, float z_far);
+-		public unowned float[] get_array ();
+-		[Version (since = "1.2")]
+-		public Cogl.Bool get_inverse (out Cogl.Matrix inverse);
+-		public void init_from_euler (Cogl.Euler euler);
+-		public void init_from_quaternion (Cogl.Quaternion quaternion);
+-		[Version (since = "2.0")]
+-		public void init_translation (float tx, float ty, float tz);
+-		[Version (since = "1.8")]
+-		public Cogl.Bool is_identity ();
+-		[Version (since = "1.8")]
+-		public void look_at (float eye_position_x, float eye_position_y, float eye_position_z, float object_x, float object_y, float object_z, float world_up_x, float world_up_y, float world_up_z);
+-		[Version (deprecated = true, deprecated_since = "1.10")]
+-		public void ortho (float left, float right, float bottom, float top, float near, float far);
+-		[Version (since = "1.10")]
+-		public void orthographic (float x_1, float y_1, float x_2, float y_2, float near, float far);
+-		public void perspective (float fov_y, float aspect, float z_near, float z_far);
+-		public void project_points (int n_components, size_t stride_in, void* points_in, size_t stride_out, void* points_out, int n_points);
+-		public void rotate (float angle, float x, float y, float z);
+-		[Version (since = "2.0")]
+-		public void rotate_euler (Cogl.Euler euler);
+-		[Version (since = "2.0")]
+-		public void rotate_quaternion (Cogl.Quaternion quaternion);
+-		public void scale (float sx, float sy, float sz);
+-		public void transform_point (ref float x, ref float y, ref float z, ref float w);
+-		public void transform_points (int n_components, size_t stride_in, void* points_in, size_t stride_out, void* points_out, int n_points);
+-		public void translate (float x, float y, float z);
+-		[Version (since = "1.10")]
+-		public void transpose ();
+-		[Version (since = "1.8")]
+-		public void view_2d_in_frustum (float left, float right, float bottom, float top, float z_near, float z_2d, float width_2d, float height_2d);
+-		[Version (since = "1.8")]
+-		public void view_2d_in_perspective (float fov_y, float aspect, float z_near, float z_2d, float width_2d, float height_2d);
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)]
+-	[Version (since = "1.16")]
+-	public struct OnscreenDirtyInfo {
+-		public int x;
+-		public int y;
+-		public int width;
+-		public int height;
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)]
+-	public struct TextureVertex {
+-		public float x;
+-		public float y;
+-		public float z;
+-		public float tx;
+-		public float ty;
+-		public Cogl.Color color;
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)]
+-	[Version (since = "1.4")]
+-	public struct UserDataKey {
+-		public int unused;
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cname = "_CoglColorSizeCheck", has_type_id = false)]
+-	public struct _ColorSizeCheck {
+-		[CCode (array_length = false)]
+-		public weak char[] compile_time_assert_CoglColor_size;
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cname = "_CoglMatrixSizeCheck", has_type_id = false)]
+-	public struct _MatrixSizeCheck {
+-		[CCode (array_length = false)]
+-		public weak char[] compile_time_assert_CoglMatrix_size;
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cname = "_CoglTextureVertexSizeCheck", has_type_id = false)]
+-	public struct _TextureVertexSizeCheck {
+-		[CCode (array_length = false)]
+-		public weak char[] compile_time_assert_CoglTextureVertex_size;
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_ATTRIBUTE_TYPE_", has_type_id = false)]
+-	[Version (since = "1.0")]
+-	public enum AttributeType {
+-		BYTE,
+-		UNSIGNED_BYTE,
+-		SHORT,
+-		UNSIGNED_SHORT,
+-		FLOAT
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_BITMAP_ERROR_", has_type_id = false)]
+-	[Version (since = "1.4")]
+-	public enum BitmapError {
+-		FAILED,
+-		UNKNOWN_TYPE,
+-		CORRUPT_IMAGE
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_BLEND_STRING_ERROR_", has_type_id = false)]
+-	[Version (since = "1.0")]
+-	public enum BlendStringError {
+-		PARSE_ERROR,
+-		ARGUMENT_PARSE_ERROR,
+-		INVALID_ERROR,
+-		GPU_UNSUPPORTED_ERROR;
+-		public static uint32 quark ();
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_BUFFER_BIT_", has_type_id = false)]
+-	[Flags]
+-	[Version (since = "1.0")]
+-	public enum BufferBit {
+-		COLOR,
+-		DEPTH,
+-		STENCIL
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_", has_type_id = false)]
+-	[Flags]
+-	[Version (since = "0.8")]
+-	public enum BufferTarget {
+-		WINDOW_BUFFER,
+-		OFFSCREEN_BUFFER
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_COLOR_MASK_", has_type_id = false)]
+-	[Flags]
+-	public enum ColorMask {
+-		NONE,
+-		RED,
+-		GREEN,
+-		BLUE,
+-		ALPHA,
+-		ALL
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_DEPTH_TEST_FUNCTION_", has_type_id = false)]
+-	public enum DepthTestFunction {
+-		NEVER,
+-		LESS,
+-		EQUAL,
+-		LEQUAL,
+-		GREATER,
+-		NOTEQUAL,
+-		GEQUAL,
+-		ALWAYS
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_FEATURE_", has_type_id = false)]
+-	[Flags]
+-	[Version (since = "0.8")]
+-	public enum FeatureFlags {
+-		TEXTURE_RECTANGLE,
+-		TEXTURE_NPOT,
+-		TEXTURE_YUV,
+-		TEXTURE_READ_PIXELS,
+-		SHADERS_GLSL,
+-		OFFSCREEN,
+-		OFFSCREEN_MULTISAMPLE,
+-		OFFSCREEN_BLIT,
+-		FOUR_CLIP_PLANES,
+-		STENCIL_BUFFER,
+-		VBOS,
+-		PBOS,
+-		UNSIGNED_INT_INDICES,
+-		DEPTH_RANGE,
+-		TEXTURE_NPOT_BASIC,
+-		TEXTURE_NPOT_MIPMAP,
+-		TEXTURE_NPOT_REPEAT,
+-		POINT_SPRITE,
+-		TEXTURE_3D,
+-		MAP_BUFFER_FOR_READ,
+-		MAP_BUFFER_FOR_WRITE,
+-		ONSCREEN_MULTIPLE,
+-		DEPTH_TEXTURE
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_FILTER_", has_type_id = false)]
+-	public enum FilterReturn {
+-		CONTINUE,
+-		REMOVE
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_FOG_MODE_", has_type_id = false)]
+-	[Version (since = "1.0")]
+-	public enum FogMode {
+-		LINEAR,
+-		EXPONENTIAL,
+-		EXPONENTIAL_SQUARED
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_FRAME_EVENT_", has_type_id = false)]
+-	[Version (since = "1.14")]
+-	public enum FrameEvent {
+-		SYNC,
+-		COMPLETE
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_FRAMEBUFFER_ERROR_", has_type_id = false)]
+-	public enum FramebufferError {
+-		[CCode (cname = "COGL_FRAMEBUFFER_ERROR_ALLOCATE")]
+-		FRAMEBUFFER_ERROR_ALLOCATE;
+-		public static uint32 quark ();
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_INDICES_TYPE_UNSIGNED_", has_type_id = false)]
+-	public enum IndicesType {
+-		BYTE,
+-		SHORT,
+-		INT
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_MATERIAL_ALPHA_FUNC_", has_type_id = false)]
+-	public enum MaterialAlphaFunc {
+-		NEVER,
+-		LESS,
+-		EQUAL,
+-		LEQUAL,
+-		GREATER,
+-		NOTEQUAL,
+-		GEQUAL,
+-		ALWAYS
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_MATERIAL_FILTER_", has_type_id = false)]
+-	public enum MaterialFilter {
+-		NEAREST,
+-		LINEAR,
+-		NEAREST_MIPMAP_NEAREST,
+-		LINEAR_MIPMAP_NEAREST,
+-		NEAREST_MIPMAP_LINEAR,
+-		LINEAR_MIPMAP_LINEAR
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_MATERIAL_LAYER_TYPE_", has_type_id = false)]
+-	[Version (since = "1.0")]
+-	public enum MaterialLayerType {
+-		[CCode (cname = "COGL_MATERIAL_LAYER_TYPE_TEXTURE")]
+-		MATERIAL_LAYER_TYPE_TEXTURE
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_MATERIAL_WRAP_MODE_", has_type_id = false)]
+-	[Version (since = "1.4")]
+-	public enum MaterialWrapMode {
+-		REPEAT,
+-		CLAMP_TO_EDGE,
+-		AUTOMATIC
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_PIPELINE_ALPHA_FUNC_", has_type_id = false)]
+-	public enum PipelineAlphaFunc {
+-		NEVER,
+-		LESS,
+-		EQUAL,
+-		LEQUAL,
+-		GREATER,
+-		NOTEQUAL,
+-		GEQUAL,
+-		ALWAYS
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_PIPELINE_CULL_FACE_MODE_", has_type_id = false)]
+-	public enum PipelineCullFaceMode {
+-		NONE,
+-		FRONT,
+-		BACK,
+-		BOTH
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_PIPELINE_FILTER_", has_type_id = false)]
+-	public enum PipelineFilter {
+-		NEAREST,
+-		LINEAR,
+-		NEAREST_MIPMAP_NEAREST,
+-		LINEAR_MIPMAP_NEAREST,
+-		NEAREST_MIPMAP_LINEAR,
+-		LINEAR_MIPMAP_LINEAR
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_PIPELINE_WRAP_MODE_", has_type_id = false)]
+-	[Version (since = "2.0")]
+-	public enum PipelineWrapMode {
+-		REPEAT,
+-		MIRRORED_REPEAT,
+-		CLAMP_TO_EDGE,
+-		AUTOMATIC
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_PIXEL_FORMAT_", has_type_id = false)]
+-	[Flags]
+-	[Version (since = "0.8")]
+-	public enum PixelFormat {
+-		ANY,
+-		A_8,
+-		RGB_565,
+-		RGBA_4444,
+-		RGBA_5551,
+-		YUV,
+-		G_8,
+-		RG_88,
+-		RGB_888,
+-		BGR_888,
+-		RGBA_8888,
+-		BGRA_8888,
+-		ARGB_8888,
+-		ABGR_8888,
+-		RGBA_1010102,
+-		BGRA_1010102,
+-		ARGB_2101010,
+-		ABGR_2101010,
+-		RGBA_8888_PRE,
+-		BGRA_8888_PRE,
+-		ARGB_8888_PRE,
+-		ABGR_8888_PRE,
+-		RGBA_4444_PRE,
+-		RGBA_5551_PRE,
+-		RGBA_1010102_PRE,
+-		BGRA_1010102_PRE,
+-		ARGB_2101010_PRE,
+-		ABGR_2101010_PRE,
+-		DEPTH_16,
+-		DEPTH_32,
+-		DEPTH_24_STENCIL_8
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_READ_PIXELS_COLOR_", has_type_id = false)]
+-	[Flags]
+-	[Version (since = "1.0")]
+-	public enum ReadPixelsFlags {
+-		[CCode (cname = "COGL_READ_PIXELS_COLOR_BUFFER")]
+-		READ_PIXELS_COLOR_BUFFER
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_RENDERER_ERROR_", has_type_id = false)]
+-	public enum RendererError {
+-		XLIB_DISPLAY_OPEN,
+-		BAD_CONSTRAINT
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_SHADER_TYPE_", has_type_id = false)]
+-	[Version (since = "1.0")]
+-	public enum ShaderType {
+-		VERTEX,
+-		FRAGMENT
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_STEREO_", has_type_id = false)]
+-	public enum StereoMode {
+-		BOTH,
+-		LEFT,
+-		RIGHT
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_SYSTEM_ERROR_", has_type_id = false)]
+-	[Version (since = "1.4")]
+-	public enum SystemError {
+-		UNSUPPORTED,
+-		NO_MEMORY
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_TEXTURE_COMPONENTS_", has_type_id = false)]
+-	[Version (since = "1.18")]
+-	public enum TextureComponents {
+-		A,
+-		RG,
+-		RGB,
+-		RGBA,
+-		DEPTH
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_TEXTURE_ERROR_", has_type_id = false)]
+-	[Version (since = "1.8")]
+-	public enum TextureError {
+-		SIZE,
+-		FORMAT,
+-		BAD_PARAMETER,
+-		TYPE;
+-		public static uint32 quark ();
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_TEXTURE_", has_type_id = false)]
+-	[Flags]
+-	[Version (since = "1.0")]
+-	public enum TextureFlags {
+-		NONE,
+-		NO_AUTO_MIPMAP,
+-		NO_SLICING,
+-		NO_ATLAS
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_TEXTURE_TYPE_", has_type_id = false)]
+-	[Version (since = "1.10")]
+-	public enum TextureType {
+-		@2D,
+-		@3D,
+-		RECTANGLE
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_VERTICES_MODE_", has_type_id = false)]
+-	[Version (since = "1.0")]
+-	public enum VerticesMode {
+-		POINTS,
+-		LINES,
+-		LINE_LOOP,
+-		LINE_STRIP,
+-		TRIANGLES,
+-		TRIANGLE_STRIP,
+-		TRIANGLE_FAN
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_WINDING_", has_type_id = false)]
+-	public enum Winding {
+-		CLOCKWISE,
+-		COUNTER_CLOCKWISE
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_WINSYS_FEATURE_", has_type_id = false)]
+-	public enum WinsysFeature {
+-		MULTIPLE_ONSCREEN,
+-		SWAP_THROTTLE,
+-		VBLANK_COUNTER,
+-		VBLANK_WAIT,
+-		TEXTURE_FROM_PIXMAP,
+-		SWAP_BUFFERS_EVENT,
+-		SWAP_REGION,
+-		SWAP_REGION_THROTTLE,
+-		SWAP_REGION_SYNCHRONIZED,
+-		BUFFER_AGE,
+-		SYNC_AND_COMPLETE_EVENT,
+-		N_FEATURES
+-	}
+-	[CCode (cheader_filename = "cogl/cogl.h", instance_pos = 1.9)]
+-	[Version (since = "1.8")]
+-	public delegate void DebugObjectForeachTypeCallback (Cogl.DebugObjectTypeInfo info);
+-	[CCode (cheader_filename = "cogl/cogl.h", instance_pos = 2.9)]
+-	[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+-	public delegate Cogl.Bool MaterialLayerCallback (Cogl.Material material, int layer_index);
+-	[CCode (cheader_filename = "cogl/cogl.h", instance_pos = 2.9)]
+-	[Version (since = "1.16")]
+-	public delegate void OnscreenDirtyCallback (Cogl.Onscreen onscreen, Cogl.OnscreenDirtyInfo info);
+-	[CCode (cheader_filename = "cogl/cogl.h", instance_pos = 3.9)]
+-	[Version (since = "2.0")]
+-	public delegate void OnscreenResizeCallback (Cogl.Onscreen onscreen, int width, int height);
+-	[CCode (cheader_filename = "cogl/cogl.h", instance_pos = 2.9)]
+-	public delegate void OnscreenX11MaskCallback (Cogl.Onscreen onscreen, uint32 event_mask);
+-	[CCode (cheader_filename = "cogl/cogl.h", instance_pos = 2.9)]
+-	[Version (since = "2.0")]
+-	public delegate Cogl.Bool PipelineLayerCallback (Cogl.Pipeline pipeline, int layer_index);
+-	[CCode (cheader_filename = "cogl/cogl.h", instance_pos = 1.9)]
+-	public delegate void SwapBuffersNotify (Cogl.Framebuffer framebuffer);
+-	[CCode (cheader_filename = "cogl/cogl.h", has_target = false)]
+-	public delegate void UserDataDestroyCallback (void* data);
+-	[CCode (cheader_filename = "cogl/cogl.h", cname = "COGL_AFIRST_BIT")]
+-	public const int AFIRST_BIT;
+-	[CCode (cheader_filename = "cogl/cogl.h", cname = "COGL_A_BIT")]
+-	public const int A_BIT;
+-	[CCode (cheader_filename = "cogl/cogl.h", cname = "COGL_BGR_BIT")]
+-	public const int BGR_BIT;
+-	[CCode (cheader_filename = "cogl/cogl.h", cname = "COGL_DEPTH_BIT")]
+-	public const int DEPTH_BIT;
+-	[CCode (cheader_filename = "cogl/cogl.h", cname = "COGL_PREMULT_BIT")]
+-	public const int PREMULT_BIT;
+-	[CCode (cheader_filename = "cogl/cogl.h", cname = "COGL_STENCIL_BIT")]
+-	public const int STENCIL_BIT;
+-	[CCode (cheader_filename = "cogl/cogl.h", cname = "COGL_TEXTURE_MAX_WASTE")]
+-	public const int TEXTURE_MAX_WASTE;
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-	public static void begin_gl ();
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.2")]
+-	public static Cogl.Bool check_extension (string name, string ext);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static void clear (Cogl.Color color, ulong buffers);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	public static Cogl.Bool clutter_check_extension_CLUTTER (string name, string ext);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	public static Cogl.Bool clutter_winsys_has_feature_CLUTTER (Cogl.WinsysFeature feature);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (since = "2.0")]
+-	public static void debug_matrix_print (Cogl.Matrix matrix);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (since = "1.8")]
+-	public static void debug_object_foreach_type (Cogl.DebugObjectForeachTypeCallback func);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (since = "1.8")]
+-	public static void debug_object_print_instances ();
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static void disable_fog ();
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-	public static void end_gl ();
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10")]
+-	public static Cogl.Bool features_available (Cogl.FeatureFlags features);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (since = "1.0")]
+-	public static void flush ();
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10", since = "0.8.2")]
+-	public static void frustum (float left, float right, float bottom, float top, float z_near, float z_far);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static Cogl.Bool get_backface_culling_enabled ();
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.8")]
+-	public static void get_bitmasks (out int red, out int green, out int blue, out int alpha);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static Cogl.Bool get_depth_test_enabled ();
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (since = "1.8")]
+-	public static unowned Cogl.Framebuffer get_draw_framebuffer ();
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10", since = "0.8")]
+-	public static Cogl.FeatureFlags get_features ();
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10")]
+-	public static Cogl.Matrix get_modelview_matrix ();
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-	public static GLib.OptionGroup get_option_group ();
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10")]
+-	public static Cogl.Matrix get_projection_matrix ();
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16", since = "1.6")]
+-	public static void* get_source ();
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10")]
+-	public static void get_viewport ([CCode (array_length = false)] out float v[4]);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.18")]
+-	public static GLib.Type gtype_matrix_get_type ();
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (since = "1.10")]
+-	public static Cogl.Bool is_framebuffer (void* object);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (since = "1.10")]
+-	public static Cogl.Bool is_onscreen (void* object);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (since = "2.0")]
+-	public static Cogl.Bool is_pipeline (void* object);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+-	public static Cogl.Bool is_vertex_buffer_indices (Cogl.Handle handle);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10", since = "1.0")]
+-	public static void ortho (float left, float right, float bottom, float top, float near, float far);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10")]
+-	public static void perspective (float fovy, float aspect, float z_near, float z_far);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (since = "1.0")]
+-	public static void polygon (Cogl.TextureVertex vertices, uint n_vertices, Cogl.Bool use_color);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10")]
+-	public static void pop_matrix ();
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16", since = "1.6")]
+-	public static void pop_source ();
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10")]
+-	public static void push_matrix ();
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16", since = "1.6")]
+-	public static void push_source (void* material);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	public static void rectangle (float x_1, float y_1, float x_2, float y_2);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (since = "1.0")]
+-	public static void rectangle_with_multitexture_coords (float x1, float y1, float x2, float y2, [CCode (array_length = false)] float[] tex_coords, int tex_coords_len);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (since = "1.0")]
+-	public static void rectangle_with_texture_coords (float x1, float y1, float x2, float y2, float tx1, float ty1, float tx2, float ty2);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (since = "1.0")]
+-	public static void rectangles ([CCode (array_length = false)] float[] verts, uint n_rects);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (since = "0.8.6")]
+-	public static void rectangles_with_texture_coords ([CCode (array_length = false)] float[] verts, uint n_rects);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10")]
+-	public static void rotate (float angle, float x, float y, float z);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10")]
+-	public static void scale (float x, float y, float z);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static void set_backface_culling_enabled (Cogl.Bool setting);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static void set_depth_test_enabled (Cogl.Bool setting);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static void set_fog (Cogl.Color fog_color, Cogl.FogMode mode, float density, float z_near, float z_far);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10")]
+-	public static void set_modelview_matrix (Cogl.Matrix matrix);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10")]
+-	public static void set_projection_matrix (Cogl.Matrix matrix);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-	public static void set_source (void* material);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-	public static void set_source_color (Cogl.Color color);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-	public static void set_source_color4f (float red, float green, float blue, float alpha);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-	public static void set_source_color4ub (uint8 red, uint8 green, uint8 blue, uint8 alpha);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-	public static void set_source_texture (Cogl.Texture texture);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.8", since = "1.2")]
+-	public static void set_viewport (int x, int y, int width, int height);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static void shader_compile (Cogl.Handle handle);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static string shader_get_info_log (Cogl.Handle handle);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static Cogl.ShaderType shader_get_type (Cogl.Handle handle);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static Cogl.Bool shader_is_compiled (Cogl.Handle handle);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static Cogl.Handle shader_ref (Cogl.Handle handle);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static void shader_source (Cogl.Handle shader, string source);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static void shader_unref (Cogl.Handle handle);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.18", since = "1.0")]
+-	public static Cogl.Texture texture_new_from_bitmap (Cogl.Bitmap bitmap, Cogl.TextureFlags flags, Cogl.PixelFormat internal_format);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.18", since = "0.8")]
+-	public static Cogl.Texture texture_new_from_data (int width, int height, Cogl.TextureFlags flags, Cogl.PixelFormat format, Cogl.PixelFormat internal_format, int rowstride, uint8 data);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.18", since = "0.8")]
+-	public static Cogl.Texture texture_new_from_file (string filename, Cogl.TextureFlags flags, Cogl.PixelFormat internal_format) throws GLib.Error;
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.18", since = "0.8")]
+-	public static Cogl.Texture texture_new_from_foreign (uint gl_handle, uint gl_target, uint width, uint height, uint x_pot_waste, uint y_pot_waste, Cogl.PixelFormat format);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.18", since = "0.8")]
+-	public static Cogl.Texture texture_new_with_size (uint width, uint height, Cogl.TextureFlags flags, Cogl.PixelFormat internal_format);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10", since = "1.4")]
+-	public static void transform (Cogl.Matrix matrix);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10")]
+-	public static void translate (float x, float y, float z);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static void vertex_buffer_add (Cogl.Handle handle, string attribute_name, uint8 n_components, Cogl.AttributeType type, Cogl.Bool normalized, uint16 stride, void* pointer);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static void vertex_buffer_delete (Cogl.Handle handle, string attribute_name);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static void vertex_buffer_disable (Cogl.Handle handle, string attribute_name);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static void vertex_buffer_draw (Cogl.Handle handle, Cogl.VerticesMode mode, int first, int count);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static void vertex_buffer_draw_elements (Cogl.Handle handle, Cogl.VerticesMode mode, Cogl.Handle indices, int min_index, int max_index, int indices_offset, int count);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static void vertex_buffer_enable (Cogl.Handle handle, string attribute_name);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static uint vertex_buffer_get_n_vertices (Cogl.Handle handle);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static Cogl.Handle vertex_buffer_indices_get_for_quads (uint n_indices);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static Cogl.IndicesType vertex_buffer_indices_get_type (Cogl.Handle indices);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static Cogl.Handle vertex_buffer_new (uint n_vertices);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.2")]
+-	public static Cogl.Handle vertex_buffer_ref (Cogl.Handle handle);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static void vertex_buffer_submit (Cogl.Handle handle);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.2")]
+-	public static void vertex_buffer_unref (Cogl.Handle handle);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.8", since = "0.8.2")]
+-	public static void viewport (uint width, uint height);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	public static uint32 x11_onscreen_get_visual_xid (Cogl.Onscreen onscreen);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (since = "1.10")]
+-	public static uint32 x11_onscreen_get_window_xid (Cogl.Onscreen onscreen);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (since = "2.0")]
+-	public static void x11_onscreen_set_foreign_window_xid (Cogl.Onscreen onscreen, uint32 xid, [CCode (scope = "async")] Cogl.OnscreenX11MaskCallback update);
+-}
+diff --git vapi/mutter-clutter-5-custom.vala vapi/mutter-clutter-5-custom.vala
+deleted file mode 100644
+index b8d838d0..00000000
+--- vapi/mutter-clutter-5-custom.vala
++++ /dev/null
+@@ -1,158 +0,0 @@
+-namespace Clutter {
+-  [CCode (type_id = "CLUTTER_TYPE_ACTOR_BOX", cheader_filename = "clutter/clutter.h")]
+-  public struct ActorBox {
+-    [CCode (cname = "clutter_actor_box_from_vertices")]
+-    public ActorBox.from_vertices (Clutter.Vertex[] verts);
+-  }
+-
+-  public struct Matrix : Cogl.Matrix {
+-  }
+-
+-  public class Backend : GLib.Object {
+-    [NoWrapper]
+-    public virtual void add_options (GLib.OptionGroup group);
+-    [NoWrapper]
+-    public virtual bool create_context () throws GLib.Error;
+-    [NoWrapper]
+-    public virtual unowned Clutter.StageWindow create_stage (Clutter.Stage wrapper) throws GLib.Error;
+-    [NoWrapper]
+-    public virtual void ensure_context (Clutter.Stage stage);
+-    [NoWrapper]
+-    public virtual unowned Clutter.DeviceManager get_device_manager ();
+-    [NoWrapper]
+-    public virtual Clutter.FeatureFlags get_features ();
+-    [NoWrapper]
+-    public virtual void init_events ();
+-    [NoWrapper]
+-    public virtual void init_features ();
+-    [NoWrapper]
+-    public virtual bool post_parse () throws GLib.Error;
+-    [NoWrapper]
+-    public virtual bool pre_parse () throws GLib.Error;
+-    [NoWrapper]
+-    public virtual void redraw (Clutter.Stage stage);
+-  }
+-
+-  [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_box_get_type ()")]
+-  public class Box : Clutter.Actor {
+-    public Clutter.LayoutManager layout_manager { get; set; }
+-  }
+-
+-  [CCode (type_id = "CLUTTER_TYPE_COLOR", cheader_filename = "clutter/clutter.h")]
+-  public struct Color {
+-    [CCode (cname = "clutter_color_from_hls")]
+-    public Color.from_hls (float hue, float luminance, float saturation);
+-    [CCode (cname = "clutter_color_from_pixel")]
+-    public Color.from_pixel (uint32 pixel);
+-    [CCode (cname = "clutter_color_from_string")]
+-    public Color.from_string (string str);
+-    [CCode (cname = "clutter_color_from_string")]
+-    public bool parse_string (string str);
+-    public static unowned Clutter.Color? get_static (Clutter.StaticColor color);
+-  }
+-
+-  [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_container_get_type ()")]
+-  public interface Container : GLib.Object {
+-    public void add (params Clutter.Actor[] actors);
+-    [CCode (cname = "clutter_container_class_find_child_property")]
+-    public class unowned GLib.ParamSpec find_child_property (string property_name);
+-    [CCode (cname = "clutter_container_class_list_child_properties")]
+-    public class unowned GLib.ParamSpec[] list_child_properties ();
+-  }
+-
+-  [CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "clutter_event_get_type ()")]
+-  [Compact]
+-  public class Event {
+-    public Clutter.AnyEvent any { [CCode (cname = "(ClutterAnyEvent *)")] get; }
+-    public Clutter.ButtonEvent button { [CCode (cname = "(ClutterButtonEvent *)")] get; }
+-    public Clutter.CrossingEvent crossing { [CCode (cname = "(ClutterCrossingEvent *)")] get; }
+-    public Clutter.KeyEvent key { [CCode (cname = "(ClutterKeyEvent *)")] get; }
+-    public Clutter.MotionEvent motion { [CCode (cname = "(ClutterMotionEvent *)")] get; }
+-    public Clutter.ScrollEvent scroll { [CCode (cname = "(ClutterScrollEvent *)")] get; }
+-    public Clutter.StageStateEvent stage_state { [CCode (cname = "(ClutterStageStateEvent *)")] get; }
+-    public Clutter.TouchEvent touch { [CCode (cname = "(ClutterTouchEvent *)")] get; }
+-    public Clutter.TouchpadPinchEvent touchpad_pinch { [CCode (cname = "(ClutterTouchpadPinchEvent *)")] get; }
+-    public Clutter.TouchpadSwipeEvent touchpad_swipe { [CCode (cname = "(ClutterTouchpadSwipeEvent *)")] get; }
+-  }
+-
+-  [CCode (type_id = "clutter_stage_get_type ()", cheader_filename = "clutter/clutter.h")]
+-  public class Stage : Clutter.Group {
+-    [CCode (cname = "clutter_redraw")]
+-    public void redraw ();
+-  }
+-
+-  [CCode (cheader_filename = "clutter/clutter.h")]
+-  public interface StageWindow : GLib.Object {
+-    [NoWrapper]
+-    public abstract void add_redraw_clip (Clutter.Geometry stage_rectangle);
+-    [NoWrapper]
+-    public abstract void get_geometry (Clutter.Geometry geometry);
+-    [NoWrapper]
+-    public abstract int get_pending_swaps ();
+-    [NoWrapper]
+-    public abstract unowned Clutter.Actor get_wrapper ();
+-    [NoWrapper]
+-    public abstract bool has_redraw_clips ();
+-    [NoWrapper]
+-    public abstract void hide ();
+-    [NoWrapper]
+-    public abstract bool ignoring_redraw_clips ();
+-    [NoWrapper]
+-    public abstract bool realize ();
+-    [NoWrapper]
+-    public abstract void resize (int width, int height);
+-    [NoWrapper]
+-    public abstract void set_cursor_visible (bool cursor_visible);
+-    [NoWrapper]
+-    public abstract void set_fullscreen (bool is_fullscreen);
+-    [NoWrapper]
+-    public abstract void set_title (string title);
+-    [NoWrapper]
+-    public abstract void set_user_resizable (bool is_resizable);
+-    [NoWrapper]
+-    public abstract void show (bool do_raise);
+-    [NoWrapper]
+-    public abstract void unrealize ();
+-  }
+-
+-  [CCode (type_id = "clutter_texture_get_type ()", cheader_filename = "clutter/clutter.h")]
+-  public class Texture : Clutter.Actor {
+-    public Cogl.Material cogl_material { get; set; }
+-    public Cogl.Texture cogl_texture { get; set; }
+-  }
+-
+-  [Compact]
+-  [CCode (cheader_filename = "clutter/clutter.h")]
+-  public class TimeoutPool {
+-    [CCode (has_construct_function = false)]
+-    public TimeoutPool (int priority);
+-  }
+-
+-  [CCode (cprefix = "CLUTTER_FEATURE_", cheader_filename = "clutter/clutter.h")]
+-  [Flags]
+-  public enum FeatureFlags {
+-    TEXTURE_NPOT;
+-    [CCode (cname = "clutter_feature_available")]
+-    public bool is_available ();
+-    [CCode (cname = "clutter_feature_get_all")]
+-    public static Clutter.FeatureFlags @get ();
+-  }
+-
+-  [CCode (type_id = "CLUTTER_TYPE_UNITS", cheader_filename = "clutter/clutter.h")]
+-  public struct Units {
+-    [CCode (cname = "clutter_units_from_cm")]
+-    public Units.from_cm (float cm);
+-    [CCode (cname = "clutter_units_from_em")]
+-    public Units.from_em (float em);
+-    [CCode (cname = "clutter_units_from_em_for_font")]
+-    public Units.from_em_for_font (string font_name, float em);
+-    [CCode (cname = "clutter_units_from_mm")]
+-    public Units.from_mm (float mm);
+-    [CCode (cname = "clutter_units_from_pixels")]
+-    public Units.from_pixels (int px);
+-    [CCode (cname = "clutter_units_from_pt")]
+-    public Units.from_pt (float pt);
+-    [CCode (cname = "clutter_units_from_string")]
+-    public Units.from_string (string str);
+-  }
+-}
+diff --git vapi/mutter-clutter-4-custom.vala vapi/mutter-clutter-6-custom.vala
+similarity index 92%
+rename from vapi/mutter-clutter-4-custom.vala
+rename to vapi/mutter-clutter-6-custom.vala
+index b8d838d0..89224be6 100644
+--- vapi/mutter-clutter-4-custom.vala
++++ vapi/mutter-clutter-6-custom.vala
+@@ -1,9 +1,4 @@
+ namespace Clutter {
+-  [CCode (type_id = "CLUTTER_TYPE_ACTOR_BOX", cheader_filename = "clutter/clutter.h")]
+-  public struct ActorBox {
+-    [CCode (cname = "clutter_actor_box_from_vertices")]
+-    public ActorBox.from_vertices (Clutter.Vertex[] verts);
+-  }
+ 
+   public struct Matrix : Cogl.Matrix {
+   }
+@@ -18,8 +13,6 @@ namespace Clutter {
+     [NoWrapper]
+     public virtual void ensure_context (Clutter.Stage stage);
+     [NoWrapper]
+-    public virtual unowned Clutter.DeviceManager get_device_manager ();
+-    [NoWrapper]
+     public virtual Clutter.FeatureFlags get_features ();
+     [NoWrapper]
+     public virtual void init_events ();
+@@ -83,10 +76,6 @@ namespace Clutter {
+ 
+   [CCode (cheader_filename = "clutter/clutter.h")]
+   public interface StageWindow : GLib.Object {
+-    [NoWrapper]
+-    public abstract void add_redraw_clip (Clutter.Geometry stage_rectangle);
+-    [NoWrapper]
+-    public abstract void get_geometry (Clutter.Geometry geometry);
+     [NoWrapper]
+     public abstract int get_pending_swaps ();
+     [NoWrapper]
+diff --git vapi/mutter-clutter-5.deps vapi/mutter-clutter-6.deps
+similarity index 63%
+rename from vapi/mutter-clutter-5.deps
+rename to vapi/mutter-clutter-6.deps
+index 3f5a92a6..7a70d6df 100644
+--- vapi/mutter-clutter-5.deps
++++ vapi/mutter-clutter-6.deps
+@@ -1,4 +1,4 @@
+ atk
+ cairo
+ json-glib-1.0
+-mutter-cogl-5
++mutter-cogl-6
+diff --git vapi/mutter-clutter-5.vapi vapi/mutter-clutter-6.vapi
+similarity index 93%
+rename from vapi/mutter-clutter-5.vapi
+rename to vapi/mutter-clutter-6.vapi
+index 24f7f6b1..0130a93c 100644
+--- vapi/mutter-clutter-5.vapi
++++ vapi/mutter-clutter-6.vapi
+@@ -1,6 +1,6 @@
+-/* mutter-clutter-5.vapi generated by vapigen, do not modify. */
++/* mutter-clutter-6.vapi generated by vapigen, do not modify. */
+ 
+-[CCode (cprefix = "Clutter", gir_namespace = "Clutter", gir_version = "5", lower_case_cprefix = "clutter_")]
++[CCode (cprefix = "Clutter", gir_namespace = "Clutter", gir_version = "6", lower_case_cprefix = "clutter_")]
+ namespace Clutter {
+ 	namespace Key {
+ 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_0")]
+@@ -4661,22 +4661,14 @@ namespace Clutter {
+ 		public void allocate_preferred_size (Clutter.AllocationFlags flags);
+ 		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+ 		public unowned Clutter.Animation animate (ulong mode, uint duration, ...);
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "1.0")]
+-		public unowned Clutter.Animation animate_with_alpha (Clutter.Alpha alpha, ...);
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "1.0")]
+-		public unowned Clutter.Animation animate_with_alphav (Clutter.Alpha alpha, [CCode (array_length_cname = "n_properties", array_length_pos = 1.5)] string[] properties, [CCode (array_length_cname = "n_properties", array_length_pos = 1.5)] GLib.Value[] values);
+ 		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+ 		public unowned Clutter.Animation animate_with_timeline (ulong mode, Clutter.Timeline timeline, ...);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public unowned Clutter.Animation animate_with_timelinev (ulong mode, Clutter.Timeline timeline, [CCode (array_length_cname = "n_properties", array_length_pos = 2.5)] string[] properties, [CCode (array_length_cname = "n_properties", array_length_pos = 2.5)] GLib.Value[] values);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public unowned Clutter.Animation animatev (ulong mode, uint duration, [CCode (array_length_cname = "n_properties", array_length_pos = 2.5)] string[] properties, [CCode (array_length_cname = "n_properties", array_length_pos = 2.5)] GLib.Value[] values);
+ 		[Version (since = "0.6")]
+-		public Clutter.Vertex apply_relative_transform_to_point (Clutter.Actor? ancestor, Clutter.Vertex point);
++		public void apply_relative_transform_to_point (Clutter.Actor? ancestor, Graphene.Point3D point, out unowned Graphene.Point3D vertex);
+ 		[NoWrapper]
+ 		public virtual void apply_transform (ref Clutter.Matrix matrix);
+ 		[Version (since = "0.4")]
+-		public Clutter.Vertex apply_transform_to_point (Clutter.Vertex point);
++		public void apply_transform_to_point (Graphene.Point3D point, out unowned Graphene.Point3D vertex);
+ 		[Version (since = "1.24")]
+ 		public void bind_model (GLib.ListModel? model, owned Clutter.ActorCreateChildFunc create_child_func);
+ 		[Version (since = "1.4")]
+@@ -4688,20 +4680,19 @@ namespace Clutter {
+ 		[Version (since = "1.4")]
+ 		public bool contains (Clutter.Actor descendant);
+ 		[Version (since = "1.8")]
+-		public void continue_paint ();
++		public void continue_paint (Clutter.PaintContext paint_context);
++		public void continue_pick (Clutter.PickContext pick_context);
+ 		[Version (since = "1.0")]
+ 		public Pango.Context create_pango_context ();
+ 		[Version (since = "1.0")]
+ 		public Pango.Layout create_pango_layout (string? text);
+ 		[Version (since = "1.10")]
+ 		public void destroy_all_children ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public void detach_animation ();
+ 		[CCode (cname = "clutter_actor_event")]
+ 		[Version (since = "0.6")]
+ 		public bool emit_event (Clutter.Event event, bool capture);
+ 		[Version (since = "0.4")]
+-		public void get_abs_allocation_vertices ([CCode (array_length = false)] Clutter.Vertex verts[4]);
++		public void get_abs_allocation_vertices ([CCode (array_length = false)] Graphene.Point3D verts[4]);
+ 		public virtual unowned Atk.Object get_accessible ();
+ 		[Version (since = "1.4")]
+ 		public unowned Clutter.Action get_action (string name);
+@@ -4709,16 +4700,10 @@ namespace Clutter {
+ 		public GLib.List<weak Clutter.Action> get_actions ();
+ 		[Version (since = "0.8")]
+ 		public Clutter.ActorBox get_allocation_box ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "0.8")]
+-		public Clutter.Geometry get_allocation_geometry ();
+ 		[Version (since = "0.6")]
+-		public void get_allocation_vertices (Clutter.Actor? ancestor, [CCode (array_length = false)] Clutter.Vertex verts[4]);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "0.6")]
+-		public void get_anchor_point (out float anchor_x, out float anchor_y);
++		public void get_allocation_vertices (Clutter.Actor? ancestor, [CCode (array_length = false)] Graphene.Point3D verts[4]);
+ 		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+ 		public Clutter.Gravity get_anchor_point_gravity ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public unowned Clutter.Animation get_animation ();
+ 		[Version (since = "1.10")]
+ 		public Clutter.Color get_background_color ();
+ 		[CCode (cname = "clutter_get_actor_by_gid")]
+@@ -4768,8 +4753,6 @@ namespace Clutter {
+ 		public bool get_fixed_position_set ();
+ 		[Version (since = "1.0")]
+ 		public Clutter.ActorFlags get_flags ();
+-		[Version (deprecated = true, deprecated_since = "1.8", since = "0.6")]
+-		public uint32 get_gid ();
+ 		[CCode (cname = "clutter_actor_has_pointer")]
+ 		[Version (since = "1.2")]
+ 		public bool get_has_pointer ();
+@@ -4848,8 +4831,6 @@ namespace Clutter {
+ 		public Clutter.TextDirection get_text_direction ();
+ 		[Version (since = "1.12")]
+ 		public Clutter.Matrix get_transform ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public Clutter.Matrix get_transformation_matrix ();
+ 		[Version (since = "1.6")]
+ 		public unowned Clutter.PaintVolume get_transformed_paint_volume (Clutter.Actor relative_to_ancestor);
+ 		[Version (since = "0.8")]
+@@ -4892,7 +4873,7 @@ namespace Clutter {
+ 		public bool has_mapped_clones ();
+ 		[Version (since = "1.8")]
+ 		public virtual bool has_overlaps ();
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "0.2")]
++		[NoWrapper]
+ 		public virtual void hide_all ();
+ 		[Version (since = "1.10")]
+ 		public void insert_child_above (Clutter.Actor child, Clutter.Actor? sibling);
+@@ -4912,10 +4893,6 @@ namespace Clutter {
+ 		public bool is_scaled ();
+ 		[Version (since = "1.24")]
+ 		public bool is_visible ();
+-		[Version (deprecated = true, deprecated_since = "1.10")]
+-		public void lower (Clutter.Actor? above);
+-		[Version (deprecated = true, deprecated_since = "1.10")]
+-		public void lower_bottom ();
+ 		[Version (since = "1.0")]
+ 		public virtual void map ();
+ 		[Version (deprecated = true, deprecated_since = "1.12", since = "0.6")]
+@@ -4928,17 +4905,12 @@ namespace Clutter {
+ 		public bool needs_expand (Clutter.Orientation orientation);
+ 		[NoWrapper]
+ 		public virtual void paint_node (Clutter.PaintNode root);
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "1.2")]
++		public void pick_box (Clutter.PickContext pick_context, Clutter.ActorBox box);
+ 		public void pop_internal ();
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "1.2")]
+ 		public void push_internal ();
+ 		public void queue_redraw ();
+ 		[Version (since = "1.10")]
+ 		public void queue_redraw_with_clip (Cairo.RectangleInt? clip);
+-		[Version (deprecated = true, deprecated_since = "1.10")]
+-		public void raise (Clutter.Actor? below);
+-		[Version (deprecated = true, deprecated_since = "1.10")]
+-		public void raise_top ();
+ 		[Version (since = "1.4")]
+ 		public void remove_action (Clutter.Action action);
+ 		[Version (since = "1.4")]
+@@ -4960,8 +4932,6 @@ namespace Clutter {
+ 		public void remove_effect_by_name (string name);
+ 		[Version (since = "1.10")]
+ 		public void remove_transition (string name);
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "0.2")]
+-		public void reparent (Clutter.Actor new_parent);
+ 		[Version (since = "1.10")]
+ 		public void replace_child (Clutter.Actor old_child, Clutter.Actor new_child);
+ 		[Version (since = "1.10")]
+@@ -5046,8 +5016,6 @@ namespace Clutter {
+ 		public void set_scale (double scale_x, double scale_y);
+ 		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+ 		public void set_scale_full (double scale_x, double scale_y, float center_x, float center_y);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public void set_scale_with_gravity (double scale_x, double scale_y, Clutter.Gravity gravity);
+ 		[Version (since = "1.12")]
+ 		public void set_scale_z (double scale_z);
+ 		public void set_size (float width, float height);
+@@ -5110,11 +5078,8 @@ namespace Clutter {
+ 		[Version (since = "1.12")]
+ 		public bool child_transform_set { get; }
+ 		[NoAccessorMethod]
+-		[Version (deprecated = true, deprecated_since = "1.12")]
+-		public Clutter.Geometry clip { owned get; set; }
+-		[NoAccessorMethod]
+ 		[Version (since = "1.12")]
+-		public Clutter.Rect clip_rect { owned get; set; }
++		public Graphene.Rect clip_rect { owned get; set; }
+ 		[Version (since = "1.0")]
+ 		public bool clip_to_allocation { get; set; }
+ 		[NoAccessorMethod]
+@@ -5199,12 +5164,12 @@ namespace Clutter {
+ 		public uint opacity { get; set; }
+ 		[NoAccessorMethod]
+ 		[Version (since = "1.12")]
+-		public Clutter.Point pivot_point { owned get; set; }
++		public Graphene.Point pivot_point { owned get; set; }
+ 		[Version (since = "1.12")]
+ 		public float pivot_point_z { get; set; }
+ 		[NoAccessorMethod]
+ 		[Version (since = "1.12")]
+-		public Clutter.Point position { owned get; set; }
++		public Graphene.Point position { owned get; set; }
+ 		[Version (since = "0.6")]
+ 		public bool reactive { get; set; }
+ 		[NoAccessorMethod]
+@@ -5225,13 +5190,13 @@ namespace Clutter {
+ 		public double rotation_angle_z { get; set; }
+ 		[NoAccessorMethod]
+ 		[Version (deprecated = true, deprecated_since = "1.12", since = "0.6")]
+-		public Clutter.Vertex rotation_center_x { owned get; set; }
++		public Graphene.Point3D rotation_center_x { owned get; set; }
+ 		[NoAccessorMethod]
+ 		[Version (deprecated = true, deprecated_since = "1.12", since = "0.6")]
+-		public Clutter.Vertex rotation_center_y { owned get; set; }
++		public Graphene.Point3D rotation_center_y { owned get; set; }
+ 		[NoAccessorMethod]
+ 		[Version (deprecated = true, deprecated_since = "1.12", since = "0.6")]
+-		public Clutter.Vertex rotation_center_z { owned get; set; }
++		public Graphene.Point3D rotation_center_z { owned get; set; }
+ 		[NoAccessorMethod]
+ 		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+ 		public Clutter.Gravity rotation_center_z_gravity { get; set; }
+@@ -5257,7 +5222,7 @@ namespace Clutter {
+ 		public bool show_on_set_parent { get; set; }
+ 		[NoAccessorMethod]
+ 		[Version (since = "1.12")]
+-		public Clutter.Size size { owned get; set; }
++		public Graphene.Size size { owned get; set; }
+ 		[Version (since = "1.0")]
+ 		public Clutter.TextDirection text_direction { get; set; }
+ 		[NoAccessorMethod]
+@@ -5319,11 +5284,12 @@ namespace Clutter {
+ 		public virtual signal bool motion_event (Clutter.MotionEvent event);
+ 		[HasEmitter]
+ 		[Version (deprecated = true, deprecated_since = "1.12", since = "0.8")]
+-		public virtual signal void paint ();
++		public virtual signal void paint (Clutter.PaintContext paint_context);
+ 		[Version (since = "0.2")]
+ 		public virtual signal void parent_set (Clutter.Actor? old_parent);
++		[HasEmitter]
+ 		[Version (since = "1.0")]
+-		public virtual signal void pick (Clutter.Color color);
++		public virtual signal void pick (Clutter.PickContext pick_context);
+ 		[HasEmitter]
+ 		[Version (since = "1.2")]
+ 		public virtual signal void queue_relayout ();
+@@ -5361,6 +5327,11 @@ namespace Clutter {
+ 		public bool enabled { get; set; }
+ 		public string name { get; set; }
+ 	}
++	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_actor_node_get_type ()")]
++	public class ActorNode : Clutter.PaintNode {
++		[CCode (has_construct_function = false, type = "ClutterPaintNode*")]
++		public ActorNode (Clutter.Actor actor);
++	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_align_constraint_get_type ()")]
+ 	[Version (since = "1.4")]
+ 	public class AlignConstraint : Clutter.Constraint {
+@@ -5388,19 +5359,12 @@ namespace Clutter {
+ 		[Version (since = "1.0")]
+ 		public ulong get_mode ();
+ 		public unowned Clutter.Timeline get_timeline ();
+-		[Version (since = "1.0")]
+-		public static ulong register_closure (GLib.Closure closure);
+-		[Version (since = "1.0")]
+-		public static ulong register_func (Clutter.AlphaFunc func);
+ 		[Version (since = "0.8")]
+ 		public void set_closure (GLib.Closure closure);
+ 		public void set_func (owned Clutter.AlphaFunc func);
+ 		[Version (since = "1.0")]
+ 		public void set_mode (ulong mode);
+ 		public void set_timeline (Clutter.Timeline timeline);
+-		[CCode (has_construct_function = false)]
+-		[Version (since = "1.0")]
+-		public Alpha.with_func (Clutter.Timeline timeline, owned Clutter.AlphaFunc func);
+ 		public double alpha { get; }
+ 		[Version (since = "1.0")]
+ 		public ulong mode { get; set construct; }
+@@ -5411,35 +5375,26 @@ namespace Clutter {
+ 	public class Animation : GLib.Object, Clutter.Scriptable {
+ 		[CCode (has_construct_function = false)]
+ 		public Animation ();
+-		public unowned Clutter.Animation bind (string property_name, GLib.Value final);
+-		public unowned Clutter.Animation bind_interval (string property_name, owned Clutter.Interval interval);
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "1.0")]
+-		public unowned Clutter.Alpha get_alpha ();
+ 		public uint get_duration ();
+ 		public unowned Clutter.Interval get_interval (string property_name);
+ 		public bool get_loop ();
+ 		public ulong get_mode ();
+-		public unowned GLib.Object get_object ();
+ 		public unowned Clutter.Timeline get_timeline ();
+ 		public bool has_property (string property_name);
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "1.0")]
+-		public void set_alpha (Clutter.Alpha alpha);
+ 		public void set_duration (uint msecs);
+ 		public void set_loop (bool loop);
+ 		public void set_mode (ulong mode);
+ 		public void set_object (GLib.Object object);
+ 		public void set_timeline (Clutter.Timeline? timeline);
+-		public void unbind_property (string property_name);
+-		public unowned Clutter.Animation update (string property_name, GLib.Value final);
+-		public void update_interval (string property_name, Clutter.Interval interval);
++		[NoAccessorMethod]
+ 		[Version (deprecated = true, deprecated_since = "1.10", since = "1.0")]
+-		public Clutter.Alpha alpha { get; set; }
++		public Clutter.Alpha alpha { owned get; set; }
+ 		public uint duration { get; set; }
+ 		public bool loop { get; set; }
+ 		public ulong mode { get; set; }
+-		public GLib.Object object { get; set; }
++		[NoAccessorMethod]
++		public GLib.Object object { owned get; set; }
+ 		public Clutter.Timeline timeline { get; set; }
+-		[HasEmitter]
+ 		public virtual signal void completed ();
+ 		public virtual signal void started ();
+ 	}
+@@ -5460,21 +5415,18 @@ namespace Clutter {
+ 		protected Backend ();
+ 		[NoWrapper]
+ 		public virtual void add_options (GLib.OptionGroup group);
+-		public void bell_notify ();
+ 		[NoWrapper]
+ 		public virtual bool create_context () throws GLib.Error;
+ 		[NoWrapper]
+ 		public virtual unowned Clutter.StageWindow create_stage (Clutter.Stage wrapper) throws GLib.Error;
+ 		[NoWrapper]
+ 		public virtual void ensure_context (Clutter.Stage stage);
+-		[NoWrapper]
+-		public virtual unowned Clutter.DeviceManager get_device_manager ();
++		public unowned Clutter.Seat get_default_seat ();
+ 		[NoWrapper]
+ 		public virtual Clutter.FeatureFlags get_features ();
+ 		[Version (since = "0.8")]
+ 		public unowned Cairo.FontOptions get_font_options ();
+ 		public unowned Clutter.InputMethod get_input_method ();
+-		public unowned Clutter.Keymap get_keymap ();
+ 		public double get_resolution ();
+ 		[NoWrapper]
+ 		public virtual void init_events ();
+@@ -5496,95 +5448,11 @@ namespace Clutter {
+ 		[Version (since = "1.4")]
+ 		public signal void settings_changed ();
+ 	}
+-	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_behaviour_get_type ()")]
+-	[Version (deprecated = true, deprecated_since = "1.6", since = "0.2")]
+-	public abstract class Behaviour : GLib.Object, Clutter.Scriptable {
+-		[CCode (has_construct_function = false)]
+-		protected Behaviour ();
+-		public void actors_foreach (Clutter.BehaviourForeachFunc func);
+-		[NoWrapper]
+-		public virtual void alpha_notify (double alpha_value);
+-		public void apply (Clutter.Actor actor);
+-		public GLib.SList<weak Clutter.Actor> get_actors ();
+-		public unowned Clutter.Alpha get_alpha ();
+-		public int get_n_actors ();
+-		public unowned Clutter.Actor get_nth_actor (int index_);
+-		[Version (since = "0.4")]
+-		public bool is_applied (Clutter.Actor actor);
+-		public void remove (Clutter.Actor actor);
+-		[Version (since = "0.4")]
+-		public void remove_all ();
+-		public void set_alpha (Clutter.Alpha alpha);
+-		public Clutter.Alpha alpha { get; set; }
+-		[Version (since = "0.4")]
+-		public virtual signal void applied (Clutter.Actor actor);
+-		[Version (since = "0.4")]
+-		public virtual signal void removed (Clutter.Actor actor);
+-	}
+-	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_behaviour_depth_get_type ()")]
+-	[Version (deprecated = true, deprecated_since = "1.6", since = "0.2")]
+-	public class BehaviourDepth : Clutter.Behaviour, Clutter.Scriptable {
+-		[CCode (has_construct_function = false, type = "ClutterBehaviour*")]
+-		[Version (since = "0.4")]
+-		public BehaviourDepth (Clutter.Alpha? alpha, int depth_start, int depth_end);
+-		[Version (since = "0.6")]
+-		public void get_bounds (out int depth_start, out int depth_end);
+-		[Version (since = "0.6")]
+-		public void set_bounds (int depth_start, int depth_end);
+-		[NoAccessorMethod]
+-		[Version (since = "0.4")]
+-		public int depth_end { get; set; }
+-		[NoAccessorMethod]
+-		[Version (since = "0.4")]
+-		public int depth_start { get; set; }
+-	}
+-	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_behaviour_opacity_get_type ()")]
+-	[Version (deprecated = true, deprecated_since = "1.6", since = "0.2")]
+-	public class BehaviourOpacity : Clutter.Behaviour, Clutter.Scriptable {
+-		[CCode (has_construct_function = false, type = "ClutterBehaviour*")]
+-		public BehaviourOpacity (Clutter.Alpha? alpha, uint8 opacity_start, uint8 opacity_end);
+-		[Version (since = "0.6")]
+-		public void get_bounds (out uint8 opacity_start, out uint8 opacity_end);
+-		[Version (since = "0.6")]
+-		public void set_bounds (uint8 opacity_start, uint8 opacity_end);
+-		[NoAccessorMethod]
+-		public uint opacity_end { get; set; }
+-		[NoAccessorMethod]
+-		public uint opacity_start { get; set; }
+-	}
+-	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_behaviour_scale_get_type ()")]
+-	[Version (deprecated = true, deprecated_since = "1.6", since = "0.2")]
+-	public class BehaviourScale : Clutter.Behaviour, Clutter.Scriptable {
+-		[CCode (has_construct_function = false, type = "ClutterBehaviour*")]
+-		public BehaviourScale (Clutter.Alpha? alpha, double x_scale_start, double y_scale_start, double x_scale_end, double y_scale_end);
+-		[Version (since = "0.4")]
+-		public void get_bounds (out double x_scale_start, out double y_scale_start, out double x_scale_end, out double y_scale_end);
+-		[Version (since = "0.6")]
+-		public void set_bounds (double x_scale_start, double y_scale_start, double x_scale_end, double y_scale_end);
+-		[NoAccessorMethod]
+-		[Version (since = "0.6")]
+-		public double x_scale_end { get; set; }
+-		[NoAccessorMethod]
+-		[Version (since = "0.6")]
+-		public double x_scale_start { get; set; }
+-		[NoAccessorMethod]
+-		[Version (since = "0.6")]
+-		public double y_scale_end { get; set; }
+-		[NoAccessorMethod]
+-		[Version (since = "0.6")]
+-		public double y_scale_start { get; set; }
+-	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_bin_layout_get_type ()")]
+ 	[Version (since = "1.2")]
+ 	public class BinLayout : Clutter.LayoutManager {
+ 		[CCode (has_construct_function = false, type = "ClutterLayoutManager*")]
+ 		public BinLayout (Clutter.BinAlignment x_align = Clutter.BinAlignment.START, Clutter.BinAlignment y_align = Clutter.BinAlignment.START);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
+-		public void add (Clutter.Actor child, Clutter.BinAlignment x_align, Clutter.BinAlignment y_align);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
+-		public void get_alignment (Clutter.Actor? child, out Clutter.BinAlignment x_align, out Clutter.BinAlignment y_align);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
+-		public void set_alignment (Clutter.Actor? child, Clutter.BinAlignment x_align, Clutter.BinAlignment y_align);
+ 		[NoAccessorMethod]
+ 		[Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
+ 		public Clutter.BinAlignment x_align { get; set; }
+@@ -5758,37 +5626,6 @@ namespace Clutter {
+ 		public float x;
+ 		public float y;
+ 	}
+-	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_cairo_texture_get_type ()")]
+-	[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-	public class CairoTexture : Clutter.Texture, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+-		[CCode (has_construct_function = false, type = "ClutterActor*")]
+-		public CairoTexture (uint width, uint height);
+-		public void clear ();
+-		[Version (deprecated = true, deprecated_since = "1.8", since = "1.0")]
+-		public Cairo.Context create ();
+-		[Version (deprecated = true, deprecated_since = "1.8", since = "1.0")]
+-		public Cairo.Context create_region (int x_offset, int y_offset, int width, int height);
+-		[Version (since = "1.8")]
+-		public bool get_auto_resize ();
+-		public void get_surface_size (out uint width, out uint height);
+-		[Version (since = "1.8")]
+-		public void invalidate ();
+-		[Version (since = "1.8")]
+-		public void invalidate_rectangle (Cairo.RectangleInt? rect);
+-		[Version (since = "1.8")]
+-		public void set_auto_resize (bool value);
+-		public void set_surface_size (uint width, uint height);
+-		[Version (since = "1.8")]
+-		public bool auto_resize { get; set; }
+-		[NoAccessorMethod]
+-		public uint surface_height { get; set; }
+-		[NoAccessorMethod]
+-		public uint surface_width { get; set; }
+-		[Version (since = "1.6")]
+-		public virtual signal Cairo.Surface create_surface (uint width, uint height);
+-		[Version (since = "1.8")]
+-		public virtual signal bool draw (Cairo.Context cr);
+-	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_canvas_get_type ()")]
+ 	[Version (since = "1.10")]
+ 	public class Canvas : GLib.Object, Clutter.Content {
+@@ -5920,62 +5757,24 @@ namespace Clutter {
+ 		public void set_factor (double factor);
+ 		public double factor { get; set; }
+ 	}
+-	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_device_manager_get_type ()")]
+-	[Version (since = "1.2")]
+-	public abstract class DeviceManager : GLib.Object {
+-		[CCode (has_construct_function = false)]
+-		protected DeviceManager ();
+-		[NoWrapper]
+-		public virtual void add_device (Clutter.InputDevice device);
+-		[NoWrapper]
+-		public virtual void apply_kbd_a11y_settings (Clutter.KbdA11ySettings settings);
+-		[NoWrapper]
+-		public virtual void compress_motion (Clutter.Event event, Clutter.Event to_discard);
+-		public virtual Clutter.VirtualInputDevice create_virtual_device (Clutter.InputDeviceType device_type);
+-		public virtual unowned Clutter.InputDevice get_core_device (Clutter.InputDeviceType device_type);
+-		public static unowned Clutter.DeviceManager get_default ();
+-		public virtual unowned Clutter.InputDevice get_device (int device_id);
+-		public void get_kbd_a11y_settings (Clutter.KbdA11ySettings settings);
+-		public void get_pointer_a11y_settings (Clutter.PointerA11ySettings settings);
+-		public virtual Clutter.VirtualDeviceType get_supported_virtual_device_types ();
+-		public GLib.SList<weak Clutter.InputDevice> list_devices ();
+-		public unowned GLib.SList<Clutter.InputDevice> peek_devices ();
+-		[NoWrapper]
+-		public virtual void remove_device (Clutter.InputDevice device);
+-		[NoWrapper]
+-		public virtual void select_stage_events (Clutter.Stage stage);
+-		public void set_kbd_a11y_settings (Clutter.KbdA11ySettings settings);
+-		public void set_pointer_a11y_dwell_click_type (Clutter.PointerA11yDwellClickType click_type);
+-		public void set_pointer_a11y_settings (Clutter.PointerA11ySettings settings);
+-		[NoAccessorMethod]
+-		public Clutter.Backend backend { owned get; construct; }
+-		public signal void device_added (Clutter.InputDevice device);
+-		public signal void device_removed (Clutter.InputDevice device);
+-		public signal void kbd_a11y_flags_changed (uint settings_flags, uint changed_mask);
+-		public signal void kbd_a11y_mods_state_changed (uint latched_mask, uint locked_mask);
+-		public signal void ptr_a11y_dwell_click_type_changed (Clutter.PointerA11yDwellClickType click_type);
+-		public signal void ptr_a11y_timeout_started (Clutter.InputDevice device, Clutter.PointerA11yTimeoutType timeout_type, uint delay);
+-		public signal void ptr_a11y_timeout_stopped (Clutter.InputDevice device, Clutter.PointerA11yTimeoutType timeout_type);
+-		public signal void tool_changed (Clutter.InputDevice object, Clutter.InputDeviceTool p0);
+-	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_drag_action_get_type ()")]
+ 	[Version (since = "1.4")]
+ 	public class DragAction : Clutter.Action {
+ 		[CCode (has_construct_function = false, type = "ClutterAction*")]
+ 		public DragAction ();
+-		public bool get_drag_area (Clutter.Rect drag_area);
++		public bool get_drag_area (Graphene.Rect drag_area);
+ 		public Clutter.DragAxis get_drag_axis ();
+ 		public unowned Clutter.Actor get_drag_handle ();
+ 		public void get_drag_threshold (out uint x_threshold, out uint y_threshold);
+ 		public void get_motion_coords (out float motion_x, out float motion_y);
+ 		public void get_press_coords (out float press_x, out float press_y);
+-		public void set_drag_area (Clutter.Rect? drag_area);
++		public void set_drag_area (Graphene.Rect? drag_area);
+ 		public void set_drag_axis (Clutter.DragAxis axis);
+ 		public void set_drag_handle (Clutter.Actor? handle);
+ 		public void set_drag_threshold (int x_threshold, int y_threshold);
+ 		[NoAccessorMethod]
+ 		[Version (since = "1.12")]
+-		public Clutter.Rect drag_area { owned get; set; }
++		public Graphene.Rect drag_area { owned get; set; }
+ 		[NoAccessorMethod]
+ 		[Version (since = "1.12")]
+ 		public bool drag_area_set { get; }
+@@ -6011,13 +5810,13 @@ namespace Clutter {
+ 		[NoWrapper]
+ 		public virtual bool modify_paint_volume (Clutter.PaintVolume volume);
+ 		[NoWrapper]
+-		public virtual void paint (Clutter.EffectPaintFlags flags);
++		public virtual void paint (Clutter.PaintContext paint_context, Clutter.EffectPaintFlags flags);
+ 		[NoWrapper]
+-		public virtual void pick (Clutter.EffectPaintFlags flags);
++		public virtual void pick (Clutter.PickContext pick_context);
+ 		[NoWrapper]
+-		public virtual void post_paint ();
++		public virtual void post_paint (Clutter.PaintContext paint_context);
+ 		[NoWrapper]
+-		public virtual bool pre_paint ();
++		public virtual bool pre_paint (Clutter.PaintContext paint_context);
+ 		[Version (since = "1.8")]
+ 		public void queue_repaint ();
+ 	}
+@@ -6068,7 +5867,7 @@ namespace Clutter {
+ 		public uint get_mode_group ();
+ 		public bool get_pad_event_details (out uint number, out uint mode, out double value);
+ 		[Version (since = "1.12")]
+-		public void get_position (Clutter.Point position);
++		public void get_position (Graphene.Point position);
+ 		[Version (since = "1.0")]
+ 		public unowned Clutter.Actor get_related ();
+ 		[Version (since = "1.10")]
+@@ -6308,7 +6107,7 @@ namespace Clutter {
+ 		[Version (since = "1.6")]
+ 		public bool get_axis_value ([CCode (array_length = false)] double[] axes, Clutter.InputAxis axis, out double value);
+ 		[Version (since = "1.12")]
+-		public bool get_coords (Clutter.EventSequence? sequence, Clutter.Point point);
++		public bool get_coords (Clutter.EventSequence? sequence, Graphene.Point point);
+ 		[Version (since = "1.0")]
+ 		public int get_device_id ();
+ 		[Version (since = "1.6")]
+@@ -6322,7 +6121,7 @@ namespace Clutter {
+ 		public bool get_enabled ();
+ 		[Version (since = "1.10")]
+ 		public unowned Clutter.Actor get_grabbed_actor ();
+-		public int get_group_n_modes (int group);
++		public virtual int get_group_n_modes (int group);
+ 		[Version (since = "1.6")]
+ 		public bool get_has_cursor ();
+ 		[Version (since = "1.6")]
+@@ -6344,16 +6143,17 @@ namespace Clutter {
+ 		public unowned Clutter.Stage get_pointer_stage ();
+ 		[Version (since = "1.22")]
+ 		public unowned string get_product_id ();
++		public unowned Clutter.Seat get_seat ();
+ 		[Version (since = "1.6")]
+ 		public GLib.List<weak Clutter.InputDevice> get_slave_devices ();
+ 		[Version (since = "1.22")]
+ 		public unowned string get_vendor_id ();
+ 		[Version (since = "1.10")]
+ 		public void grab (Clutter.Actor actor);
+-		public bool is_grouped (Clutter.InputDevice other_device);
+-		public bool is_mode_switch_button (uint group, uint button);
++		public virtual bool is_grouped (Clutter.InputDevice other_device);
++		public virtual bool is_mode_switch_button (uint group, uint button);
+ 		[Version (since = "1.10")]
+-		public bool keycode_to_evdev (uint hardware_keycode, uint evdev_keycode);
++		public virtual bool keycode_to_evdev (uint hardware_keycode, uint evdev_keycode);
+ 		[Version (since = "1.12")]
+ 		public unowned Clutter.Actor sequence_get_grabbed_actor (Clutter.EventSequence sequence);
+ 		[Version (since = "1.12")]
+@@ -6369,12 +6169,11 @@ namespace Clutter {
+ 		public void ungrab ();
+ 		[Version (since = "1.2")]
+ 		public void update_from_event (Clutter.Event event, bool update_stage);
++		[NoWrapper]
++		public virtual void update_from_tool (Clutter.InputDeviceTool tool);
+ 		[NoAccessorMethod]
+ 		[Version (since = "1.6")]
+ 		public Clutter.Backend backend { owned get; construct; }
+-		[NoAccessorMethod]
+-		[Version (since = "1.6")]
+-		public Clutter.DeviceManager device_manager { owned get; construct; }
+ 		public Clutter.InputMode device_mode { get; construct; }
+ 		public string device_node { get; construct; }
+ 		[Version (since = "1.2")]
+@@ -6397,6 +6196,7 @@ namespace Clutter {
+ 		public string name { owned get; construct; }
+ 		[Version (since = "1.22")]
+ 		public string product_id { get; construct; }
++		public Clutter.Seat seat { get; construct; }
+ 		[Version (since = "1.22")]
+ 		public string vendor_id { get; construct; }
+ 	}
+@@ -6434,7 +6234,7 @@ namespace Clutter {
+ 		public void set_can_show_preedit (bool can_show_preedit);
+ 		public void set_content_hints (Clutter.InputContentHintFlags hint);
+ 		public void set_content_purpose (Clutter.InputContentPurpose purpose);
+-		public void set_cursor_location (Clutter.Rect rect);
++		public void set_cursor_location (Graphene.Rect rect);
+ 		public void set_input_panel_state (Clutter.InputPanelState state);
+ 		[NoWrapper]
+ 		public virtual void set_preedit_text (string preedit, uint cursor);
+@@ -6453,7 +6253,7 @@ namespace Clutter {
+ 		[NoWrapper]
+ 		public virtual void reset ();
+ 		[NoWrapper]
+-		public virtual void set_cursor_location (Clutter.Rect rect);
++		public virtual void set_cursor_location (Graphene.Rect rect);
+ 		public void set_input_panel_state (Clutter.InputPanelState state);
+ 		public void set_preedit_text (string? preedit, uint cursor);
+ 		[NoWrapper]
+@@ -6470,7 +6270,7 @@ namespace Clutter {
+ 		public Clutter.InputContentPurpose content_purpose { get; set; }
+ 		[HasEmitter]
+ 		public signal void commit (string text);
+-		public signal void cursor_location_changed (Clutter.Rect object);
++		public signal void cursor_location_changed (Graphene.Rect object);
+ 		[HasEmitter]
+ 		public signal void delete_surrounding (uint offset, uint len);
+ 		public signal void input_panel_state (Clutter.InputPanelState object);
+@@ -6546,27 +6346,31 @@ namespace Clutter {
+ 		[CCode (has_construct_function = false)]
+ 		protected Keymap ();
+ 		public virtual bool get_caps_lock_state ();
++		public virtual Pango.Direction get_direction ();
+ 		public virtual bool get_num_lock_state ();
+ 		public signal void state_changed ();
+ 	}
++	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_layer_node_get_type ()")]
++	public class LayerNode : Clutter.PaintNode {
++		[CCode (has_construct_function = false, type = "ClutterPaintNode*")]
++		public LayerNode (Cogl.Matrix projection, Cairo.Rectangle viewport, float width, float height, uint8 opacity);
++	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_layout_manager_get_type ()")]
+ 	[Version (since = "1.2")]
+ 	public abstract class LayoutManager : GLib.InitiallyUnowned {
+ 		[CCode (has_construct_function = false)]
+ 		protected LayoutManager ();
+ 		public virtual void allocate (Clutter.Container container, Clutter.ActorBox allocation, Clutter.AllocationFlags flags);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
+-		public virtual unowned Clutter.Alpha begin_animation (uint duration, ulong mode);
+ 		public void child_get (Clutter.Container container, Clutter.Actor actor, ...);
+ 		public void child_get_property (Clutter.Container container, Clutter.Actor actor, string property_name, GLib.Value value);
+ 		public void child_set (Clutter.Container container, Clutter.Actor actor, ...);
+ 		public void child_set_property (Clutter.Container container, Clutter.Actor actor, string property_name, GLib.Value value);
+ 		[NoWrapper]
+ 		public virtual unowned Clutter.LayoutMeta create_child_meta (Clutter.Container container, Clutter.Actor actor);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
++		[NoWrapper]
+ 		public virtual void end_animation ();
+ 		public unowned GLib.ParamSpec find_child_property (string name);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
++		[NoWrapper]
+ 		public virtual double get_animation_progress ();
+ 		[Version (since = "1.0")]
+ 		public unowned Clutter.LayoutMeta get_child_meta (Clutter.Container container, Clutter.Actor actor);
+@@ -6623,12 +6427,12 @@ namespace Clutter {
+ 		protected OffscreenEffect ();
+ 		public virtual Cogl.Handle create_texture (float width, float height);
+ 		[Version (since = "1.14")]
+-		public bool get_target_rect (out unowned Clutter.Rect rect);
++		public bool get_target_rect (out unowned Graphene.Rect rect);
+ 		[Version (deprecated = true, deprecated_since = "1.14", since = "1.8")]
+ 		public bool get_target_size (out float width, out float height);
+ 		[Version (since = "1.10")]
+ 		public unowned Cogl.Handle get_texture ();
+-		public virtual void paint_target ();
++		public virtual void paint_target (Clutter.PaintContext paint_context);
+ 	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_page_turn_effect_get_type ()")]
+ 	[Version (since = "1.4")]
+@@ -6645,6 +6449,16 @@ namespace Clutter {
+ 		public double period { get; set; }
+ 		public float radius { get; set; }
+ 	}
++	[CCode (cheader_filename = "clutter/clutter.h", ref_function = "clutter_paint_context_ref", type_id = "clutter_paint_context_get_type ()", unref_function = "clutter_paint_context_unref")]
++	[Compact]
++	public class PaintContext {
++		public void destroy ();
++		public unowned Cogl.Framebuffer get_framebuffer ();
++		public void pop_framebuffer ();
++		public void push_framebuffer (Cogl.Framebuffer framebuffer);
++		public unowned Clutter.PaintContext @ref ();
++		public void unref ();
++	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_paint_node_get_type ()")]
+ 	[Version (since = "1.10")]
+ 	public abstract class PaintNode {
+@@ -6654,7 +6468,8 @@ namespace Clutter {
+ 		public void add_multitexture_rectangle (Clutter.ActorBox rect, float text_coords, uint text_coords_len);
+ 		public void add_rectangle (Clutter.ActorBox rect);
+ 		public void add_texture_rectangle (Clutter.ActorBox rect, float x_1, float y_1, float x_2, float y_2);
+-		public void paint ();
++		public unowned Cogl.Framebuffer get_framebuffer ();
++		public void paint (Clutter.PaintContext paint_context);
+ 		public unowned Clutter.PaintNode @ref ();
+ 		public void set_name (string name);
+ 		public void unref ();
+@@ -6672,7 +6487,7 @@ namespace Clutter {
+ 		[Version (since = "1.6")]
+ 		public float get_height ();
+ 		[Version (since = "1.6")]
+-		public Clutter.Vertex get_origin ();
++		public void get_origin (out unowned Graphene.Point3D vertex);
+ 		[Version (since = "1.6")]
+ 		public float get_width ();
+ 		[Version (since = "1.6")]
+@@ -6682,7 +6497,7 @@ namespace Clutter {
+ 		[Version (since = "1.6")]
+ 		public void set_height (float height);
+ 		[Version (since = "1.6")]
+-		public void set_origin (Clutter.Vertex origin);
++		public void set_origin (Graphene.Point3D origin);
+ 		[Version (since = "1.6")]
+ 		public void set_width (float width);
+ 		[Version (since = "1.6")]
+@@ -6769,26 +6584,19 @@ namespace Clutter {
+ 		public Clutter.Path path { get; set; }
+ 		public signal void node_reached (Clutter.Actor actor, uint index);
+ 	}
++	[CCode (cheader_filename = "clutter/clutter.h", ref_function = "clutter_pick_context_ref", type_id = "clutter_pick_context_get_type ()", unref_function = "clutter_pick_context_unref")]
++	[Compact]
++	public class PickContext {
++		public void destroy ();
++		public unowned Clutter.PickContext @ref ();
++		public void unref ();
++	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_pipeline_node_get_type ()")]
+ 	[Version (since = "1.10")]
+ 	public class PipelineNode : Clutter.PaintNode {
+ 		[CCode (has_construct_function = false)]
+ 		protected PipelineNode ();
+ 	}
+-	[CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "clutter_point_get_type ()")]
+-	[Compact]
+-	[Version (since = "1.12")]
+-	public class Point {
+-		public float x;
+-		public float y;
+-		public static Clutter.Point alloc ();
+-		public Clutter.Point copy ();
+-		public float distance (Clutter.Point b, out float x_distance, out float y_distance);
+-		public bool equals (Clutter.Point b);
+-		public void free ();
+-		public unowned Clutter.Point init (float x, float y);
+-		public static unowned Clutter.Point zero ();
+-	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_property_transition_get_type ()")]
+ 	[Version (since = "1.10")]
+ 	public class PropertyTransition : Clutter.Transition, Clutter.Scriptable {
+@@ -6798,33 +6606,6 @@ namespace Clutter {
+ 		public void set_property_name (string? property_name);
+ 		public string property_name { get; set; }
+ 	}
+-	[CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "clutter_rect_get_type ()")]
+-	[Compact]
+-	[Version (since = "1.12")]
+-	public class Rect {
+-		public weak Clutter.Point origin;
+-		public weak Clutter.Size size;
+-		public static Clutter.Rect alloc ();
+-		public void clamp_to_pixel ();
+-		public bool contains_point (Clutter.Point point);
+-		public bool contains_rect (Clutter.Rect b);
+-		public Clutter.Rect copy ();
+-		public bool equals (Clutter.Rect b);
+-		public void free ();
+-		public void get_center (Clutter.Point center);
+-		public float get_height ();
+-		public float get_width ();
+-		public float get_x ();
+-		public float get_y ();
+-		public unowned Clutter.Rect init (float x, float y, float width, float height);
+-		public void inset (float d_x, float d_y);
+-		public bool intersection (Clutter.Rect b, Clutter.Rect? res);
+-		public Clutter.Rect normalize ();
+-		public void offset (float d_x, float d_y);
+-		public void scale (float s_x, float s_y);
+-		public void union (Clutter.Rect b, Clutter.Rect res);
+-		public static unowned Clutter.Rect zero ();
+-	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_rectangle_get_type ()")]
+ 	[Version (since = "0.2")]
+ 	public class Rectangle : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+@@ -6907,8 +6688,8 @@ namespace Clutter {
+ 		[CCode (has_construct_function = false, type = "ClutterActor*")]
+ 		public ScrollActor ();
+ 		public Clutter.ScrollMode get_scroll_mode ();
+-		public void scroll_to_point (Clutter.Point point);
+-		public void scroll_to_rect (Clutter.Rect rect);
++		public void scroll_to_point (Graphene.Point point);
++		public void scroll_to_rect (Graphene.Rect rect);
+ 		public void set_scroll_mode (Clutter.ScrollMode mode);
+ 		public Clutter.ScrollMode scroll_mode { get; set; }
+ 	}
+@@ -6930,6 +6711,44 @@ namespace Clutter {
+ 		public float x;
+ 		public float y;
+ 	}
++	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_seat_get_type ()")]
++	public abstract class Seat : GLib.Object {
++		[CCode (has_construct_function = false)]
++		protected Seat ();
++		[NoWrapper]
++		public virtual void apply_kbd_a11y_settings (Clutter.KbdA11ySettings settings);
++		public virtual void bell_notify ();
++		public virtual void compress_motion (Clutter.Event event, Clutter.Event to_discard);
++		[NoWrapper]
++		public virtual void copy_event_data (Clutter.Event src, Clutter.Event dest);
++		public virtual Clutter.VirtualInputDevice create_virtual_device (Clutter.InputDeviceType device_type);
++		public void ensure_a11y_state ();
++		[NoWrapper]
++		public virtual void free_event_data (Clutter.Event event);
++		public void get_kbd_a11y_settings (Clutter.KbdA11ySettings settings);
++		public virtual unowned Clutter.InputDevice get_keyboard ();
++		public virtual unowned Clutter.Keymap get_keymap ();
++		public virtual unowned Clutter.InputDevice get_pointer ();
++		public void get_pointer_a11y_settings (Clutter.PointerA11ySettings settings);
++		public virtual Clutter.VirtualDeviceType get_supported_virtual_device_types ();
++		public bool get_touch_mode ();
++		public virtual GLib.List<weak Clutter.InputDevice> list_devices ();
++		public void set_kbd_a11y_settings (Clutter.KbdA11ySettings settings);
++		public void set_pointer_a11y_dwell_click_type (Clutter.PointerA11yDwellClickType click_type);
++		public void set_pointer_a11y_settings (Clutter.PointerA11ySettings settings);
++		public virtual void warp_pointer (int x, int y);
++		[NoAccessorMethod]
++		public Clutter.Backend backend { owned get; construct; }
++		public bool touch_mode { get; }
++		public signal void device_added (Clutter.InputDevice object);
++		public signal void device_removed (Clutter.InputDevice object);
++		public signal void kbd_a11y_flags_changed (uint settings_flags, uint changed_mask);
++		public signal void kbd_a11y_mods_state_changed (uint latched_mask, uint locked_mask);
++		public signal void ptr_a11y_dwell_click_type_changed (Clutter.PointerA11yDwellClickType click_type);
++		public signal void ptr_a11y_timeout_started (Clutter.InputDevice device, Clutter.PointerA11yTimeoutType timeout_type, uint delay);
++		public signal void ptr_a11y_timeout_stopped (Clutter.InputDevice device, Clutter.PointerA11yTimeoutType timeout_type, bool clicked);
++		public signal void tool_changed (Clutter.InputDevice object, Clutter.InputDeviceTool p0);
++	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_settings_get_type ()")]
+ 	[Version (since = "1.4")]
+ 	public class Settings : GLib.Object {
+@@ -7002,18 +6821,6 @@ namespace Clutter {
+ 		[CCode (has_construct_function = false)]
+ 		protected ShaderMatrix ();
+ 	}
+-	[CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "clutter_size_get_type ()")]
+-	[Compact]
+-	[Version (since = "1.12")]
+-	public class Size {
+-		public float height;
+-		public float width;
+-		public static Clutter.Size alloc ();
+-		public Clutter.Size copy ();
+-		public bool equals (Clutter.Size b);
+-		public void free ();
+-		public unowned Clutter.Size init (float width, float height);
+-	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_snap_constraint_get_type ()")]
+ 	[Version (since = "1.6")]
+ 	public class SnapConstraint : Clutter.Constraint {
+@@ -7052,14 +6859,12 @@ namespace Clutter {
+ 		public void freeze_updates ();
+ 		[Version (since = "1.6")]
+ 		public bool get_accept_focus ();
+-		public unowned Clutter.Actor get_actor_at_pos (Clutter.PickMode pick_mode, int x, int y);
++		public unowned Clutter.Actor get_actor_at_pos (Clutter.PickMode pick_mode, float x, float y);
+ 		public bool get_capture_final_size (Cairo.RectangleInt rect, int width, int height, float scale);
+ 		[Version (deprecated = true, deprecated_since = "1.10")]
+ 		public Clutter.Color get_color ();
+ 		[Version (deprecated = true, deprecated_since = "1.10")]
+ 		public static unowned Clutter.Stage get_default ();
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "0.6")]
+-		public Clutter.Fog get_fog ();
+ 		public int64 get_frame_counter ();
+ 		[Version (since = "0.6")]
+ 		public unowned Clutter.Actor get_key_focus ();
+@@ -7067,19 +6872,14 @@ namespace Clutter {
+ 		public void get_minimum_size (out uint width, out uint height);
+ 		[Version (since = "1.8")]
+ 		public bool get_motion_events_enabled ();
+-		[Version (since = "1.4")]
+-		public bool get_no_clear_hint ();
+ 		public Clutter.Perspective get_perspective ();
+-		[Version (since = "1.8")]
+-		public Cairo.RectangleInt get_redraw_clip_bounds ();
++		public Cairo.Region get_redraw_clip ();
+ 		[Version (since = "1.0")]
+ 		public bool get_throttle_motion_events ();
+ 		[Version (since = "0.4")]
+ 		public unowned string get_title ();
+ 		[Version (since = "1.2")]
+ 		public bool get_use_alpha ();
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "0.6")]
+-		public bool get_use_fog ();
+ 		[Version (since = "0.4")]
+ 		public void hide_cursor ();
+ 		[Version (deprecated = true, deprecated_since = "1.10", since = "0.8")]
+@@ -7094,16 +6894,12 @@ namespace Clutter {
+ 		public void set_accept_focus (bool accept_focus);
+ 		[Version (deprecated = true, deprecated_since = "1.10")]
+ 		public void set_color (Clutter.Color color);
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "0.6")]
+-		public void set_fog (Clutter.Fog fog);
+ 		[Version (since = "0.6")]
+ 		public void set_key_focus (Clutter.Actor? actor);
+ 		[Version (since = "1.2")]
+ 		public void set_minimum_size (uint width, uint height);
+ 		[Version (since = "1.8")]
+ 		public void set_motion_events_enabled (bool enabled);
+-		[Version (since = "1.4")]
+-		public void set_no_clear_hint (bool no_clear);
+ 		public void set_perspective (Clutter.Perspective perspective);
+ 		[Version (since = "1.0")]
+ 		public void set_throttle_motion_events (bool throttle);
+@@ -7111,8 +6907,6 @@ namespace Clutter {
+ 		public void set_title (string title);
+ 		[Version (since = "1.2")]
+ 		public void set_use_alpha (bool use_alpha);
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "0.6")]
+-		public void set_use_fog (bool fog);
+ 		public void show_cursor ();
+ 		public void thaw_updates ();
+ 		public void update_resource_scales ();
+@@ -7122,20 +6916,14 @@ namespace Clutter {
+ 		public Clutter.Color color { get; set; }
+ 		[NoAccessorMethod]
+ 		public bool cursor_visible { get; set; }
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "1.0")]
+-		public Clutter.Fog fog { get; set; }
+ 		[Version (since = "1.2")]
+ 		public Clutter.Actor key_focus { get; set; }
+-		[Version (since = "1.4")]
+-		public bool no_clear_hint { get; set; }
+ 		[Version (since = "0.8")]
+ 		public Clutter.Perspective perspective { get; set; }
+ 		[Version (since = "0.4")]
+ 		public string title { get; set; }
+ 		[Version (since = "1.2")]
+ 		public bool use_alpha { get; set; }
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "0.6")]
+-		public bool use_fog { get; set; }
+ 		[Version (since = "0.6")]
+ 		public virtual signal void activate ();
+ 		[Version (since = "1.20")]
+@@ -7158,8 +6946,6 @@ namespace Clutter {
+ 		[Version (since = "0.8")]
+ 		public GLib.SList<weak Clutter.Stage> list_stages ();
+ 		public unowned GLib.SList<Clutter.Stage> peek_stages ();
+-		[Version (deprecated = true, deprecated_since = "1.2", since = "0.8")]
+-		public void set_default_stage (Clutter.Stage stage);
+ 		[Version (since = "0.8")]
+ 		public Clutter.Stage default_stage { get; }
+ 		[Version (since = "0.8")]
+@@ -7206,16 +6992,10 @@ namespace Clutter {
+ 		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+ 		public uint get_duration (string? source_state_name, string? target_state_name);
+ 		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public GLib.List<weak Clutter.StateKey> get_keys (string? source_state_name, string? target_state_name, GLib.Object? object, string? property_name);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+ 		public unowned string get_state ();
+ 		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+ 		public GLib.List<weak string> get_states ();
+ 		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public unowned Clutter.Timeline get_timeline ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public void remove_key (string? source_state_name, string? target_state_name, GLib.Object? object, string? property_name);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+ 		public void set_duration (string? source_state_name, string? target_state_name, uint duration);
+ 		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+ 		public unowned Clutter.State set_key (string? source_state_name, string target_state_name, GLib.Object object, string property_name, uint mode, GLib.Value value, double pre_delay, double post_delay);
+@@ -7236,24 +7016,8 @@ namespace Clutter {
+ 	[Compact]
+ 	[Version (since = "1.4")]
+ 	public class StateKey {
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public ulong get_mode ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public unowned GLib.Object get_object ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public double get_post_delay ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public double get_pre_delay ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public unowned string get_property_name ();
+ 		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+ 		public GLib.Type get_property_type ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public unowned string get_source_state_name ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public unowned string get_target_state_name ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public bool get_value (GLib.Value value);
+ 	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_swipe_action_get_type ()")]
+ 	[Version (since = "1.8")]
+@@ -7265,53 +7029,6 @@ namespace Clutter {
+ 		[Version (since = "1.14")]
+ 		public virtual signal bool swipe (Clutter.Actor actor, Clutter.SwipeDirection direction);
+ 	}
+-	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_table_layout_get_type ()")]
+-	[Version (deprecated = true, deprecated_since = "1.18", since = "1.4")]
+-	public class TableLayout : Clutter.LayoutManager {
+-		[CCode (has_construct_function = false, type = "ClutterLayoutManager*")]
+-		public TableLayout ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public void get_alignment (Clutter.Actor actor, out Clutter.TableAlignment x_align, out Clutter.TableAlignment y_align);
+-		public int get_column_count ();
+-		public uint get_column_spacing ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public uint get_easing_duration ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public ulong get_easing_mode ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public void get_expand (Clutter.Actor actor, out bool x_expand, out bool y_expand);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public void get_fill (Clutter.Actor actor, out bool x_fill, out bool y_fill);
+-		public int get_row_count ();
+-		public uint get_row_spacing ();
+-		public void get_span (Clutter.Actor actor, out int column_span, out int row_span);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public bool get_use_animations ();
+-		public void pack (Clutter.Actor actor, int column, int row);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public void set_alignment (Clutter.Actor actor, Clutter.TableAlignment x_align, Clutter.TableAlignment y_align);
+-		public void set_column_spacing (uint spacing);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public void set_easing_duration (uint msecs);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public void set_easing_mode (ulong mode);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public void set_expand (Clutter.Actor actor, bool x_expand, bool y_expand);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public void set_fill (Clutter.Actor actor, bool x_fill, bool y_fill);
+-		public void set_row_spacing (uint spacing);
+-		public void set_span (Clutter.Actor actor, int column_span, int row_span);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public void set_use_animations (bool animate);
+-		public uint column_spacing { get; set; }
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public uint easing_duration { get; set; }
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public ulong easing_mode { get; set; }
+-		public uint row_spacing { get; set; }
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public bool use_animations { get; set; }
+-	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_tap_action_get_type ()")]
+ 	[Version (since = "1.14")]
+ 	public class TapAction : Clutter.GestureAction {
+@@ -7339,7 +7056,7 @@ namespace Clutter {
+ 		public Clutter.Color get_cursor_color ();
+ 		public int get_cursor_position ();
+ 		[Version (since = "1.16")]
+-		public void get_cursor_rect (out unowned Clutter.Rect rect);
++		public void get_cursor_rect (out unowned Graphene.Rect rect);
+ 		public uint get_cursor_size ();
+ 		public bool get_cursor_visible ();
+ 		public bool get_editable ();
+@@ -7458,7 +7175,7 @@ namespace Clutter {
+ 		[Version (since = "1.16")]
+ 		public virtual signal void cursor_changed ();
+ 		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public virtual signal void cursor_event (Clutter.Geometry geometry);
++		public virtual signal void cursor_event (Graphene.Rect rect);
+ 		[HasEmitter]
+ 		[Version (since = "1.2")]
+ 		public signal void delete_text (int start_pos, int end_pos);
+@@ -7497,92 +7214,9 @@ namespace Clutter {
+ 		public TextNode (Pango.Layout? layout, Clutter.Color? color);
+ 	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_texture_get_type ()")]
+-	[Version (since = "0.2")]
+-	public class Texture : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+-		[CCode (has_construct_function = false, type = "ClutterActor*")]
+-		[Version (deprecated = true, deprecated_since = "1.12")]
+-		public Texture ();
+-		[CCode (has_construct_function = false, type = "ClutterActor*")]
+-		[Version (deprecated = true, deprecated_since = "1.8", since = "0.6")]
+-		public Texture.from_actor (Clutter.Actor actor);
+-		[CCode (has_construct_function = false, type = "ClutterActor*")]
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "0.8")]
+-		public Texture.from_file (string filename) throws Clutter.TextureError;
+-		[Version (deprecated = true, deprecated_since = "1.12")]
+-		public void get_base_size (out int width, out int height);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public unowned Cogl.Handle get_cogl_material ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "0.8")]
+-		public unowned Cogl.Handle get_cogl_texture ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "0.8")]
+-		public Clutter.TextureQuality get_filter_quality ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public bool get_keep_aspect_ratio ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public bool get_load_async ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public bool get_load_data_async ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "0.8")]
+-		public int get_max_tile_waste ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public bool get_pick_with_alpha ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public void get_repeat (out bool repeat_x, out bool repeat_y);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public bool get_sync_size ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "0.6")]
+-		public bool set_area_from_rgb_data ([CCode (array_length = false)] uint8[] data, bool has_alpha, int x, int y, int width, int height, int rowstride, int bpp, Clutter.TextureFlags flags) throws GLib.Error;
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "0.8")]
+-		public void set_cogl_material (Cogl.Handle cogl_material);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "0.8")]
+-		public void set_cogl_texture (Cogl.Handle cogl_tex);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "0.8")]
+-		public void set_filter_quality (Clutter.TextureQuality filter_quality);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "0.8")]
+-		public bool set_from_file (string filename) throws GLib.Error;
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "0.4")]
+-		public bool set_from_rgb_data ([CCode (array_length = false)] uint8[] data, bool has_alpha, int width, int height, int rowstride, int bpp, Clutter.TextureFlags flags) throws GLib.Error;
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "0.4")]
+-		public bool set_from_yuv_data ([CCode (array_length = false)] uint8[] data, int width, int height, Clutter.TextureFlags flags) throws GLib.Error;
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public void set_keep_aspect_ratio (bool keep_aspect);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public void set_load_async (bool load_async);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public void set_load_data_async (bool load_async);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public void set_pick_with_alpha (bool pick_with_alpha);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public void set_repeat (bool repeat_x, bool repeat_y);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public void set_sync_size (bool sync_size);
++	public class Texture : Clutter.Actor {
+ 		public Cogl.Material cogl_material { get; set; }
+ 		public Cogl.Texture cogl_texture { get; set; }
+-		[NoAccessorMethod]
+-		public bool disable_slicing { get; construct; }
+-		[NoAccessorMethod]
+-		[Version (deprecated = true, deprecated_since = "1.12")]
+-		public string filename { owned get; set; }
+-		public Clutter.TextureQuality filter_quality { get; set construct; }
+-		public bool keep_aspect_ratio { get; set; }
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public bool load_async { set; }
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public bool load_data_async { set; }
+-		public bool pick_with_alpha { get; set; }
+-		[NoAccessorMethod]
+-		public bool repeat_x { get; set; }
+-		[NoAccessorMethod]
+-		public bool repeat_y { get; set; }
+-		public bool sync_size { get; set; }
+-		[NoAccessorMethod]
+-		public int tile_waste { get; }
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public virtual signal void load_finished (GLib.Error error);
+-		[Version (deprecated = true, deprecated_since = "1.12")]
+-		public virtual signal void pixbuf_change ();
+-		[Version (deprecated = true, deprecated_since = "1.12")]
+-		public virtual signal void size_change (int width, int height);
+ 	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_texture_node_get_type ()")]
+ 	[Version (since = "1.10")]
+@@ -7608,7 +7242,7 @@ namespace Clutter {
+ 		[Version (since = "1.6")]
+ 		public bool get_auto_reverse ();
+ 		[Version (since = "1.12")]
+-		public bool get_cubic_bezier_progress (Clutter.Point c_1, Clutter.Point c_2);
++		public bool get_cubic_bezier_progress (Graphene.Point c_1, Graphene.Point c_2);
+ 		[Version (since = "1.10")]
+ 		public int get_current_repeat ();
+ 		[Version (since = "0.4")]
+@@ -7645,7 +7279,7 @@ namespace Clutter {
+ 		[Version (since = "1.6")]
+ 		public void set_auto_reverse (bool reverse);
+ 		[Version (since = "1.12")]
+-		public void set_cubic_bezier_progress (Clutter.Point c_1, Clutter.Point c_2);
++		public void set_cubic_bezier_progress (Graphene.Point c_1, Graphene.Point c_2);
+ 		[Version (since = "0.4")]
+ 		public void set_delay (uint msecs);
+ 		[Version (since = "0.6")]
+@@ -7744,6 +7378,11 @@ namespace Clutter {
+ 		public float x;
+ 		public float y;
+ 	}
++	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_transform_node_get_type ()")]
++	public class TransformNode : Clutter.PaintNode {
++		[CCode (has_construct_function = false, type = "ClutterPaintNode*")]
++		public TransformNode (Cogl.Matrix projection);
++	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_transition_get_type ()")]
+ 	[Version (since = "1.10")]
+ 	public abstract class Transition : Clutter.Timeline, Clutter.Scriptable {
+@@ -7783,7 +7422,6 @@ namespace Clutter {
+ 		[CCode (has_construct_function = false)]
+ 		protected VirtualInputDevice ();
+ 		public int get_device_type ();
+-		public unowned Clutter.DeviceManager get_manager ();
+ 		public virtual void notify_absolute_motion (uint64 time_us, double x, double y);
+ 		public virtual void notify_button (uint64 time_us, uint32 button, Clutter.ButtonState button_state);
+ 		public virtual void notify_discrete_scroll (uint64 time_us, Clutter.ScrollDirection direction, Clutter.ScrollSource scroll_source);
+@@ -7794,25 +7432,25 @@ namespace Clutter {
+ 		public virtual void notify_touch_down (uint64 time_us, int slot, double x, double y);
+ 		public virtual void notify_touch_motion (uint64 time_us, int slot, double x, double y);
+ 		public virtual void notify_touch_up (uint64 time_us, int slot);
+-		[NoAccessorMethod]
+-		public Clutter.DeviceManager device_manager { owned get; construct; }
+ 		public Clutter.InputDeviceType device_type { get; construct; }
++		[NoAccessorMethod]
++		public Clutter.Seat seat { owned get; construct; }
+ 	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_zoom_action_get_type ()")]
+ 	[Version (since = "1.12")]
+ 	public class ZoomAction : Clutter.GestureAction {
+ 		[CCode (has_construct_function = false, type = "ClutterAction*")]
+ 		public ZoomAction ();
+-		public void get_focal_point (Clutter.Point point);
+-		public void get_transformed_focal_point (Clutter.Point point);
++		public void get_focal_point (Graphene.Point point);
++		public void get_transformed_focal_point (Graphene.Point point);
+ 		public Clutter.ZoomAxis get_zoom_axis ();
+ 		public void set_zoom_axis (Clutter.ZoomAxis axis);
+ 		public Clutter.ZoomAxis zoom_axis { get; set; }
+-		public virtual signal bool zoom (Clutter.Actor actor, Clutter.Point focal_point, double factor);
++		public virtual signal bool zoom (Clutter.Actor actor, Graphene.Point focal_point, double factor);
+ 	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_cname = "ClutterAnimatableInterface", type_id = "clutter_animatable_get_type ()")]
+ 	public interface Animatable : GLib.Object {
+-		[Version (deprecated = true, deprecated_since = "1.8", since = "1.0")]
++		[NoWrapper]
+ 		public abstract bool animate_property (Clutter.Animation animation, string property_name, GLib.Value initial_value, GLib.Value final_value, double progress, GLib.Value value);
+ 		[Version (since = "1.4")]
+ 		public abstract unowned GLib.ParamSpec find_property (string property_name);
+@@ -7830,8 +7468,6 @@ namespace Clutter {
+ 		[CCode (vfunc_name = "add")]
+ 		[Version (deprecated = true, deprecated_since = "1.10", since = "0.4")]
+ 		public abstract void add_actor (Clutter.Actor actor);
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "0.4")]
+-		public void add_valist (Clutter.Actor first_actor, va_list var_args);
+ 		[Version (since = "0.8")]
+ 		public void child_get (Clutter.Actor actor, ...);
+ 		[Version (since = "0.8")]
+@@ -7853,10 +7489,6 @@ namespace Clutter {
+ 		public unowned Clutter.Actor find_child_by_name (string child_name);
+ 		[CCode (cname = "clutter_container_class_find_child_property")]
+ 		public class unowned GLib.ParamSpec find_child_property (string property_name);
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "0.4")]
+-		public abstract void @foreach (Clutter.Callback callback);
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "1.0")]
+-		public virtual void foreach_with_internals (Clutter.Callback callback);
+ 		[Version (since = "0.8")]
+ 		public virtual unowned Clutter.ChildMeta get_child_meta (Clutter.Actor actor);
+ 		[Version (deprecated = true, deprecated_since = "1.10", since = "0.4")]
+@@ -7874,8 +7506,6 @@ namespace Clutter {
+ 		[CCode (vfunc_name = "remove")]
+ 		[Version (deprecated = true, deprecated_since = "1.10", since = "0.4")]
+ 		public abstract void remove_actor (Clutter.Actor actor);
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "0.4")]
+-		public void remove_valist (Clutter.Actor first_actor, va_list var_args);
+ 		[Version (deprecated = true, deprecated_since = "1.10", since = "0.6")]
+ 		public abstract void sort_depth_order ();
+ 		public virtual signal void actor_added (Clutter.Actor actor);
+@@ -7892,7 +7522,7 @@ namespace Clutter {
+ 		public abstract void invalidate ();
+ 		public abstract void invalidate_size ();
+ 		[NoWrapper]
+-		public abstract void paint_content (Clutter.Actor actor, Clutter.PaintNode node);
++		public abstract void paint_content (Clutter.Actor actor, Clutter.PaintNode node, Clutter.PaintContext paint_context);
+ 		[Version (since = "1.10")]
+ 		public virtual signal void attached (Clutter.Actor actor);
+ 		[Version (since = "1.10")]
+@@ -7908,10 +7538,6 @@ namespace Clutter {
+ 	}
+ 	[CCode (cheader_filename = "clutter/clutter.h")]
+ 	public interface StageWindow : GLib.Object {
+-		[NoWrapper]
+-		public abstract void add_redraw_clip (Clutter.Geometry stage_rectangle);
+-		[NoWrapper]
+-		public abstract void get_geometry (Clutter.Geometry geometry);
+ 		[NoWrapper]
+ 		public abstract int get_pending_swaps ();
+ 		[NoWrapper]
+@@ -7939,14 +7565,16 @@ namespace Clutter {
+ 		[NoWrapper]
+ 		public abstract void unrealize ();
+ 	}
+-	[CCode (cheader_filename = "clutter/clutter.h", type_id = "CLUTTER_TYPE_ACTOR_BOX")]
++	[CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "clutter_actor_box_get_type ()")]
+ 	public struct ActorBox {
+ 		public float x1;
+ 		public float y1;
+ 		public float x2;
+ 		public float y2;
++		[Version (since = "1.12")]
++		public static Clutter.ActorBox? alloc ();
+ 		[Version (since = "1.2")]
+-		public void clamp_to_pixel ();
++		public static void clamp_to_pixel (ref Clutter.ActorBox box);
+ 		[Version (since = "1.0")]
+ 		public bool contains (float x, float y);
+ 		[Version (since = "1.0")]
+@@ -7955,8 +7583,6 @@ namespace Clutter {
+ 		public bool equal (Clutter.ActorBox box_b);
+ 		[Version (since = "1.0")]
+ 		public void free ();
+-		[CCode (cname = "clutter_actor_box_from_vertices")]
+-		public ActorBox.from_vertices (Clutter.Vertex[] verts);
+ 		[Version (since = "1.0")]
+ 		public float get_area ();
+ 		[Version (since = "1.0")]
+@@ -8002,7 +7628,7 @@ namespace Clutter {
+ 		public weak Cairo.Surface image;
+ 		public Cairo.RectangleInt rect;
+ 	}
+-	[CCode (cheader_filename = "clutter/clutter.h", type_id = "CLUTTER_TYPE_COLOR")]
++	[CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "CLUTTER_TYPE_COLOR")]
+ 	public struct Color {
+ 		public uint8 red;
+ 		public uint8 green;
+@@ -8041,24 +7667,6 @@ namespace Clutter {
+ 		[Version (since = "0.2")]
+ 		public string to_string ();
+ 	}
+-	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_fog_get_type ()")]
+-	[Version (deprecated = true, deprecated_since = "1.10", since = "0.6")]
+-	public struct Fog {
+-		public float z_near;
+-		public float z_far;
+-	}
+-	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_geometry_get_type ()")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public struct Geometry {
+-		public int x;
+-		public int y;
+-		public uint width;
+-		public uint height;
+-		[Version (since = "1.4")]
+-		public bool intersects (Clutter.Geometry geometry1);
+-		[Version (since = "1.4")]
+-		public Clutter.Geometry union (Clutter.Geometry geometry_b);
+-	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+ 	public struct KbdA11ySettings {
+ 		public Clutter.KeyboardA11yFlags controls;
+@@ -8069,7 +7677,7 @@ namespace Clutter {
+ 		public int mousekeys_max_speed;
+ 		public int mousekeys_accel_time;
+ 	}
+-	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_knot_get_type ()")]
++	[CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "clutter_knot_get_type ()")]
+ 	[Version (since = "0.2")]
+ 	public struct Knot {
+ 		public int x;
+@@ -8121,7 +7729,7 @@ namespace Clutter {
+ 		public double value;
+ 		public uint32 mode;
+ 	}
+-	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_path_node_get_type ()")]
++	[CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "clutter_path_node_get_type ()")]
+ 	[Version (since = "1.0")]
+ 	public struct PathNode {
+ 		public Clutter.PathNodeType type;
+@@ -8131,7 +7739,7 @@ namespace Clutter {
+ 		public bool equal (Clutter.PathNode node_b);
+ 		public void free ();
+ 	}
+-	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_perspective_get_type ()")]
++	[CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "clutter_perspective_get_type ()")]
+ 	[Version (since = "0.4")]
+ 	public struct Perspective {
+ 		public float fovy;
+@@ -8162,7 +7770,7 @@ namespace Clutter {
+ 		public weak Clutter.Actor source;
+ 		public weak Clutter.InputDevice device;
+ 	}
+-	[CCode (cheader_filename = "clutter/clutter.h", type_id = "CLUTTER_TYPE_UNITS")]
++	[CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "CLUTTER_TYPE_UNITS")]
+ 	[Version (since = "1.0")]
+ 	public struct Units {
+ 		public Clutter.Units? copy ();
+@@ -8186,23 +7794,6 @@ namespace Clutter {
+ 		public float to_pixels ();
+ 		public string to_string ();
+ 	}
+-	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_vertex_get_type ()")]
+-	[Version (since = "0.4")]
+-	public struct Vertex {
+-		public float x;
+-		public float y;
+-		public float z;
+-		[Version (since = "1.12")]
+-		public static Clutter.Vertex? alloc ();
+-		[Version (since = "1.0")]
+-		public Clutter.Vertex? copy ();
+-		[Version (since = "1.0")]
+-		public bool equal (Clutter.Vertex vertex_b);
+-		[Version (since = "1.0")]
+-		public void free ();
+-		[Version (since = "1.10")]
+-		public unowned Clutter.Vertex? init (float x, float y, float z);
+-	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_ACTOR_ALIGN_", type_id = "clutter_actor_align_get_type ()")]
+ 	[Version (since = "1.10")]
+ 	public enum ActorAlign {
+@@ -8340,6 +7931,27 @@ namespace Clutter {
+ 		Y_AXIS,
+ 		BOTH
+ 	}
++	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_DEBUG_", type_id = "clutter_debug_flag_get_type ()")]
++	[Flags]
++	public enum DebugFlag {
++		MISC,
++		ACTOR,
++		TEXTURE,
++		EVENT,
++		PAINT,
++		PANGO,
++		BACKEND,
++		SCHEDULER,
++		SCRIPT,
++		SHADER,
++		MULTISTAGE,
++		ANIMATION,
++		LAYOUT,
++		PICK,
++		EVENTLOOP,
++		CLIPPING,
++		OOB_TRANSFORMS
++	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_DRAG_", type_id = "clutter_drag_axis_get_type ()")]
+ 	[Version (since = "1.4")]
+ 	public enum DragAxis {
+@@ -8347,6 +7959,19 @@ namespace Clutter {
+ 		X_AXIS,
+ 		Y_AXIS
+ 	}
++	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_DEBUG_", type_id = "clutter_draw_debug_flag_get_type ()")]
++	[Flags]
++	public enum DrawDebugFlag {
++		DISABLE_SWAP_EVENTS,
++		DISABLE_CLIPPED_REDRAWS,
++		REDRAWS,
++		PAINT_VOLUMES,
++		DISABLE_CULLING,
++		DISABLE_OFFSCREEN_REDIRECT,
++		CONTINUOUS_REDRAW,
++		PAINT_DEFORM_TILES,
++		PAINT_DAMAGE_REGION
++	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_EFFECT_PAINT_ACTOR_", type_id = "clutter_effect_paint_flags_get_type ()")]
+ 	[Flags]
+ 	public enum EffectPaintFlags {
+@@ -8398,8 +8023,6 @@ namespace Clutter {
+ 	public enum FeatureFlags {
+ 		TEXTURE_NPOT,
+ 		SWAP_THROTTLE,
+-		TEXTURE_YUV,
+-		TEXTURE_READ_PIXELS,
+ 		STAGE_STATIC,
+ 		STAGE_CURSOR,
+ 		SHADERS_GLSL,
+@@ -8657,6 +8280,11 @@ namespace Clutter {
+ 		REL_LINE_TO,
+ 		REL_CURVE_TO
+ 	}
++	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_DEBUG_NOP_", type_id = "clutter_pick_debug_flag_get_type ()")]
++	[Flags]
++	public enum PickDebugFlag {
++		PICKING
++	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_PICK_", type_id = "clutter_pick_mode_get_type ()")]
+ 	[Version (since = "1.0")]
+ 	public enum PickMode {
+@@ -8851,13 +8479,6 @@ namespace Clutter {
+ 		LEFT,
+ 		RIGHT
+ 	}
+-	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_TABLE_ALIGNMENT_", type_id = "clutter_table_alignment_get_type ()")]
+-	[Version (deprecated = true, deprecated_since = "1.22", since = "1.4")]
+-	public enum TableAlignment {
+-		START,
+-		CENTER,
+-		END
+-	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_TEXT_DIRECTION_", type_id = "clutter_text_direction_get_type ()")]
+ 	[Version (since = "1.2")]
+ 	public enum TextDirection {
+@@ -8933,28 +8554,19 @@ namespace Clutter {
+ 		VALUE;
+ 		public static GLib.Quark quark ();
+ 	}
+-	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_TEXTURE_ERROR_")]
+-	[Version (since = "0.4")]
+-	public errordomain TextureError {
+-		OUT_OF_MEMORY,
+-		NO_YUV,
+-		BAD_FORMAT;
+-		public static GLib.Quark quark ();
+-	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", instance_pos = 1.9)]
+ 	[Version (since = "1.24")]
+ 	public delegate Clutter.Actor ActorCreateChildFunc (GLib.Object item);
+ 	[CCode (cheader_filename = "clutter/clutter.h", instance_pos = 1.9)]
+ 	[Version (deprecated = true, deprecated_since = "1.12", since = "0.2")]
+ 	public delegate double AlphaFunc (Clutter.Alpha alpha);
+-	[CCode (cheader_filename = "clutter/clutter.h", instance_pos = 2.9)]
+-	[Version (deprecated = true, deprecated_since = "1.6", since = "0.2")]
+-	public delegate void BehaviourForeachFunc (Clutter.Behaviour behaviour, Clutter.Actor actor);
+ 	[CCode (cheader_filename = "clutter/clutter.h", instance_pos = 4.9)]
+ 	[Version (since = "1.0")]
+ 	public delegate bool BindingActionFunc (GLib.Object gobject, string action_name, uint key_val, Clutter.ModifierType modifiers);
+ 	[CCode (cheader_filename = "clutter/clutter.h", instance_pos = 1.9)]
+ 	public delegate void Callback (Clutter.Actor actor);
++	[CCode (cheader_filename = "clutter/clutter.h", has_target = false)]
++	public delegate void EmitInputDeviceEvent (Clutter.Event event, Clutter.InputDevice device);
+ 	[CCode (cheader_filename = "clutter/clutter.h", instance_pos = 1.9)]
+ 	[Version (since = "1.18")]
+ 	public delegate bool EventFilterFunc (Clutter.Event event);
+@@ -8985,9 +8597,6 @@ namespace Clutter {
+ 	[Version (since = "0.8")]
+ 	public const int PRIORITY_REDRAW;
+ 	[CCode (cheader_filename = "clutter/clutter.h")]
+-	[Version (since = "1.12")]
+-	public static Clutter.ActorBox? actor_box_alloc ();
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+ 	public static void base_init ();
+ 	[CCode (cheader_filename = "clutter/clutter.h")]
+ 	[Version (since = "1.12")]
+@@ -9051,9 +8660,6 @@ namespace Clutter {
+ 	[Version (since = "1.0")]
+ 	public static unowned Pango.FontMap get_font_map ();
+ 	[CCode (cheader_filename = "clutter/clutter.h")]
+-	[Version (since = "0.6")]
+-	public static unowned Clutter.Actor get_keyboard_grab ();
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+ 	[Version (since = "0.2")]
+ 	public static GLib.OptionGroup get_option_group ();
+ 	[CCode (cheader_filename = "clutter/clutter.h")]
+@@ -9061,17 +8667,8 @@ namespace Clutter {
+ 	public static GLib.OptionGroup get_option_group_without_init ();
+ 	[CCode (cheader_filename = "clutter/clutter.h")]
+ 	[Version (since = "0.6")]
+-	public static unowned Clutter.Actor get_pointer_grab ();
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+-	[Version (since = "0.6")]
+ 	public static unowned string get_script_id (GLib.Object gobject);
+ 	[CCode (cheader_filename = "clutter/clutter.h")]
+-	[Version (since = "0.6")]
+-	public static void grab_keyboard (Clutter.Actor actor);
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+-	[Version (since = "0.6")]
+-	public static void grab_pointer (Clutter.Actor actor);
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+ 	public static Clutter.InitError init ([CCode (array_length_cname = "argc", array_length_pos = 0.5)] ref unowned string[]? argv);
+ 	[CCode (cheader_filename = "clutter/clutter.h")]
+ 	[Version (since = "0.2")]
+@@ -9087,29 +8684,6 @@ namespace Clutter {
+ 	[CCode (cheader_filename = "clutter/clutter.h")]
+ 	public static void set_custom_backend_func (void* func);
+ 	[CCode (cheader_filename = "clutter/clutter.h")]
+-	[Version (since = "1.18")]
+-	public static void test_add_data_full (string test_path, owned GLib.TestDataFunc test_func);
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+-	[Version (since = "1.18")]
+-	public static bool test_check_actor_at_point (Clutter.Actor stage, Clutter.Point point, Clutter.Actor actor, out Clutter.Actor? result);
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+-	[Version (since = "1.18")]
+-	public static bool test_check_color_at_point (Clutter.Actor stage, Clutter.Point point, Clutter.Color color, out Clutter.Color result);
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+-	[Version (since = "1.18")]
+-	public static unowned Clutter.Actor test_get_stage ();
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+-	public static void test_init (int argc, string argv);
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+-	[Version (since = "1.18")]
+-	public static int test_run ();
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+-	[Version (since = "0.6")]
+-	public static void ungrab_keyboard ();
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+-	[Version (since = "0.6")]
+-	public static void ungrab_pointer ();
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+ 	[Version (since = "1.10")]
+ 	public static uint unicode_to_keysym (uint32 wc);
+ }
+diff --git vapi/mutter-clutter-4.deps vapi/mutter-clutter-7.deps
+similarity index 54%
+rename from vapi/mutter-clutter-4.deps
+rename to vapi/mutter-clutter-7.deps
+index 95094026..6bd1ccf7 100644
+--- vapi/mutter-clutter-4.deps
++++ vapi/mutter-clutter-7.deps
+@@ -1,5 +1,4 @@
+ atk
+ cairo
+ json-glib-1.0
+-mutter-cogl-4
+-pango
++mutter-cogl-7
+diff --git vapi/mutter-clutter-4.vapi vapi/mutter-clutter-7.vapi
+similarity index 86%
+rename from vapi/mutter-clutter-4.vapi
+rename to vapi/mutter-clutter-7.vapi
+index c8a1d23b..aea6a31a 100644
+--- vapi/mutter-clutter-4.vapi
++++ vapi/mutter-clutter-7.vapi
+@@ -1,6 +1,6 @@
+-/* mutter-clutter-4.vapi generated by vapigen, do not modify. */
++/* mutter-clutter-7.vapi generated by vapigen, do not modify. */
+ 
+-[CCode (cprefix = "Clutter", gir_namespace = "Clutter", gir_version = "4", lower_case_cprefix = "clutter_")]
++[CCode (cprefix = "Clutter", gir_namespace = "Clutter", gir_version = "7", lower_case_cprefix = "clutter_")]
+ namespace Clutter {
+ 	namespace Key {
+ 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_0")]
+@@ -4576,20 +4576,8 @@ namespace Clutter {
+ 		[Version (since = "1.10")]
+ 		public static uint add_repaint_func_full (Clutter.RepaintFlags flags, owned GLib.SourceFunc func);
+ 		[CCode (cheader_filename = "clutter/clutter.h")]
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "0.4")]
+-		public static void enter ();
+-		[CCode (cheader_filename = "clutter/clutter.h")]
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "0.4")]
+-		public static void init ();
+-		[CCode (cheader_filename = "clutter/clutter.h")]
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "0.4")]
+-		public static void leave ();
+-		[CCode (cheader_filename = "clutter/clutter.h")]
+ 		[Version (since = "1.0")]
+ 		public static void remove_repaint_func (uint handle_id);
+-		[CCode (cheader_filename = "clutter/clutter.h")]
+-		[Version (since = "0.4")]
+-		public static void set_lock_functions (GLib.Callback enter_fn, GLib.Callback leave_fn);
+ 	}
+ 	namespace Value {
+ 		[CCode (cheader_filename = "clutter/clutter.h")]
+@@ -4636,7 +4624,6 @@ namespace Clutter {
+ 		public static void take_paint_node (GLib.Value value, Clutter.PaintNode? node);
+ 	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_action_get_type ()")]
+-	[Version (since = "1.4")]
+ 	public abstract class Action : Clutter.ActorMeta {
+ 		[CCode (has_construct_function = false)]
+ 		protected Action ();
+@@ -4664,33 +4651,23 @@ namespace Clutter {
+ 		[Version (since = "1.10")]
+ 		public void add_transition (string name, Clutter.Transition transition);
+ 		[Version (since = "0.8")]
+-		public virtual void allocate (Clutter.ActorBox box, Clutter.AllocationFlags flags);
++		public virtual void allocate (Clutter.ActorBox box);
+ 		[Version (since = "1.4")]
+-		public void allocate_align_fill (Clutter.ActorBox box, double x_align, double y_align, bool x_fill, bool y_fill, Clutter.AllocationFlags flags);
++		public void allocate_align_fill (Clutter.ActorBox box, double x_align, double y_align, bool x_fill, bool y_fill);
+ 		[Version (since = "1.0")]
+-		public void allocate_available_size (float x, float y, float available_width, float available_height, Clutter.AllocationFlags flags);
++		public void allocate_available_size (float x, float y, float available_width, float available_height);
+ 		[Version (since = "0.8")]
+-		public void allocate_preferred_size (Clutter.AllocationFlags flags);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public unowned Clutter.Animation animate (ulong mode, uint duration, ...);
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "1.0")]
+-		public unowned Clutter.Animation animate_with_alpha (Clutter.Alpha alpha, ...);
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "1.0")]
+-		public unowned Clutter.Animation animate_with_alphav (Clutter.Alpha alpha, [CCode (array_length_cname = "n_properties", array_length_pos = 1.5)] string[] properties, [CCode (array_length_cname = "n_properties", array_length_pos = 1.5)] GLib.Value[] values);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public unowned Clutter.Animation animate_with_timeline (ulong mode, Clutter.Timeline timeline, ...);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public unowned Clutter.Animation animate_with_timelinev (ulong mode, Clutter.Timeline timeline, [CCode (array_length_cname = "n_properties", array_length_pos = 2.5)] string[] properties, [CCode (array_length_cname = "n_properties", array_length_pos = 2.5)] GLib.Value[] values);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public unowned Clutter.Animation animatev (ulong mode, uint duration, [CCode (array_length_cname = "n_properties", array_length_pos = 2.5)] string[] properties, [CCode (array_length_cname = "n_properties", array_length_pos = 2.5)] GLib.Value[] values);
++		public void allocate_preferred_size (float x, float y);
+ 		[Version (since = "0.6")]
+-		public Clutter.Vertex apply_relative_transform_to_point (Clutter.Actor? ancestor, Clutter.Vertex point);
++		public void apply_relative_transform_to_point (Clutter.Actor? ancestor, Graphene.Point3D point, out unowned Graphene.Point3D vertex);
+ 		[NoWrapper]
+ 		public virtual void apply_transform (ref Clutter.Matrix matrix);
+ 		[Version (since = "0.4")]
+-		public Clutter.Vertex apply_transform_to_point (Clutter.Vertex point);
++		public void apply_transform_to_point (Graphene.Point3D point, out unowned Graphene.Point3D vertex);
+ 		[Version (since = "1.24")]
+ 		public void bind_model (GLib.ListModel? model, owned Clutter.ActorCreateChildFunc create_child_func);
++		[NoWrapper]
++		public virtual float calculate_resource_scale (int phase);
+ 		[Version (since = "1.4")]
+ 		public void clear_actions ();
+ 		[Version (since = "1.4")]
+@@ -4700,20 +4677,19 @@ namespace Clutter {
+ 		[Version (since = "1.4")]
+ 		public bool contains (Clutter.Actor descendant);
+ 		[Version (since = "1.8")]
+-		public void continue_paint ();
++		public void continue_paint (Clutter.PaintContext paint_context);
++		public void continue_pick (Clutter.PickContext pick_context);
+ 		[Version (since = "1.0")]
+ 		public Pango.Context create_pango_context ();
+ 		[Version (since = "1.0")]
+ 		public Pango.Layout create_pango_layout (string? text);
+ 		[Version (since = "1.10")]
+ 		public void destroy_all_children ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public void detach_animation ();
+ 		[CCode (cname = "clutter_actor_event")]
+ 		[Version (since = "0.6")]
+ 		public bool emit_event (Clutter.Event event, bool capture);
+ 		[Version (since = "0.4")]
+-		public void get_abs_allocation_vertices ([CCode (array_length = false)] Clutter.Vertex verts[4]);
++		public void get_abs_allocation_vertices ([CCode (array_length = false)] Graphene.Point3D verts[4]);
+ 		public virtual unowned Atk.Object get_accessible ();
+ 		[Version (since = "1.4")]
+ 		public unowned Clutter.Action get_action (string name);
+@@ -4721,21 +4697,8 @@ namespace Clutter {
+ 		public GLib.List<weak Clutter.Action> get_actions ();
+ 		[Version (since = "0.8")]
+ 		public Clutter.ActorBox get_allocation_box ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "0.8")]
+-		public Clutter.Geometry get_allocation_geometry ();
+-		[Version (since = "0.6")]
+-		public void get_allocation_vertices (Clutter.Actor? ancestor, [CCode (array_length = false)] Clutter.Vertex verts[4]);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "0.6")]
+-		public void get_anchor_point (out float anchor_x, out float anchor_y);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public Clutter.Gravity get_anchor_point_gravity ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public unowned Clutter.Animation get_animation ();
+ 		[Version (since = "1.10")]
+ 		public Clutter.Color get_background_color ();
+-		[CCode (cname = "clutter_get_actor_by_gid")]
+-		[Version (deprecated = true, deprecated_since = "1.8", since = "0.6")]
+-		public static unowned Clutter.Actor get_by_gid (uint32 id_);
+ 		[Version (since = "1.10")]
+ 		public unowned Clutter.Actor get_child_at_index (int index_);
+ 		[Version (since = "1.12")]
+@@ -4762,8 +4725,6 @@ namespace Clutter {
+ 		public void get_content_scaling_filters (out Clutter.ScalingFilter min_filter, out Clutter.ScalingFilter mag_filter);
+ 		[Version (since = "1.10")]
+ 		public unowned Clutter.PaintVolume get_default_paint_volume ();
+-		[Version (deprecated = true, deprecated_since = "1.12")]
+-		public float get_depth ();
+ 		[Version (since = "1.10")]
+ 		public uint get_easing_delay ();
+ 		[Version (since = "1.10")]
+@@ -4776,12 +4737,11 @@ namespace Clutter {
+ 		public GLib.List<weak Clutter.Effect> get_effects ();
+ 		[Version (since = "1.10")]
+ 		public unowned Clutter.Actor get_first_child ();
++		public bool get_fixed_position (out float x, out float y);
+ 		[Version (since = "0.8")]
+ 		public bool get_fixed_position_set ();
+ 		[Version (since = "1.0")]
+ 		public Clutter.ActorFlags get_flags ();
+-		[Version (deprecated = true, deprecated_since = "1.8", since = "0.6")]
+-		public uint32 get_gid ();
+ 		[CCode (cname = "clutter_actor_has_pointer")]
+ 		[Version (since = "1.2")]
+ 		public bool get_has_pointer ();
+@@ -4839,17 +4799,11 @@ namespace Clutter {
+ 		public bool get_reactive ();
+ 		[Version (since = "1.2")]
+ 		public Clutter.RequestMode get_request_mode ();
+-		public bool get_resource_scale (out float resource_scale);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "0.8")]
+-		public double get_rotation (Clutter.RotateAxis axis, out float x, out float y, out float z);
++		public float get_resource_scale ();
+ 		[Version (since = "1.12")]
+ 		public double get_rotation_angle (Clutter.RotateAxis axis);
+ 		[Version (since = "0.2")]
+ 		public void get_scale (out double scale_x, out double scale_y);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public void get_scale_center (out float center_x, out float center_y);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public Clutter.Gravity get_scale_gravity ();
+ 		[Version (since = "1.12")]
+ 		public double get_scale_z ();
+ 		[Version (since = "0.2")]
+@@ -4860,8 +4814,7 @@ namespace Clutter {
+ 		public Clutter.TextDirection get_text_direction ();
+ 		[Version (since = "1.12")]
+ 		public Clutter.Matrix get_transform ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public Clutter.Matrix get_transformation_matrix ();
++		public void get_transformed_extents (out unowned Graphene.Rect rect);
+ 		[Version (since = "1.6")]
+ 		public unowned Clutter.PaintVolume get_transformed_paint_volume (Clutter.Actor relative_to_ancestor);
+ 		[Version (since = "0.8")]
+@@ -4885,10 +4838,9 @@ namespace Clutter {
+ 		public bool get_y_expand ();
+ 		[Version (since = "1.12")]
+ 		public float get_z_position ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public Clutter.Gravity get_z_rotation_gravity ();
+ 		[Version (since = "1.0")]
+ 		public void grab_key_focus ();
++		public virtual bool has_accessible ();
+ 		[Version (since = "1.10")]
+ 		public bool has_actions ();
+ 		[Version (since = "1.4")]
+@@ -4900,18 +4852,20 @@ namespace Clutter {
+ 		public bool has_effects ();
+ 		[Version (since = "1.4")]
+ 		public bool has_key_focus ();
+-		[Version (since = "1.16")]
+ 		public bool has_mapped_clones ();
+ 		[Version (since = "1.8")]
+ 		public virtual bool has_overlaps ();
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "0.2")]
++		[NoWrapper]
+ 		public virtual void hide_all ();
++		public void inhibit_culling ();
+ 		[Version (since = "1.10")]
+ 		public void insert_child_above (Clutter.Actor child, Clutter.Actor? sibling);
+ 		[Version (since = "1.10")]
+ 		public void insert_child_at_index (Clutter.Actor child, int index_);
+ 		[Version (since = "1.10")]
+ 		public void insert_child_below (Clutter.Actor child, Clutter.Actor? sibling);
++		public void invalidate_transform ();
++		public bool is_effectively_on_stage_view (Clutter.StageView view);
+ 		[Version (since = "1.0")]
+ 		public bool is_in_clone_paint ();
+ 		[Version (since = "1.24")]
+@@ -4924,33 +4878,20 @@ namespace Clutter {
+ 		public bool is_scaled ();
+ 		[Version (since = "1.24")]
+ 		public bool is_visible ();
+-		[Version (deprecated = true, deprecated_since = "1.10")]
+-		public void lower (Clutter.Actor? above);
+-		[Version (deprecated = true, deprecated_since = "1.10")]
+-		public void lower_bottom ();
+ 		[Version (since = "1.0")]
+ 		public virtual void map ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "0.6")]
+-		public void move_anchor_point (float anchor_x, float anchor_y);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "0.6")]
+-		public void move_anchor_point_from_gravity (Clutter.Gravity gravity);
+ 		[Version (since = "0.2")]
+ 		public void move_by (float dx, float dy);
+ 		[Version (since = "1.12")]
+ 		public bool needs_expand (Clutter.Orientation orientation);
+ 		[NoWrapper]
+ 		public virtual void paint_node (Clutter.PaintNode root);
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "1.2")]
+-		public void pop_internal ();
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "1.2")]
+-		public void push_internal ();
++		public unowned GLib.List<Clutter.StageView> peek_stage_views ();
++		public void pick_box (Clutter.PickContext pick_context, Clutter.ActorBox box);
++		public unowned Clutter.FrameClock pick_frame_clock ();
+ 		public void queue_redraw ();
+ 		[Version (since = "1.10")]
+ 		public void queue_redraw_with_clip (Cairo.RectangleInt? clip);
+-		[Version (deprecated = true, deprecated_since = "1.10")]
+-		public void raise (Clutter.Actor? below);
+-		[Version (deprecated = true, deprecated_since = "1.10")]
+-		public void raise_top ();
+ 		[Version (since = "1.4")]
+ 		public void remove_action (Clutter.Action action);
+ 		[Version (since = "1.4")]
+@@ -4972,8 +4913,6 @@ namespace Clutter {
+ 		public void remove_effect_by_name (string name);
+ 		[Version (since = "1.10")]
+ 		public void remove_transition (string name);
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "0.2")]
+-		public void reparent (Clutter.Actor new_parent);
+ 		[Version (since = "1.10")]
+ 		public void replace_child (Clutter.Actor old_child, Clutter.Actor new_child);
+ 		[Version (since = "1.10")]
+@@ -4981,11 +4920,7 @@ namespace Clutter {
+ 		[Version (since = "1.10")]
+ 		public void save_easing_state ();
+ 		[Version (since = "1.10")]
+-		public void set_allocation (Clutter.ActorBox box, Clutter.AllocationFlags flags);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "0.6")]
+-		public void set_anchor_point (float anchor_x, float anchor_y);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "0.6")]
+-		public void set_anchor_point_from_gravity (Clutter.Gravity gravity);
++		public void set_allocation (Clutter.ActorBox box);
+ 		[Version (since = "1.10")]
+ 		public void set_background_color (Clutter.Color? color);
+ 		[Version (since = "1.10")]
+@@ -5008,8 +4943,6 @@ namespace Clutter {
+ 		public void set_content_repeat (Clutter.ContentRepeat repeat);
+ 		[Version (since = "1.10")]
+ 		public void set_content_scaling_filters (Clutter.ScalingFilter min_filter, Clutter.ScalingFilter mag_filter);
+-		[Version (deprecated = true, deprecated_since = "1.12")]
+-		public void set_depth (float depth);
+ 		[Version (since = "1.10")]
+ 		public void set_easing_delay (uint msecs);
+ 		[Version (since = "1.10")]
+@@ -5039,8 +4972,6 @@ namespace Clutter {
+ 		public void set_offscreen_redirect (Clutter.OffscreenRedirect redirect);
+ 		public void set_opacity (uint8 opacity);
+ 		public void set_opacity_override (int opacity);
+-		[Version (deprecated = true, deprecated_since = "1.10")]
+-		public void set_parent (Clutter.Actor parent);
+ 		[Version (since = "1.12")]
+ 		public void set_pivot_point (float pivot_x, float pivot_y);
+ 		[Version (since = "1.12")]
+@@ -5050,16 +4981,10 @@ namespace Clutter {
+ 		public void set_reactive (bool reactive);
+ 		[Version (since = "1.2")]
+ 		public void set_request_mode (Clutter.RequestMode mode);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "0.8")]
+-		public void set_rotation (Clutter.RotateAxis axis, double angle, float x, float y, float z);
+ 		[Version (since = "1.12")]
+ 		public void set_rotation_angle (Clutter.RotateAxis axis, double angle);
+ 		[Version (since = "0.2")]
+ 		public void set_scale (double scale_x, double scale_y);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public void set_scale_full (double scale_x, double scale_y, float center_x, float center_y);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public void set_scale_with_gravity (double scale_x, double scale_y, Clutter.Gravity gravity);
+ 		[Version (since = "1.12")]
+ 		public void set_scale_z (double scale_z);
+ 		public void set_size (float width, float height);
+@@ -5085,17 +5010,12 @@ namespace Clutter {
+ 		public void set_y_expand (bool expand);
+ 		[Version (since = "1.12")]
+ 		public void set_z_position (float z_position);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public void set_z_rotation_from_gravity (double angle, Clutter.Gravity gravity);
+ 		public bool should_pick_paint ();
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "0.2")]
+-		public virtual void show_all ();
+ 		[Version (since = "0.6")]
+ 		public bool transform_stage_point (float x, float y, out float x_out, out float y_out);
++		public void uninhibit_culling ();
+ 		[Version (since = "1.0")]
+ 		public virtual void unmap ();
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "0.2")]
+-		public void unparent ();
+ 		[Version (since = "1.0")]
+ 		public void unset_flags (Clutter.ActorFlags flags);
+ 		[NoAccessorMethod]
+@@ -5103,16 +5023,7 @@ namespace Clutter {
+ 		public Clutter.Action actions { set; }
+ 		[NoAccessorMethod]
+ 		[Version (since = "0.8")]
+-		public Clutter.ActorBox allocation { get; }
+-		[NoAccessorMethod]
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public Clutter.Gravity anchor_gravity { get; set; }
+-		[NoAccessorMethod]
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "0.8")]
+-		public float anchor_x { get; set; }
+-		[NoAccessorMethod]
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "0.8")]
+-		public float anchor_y { get; set; }
++		public Clutter.ActorBox allocation { owned get; }
+ 		[Version (since = "1.10")]
+ 		public Clutter.Color background_color { get; set; }
+ 		[NoAccessorMethod]
+@@ -5122,11 +5033,8 @@ namespace Clutter {
+ 		[Version (since = "1.12")]
+ 		public bool child_transform_set { get; }
+ 		[NoAccessorMethod]
+-		[Version (deprecated = true, deprecated_since = "1.12")]
+-		public Clutter.Geometry clip { get; set; }
+-		[NoAccessorMethod]
+ 		[Version (since = "1.12")]
+-		public Clutter.Rect clip_rect { owned get; set; }
++		public Graphene.Rect clip_rect { owned get; set; }
+ 		[Version (since = "1.0")]
+ 		public bool clip_to_allocation { get; set; }
+ 		[NoAccessorMethod]
+@@ -5140,8 +5048,6 @@ namespace Clutter {
+ 		public Clutter.ContentGravity content_gravity { get; set; }
+ 		[Version (since = "1.12")]
+ 		public Clutter.ContentRepeat content_repeat { get; set; }
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "0.6")]
+-		public float depth { get; set; }
+ 		[NoAccessorMethod]
+ 		[Version (since = "1.4")]
+ 		public Clutter.Effect effect { set; }
+@@ -5211,12 +5117,12 @@ namespace Clutter {
+ 		public uint opacity { get; set; }
+ 		[NoAccessorMethod]
+ 		[Version (since = "1.12")]
+-		public Clutter.Point pivot_point { owned get; set; }
++		public Graphene.Point pivot_point { owned get; set; }
+ 		[Version (since = "1.12")]
+ 		public float pivot_point_z { get; set; }
+ 		[NoAccessorMethod]
+ 		[Version (since = "1.12")]
+-		public Clutter.Point position { owned get; set; }
++		public Graphene.Point position { owned get; set; }
+ 		[Version (since = "0.6")]
+ 		public bool reactive { get; set; }
+ 		[NoAccessorMethod]
+@@ -5225,8 +5131,6 @@ namespace Clutter {
+ 		[Version (since = "0.8")]
+ 		public Clutter.RequestMode request_mode { get; set; }
+ 		[NoAccessorMethod]
+-		public float resource_scale { get; }
+-		[NoAccessorMethod]
+ 		[Version (since = "0.6")]
+ 		public double rotation_angle_x { get; set; }
+ 		[NoAccessorMethod]
+@@ -5236,27 +5140,6 @@ namespace Clutter {
+ 		[Version (since = "0.6")]
+ 		public double rotation_angle_z { get; set; }
+ 		[NoAccessorMethod]
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "0.6")]
+-		public Clutter.Vertex rotation_center_x { get; set; }
+-		[NoAccessorMethod]
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "0.6")]
+-		public Clutter.Vertex rotation_center_y { get; set; }
+-		[NoAccessorMethod]
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "0.6")]
+-		public Clutter.Vertex rotation_center_z { get; set; }
+-		[NoAccessorMethod]
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public Clutter.Gravity rotation_center_z_gravity { get; set; }
+-		[NoAccessorMethod]
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public float scale_center_x { get; set; }
+-		[NoAccessorMethod]
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public float scale_center_y { get; set; }
+-		[NoAccessorMethod]
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public Clutter.Gravity scale_gravity { get; set; }
+-		[NoAccessorMethod]
+ 		[Version (since = "0.6")]
+ 		public double scale_x { get; set; }
+ 		[NoAccessorMethod]
+@@ -5269,7 +5152,7 @@ namespace Clutter {
+ 		public bool show_on_set_parent { get; set; }
+ 		[NoAccessorMethod]
+ 		[Version (since = "1.12")]
+-		public Clutter.Size size { owned get; set; }
++		public Graphene.Size size { owned get; set; }
+ 		[Version (since = "1.0")]
+ 		public Clutter.TextDirection text_direction { get; set; }
+ 		[NoAccessorMethod]
+@@ -5299,8 +5182,6 @@ namespace Clutter {
+ 		public bool y_expand { get; set; }
+ 		[Version (since = "1.12")]
+ 		public float z_position { get; set; }
+-		[Version (since = "1.0")]
+-		public signal void allocation_changed (Clutter.ActorBox box, Clutter.AllocationFlags flags);
+ 		[Version (since = "0.6")]
+ 		public virtual signal bool button_press_event (Clutter.ButtonEvent event);
+ 		[Version (since = "0.6")]
+@@ -5331,22 +5212,25 @@ namespace Clutter {
+ 		public virtual signal bool motion_event (Clutter.MotionEvent event);
+ 		[HasEmitter]
+ 		[Version (deprecated = true, deprecated_since = "1.12", since = "0.8")]
+-		public virtual signal void paint ();
++		public virtual signal void paint (Clutter.PaintContext paint_context);
+ 		[Version (since = "0.2")]
+ 		public virtual signal void parent_set (Clutter.Actor? old_parent);
++		[HasEmitter]
+ 		[Version (since = "1.0")]
+-		public virtual signal void pick (Clutter.Color color);
++		public virtual signal void pick (Clutter.PickContext pick_context);
+ 		[HasEmitter]
+ 		[Version (since = "1.2")]
+ 		public virtual signal void queue_relayout ();
+ 		[HasEmitter]
+ 		[Version (deprecated = true, deprecated_since = "1.16", since = "0.8")]
+ 		public virtual signal void realize ();
++		public virtual signal void resource_scale_changed ();
+ 		[Version (since = "0.6")]
+ 		public virtual signal bool scroll_event (Clutter.ScrollEvent event);
+ 		[HasEmitter]
+ 		[Version (since = "0.2")]
+ 		public virtual signal void show ();
++		public signal void stage_views_changed ();
+ 		[Version (since = "1.12")]
+ 		public virtual signal bool touch_event (Clutter.Event event);
+ 		[Version (since = "1.12")]
+@@ -5358,21 +5242,33 @@ namespace Clutter {
+ 		public virtual signal void unrealize ();
+ 	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_actor_meta_get_type ()")]
+-	[Version (since = "1.4")]
+ 	public abstract class ActorMeta : GLib.InitiallyUnowned {
+ 		[CCode (has_construct_function = false)]
+ 		protected ActorMeta ();
++		[Version (since = "1.4")]
+ 		public unowned Clutter.Actor get_actor ();
++		[Version (since = "1.4")]
+ 		public bool get_enabled ();
++		[Version (since = "1.4")]
+ 		public unowned string get_name ();
+ 		[NoWrapper]
+ 		public virtual void set_actor (Clutter.Actor? actor);
+-		public void set_enabled (bool is_enabled);
++		[Version (since = "1.4")]
++		public virtual void set_enabled (bool is_enabled);
++		[Version (since = "1.4")]
+ 		public void set_name (string name);
++		[Version (since = "1.4")]
+ 		public Clutter.Actor actor { get; }
++		[Version (since = "1.4")]
+ 		public bool enabled { get; set; }
++		[Version (since = "1.4")]
+ 		public string name { get; set; }
+ 	}
++	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_actor_node_get_type ()")]
++	public class ActorNode : Clutter.PaintNode {
++		[CCode (has_construct_function = false, type = "ClutterPaintNode*")]
++		public ActorNode (Clutter.Actor actor);
++	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_align_constraint_get_type ()")]
+ 	[Version (since = "1.4")]
+ 	public class AlignConstraint : Clutter.Constraint {
+@@ -5380,81 +5276,18 @@ namespace Clutter {
+ 		public AlignConstraint (Clutter.Actor? source, Clutter.AlignAxis axis, float factor);
+ 		public Clutter.AlignAxis get_align_axis ();
+ 		public float get_factor ();
++		public void get_pivot_point (out unowned Graphene.Point pivot_point);
+ 		public unowned Clutter.Actor get_source ();
+ 		public void set_align_axis (Clutter.AlignAxis axis);
+ 		public void set_factor (float factor);
++		public void set_pivot_point (Graphene.Point pivot_point);
+ 		public void set_source (Clutter.Actor? source);
+ 		public Clutter.AlignAxis align_axis { get; set construct; }
+ 		public float factor { get; set construct; }
++		[NoAccessorMethod]
++		public Graphene.Point pivot_point { owned get; set; }
+ 		public Clutter.Actor source { get; set construct; }
+ 	}
+-	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_alpha_get_type ()")]
+-	[Version (deprecated = true, deprecated_since = "1.12", since = "0.2")]
+-	public class Alpha : GLib.InitiallyUnowned, Clutter.Scriptable {
+-		[CCode (has_construct_function = false)]
+-		public Alpha ();
+-		[CCode (has_construct_function = false)]
+-		[Version (since = "1.0")]
+-		public Alpha.full (Clutter.Timeline timeline, ulong mode);
+-		public double get_alpha ();
+-		[Version (since = "1.0")]
+-		public ulong get_mode ();
+-		public unowned Clutter.Timeline get_timeline ();
+-		[Version (since = "1.0")]
+-		public static ulong register_closure (GLib.Closure closure);
+-		[Version (since = "1.0")]
+-		public static ulong register_func (Clutter.AlphaFunc func);
+-		[Version (since = "0.8")]
+-		public void set_closure (GLib.Closure closure);
+-		public void set_func (owned Clutter.AlphaFunc func);
+-		[Version (since = "1.0")]
+-		public void set_mode (ulong mode);
+-		public void set_timeline (Clutter.Timeline timeline);
+-		[CCode (has_construct_function = false)]
+-		[Version (since = "1.0")]
+-		public Alpha.with_func (Clutter.Timeline timeline, owned Clutter.AlphaFunc func);
+-		public double alpha { get; }
+-		[Version (since = "1.0")]
+-		public ulong mode { get; set construct; }
+-		public Clutter.Timeline timeline { get; set; }
+-	}
+-	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_animation_get_type ()")]
+-	[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-	public class Animation : GLib.Object, Clutter.Scriptable {
+-		[CCode (has_construct_function = false)]
+-		public Animation ();
+-		public unowned Clutter.Animation bind (string property_name, GLib.Value final);
+-		public unowned Clutter.Animation bind_interval (string property_name, owned Clutter.Interval interval);
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "1.0")]
+-		public unowned Clutter.Alpha get_alpha ();
+-		public uint get_duration ();
+-		public unowned Clutter.Interval get_interval (string property_name);
+-		public bool get_loop ();
+-		public ulong get_mode ();
+-		public unowned GLib.Object get_object ();
+-		public unowned Clutter.Timeline get_timeline ();
+-		public bool has_property (string property_name);
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "1.0")]
+-		public void set_alpha (Clutter.Alpha alpha);
+-		public void set_duration (uint msecs);
+-		public void set_loop (bool loop);
+-		public void set_mode (ulong mode);
+-		public void set_object (GLib.Object object);
+-		public void set_timeline (Clutter.Timeline? timeline);
+-		public void unbind_property (string property_name);
+-		public unowned Clutter.Animation update (string property_name, GLib.Value final);
+-		public void update_interval (string property_name, Clutter.Interval interval);
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "1.0")]
+-		public Clutter.Alpha alpha { get; set; }
+-		public uint duration { get; set; }
+-		public bool loop { get; set; }
+-		public ulong mode { get; set; }
+-		public GLib.Object object { get; set; }
+-		public Clutter.Timeline timeline { get; set; }
+-		[HasEmitter]
+-		public virtual signal void completed ();
+-		public virtual signal void started ();
+-	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+ 	[Compact]
+ 	[Version (since = "0.2")]
+@@ -5467,37 +5300,14 @@ namespace Clutter {
+ 	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_backend_get_type ()")]
+ 	[Version (since = "0.4")]
+-	public class Backend : GLib.Object {
++	public abstract class Backend : GLib.Object {
+ 		[CCode (has_construct_function = false)]
+ 		protected Backend ();
+-		[NoWrapper]
+-		public virtual void add_options (GLib.OptionGroup group);
+-		public void bell_notify ();
+-		[NoWrapper]
+-		public virtual bool create_context () throws GLib.Error;
+-		[NoWrapper]
+-		public virtual unowned Clutter.StageWindow create_stage (Clutter.Stage wrapper) throws GLib.Error;
+-		[NoWrapper]
+-		public virtual void ensure_context (Clutter.Stage stage);
+-		[NoWrapper]
+-		public virtual unowned Clutter.DeviceManager get_device_manager ();
+-		[NoWrapper]
+-		public virtual Clutter.FeatureFlags get_features ();
++		public unowned Clutter.Seat get_default_seat ();
+ 		[Version (since = "0.8")]
+ 		public unowned Cairo.FontOptions get_font_options ();
+ 		public unowned Clutter.InputMethod get_input_method ();
+-		public unowned Clutter.Keymap get_keymap ();
+ 		public double get_resolution ();
+-		[NoWrapper]
+-		public virtual void init_events ();
+-		[NoWrapper]
+-		public virtual void init_features ();
+-		[NoWrapper]
+-		public virtual bool post_parse () throws GLib.Error;
+-		[NoWrapper]
+-		public virtual bool pre_parse () throws GLib.Error;
+-		[NoWrapper]
+-		public virtual void redraw (Clutter.Stage stage);
+ 		[Version (since = "0.8")]
+ 		public void set_font_options (Cairo.FontOptions options);
+ 		public void set_input_method (Clutter.InputMethod method);
+@@ -5508,95 +5318,11 @@ namespace Clutter {
+ 		[Version (since = "1.4")]
+ 		public signal void settings_changed ();
+ 	}
+-	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_behaviour_get_type ()")]
+-	[Version (deprecated = true, deprecated_since = "1.6", since = "0.2")]
+-	public abstract class Behaviour : GLib.Object, Clutter.Scriptable {
+-		[CCode (has_construct_function = false)]
+-		protected Behaviour ();
+-		public void actors_foreach (Clutter.BehaviourForeachFunc func);
+-		[NoWrapper]
+-		public virtual void alpha_notify (double alpha_value);
+-		public void apply (Clutter.Actor actor);
+-		public GLib.SList<weak Clutter.Actor> get_actors ();
+-		public unowned Clutter.Alpha get_alpha ();
+-		public int get_n_actors ();
+-		public unowned Clutter.Actor get_nth_actor (int index_);
+-		[Version (since = "0.4")]
+-		public bool is_applied (Clutter.Actor actor);
+-		public void remove (Clutter.Actor actor);
+-		[Version (since = "0.4")]
+-		public void remove_all ();
+-		public void set_alpha (Clutter.Alpha alpha);
+-		public Clutter.Alpha alpha { get; set; }
+-		[Version (since = "0.4")]
+-		public virtual signal void applied (Clutter.Actor actor);
+-		[Version (since = "0.4")]
+-		public virtual signal void removed (Clutter.Actor actor);
+-	}
+-	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_behaviour_depth_get_type ()")]
+-	[Version (deprecated = true, deprecated_since = "1.6", since = "0.2")]
+-	public class BehaviourDepth : Clutter.Behaviour, Clutter.Scriptable {
+-		[CCode (has_construct_function = false, type = "ClutterBehaviour*")]
+-		[Version (since = "0.4")]
+-		public BehaviourDepth (Clutter.Alpha? alpha, int depth_start, int depth_end);
+-		[Version (since = "0.6")]
+-		public void get_bounds (out int depth_start, out int depth_end);
+-		[Version (since = "0.6")]
+-		public void set_bounds (int depth_start, int depth_end);
+-		[NoAccessorMethod]
+-		[Version (since = "0.4")]
+-		public int depth_end { get; set; }
+-		[NoAccessorMethod]
+-		[Version (since = "0.4")]
+-		public int depth_start { get; set; }
+-	}
+-	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_behaviour_opacity_get_type ()")]
+-	[Version (deprecated = true, deprecated_since = "1.6", since = "0.2")]
+-	public class BehaviourOpacity : Clutter.Behaviour, Clutter.Scriptable {
+-		[CCode (has_construct_function = false, type = "ClutterBehaviour*")]
+-		public BehaviourOpacity (Clutter.Alpha? alpha, uint8 opacity_start, uint8 opacity_end);
+-		[Version (since = "0.6")]
+-		public void get_bounds (out uint8 opacity_start, out uint8 opacity_end);
+-		[Version (since = "0.6")]
+-		public void set_bounds (uint8 opacity_start, uint8 opacity_end);
+-		[NoAccessorMethod]
+-		public uint opacity_end { get; set; }
+-		[NoAccessorMethod]
+-		public uint opacity_start { get; set; }
+-	}
+-	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_behaviour_scale_get_type ()")]
+-	[Version (deprecated = true, deprecated_since = "1.6", since = "0.2")]
+-	public class BehaviourScale : Clutter.Behaviour, Clutter.Scriptable {
+-		[CCode (has_construct_function = false, type = "ClutterBehaviour*")]
+-		public BehaviourScale (Clutter.Alpha? alpha, double x_scale_start, double y_scale_start, double x_scale_end, double y_scale_end);
+-		[Version (since = "0.4")]
+-		public void get_bounds (out double x_scale_start, out double y_scale_start, out double x_scale_end, out double y_scale_end);
+-		[Version (since = "0.6")]
+-		public void set_bounds (double x_scale_start, double y_scale_start, double x_scale_end, double y_scale_end);
+-		[NoAccessorMethod]
+-		[Version (since = "0.6")]
+-		public double x_scale_end { get; set; }
+-		[NoAccessorMethod]
+-		[Version (since = "0.6")]
+-		public double x_scale_start { get; set; }
+-		[NoAccessorMethod]
+-		[Version (since = "0.6")]
+-		public double y_scale_end { get; set; }
+-		[NoAccessorMethod]
+-		[Version (since = "0.6")]
+-		public double y_scale_start { get; set; }
+-	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_bin_layout_get_type ()")]
+ 	[Version (since = "1.2")]
+ 	public class BinLayout : Clutter.LayoutManager {
+ 		[CCode (has_construct_function = false, type = "ClutterLayoutManager*")]
+ 		public BinLayout (Clutter.BinAlignment x_align = Clutter.BinAlignment.START, Clutter.BinAlignment y_align = Clutter.BinAlignment.START);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
+-		public void add (Clutter.Actor child, Clutter.BinAlignment x_align, Clutter.BinAlignment y_align);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
+-		public void get_alignment (Clutter.Actor? child, out Clutter.BinAlignment x_align, out Clutter.BinAlignment y_align);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
+-		public void set_alignment (Clutter.Actor? child, Clutter.BinAlignment x_align, Clutter.BinAlignment y_align);
+ 		[NoAccessorMethod]
+ 		[Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
+ 		public Clutter.BinAlignment x_align { get; set; }
+@@ -5644,98 +5370,29 @@ namespace Clutter {
+ 		[CCode (has_construct_function = false, type = "ClutterEffect*")]
+ 		public BlurEffect ();
+ 	}
+-	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_box_get_type ()")]
+-	[Version (since = "1.2")]
+-	public class Box : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+-		[CCode (has_construct_function = false, type = "ClutterActor*")]
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "1.2")]
+-		public Box (Clutter.LayoutManager manager);
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "1.2")]
+-		public Clutter.Color get_color ();
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "1.2")]
+-		public unowned Clutter.LayoutManager get_layout_manager ();
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "1.2")]
+-		public void pack (Clutter.Actor actor, ...);
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "1.2")]
+-		public void pack_after (Clutter.Actor actor, Clutter.Actor? sibling, ...);
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "1.2")]
+-		public void pack_at (Clutter.Actor actor, int position, ...);
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "1.2")]
+-		public void pack_before (Clutter.Actor actor, Clutter.Actor? sibling, ...);
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "1.2")]
+-		public void packv (Clutter.Actor actor, [CCode (array_length_cname = "n_properties", array_length_pos = 1.5, array_length_type = "guint")] string[] properties, [CCode (array_length_cname = "n_properties", array_length_pos = 1.5, array_length_type = "guint")] GLib.Value[] values);
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "1.2")]
+-		public void set_color (Clutter.Color? color);
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "1.2")]
+-		public void set_layout_manager (Clutter.LayoutManager manager);
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "1.2")]
+-		public Clutter.Color color { get; set; }
+-		[NoAccessorMethod]
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "1.2")]
+-		public bool color_set { get; set; }
+-		public Clutter.LayoutManager layout_manager { get; set; }
+-	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_box_layout_get_type ()")]
+ 	[Version (since = "1.2")]
+ 	public class BoxLayout : Clutter.LayoutManager {
+ 		[CCode (has_construct_function = false, type = "ClutterLayoutManager*")]
+ 		public BoxLayout ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
+-		public void get_alignment (Clutter.Actor actor, out Clutter.BoxAlignment x_align, out Clutter.BoxAlignment y_align);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
+-		public uint get_easing_duration ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
+-		public ulong get_easing_mode ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
+-		public bool get_expand (Clutter.Actor actor);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
+-		public void get_fill (Clutter.Actor actor, out bool x_fill, out bool y_fill);
+ 		[Version (since = "1.4")]
+ 		public bool get_homogeneous ();
+ 		[Version (since = "1.12")]
+ 		public Clutter.Orientation get_orientation ();
+ 		public bool get_pack_start ();
+ 		public uint get_spacing ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
+-		public bool get_use_animations ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
+-		public bool get_vertical ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
+-		public void pack (Clutter.Actor actor, bool expand, bool x_fill, bool y_fill, Clutter.BoxAlignment x_align, Clutter.BoxAlignment y_align);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
+-		public void set_alignment (Clutter.Actor actor, Clutter.BoxAlignment x_align, Clutter.BoxAlignment y_align);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
+-		public void set_easing_duration (uint msecs);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
+-		public void set_easing_mode (ulong mode);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
+-		public void set_expand (Clutter.Actor actor, bool expand);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
+-		public void set_fill (Clutter.Actor actor, bool x_fill, bool y_fill);
+ 		[Version (since = "1.4")]
+ 		public void set_homogeneous (bool homogeneous);
+ 		[Version (since = "1.12")]
+ 		public void set_orientation (Clutter.Orientation orientation);
+ 		public void set_pack_start (bool pack_start);
+ 		public void set_spacing (uint spacing);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
+-		public void set_use_animations (bool animate);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
+-		public void set_vertical (bool vertical);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
+-		public uint easing_duration { get; set; }
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
+-		public ulong easing_mode { get; set; }
+ 		[Version (since = "1.4")]
+ 		public bool homogeneous { get; set; }
+ 		[Version (since = "1.12")]
+ 		public Clutter.Orientation orientation { get; set; }
+ 		public bool pack_start { get; set; }
+ 		public uint spacing { get; set; }
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
+-		public bool use_animations { get; set; }
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
+-		public bool vertical { get; set; }
+ 	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_brightness_contrast_effect_get_type ()")]
+ 	[Version (since = "1.10")]
+@@ -5749,9 +5406,9 @@ namespace Clutter {
+ 		public void set_contrast (float contrast);
+ 		public void set_contrast_full (float red, float green, float blue);
+ 		[NoAccessorMethod]
+-		public Clutter.Color brightness { get; set; }
++		public Clutter.Color brightness { owned get; set; }
+ 		[NoAccessorMethod]
+-		public Clutter.Color contrast { get; set; }
++		public Clutter.Color contrast { owned get; set; }
+ 	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+ 	[Compact]
+@@ -5770,37 +5427,6 @@ namespace Clutter {
+ 		public float x;
+ 		public float y;
+ 	}
+-	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_cairo_texture_get_type ()")]
+-	[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-	public class CairoTexture : Clutter.Texture, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+-		[CCode (has_construct_function = false, type = "ClutterActor*")]
+-		public CairoTexture (uint width, uint height);
+-		public void clear ();
+-		[Version (deprecated = true, deprecated_since = "1.8", since = "1.0")]
+-		public Cairo.Context create ();
+-		[Version (deprecated = true, deprecated_since = "1.8", since = "1.0")]
+-		public Cairo.Context create_region (int x_offset, int y_offset, int width, int height);
+-		[Version (since = "1.8")]
+-		public bool get_auto_resize ();
+-		public void get_surface_size (out uint width, out uint height);
+-		[Version (since = "1.8")]
+-		public void invalidate ();
+-		[Version (since = "1.8")]
+-		public void invalidate_rectangle (Cairo.RectangleInt? rect);
+-		[Version (since = "1.8")]
+-		public void set_auto_resize (bool value);
+-		public void set_surface_size (uint width, uint height);
+-		[Version (since = "1.8")]
+-		public bool auto_resize { get; set; }
+-		[NoAccessorMethod]
+-		public uint surface_height { get; set; }
+-		[NoAccessorMethod]
+-		public uint surface_width { get; set; }
+-		[Version (since = "1.6")]
+-		public virtual signal Cairo.Surface create_surface (uint width, uint height);
+-		[Version (since = "1.8")]
+-		public virtual signal bool draw (Cairo.Context cr);
+-	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_canvas_get_type ()")]
+ 	[Version (since = "1.10")]
+ 	public class Canvas : GLib.Object, Clutter.Content {
+@@ -5827,17 +5453,20 @@ namespace Clutter {
+ 		public Clutter.Container container { get; construct; }
+ 	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_click_action_get_type ()")]
+-	[Version (since = "1.4")]
+ 	public class ClickAction : Clutter.Action {
+ 		[CCode (has_construct_function = false, type = "ClutterAction*")]
++		[Version (since = "1.4")]
+ 		public ClickAction ();
++		[Version (since = "1.4")]
+ 		public uint get_button ();
+ 		[Version (since = "1.8")]
+ 		public void get_coords (out float press_x, out float press_y);
+ 		[Version (since = "1.6")]
+ 		public Clutter.ModifierType get_state ();
++		[Version (since = "1.4")]
+ 		public void release ();
+ 		[NoAccessorMethod]
++		[Version (since = "1.4")]
+ 		public bool held { get; }
+ 		[NoAccessorMethod]
+ 		[Version (since = "1.8")]
+@@ -5846,7 +5475,9 @@ namespace Clutter {
+ 		[Version (since = "1.8")]
+ 		public int long_press_threshold { get; set; }
+ 		[NoAccessorMethod]
++		[Version (since = "1.4")]
+ 		public bool pressed { get; }
++		[Version (since = "1.4")]
+ 		public virtual signal void clicked (Clutter.Actor actor);
+ 		[Version (since = "1.8")]
+ 		public virtual signal bool long_press (Clutter.Actor actor, Clutter.LongPressState state);
+@@ -5888,8 +5519,7 @@ namespace Clutter {
+ 		protected Constraint ();
+ 		[NoWrapper]
+ 		public virtual void update_allocation (Clutter.Actor actor, Clutter.ActorBox allocation);
+-		[NoWrapper]
+-		public virtual void update_preferred_size (Clutter.Actor actor, Clutter.Orientation direction, float for_size, float minimum_size, float natural_size);
++		public virtual void update_preferred_size (Clutter.Actor actor, Clutter.Orientation direction, float for_size, ref float minimum_size, ref float natural_size);
+ 	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+ 	[Compact]
+@@ -5898,6 +5528,7 @@ namespace Clutter {
+ 		public weak Clutter.InputDevice device;
+ 		public Clutter.EventFlags flags;
+ 		public weak Clutter.Actor related;
++		public weak Clutter.EventSequence sequence;
+ 		public weak Clutter.Actor source;
+ 		public weak Clutter.Stage stage;
+ 		public uint32 time;
+@@ -5931,98 +5562,21 @@ namespace Clutter {
+ 		public void set_factor (double factor);
+ 		public double factor { get; set; }
+ 	}
+-	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_device_manager_get_type ()")]
+-	[Version (since = "1.2")]
+-	public abstract class DeviceManager : GLib.Object {
+-		[CCode (has_construct_function = false)]
+-		protected DeviceManager ();
+-		[NoWrapper]
+-		public virtual void add_device (Clutter.InputDevice device);
+-		[NoWrapper]
+-		public virtual void apply_kbd_a11y_settings (Clutter.KbdA11ySettings settings);
+-		[NoWrapper]
+-		public virtual void compress_motion (Clutter.Event event, Clutter.Event to_discard);
+-		public virtual Clutter.VirtualInputDevice create_virtual_device (Clutter.InputDeviceType device_type);
+-		public virtual unowned Clutter.InputDevice get_core_device (Clutter.InputDeviceType device_type);
+-		public static unowned Clutter.DeviceManager get_default ();
+-		public virtual unowned Clutter.InputDevice get_device (int device_id);
+-		public void get_kbd_a11y_settings (Clutter.KbdA11ySettings settings);
+-		public virtual Clutter.VirtualDeviceType get_supported_virtual_device_types ();
+-		public GLib.SList<weak Clutter.InputDevice> list_devices ();
+-		public unowned GLib.SList<Clutter.InputDevice> peek_devices ();
+-		[NoWrapper]
+-		public virtual void remove_device (Clutter.InputDevice device);
+-		[NoWrapper]
+-		public virtual void select_stage_events (Clutter.Stage stage);
+-		public void set_kbd_a11y_settings (Clutter.KbdA11ySettings settings);
+-		[NoAccessorMethod]
+-		public Clutter.Backend backend { owned get; construct; }
+-		public signal void device_added (Clutter.InputDevice device);
+-		public signal void device_removed (Clutter.InputDevice device);
+-		public signal void kbd_a11y_flags_changed (uint settings_flags, uint changed_mask);
+-		public signal void kbd_a11y_mods_state_changed (uint latched_mask, uint locked_mask);
+-		public signal void tool_changed (Clutter.InputDevice object, Clutter.InputDeviceTool p0);
+-	}
+-	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_drag_action_get_type ()")]
+-	[Version (since = "1.4")]
+-	public class DragAction : Clutter.Action {
+-		[CCode (has_construct_function = false, type = "ClutterAction*")]
+-		public DragAction ();
+-		public bool get_drag_area (Clutter.Rect drag_area);
+-		public Clutter.DragAxis get_drag_axis ();
+-		public unowned Clutter.Actor get_drag_handle ();
+-		public void get_drag_threshold (out uint x_threshold, out uint y_threshold);
+-		public void get_motion_coords (out float motion_x, out float motion_y);
+-		public void get_press_coords (out float press_x, out float press_y);
+-		public void set_drag_area (Clutter.Rect? drag_area);
+-		public void set_drag_axis (Clutter.DragAxis axis);
+-		public void set_drag_handle (Clutter.Actor? handle);
+-		public void set_drag_threshold (int x_threshold, int y_threshold);
+-		[NoAccessorMethod]
+-		[Version (since = "1.12")]
+-		public Clutter.Rect drag_area { owned get; set; }
+-		[NoAccessorMethod]
+-		[Version (since = "1.12")]
+-		public bool drag_area_set { get; }
+-		public Clutter.DragAxis drag_axis { get; set; }
+-		public Clutter.Actor drag_handle { get; set; }
+-		[NoAccessorMethod]
+-		public int x_drag_threshold { get; set; }
+-		[NoAccessorMethod]
+-		public int y_drag_threshold { get; set; }
+-		public virtual signal void drag_begin (Clutter.Actor actor, float event_x, float event_y, Clutter.ModifierType modifiers);
+-		public virtual signal void drag_end (Clutter.Actor actor, float event_x, float event_y, Clutter.ModifierType modifiers);
+-		public virtual signal void drag_motion (Clutter.Actor actor, float delta_x, float delta_y);
+-		[Version (since = "1.12")]
+-		public virtual signal bool drag_progress (Clutter.Actor actor, float delta_x, float delta_y);
+-	}
+-	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_drop_action_get_type ()")]
+-	[Version (since = "1.8")]
+-	public class DropAction : Clutter.Action {
+-		[CCode (has_construct_function = false, type = "ClutterAction*")]
+-		public DropAction ();
+-		public virtual signal bool can_drop (Clutter.Actor actor, float event_x, float event_y);
+-		public virtual signal void drop (Clutter.Actor actor, float event_x, float event_y);
+-		[Version (since = "1.12")]
+-		public signal void drop_cancel (Clutter.Actor actor, float event_x, float event_y);
+-		public virtual signal void over_in (Clutter.Actor actor);
+-		public virtual signal void over_out (Clutter.Actor actor);
+-	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_effect_get_type ()")]
+ 	[Version (since = "1.4")]
+ 	public abstract class Effect : Clutter.ActorMeta {
+ 		[CCode (has_construct_function = false)]
+ 		protected Effect ();
+ 		[NoWrapper]
+-		public virtual bool get_paint_volume (Clutter.PaintVolume volume);
++		public virtual bool modify_paint_volume (Clutter.PaintVolume volume);
+ 		[NoWrapper]
+-		public virtual void paint (Clutter.EffectPaintFlags flags);
++		public virtual void paint (Clutter.PaintContext paint_context, Clutter.EffectPaintFlags flags);
+ 		[NoWrapper]
+-		public virtual void pick (Clutter.EffectPaintFlags flags);
++		public virtual void pick (Clutter.PickContext pick_context);
+ 		[NoWrapper]
+-		public virtual void post_paint ();
++		public virtual void post_paint (Clutter.PaintContext paint_context);
+ 		[NoWrapper]
+-		public virtual bool pre_paint ();
++		public virtual bool pre_paint (Clutter.PaintContext paint_context);
+ 		[Version (since = "1.8")]
+ 		public void queue_repaint ();
+ 	}
+@@ -6033,8 +5587,12 @@ namespace Clutter {
+ 		public Clutter.EventType type;
+ 		[CCode (has_construct_function = false)]
+ 		public Event (Clutter.EventType type);
++		[Version (since = "1.18")]
++		public static uint add_filter (Clutter.Stage? stage, [CCode (delegate_target_pos = 2.2, destroy_notify_pos = 2.1)] owned Clutter.EventFilterFunc func);
+ 		public Clutter.Event copy ();
+ 		public void free ();
++		[Version (since = "0.4")]
++		public static Clutter.Event @get ();
+ 		[Version (since = "1.12")]
+ 		public double get_angle (Clutter.Event target);
+ 		[Version (since = "1.6")]
+@@ -6073,7 +5631,7 @@ namespace Clutter {
+ 		public uint get_mode_group ();
+ 		public bool get_pad_event_details (out uint number, out uint mode, out double value);
+ 		[Version (since = "1.12")]
+-		public void get_position (Clutter.Point position);
++		public void get_position (Graphene.Point position);
+ 		[Version (since = "1.0")]
+ 		public unowned Clutter.Actor get_related ();
+ 		[Version (since = "1.10")]
+@@ -6106,8 +5664,12 @@ namespace Clutter {
+ 		public bool has_shift_modifier ();
+ 		[Version (since = "1.12")]
+ 		public bool is_pointer_emulated ();
++		[Version (since = "0.4")]
++		public static unowned Clutter.Event peek ();
+ 		[Version (since = "0.6")]
+ 		public void put ();
++		[Version (since = "1.18")]
++		public static void remove_filter (uint id);
+ 		[Version (since = "1.8")]
+ 		public void set_button (uint32 button);
+ 		[Version (since = "1.8")]
+@@ -6140,16 +5702,6 @@ namespace Clutter {
+ 		public void set_state (Clutter.ModifierType state);
+ 		[Version (since = "1.8")]
+ 		public void set_time (uint32 time_);
+-		public Clutter.AnyEvent any {[CCode (cname = "(ClutterAnyEvent *)")]  get; }
+-		public Clutter.ButtonEvent button {[CCode (cname = "(ClutterButtonEvent *)")]  get; }
+-		public Clutter.CrossingEvent crossing {[CCode (cname = "(ClutterCrossingEvent *)")]  get; }
+-		public Clutter.KeyEvent key {[CCode (cname = "(ClutterKeyEvent *)")]  get; }
+-		public Clutter.MotionEvent motion {[CCode (cname = "(ClutterMotionEvent *)")]  get; }
+-		public Clutter.ScrollEvent scroll {[CCode (cname = "(ClutterScrollEvent *)")]  get; }
+-		public Clutter.StageStateEvent stage_state {[CCode (cname = "(ClutterStageStateEvent *)")]  get; }
+-		public Clutter.TouchEvent touch {[CCode (cname = "(ClutterTouchEvent *)")]  get; }
+-		public Clutter.TouchpadPinchEvent touchpad_pinch {[CCode (cname = "(ClutterTouchpadPinchEvent *)")]  get; }
+-		public Clutter.TouchpadSwipeEvent touchpad_swipe {[CCode (cname = "(ClutterTouchpadSwipeEvent *)")]  get; }
+ 	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "clutter_event_sequence_get_type ()")]
+ 	[Compact]
+@@ -6198,10 +5750,24 @@ namespace Clutter {
+ 		[Version (since = "1.16")]
+ 		public bool snap_to_grid { get; set; }
+ 	}
++	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_frame_clock_get_type ()")]
++	public class FrameClock : GLib.Object {
++		[CCode (has_construct_function = false)]
++		public FrameClock (float refresh_rate, Clutter.FrameListenerIface iface, void* user_data);
++		public void add_timeline (Clutter.Timeline timeline);
++		public float get_refresh_rate ();
++		public void inhibit ();
++		public void remove_timeline (Clutter.Timeline timeline);
++		public void schedule_update ();
++		public void schedule_update_now ();
++		public void uninhibit ();
++		[HasEmitter]
++		public signal void destroy ();
++	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_gesture_action_get_type ()")]
+-	[Version (since = "1.8")]
+ 	public class GestureAction : Clutter.Action {
+ 		[CCode (has_construct_function = false, type = "ClutterAction*")]
++		[Version (since = "1.8")]
+ 		public GestureAction ();
+ 		[Version (since = "1.12")]
+ 		public void cancel ();
+@@ -6211,6 +5777,7 @@ namespace Clutter {
+ 		public unowned Clutter.InputDevice get_device (uint point);
+ 		[Version (since = "1.14")]
+ 		public unowned Clutter.Event get_last_event (uint point);
++		[Version (since = "1.8")]
+ 		public void get_motion_coords (uint point, out float motion_x, out float motion_y);
+ 		[Version (since = "1.12")]
+ 		public float get_motion_delta (uint point, out float delta_x, out float delta_y);
+@@ -6218,7 +5785,9 @@ namespace Clutter {
+ 		public uint get_n_current_points ();
+ 		[Version (since = "1.12")]
+ 		public int get_n_touch_points ();
++		[Version (since = "1.8")]
+ 		public void get_press_coords (uint point, out float press_x, out float press_y);
++		[Version (since = "1.8")]
+ 		public void get_release_coords (uint point, out float release_x, out float release_y);
+ 		[Version (since = "1.12")]
+ 		public unowned Clutter.EventSequence get_sequence (uint point);
+@@ -6246,9 +5815,13 @@ namespace Clutter {
+ 		public float threshold_trigger_distance_y { get; construct; }
+ 		[Version (since = "1.18")]
+ 		public Clutter.GestureTriggerEdge threshold_trigger_edge { get; construct; }
++		[Version (since = "1.8")]
+ 		public virtual signal bool gesture_begin (Clutter.Actor actor);
++		[Version (since = "1.8")]
+ 		public virtual signal void gesture_cancel (Clutter.Actor actor);
++		[Version (since = "1.8")]
+ 		public virtual signal void gesture_end (Clutter.Actor actor);
++		[Version (since = "1.8")]
+ 		public virtual signal bool gesture_progress (Clutter.Actor actor);
+ 	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_grid_layout_get_type ()")]
+@@ -6278,19 +5851,6 @@ namespace Clutter {
+ 		public bool row_homogeneous { get; set; }
+ 		public uint row_spacing { get; set; }
+ 	}
+-	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_group_get_type ()")]
+-	[Version (since = "0.2")]
+-	public class Group : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+-		[CCode (has_construct_function = false, type = "ClutterActor*")]
+-		[Version (deprecated = true, deprecated_since = "1.10")]
+-		public Group ();
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "0.2")]
+-		public int get_n_children ();
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "0.2")]
+-		public unowned Clutter.Actor get_nth_child (int index_);
+-		[Version (deprecated = true, deprecated_since = "1.10")]
+-		public void remove_all ();
+-	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_image_get_type ()")]
+ 	[Version (since = "1.10")]
+ 	public class Image : GLib.Object, Clutter.Content {
+@@ -6306,6 +5866,8 @@ namespace Clutter {
+ 	public class InputDevice : GLib.Object {
+ 		[CCode (has_construct_function = false)]
+ 		protected InputDevice ();
++		[Version (since = "1.2")]
++		public unowned Clutter.Actor get_actor (Clutter.EventSequence? sequence);
+ 		[Version (since = "1.6")]
+ 		public unowned Clutter.InputDevice get_associated_device ();
+ 		[Version (since = "1.6")]
+@@ -6313,7 +5875,7 @@ namespace Clutter {
+ 		[Version (since = "1.6")]
+ 		public bool get_axis_value ([CCode (array_length = false)] double[] axes, Clutter.InputAxis axis, out double value);
+ 		[Version (since = "1.12")]
+-		public bool get_coords (Clutter.EventSequence? sequence, Clutter.Point point);
++		public bool get_coords (Clutter.EventSequence? sequence, Graphene.Point point);
+ 		[Version (since = "1.0")]
+ 		public int get_device_id ();
+ 		[Version (since = "1.6")]
+@@ -6325,12 +5887,9 @@ namespace Clutter {
+ 		public Clutter.InputDeviceType get_device_type ();
+ 		[Version (since = "1.6")]
+ 		public bool get_enabled ();
+-		[CCode (cname = "clutter_get_input_device_for_id")]
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "0.8")]
+-		public static unowned Clutter.InputDevice get_for_id (int id_);
+ 		[Version (since = "1.10")]
+ 		public unowned Clutter.Actor get_grabbed_actor ();
+-		public int get_group_n_modes (int group);
++		public virtual int get_group_n_modes (int group);
+ 		[Version (since = "1.6")]
+ 		public bool get_has_cursor ();
+ 		[Version (since = "1.6")]
+@@ -6346,23 +5905,21 @@ namespace Clutter {
+ 		public int get_n_mode_groups ();
+ 		public int get_n_rings ();
+ 		public int get_n_strips ();
+-		public bool get_physical_size (double width, double height);
+-		[Version (since = "1.2")]
+-		public unowned Clutter.Actor get_pointer_actor ();
+ 		[Version (since = "1.2")]
+ 		public unowned Clutter.Stage get_pointer_stage ();
+ 		[Version (since = "1.22")]
+ 		public unowned string get_product_id ();
++		public unowned Clutter.Seat get_seat ();
+ 		[Version (since = "1.6")]
+ 		public GLib.List<weak Clutter.InputDevice> get_slave_devices ();
+ 		[Version (since = "1.22")]
+ 		public unowned string get_vendor_id ();
+ 		[Version (since = "1.10")]
+ 		public void grab (Clutter.Actor actor);
+-		public bool is_grouped (Clutter.InputDevice other_device);
+-		public bool is_mode_switch_button (uint group, uint button);
++		public virtual bool is_grouped (Clutter.InputDevice other_device);
++		public virtual bool is_mode_switch_button (uint group, uint button);
+ 		[Version (since = "1.10")]
+-		public bool keycode_to_evdev (uint hardware_keycode, uint evdev_keycode);
++		public virtual bool keycode_to_evdev (uint hardware_keycode, uint evdev_keycode);
+ 		[Version (since = "1.12")]
+ 		public unowned Clutter.Actor sequence_get_grabbed_actor (Clutter.EventSequence sequence);
+ 		[Version (since = "1.12")]
+@@ -6378,12 +5935,11 @@ namespace Clutter {
+ 		public void ungrab ();
+ 		[Version (since = "1.2")]
+ 		public void update_from_event (Clutter.Event event, bool update_stage);
++		[NoWrapper]
++		public virtual void update_from_tool (Clutter.InputDeviceTool tool);
+ 		[NoAccessorMethod]
+ 		[Version (since = "1.6")]
+ 		public Clutter.Backend backend { owned get; construct; }
+-		[NoAccessorMethod]
+-		[Version (since = "1.6")]
+-		public Clutter.DeviceManager device_manager { owned get; construct; }
+ 		public Clutter.InputMode device_mode { get; construct; }
+ 		public string device_node { get; construct; }
+ 		[Version (since = "1.2")]
+@@ -6406,6 +5962,7 @@ namespace Clutter {
+ 		public string name { owned get; construct; }
+ 		[Version (since = "1.22")]
+ 		public string product_id { get; construct; }
++		public Clutter.Seat seat { get; construct; }
+ 		[Version (since = "1.22")]
+ 		public string vendor_id { get; construct; }
+ 	}
+@@ -6430,7 +5987,7 @@ namespace Clutter {
+ 		[NoWrapper]
+ 		public virtual void commit_text (string text);
+ 		[NoWrapper]
+-		public virtual void delete_surrounding (uint offset, uint len);
++		public virtual void delete_surrounding (int offset, uint len);
+ 		public bool filter_key_event (Clutter.KeyEvent key);
+ 		[NoWrapper]
+ 		public virtual void focus_in (Clutter.InputMethod input_method);
+@@ -6443,7 +6000,7 @@ namespace Clutter {
+ 		public void set_can_show_preedit (bool can_show_preedit);
+ 		public void set_content_hints (Clutter.InputContentHintFlags hint);
+ 		public void set_content_purpose (Clutter.InputContentPurpose purpose);
+-		public void set_cursor_location (Clutter.Rect rect);
++		public void set_cursor_location (Graphene.Rect rect);
+ 		public void set_input_panel_state (Clutter.InputPanelState state);
+ 		[NoWrapper]
+ 		public virtual void set_preedit_text (string preedit, uint cursor);
+@@ -6462,7 +6019,7 @@ namespace Clutter {
+ 		[NoWrapper]
+ 		public virtual void reset ();
+ 		[NoWrapper]
+-		public virtual void set_cursor_location (Clutter.Rect rect);
++		public virtual void set_cursor_location (Graphene.Rect rect);
+ 		public void set_input_panel_state (Clutter.InputPanelState state);
+ 		public void set_preedit_text (string? preedit, uint cursor);
+ 		[NoWrapper]
+@@ -6479,9 +6036,9 @@ namespace Clutter {
+ 		public Clutter.InputContentPurpose content_purpose { get; set; }
+ 		[HasEmitter]
+ 		public signal void commit (string text);
+-		public signal void cursor_location_changed (Clutter.Rect object);
++		public signal void cursor_location_changed (Graphene.Rect object);
+ 		[HasEmitter]
+-		public signal void delete_surrounding (uint offset, uint len);
++		public signal void delete_surrounding (int offset, uint len);
+ 		public signal void input_panel_state (Clutter.InputPanelState object);
+ 		[HasEmitter]
+ 		public signal void request_surrounding ();
+@@ -6555,28 +6112,28 @@ namespace Clutter {
+ 		[CCode (has_construct_function = false)]
+ 		protected Keymap ();
+ 		public virtual bool get_caps_lock_state ();
++		public virtual Pango.Direction get_direction ();
+ 		public virtual bool get_num_lock_state ();
+ 		public signal void state_changed ();
+ 	}
++	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_layer_node_get_type ()")]
++	public class LayerNode : Clutter.PaintNode {
++		[CCode (has_construct_function = false, type = "ClutterPaintNode*")]
++		public LayerNode (Cogl.Matrix projection, Cairo.Rectangle viewport, float width, float height, uint8 opacity);
++	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_layout_manager_get_type ()")]
+ 	[Version (since = "1.2")]
+ 	public abstract class LayoutManager : GLib.InitiallyUnowned {
+ 		[CCode (has_construct_function = false)]
+ 		protected LayoutManager ();
+-		public virtual void allocate (Clutter.Container container, Clutter.ActorBox allocation, Clutter.AllocationFlags flags);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
+-		public virtual unowned Clutter.Alpha begin_animation (uint duration, ulong mode);
++		public virtual void allocate (Clutter.Container container, Clutter.ActorBox allocation);
+ 		public void child_get (Clutter.Container container, Clutter.Actor actor, ...);
+ 		public void child_get_property (Clutter.Container container, Clutter.Actor actor, string property_name, GLib.Value value);
+ 		public void child_set (Clutter.Container container, Clutter.Actor actor, ...);
+ 		public void child_set_property (Clutter.Container container, Clutter.Actor actor, string property_name, GLib.Value value);
+ 		[NoWrapper]
+ 		public virtual unowned Clutter.LayoutMeta create_child_meta (Clutter.Container container, Clutter.Actor actor);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
+-		public virtual void end_animation ();
+ 		public unowned GLib.ParamSpec find_child_property (string name);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.2")]
+-		public virtual double get_animation_progress ();
+ 		[Version (since = "1.0")]
+ 		public unowned Clutter.LayoutMeta get_child_meta (Clutter.Container container, Clutter.Actor actor);
+ 		[NoWrapper]
+@@ -6632,12 +6189,12 @@ namespace Clutter {
+ 		protected OffscreenEffect ();
+ 		public virtual Cogl.Handle create_texture (float width, float height);
+ 		[Version (since = "1.14")]
+-		public bool get_target_rect (out unowned Clutter.Rect rect);
++		public bool get_target_rect (out unowned Graphene.Rect rect);
+ 		[Version (deprecated = true, deprecated_since = "1.14", since = "1.8")]
+ 		public bool get_target_size (out float width, out float height);
+ 		[Version (since = "1.10")]
+ 		public unowned Cogl.Handle get_texture ();
+-		public virtual void paint_target ();
++		public virtual void paint_target (Clutter.PaintContext paint_context);
+ 	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_page_turn_effect_get_type ()")]
+ 	[Version (since = "1.4")]
+@@ -6654,6 +6211,17 @@ namespace Clutter {
+ 		public double period { get; set; }
+ 		public float radius { get; set; }
+ 	}
++	[CCode (cheader_filename = "clutter/clutter.h", ref_function = "clutter_paint_context_ref", type_id = "clutter_paint_context_get_type ()", unref_function = "clutter_paint_context_unref")]
++	[Compact]
++	public class PaintContext {
++		public void destroy ();
++		public unowned Cogl.Framebuffer get_framebuffer ();
++		public unowned Cairo.Region get_redraw_clip ();
++		public void pop_framebuffer ();
++		public void push_framebuffer (Cogl.Framebuffer framebuffer);
++		public unowned Clutter.PaintContext @ref ();
++		public void unref ();
++	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_paint_node_get_type ()")]
+ 	[Version (since = "1.10")]
+ 	public abstract class PaintNode {
+@@ -6663,7 +6231,8 @@ namespace Clutter {
+ 		public void add_multitexture_rectangle (Clutter.ActorBox rect, float text_coords, uint text_coords_len);
+ 		public void add_rectangle (Clutter.ActorBox rect);
+ 		public void add_texture_rectangle (Clutter.ActorBox rect, float x_1, float y_1, float x_2, float y_2);
+-		public void paint ();
++		public unowned Cogl.Framebuffer get_framebuffer ();
++		public void paint (Clutter.PaintContext paint_context);
+ 		public unowned Clutter.PaintNode @ref ();
+ 		public void set_name (string name);
+ 		public void unref ();
+@@ -6681,7 +6250,7 @@ namespace Clutter {
+ 		[Version (since = "1.6")]
+ 		public float get_height ();
+ 		[Version (since = "1.6")]
+-		public Clutter.Vertex get_origin ();
++		public void get_origin (out unowned Graphene.Point3D vertex);
+ 		[Version (since = "1.6")]
+ 		public float get_width ();
+ 		[Version (since = "1.6")]
+@@ -6691,7 +6260,7 @@ namespace Clutter {
+ 		[Version (since = "1.6")]
+ 		public void set_height (float height);
+ 		[Version (since = "1.6")]
+-		public void set_origin (Clutter.Vertex origin);
++		public void set_origin (Graphene.Point3D origin);
+ 		[Version (since = "1.6")]
+ 		public void set_width (float width);
+ 		[Version (since = "1.6")]
+@@ -6778,88 +6347,29 @@ namespace Clutter {
+ 		public Clutter.Path path { get; set; }
+ 		public signal void node_reached (Clutter.Actor actor, uint index);
+ 	}
++	[CCode (cheader_filename = "clutter/clutter.h", ref_function = "clutter_pick_context_ref", type_id = "clutter_pick_context_get_type ()", unref_function = "clutter_pick_context_unref")]
++	[Compact]
++	public class PickContext {
++		public void destroy ();
++		public unowned Clutter.PickContext @ref ();
++		public void unref ();
++	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_pipeline_node_get_type ()")]
+ 	[Version (since = "1.10")]
+ 	public class PipelineNode : Clutter.PaintNode {
+ 		[CCode (has_construct_function = false)]
+ 		protected PipelineNode ();
+ 	}
+-	[CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "clutter_point_get_type ()")]
+-	[Compact]
+-	[Version (since = "1.12")]
+-	public class Point {
+-		public float x;
+-		public float y;
+-		public static Clutter.Point alloc ();
+-		public Clutter.Point copy ();
+-		public float distance (Clutter.Point b, out float x_distance, out float y_distance);
+-		public bool equals (Clutter.Point b);
+-		public void free ();
+-		public unowned Clutter.Point init (float x, float y);
+-		public static unowned Clutter.Point zero ();
+-	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_property_transition_get_type ()")]
+ 	[Version (since = "1.10")]
+ 	public class PropertyTransition : Clutter.Transition, Clutter.Scriptable {
+ 		[CCode (has_construct_function = false, type = "ClutterTransition*")]
+ 		public PropertyTransition (string? property_name);
++		[CCode (has_construct_function = false, type = "ClutterTransition*")]
++		public PropertyTransition.for_actor (Clutter.Actor actor, string? property_name);
+ 		public unowned string get_property_name ();
+-		public void set_property_name (string? property_name);
+-		public string property_name { get; set; }
+-	}
+-	[CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "clutter_rect_get_type ()")]
+-	[Compact]
+-	[Version (since = "1.12")]
+-	public class Rect {
+-		public weak Clutter.Point origin;
+-		public weak Clutter.Size size;
+-		public static Clutter.Rect alloc ();
+-		public void clamp_to_pixel ();
+-		public bool contains_point (Clutter.Point point);
+-		public bool contains_rect (Clutter.Rect b);
+-		public Clutter.Rect copy ();
+-		public bool equals (Clutter.Rect b);
+-		public void free ();
+-		public void get_center (Clutter.Point center);
+-		public float get_height ();
+-		public float get_width ();
+-		public float get_x ();
+-		public float get_y ();
+-		public unowned Clutter.Rect init (float x, float y, float width, float height);
+-		public void inset (float d_x, float d_y);
+-		public bool intersection (Clutter.Rect b, Clutter.Rect? res);
+-		public Clutter.Rect normalize ();
+-		public void offset (float d_x, float d_y);
+-		public void scale (float s_x, float s_y);
+-		public void union (Clutter.Rect b, Clutter.Rect res);
+-		public static unowned Clutter.Rect zero ();
+-	}
+-	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_rectangle_get_type ()")]
+-	[Version (since = "0.2")]
+-	public class Rectangle : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+-		[CCode (has_construct_function = false, type = "ClutterActor*")]
+-		[Version (deprecated = true, deprecated_since = "1.10")]
+-		public Rectangle ();
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "0.2")]
+-		public Clutter.Color get_border_color ();
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "0.2")]
+-		public uint get_border_width ();
+-		[Version (deprecated = true, deprecated_since = "1.10")]
+-		public Clutter.Color get_color ();
+-		[Version (deprecated = true, deprecated_since = "1.10")]
+-		public void set_border_color (Clutter.Color color);
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "0.2")]
+-		public void set_border_width (uint width);
+-		[Version (deprecated = true, deprecated_since = "1.10")]
+-		public void set_color (Clutter.Color color);
+-		[CCode (has_construct_function = false, type = "ClutterActor*")]
+-		[Version (deprecated = true, deprecated_since = "1.10")]
+-		public Rectangle.with_color (Clutter.Color color);
+-		public Clutter.Color border_color { get; set; }
+-		public uint border_width { get; set; }
+-		public Clutter.Color color { get; set; }
+-		[NoAccessorMethod]
+-		public bool has_border { get; set; }
++		public void set_property_name (string? property_name);
++		public string property_name { get; set; }
+ 	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_root_node_get_type ()")]
+ 	public class RootNode : Clutter.PaintNode {
+@@ -6880,15 +6390,11 @@ namespace Clutter {
+ 		public Script ();
+ 		[Version (since = "0.8")]
+ 		public void add_search_paths ([CCode (array_length_cname = "n_paths", array_length_pos = 1.1, array_length_type = "gsize")] string[] paths);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.8")]
+-		public void add_states (string? name, Clutter.State state);
+ 		public void connect_signals (void* user_data);
+ 		public void connect_signals_full (Clutter.ScriptConnectFunc func);
+ 		public void ensure_objects ();
+ 		public unowned GLib.Object get_object (string name);
+ 		public int get_objects (...);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.8")]
+-		public unowned Clutter.State get_states (string? name);
+ 		[Version (since = "1.10")]
+ 		public unowned string get_translation_domain ();
+ 		public virtual GLib.Type get_type_from_name (string type_name);
+@@ -6916,8 +6422,8 @@ namespace Clutter {
+ 		[CCode (has_construct_function = false, type = "ClutterActor*")]
+ 		public ScrollActor ();
+ 		public Clutter.ScrollMode get_scroll_mode ();
+-		public void scroll_to_point (Clutter.Point point);
+-		public void scroll_to_rect (Clutter.Rect rect);
++		public void scroll_to_point (Graphene.Point point);
++		public void scroll_to_rect (Graphene.Rect rect);
+ 		public void set_scroll_mode (Clutter.ScrollMode mode);
+ 		public Clutter.ScrollMode scroll_mode { get; set; }
+ 	}
+@@ -6939,6 +6445,47 @@ namespace Clutter {
+ 		public float x;
+ 		public float y;
+ 	}
++	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_seat_get_type ()")]
++	public abstract class Seat : GLib.Object {
++		[CCode (has_construct_function = false)]
++		protected Seat ();
++		[NoWrapper]
++		public virtual void apply_kbd_a11y_settings (Clutter.KbdA11ySettings settings);
++		public virtual void bell_notify ();
++		public virtual void compress_motion (Clutter.Event event, Clutter.Event to_discard);
++		[NoWrapper]
++		public virtual void copy_event_data (Clutter.Event src, Clutter.Event dest);
++		public virtual Clutter.VirtualInputDevice create_virtual_device (Clutter.InputDeviceType device_type);
++		public void ensure_a11y_state ();
++		[NoWrapper]
++		public virtual void free_event_data (Clutter.Event event);
++		public void get_kbd_a11y_settings (Clutter.KbdA11ySettings settings);
++		public virtual unowned Clutter.InputDevice get_keyboard ();
++		public virtual unowned Clutter.Keymap get_keymap ();
++		public virtual unowned Clutter.InputDevice get_pointer ();
++		public void get_pointer_a11y_settings (Clutter.PointerA11ySettings settings);
++		public bool get_touch_mode ();
++		public void inhibit_unfocus ();
++		public bool is_unfocus_inhibited ();
++		public GLib.List<weak Clutter.InputDevice> list_devices ();
++		public void set_kbd_a11y_settings (Clutter.KbdA11ySettings settings);
++		public void set_pointer_a11y_dwell_click_type (Clutter.PointerA11yDwellClickType click_type);
++		public void set_pointer_a11y_settings (Clutter.PointerA11ySettings settings);
++		public void uninhibit_unfocus ();
++		public virtual void warp_pointer (int x, int y);
++		[NoAccessorMethod]
++		public Clutter.Backend backend { owned get; construct; }
++		public bool touch_mode { get; }
++		public signal void device_added (Clutter.InputDevice object);
++		public signal void device_removed (Clutter.InputDevice object);
++		public signal void is_unfocus_inhibited_changed ();
++		public signal void kbd_a11y_flags_changed (uint settings_flags, uint changed_mask);
++		public signal void kbd_a11y_mods_state_changed (uint latched_mask, uint locked_mask);
++		public signal void ptr_a11y_dwell_click_type_changed (Clutter.PointerA11yDwellClickType click_type);
++		public signal void ptr_a11y_timeout_started (Clutter.InputDevice device, Clutter.PointerA11yTimeoutType timeout_type, uint delay);
++		public signal void ptr_a11y_timeout_stopped (Clutter.InputDevice device, Clutter.PointerA11yTimeoutType timeout_type, bool clicked);
++		public signal void tool_changed (Clutter.InputDevice object, Clutter.InputDeviceTool p0);
++	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_settings_get_type ()")]
+ 	[Version (since = "1.4")]
+ 	public class Settings : GLib.Object {
+@@ -7011,18 +6558,6 @@ namespace Clutter {
+ 		[CCode (has_construct_function = false)]
+ 		protected ShaderMatrix ();
+ 	}
+-	[CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "clutter_size_get_type ()")]
+-	[Compact]
+-	[Version (since = "1.12")]
+-	public class Size {
+-		public float height;
+-		public float width;
+-		public static Clutter.Size alloc ();
+-		public Clutter.Size copy ();
+-		public bool equals (Clutter.Size b);
+-		public void free ();
+-		public unowned Clutter.Size init (float width, float height);
+-	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_snap_constraint_get_type ()")]
+ 	[Version (since = "1.6")]
+ 	public class SnapConstraint : Clutter.Constraint {
+@@ -7043,135 +6578,66 @@ namespace Clutter {
+ 	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_stage_get_type ()")]
+ 	[Version (since = "0.2")]
+-	public class Stage : Clutter.Group, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
++	public class Stage : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+ 		[CCode (has_construct_function = false, type = "ClutterActor*")]
+ 		[Version (since = "0.8")]
+ 		public Stage ();
+-		public bool capture (bool paint, Cairo.RectangleInt rect, Clutter.Capture captures, int n_captures);
+ 		public void capture_into (bool paint, Cairo.RectangleInt rect, uint8 data);
++		public void clear_stage_views ();
+ 		[CCode (cname = "clutter_stage_event")]
+ 		[Version (since = "0.4")]
+ 		public bool emit_event (Clutter.Event event);
+-		[Version (deprecated = true, since = "0.8")]
+-		public void ensure_current ();
+-		[Version (since = "1.0")]
+-		public void ensure_redraw ();
+ 		[Version (since = "1.0")]
+ 		public void ensure_viewport ();
+-		public void freeze_updates ();
+-		[Version (since = "1.6")]
+-		public bool get_accept_focus ();
+-		public unowned Clutter.Actor get_actor_at_pos (Clutter.PickMode pick_mode, int x, int y);
++		public unowned Clutter.Actor get_actor_at_pos (Clutter.PickMode pick_mode, float x, float y);
+ 		public bool get_capture_final_size (Cairo.RectangleInt rect, int width, int height, float scale);
+-		[Version (deprecated = true, deprecated_since = "1.10")]
+-		public Clutter.Color get_color ();
+-		[Version (deprecated = true, deprecated_since = "1.10")]
+-		public static unowned Clutter.Stage get_default ();
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "0.6")]
+-		public Clutter.Fog get_fog ();
+ 		public int64 get_frame_counter ();
+-		[Version (since = "1.0")]
+-		public bool get_fullscreen ();
+ 		[Version (since = "0.6")]
+ 		public unowned Clutter.Actor get_key_focus ();
+ 		[Version (since = "1.2")]
+ 		public void get_minimum_size (out uint width, out uint height);
+ 		[Version (since = "1.8")]
+ 		public bool get_motion_events_enabled ();
+-		[Version (since = "1.4")]
+-		public bool get_no_clear_hint ();
+ 		public Clutter.Perspective get_perspective ();
+-		[Version (since = "1.8")]
+-		public Cairo.RectangleInt get_redraw_clip_bounds ();
+ 		[Version (since = "1.0")]
+ 		public bool get_throttle_motion_events ();
+ 		[Version (since = "0.4")]
+ 		public unowned string get_title ();
+-		[Version (since = "1.2")]
+ 		public bool get_use_alpha ();
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "0.6")]
+-		public bool get_use_fog ();
+-		[Version (since = "0.4")]
+-		public bool get_user_resizable ();
+-		[Version (since = "0.4")]
+-		public void hide_cursor ();
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "0.8")]
+-		public bool is_default ();
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "0.8")]
+-		public void queue_redraw ();
++		public bool paint_to_buffer (Cairo.RectangleInt rect, float scale, uint8 data, int stride, Cogl.PixelFormat format, Clutter.PaintFlag paint_flags) throws GLib.Error;
++		public void paint_to_framebuffer (Cogl.Framebuffer framebuffer, Cairo.RectangleInt rect, float scale, Clutter.PaintFlag paint_flags);
+ 		[CCode (array_length = false)]
+ 		public uint8[] read_pixels (int x, int y, int width = -1, int height = -1);
+-		[CCode (cname = "clutter_redraw")]
+-		public void redraw ();
+-		[Version (since = "1.6")]
+-		public void set_accept_focus (bool accept_focus);
+-		[Version (deprecated = true, deprecated_since = "1.10")]
+-		public void set_color (Clutter.Color color);
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "0.6")]
+-		public void set_fog (Clutter.Fog fog);
+-		[Version (since = "1.0")]
+-		public void set_fullscreen (bool fullscreen);
++		public void schedule_update ();
+ 		[Version (since = "0.6")]
+ 		public void set_key_focus (Clutter.Actor? actor);
+ 		[Version (since = "1.2")]
+ 		public void set_minimum_size (uint width, uint height);
+ 		[Version (since = "1.8")]
+ 		public void set_motion_events_enabled (bool enabled);
+-		[Version (since = "1.4")]
+-		public void set_no_clear_hint (bool no_clear);
+-		public void set_perspective (Clutter.Perspective perspective);
+ 		[Version (since = "1.0")]
+ 		public void set_throttle_motion_events (bool throttle);
+ 		[Version (since = "0.4")]
+ 		public void set_title (string title);
+-		[Version (since = "1.2")]
+ 		public void set_use_alpha (bool use_alpha);
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "0.6")]
+-		public void set_use_fog (bool fog);
+-		[Version (since = "0.4")]
+-		public void set_user_resizable (bool resizable);
+-		public void show_cursor ();
+-		public void thaw_updates ();
+-		public void update_resource_scales ();
+-		[Version (since = "1.6")]
+-		public bool accept_focus { get; set; }
+-		[Version (deprecated = true, deprecated_since = "1.10")]
+-		public Clutter.Color color { get; set; }
+-		[NoAccessorMethod]
+-		public bool cursor_visible { get; set; }
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "1.0")]
+-		public Clutter.Fog fog { get; set; }
+-		[NoAccessorMethod]
+-		public bool fullscreen_set { get; }
+ 		[Version (since = "1.2")]
+ 		public Clutter.Actor key_focus { get; set; }
+-		[Version (since = "1.4")]
+-		public bool no_clear_hint { get; set; }
+-		[NoAccessorMethod]
+-		[Version (deprecated = true, deprecated_since = "1.10")]
+-		public bool offscreen { get; set; }
+ 		[Version (since = "0.8")]
+-		public Clutter.Perspective perspective { get; set; }
++		public Clutter.Perspective perspective { get; }
+ 		[Version (since = "0.4")]
+ 		public string title { get; set; }
+-		[Version (since = "1.2")]
+-		public bool use_alpha { get; set; }
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "0.6")]
+-		public bool use_fog { get; set; }
+-		[Version (since = "0.4")]
+-		public bool user_resizable { get; set; }
+ 		[Version (since = "0.6")]
+ 		public virtual signal void activate ();
+ 		[Version (since = "1.20")]
+-		public signal void after_paint ();
++		public signal void after_paint (Clutter.StageView view);
++		public signal void after_update (Clutter.StageView view);
++		public signal void before_paint (Clutter.StageView view);
++		public signal void before_update (Clutter.StageView view);
+ 		[Version (since = "0.6")]
+ 		public virtual signal void deactivate ();
+ 		[Version (since = "1.2")]
+ 		public virtual signal bool delete_event (Clutter.Event event);
+-		[Version (since = "0.6")]
+-		public virtual signal void fullscreen ();
+-		[Version (since = "0.6")]
+-		public virtual signal void unfullscreen ();
++		public virtual signal void paint_view (Clutter.StageView view, Cairo.Region redraw_clip);
+ 	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_stage_manager_get_type ()")]
+ 	[Version (since = "1.0")]
+@@ -7185,8 +6651,6 @@ namespace Clutter {
+ 		[Version (since = "0.8")]
+ 		public GLib.SList<weak Clutter.Stage> list_stages ();
+ 		public unowned GLib.SList<Clutter.Stage> peek_stages ();
+-		[Version (deprecated = true, deprecated_since = "1.2", since = "0.8")]
+-		public void set_default_stage (Clutter.Stage stage);
+ 		[Version (since = "0.8")]
+ 		public Clutter.Stage default_stage { get; }
+ 		[Version (since = "0.8")]
+@@ -7206,63 +6670,33 @@ namespace Clutter {
+ 		public uint32 time;
+ 		public Clutter.EventType type;
+ 	}
+-	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_state_get_type ()")]
+-	[Version (since = "1.4")]
+-	public class State : GLib.Object, Clutter.Scriptable {
++	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_stage_view_get_type ()")]
++	public class StageView : GLib.Object {
+ 		[CCode (has_construct_function = false)]
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public State ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public uint get_duration (string? source_state_name, string? target_state_name);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public GLib.List<weak Clutter.StateKey> get_keys (string? source_state_name, string? target_state_name, GLib.Object? object, string? property_name);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public unowned string get_state ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public GLib.List<weak string> get_states ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public unowned Clutter.Timeline get_timeline ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public void remove_key (string? source_state_name, string? target_state_name, GLib.Object? object, string? property_name);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public void set_duration (string? source_state_name, string? target_state_name, uint duration);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public unowned Clutter.State set_key (string? source_state_name, string target_state_name, GLib.Object object, string property_name, uint mode, GLib.Value value, double pre_delay, double post_delay);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public unowned Clutter.Timeline set_state (string target_state_name);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public unowned Clutter.Timeline warp_to_state (string target_state_name);
++		protected StageView ();
++		public void assign_next_scanout (Cogl.Scanout scanout);
++		public unowned Cogl.Framebuffer get_framebuffer ();
++		public void get_layout (Cairo.RectangleInt rect);
++		public virtual void get_offscreen_transformation_matrix (Cogl.Matrix matrix);
++		public unowned Cogl.Framebuffer get_onscreen ();
++		public float get_scale ();
++		public void invalidate_offscreen_blit_pipeline ();
++		[NoWrapper]
++		public virtual void setup_offscreen_blit_pipeline (Cogl.Pipeline pipeline);
++		[NoWrapper]
++		public virtual void transform_rect_to_onscreen (Cairo.RectangleInt src_rect, int dst_width, int dst_height, Cairo.RectangleInt dst_rect);
+ 		[NoAccessorMethod]
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public uint duration { get; set; }
++		public Cairo.RectangleInt layout { owned get; set construct; }
+ 		[NoAccessorMethod]
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public string state { owned get; set; }
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public virtual signal void completed ();
+-	}
+-	[CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "clutter_state_key_get_type ()")]
+-	[Compact]
+-	[Version (since = "1.4")]
+-	public class StateKey {
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public ulong get_mode ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public unowned GLib.Object get_object ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public double get_post_delay ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public double get_pre_delay ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public unowned string get_property_name ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public GLib.Type get_property_type ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public unowned string get_source_state_name ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public unowned string get_target_state_name ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public bool get_value (GLib.Value value);
++		public string name { owned get; construct; }
++		[NoAccessorMethod]
++		public float refresh_rate { get; set construct; }
++		[NoAccessorMethod]
++		public float scale { get; set construct; }
++		[NoAccessorMethod]
++		public Clutter.Stage stage { owned get; construct; }
++		[NoAccessorMethod]
++		public bool use_shadowfb { get; construct; }
+ 	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_swipe_action_get_type ()")]
+ 	[Version (since = "1.8")]
+@@ -7274,53 +6708,6 @@ namespace Clutter {
+ 		[Version (since = "1.14")]
+ 		public virtual signal bool swipe (Clutter.Actor actor, Clutter.SwipeDirection direction);
+ 	}
+-	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_table_layout_get_type ()")]
+-	[Version (deprecated = true, deprecated_since = "1.18", since = "1.4")]
+-	public class TableLayout : Clutter.LayoutManager {
+-		[CCode (has_construct_function = false, type = "ClutterLayoutManager*")]
+-		public TableLayout ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public void get_alignment (Clutter.Actor actor, out Clutter.TableAlignment x_align, out Clutter.TableAlignment y_align);
+-		public int get_column_count ();
+-		public uint get_column_spacing ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public uint get_easing_duration ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public ulong get_easing_mode ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public void get_expand (Clutter.Actor actor, out bool x_expand, out bool y_expand);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public void get_fill (Clutter.Actor actor, out bool x_fill, out bool y_fill);
+-		public int get_row_count ();
+-		public uint get_row_spacing ();
+-		public void get_span (Clutter.Actor actor, out int column_span, out int row_span);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public bool get_use_animations ();
+-		public void pack (Clutter.Actor actor, int column, int row);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public void set_alignment (Clutter.Actor actor, Clutter.TableAlignment x_align, Clutter.TableAlignment y_align);
+-		public void set_column_spacing (uint spacing);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public void set_easing_duration (uint msecs);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public void set_easing_mode (ulong mode);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public void set_expand (Clutter.Actor actor, bool x_expand, bool y_expand);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public void set_fill (Clutter.Actor actor, bool x_fill, bool y_fill);
+-		public void set_row_spacing (uint spacing);
+-		public void set_span (Clutter.Actor actor, int column_span, int row_span);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public void set_use_animations (bool animate);
+-		public uint column_spacing { get; set; }
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public uint easing_duration { get; set; }
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public ulong easing_mode { get; set; }
+-		public uint row_spacing { get; set; }
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public bool use_animations { get; set; }
+-	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_tap_action_get_type ()")]
+ 	[Version (since = "1.14")]
+ 	public class TapAction : Clutter.GestureAction {
+@@ -7348,7 +6735,7 @@ namespace Clutter {
+ 		public Clutter.Color get_cursor_color ();
+ 		public int get_cursor_position ();
+ 		[Version (since = "1.16")]
+-		public void get_cursor_rect (out unowned Clutter.Rect rect);
++		public void get_cursor_rect (out unowned Graphene.Rect rect);
+ 		public uint get_cursor_size ();
+ 		public bool get_cursor_visible ();
+ 		public bool get_editable ();
+@@ -7467,7 +6854,7 @@ namespace Clutter {
+ 		[Version (since = "1.16")]
+ 		public virtual signal void cursor_changed ();
+ 		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public virtual signal void cursor_event (Clutter.Geometry geometry);
++		public virtual signal void cursor_event (Graphene.Rect rect);
+ 		[HasEmitter]
+ 		[Version (since = "1.2")]
+ 		public signal void delete_text (int start_pos, int end_pos);
+@@ -7505,94 +6892,6 @@ namespace Clutter {
+ 		[CCode (has_construct_function = false, type = "ClutterPaintNode*")]
+ 		public TextNode (Pango.Layout? layout, Clutter.Color? color);
+ 	}
+-	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_texture_get_type ()")]
+-	[Version (since = "0.2")]
+-	public class Texture : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+-		[CCode (has_construct_function = false, type = "ClutterActor*")]
+-		[Version (deprecated = true, deprecated_since = "1.12")]
+-		public Texture ();
+-		[CCode (has_construct_function = false, type = "ClutterActor*")]
+-		[Version (deprecated = true, deprecated_since = "1.8", since = "0.6")]
+-		public Texture.from_actor (Clutter.Actor actor);
+-		[CCode (has_construct_function = false, type = "ClutterActor*")]
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "0.8")]
+-		public Texture.from_file (string filename) throws Clutter.TextureError;
+-		[Version (deprecated = true, deprecated_since = "1.12")]
+-		public void get_base_size (out int width, out int height);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public unowned Cogl.Handle get_cogl_material ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "0.8")]
+-		public unowned Cogl.Handle get_cogl_texture ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "0.8")]
+-		public Clutter.TextureQuality get_filter_quality ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public bool get_keep_aspect_ratio ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public bool get_load_async ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public bool get_load_data_async ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "0.8")]
+-		public int get_max_tile_waste ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public bool get_pick_with_alpha ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public void get_repeat (out bool repeat_x, out bool repeat_y);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public bool get_sync_size ();
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "0.6")]
+-		public bool set_area_from_rgb_data ([CCode (array_length = false)] uint8[] data, bool has_alpha, int x, int y, int width, int height, int rowstride, int bpp, Clutter.TextureFlags flags) throws GLib.Error;
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "0.8")]
+-		public void set_cogl_material (Cogl.Handle cogl_material);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "0.8")]
+-		public void set_cogl_texture (Cogl.Handle cogl_tex);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "0.8")]
+-		public void set_filter_quality (Clutter.TextureQuality filter_quality);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "0.8")]
+-		public bool set_from_file (string filename) throws GLib.Error;
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "0.4")]
+-		public bool set_from_rgb_data ([CCode (array_length = false)] uint8[] data, bool has_alpha, int width, int height, int rowstride, int bpp, Clutter.TextureFlags flags) throws GLib.Error;
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "0.4")]
+-		public bool set_from_yuv_data ([CCode (array_length = false)] uint8[] data, int width, int height, Clutter.TextureFlags flags) throws GLib.Error;
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public void set_keep_aspect_ratio (bool keep_aspect);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public void set_load_async (bool load_async);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public void set_load_data_async (bool load_async);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.4")]
+-		public void set_pick_with_alpha (bool pick_with_alpha);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public void set_repeat (bool repeat_x, bool repeat_y);
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public void set_sync_size (bool sync_size);
+-		public Cogl.Material cogl_material { get; set; }
+-		public Cogl.Texture cogl_texture { get; set; }
+-		[NoAccessorMethod]
+-		public bool disable_slicing { get; construct; }
+-		[NoAccessorMethod]
+-		[Version (deprecated = true, deprecated_since = "1.12")]
+-		public string filename { owned get; set; }
+-		public Clutter.TextureQuality filter_quality { get; set construct; }
+-		public bool keep_aspect_ratio { get; set; }
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public bool load_async { set; }
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public bool load_data_async { set; }
+-		public bool pick_with_alpha { get; set; }
+-		[NoAccessorMethod]
+-		public bool repeat_x { get; set; }
+-		[NoAccessorMethod]
+-		public bool repeat_y { get; set; }
+-		public bool sync_size { get; set; }
+-		[NoAccessorMethod]
+-		public int tile_waste { get; }
+-		[Version (deprecated = true, deprecated_since = "1.12", since = "1.0")]
+-		public virtual signal void load_finished (GLib.Error error);
+-		[Version (deprecated = true, deprecated_since = "1.12")]
+-		public virtual signal void pixbuf_change ();
+-		[Version (deprecated = true, deprecated_since = "1.12")]
+-		public virtual signal void size_change (int width, int height);
+-	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_texture_node_get_type ()")]
+ 	[Version (since = "1.10")]
+ 	public class TextureNode : Clutter.PipelineNode {
+@@ -7604,7 +6903,7 @@ namespace Clutter {
+ 	public class Timeline : GLib.Object, Clutter.Scriptable {
+ 		[CCode (has_construct_function = false)]
+ 		[Version (since = "0.6")]
+-		public Timeline (uint msecs);
++		public Timeline (uint duration_ms);
+ 		[Version (since = "1.14")]
+ 		public void add_marker (string marker_name, double progress);
+ 		[Version (since = "0.8")]
+@@ -7612,12 +6911,15 @@ namespace Clutter {
+ 		public void advance (uint msecs);
+ 		[Version (since = "0.8")]
+ 		public void advance_to_marker (string marker_name);
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "0.4")]
+-		public Clutter.Timeline clone ();
++		[CCode (has_construct_function = false)]
++		public Timeline.for_actor (Clutter.Actor actor, uint duration_ms);
++		[CCode (has_construct_function = false)]
++		public Timeline.for_frame_clock (Clutter.FrameClock frame_clock, uint duration_ms);
++		public unowned Clutter.Actor get_actor ();
+ 		[Version (since = "1.6")]
+ 		public bool get_auto_reverse ();
+ 		[Version (since = "1.12")]
+-		public bool get_cubic_bezier_progress (Clutter.Point c_1, Clutter.Point c_2);
++		public bool get_cubic_bezier_progress (Graphene.Point c_1, Graphene.Point c_2);
+ 		[Version (since = "1.10")]
+ 		public int get_current_repeat ();
+ 		[Version (since = "0.4")]
+@@ -7631,8 +6933,6 @@ namespace Clutter {
+ 		[Version (since = "1.10")]
+ 		public int64 get_duration_hint ();
+ 		public uint get_elapsed_time ();
+-		[Version (deprecated = true, deprecated_since = "1.10")]
+-		public bool get_loop ();
+ 		[Version (since = "0.6")]
+ 		public double get_progress ();
+ 		[Version (since = "1.10")]
+@@ -7651,18 +6951,18 @@ namespace Clutter {
+ 		[Version (since = "0.8")]
+ 		public void remove_marker (string marker_name);
+ 		public void rewind ();
++		public void set_actor (Clutter.Actor? actor);
+ 		[Version (since = "1.6")]
+ 		public void set_auto_reverse (bool reverse);
+ 		[Version (since = "1.12")]
+-		public void set_cubic_bezier_progress (Clutter.Point c_1, Clutter.Point c_2);
++		public void set_cubic_bezier_progress (Graphene.Point c_1, Graphene.Point c_2);
+ 		[Version (since = "0.4")]
+ 		public void set_delay (uint msecs);
+ 		[Version (since = "0.6")]
+ 		public void set_direction (Clutter.TimelineDirection direction);
+ 		[Version (since = "0.6")]
+ 		public void set_duration (uint msecs);
+-		[Version (deprecated = true, deprecated_since = "1.10")]
+-		public void set_loop (bool loop);
++		public void set_frame_clock (Clutter.FrameClock frame_clock);
+ 		[Version (since = "1.10")]
+ 		public void set_progress_func (owned Clutter.TimelineProgressFunc? func);
+ 		[Version (since = "1.10")]
+@@ -7674,6 +6974,7 @@ namespace Clutter {
+ 		public void skip (uint msecs);
+ 		public void start ();
+ 		public void stop ();
++		public Clutter.Actor actor { get; set construct; }
+ 		[Version (since = "1.6")]
+ 		public bool auto_reverse { get; set; }
+ 		[Version (since = "0.4")]
+@@ -7682,8 +6983,8 @@ namespace Clutter {
+ 		public Clutter.TimelineDirection direction { get; set; }
+ 		[Version (since = "0.6")]
+ 		public uint duration { get; set; }
+-		[Version (deprecated = true, deprecated_since = "1.10")]
+-		public bool loop { get; set; }
++		[NoAccessorMethod]
++		public Clutter.FrameClock frame_clock { owned get; set construct; }
+ 		[Version (since = "1.10")]
+ 		public Clutter.AnimationMode progress_mode { get; set; }
+ 		[Version (since = "1.10")]
+@@ -7697,12 +6998,6 @@ namespace Clutter {
+ 		[Version (since = "1.12")]
+ 		public virtual signal void stopped (bool is_finished);
+ 	}
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+-	[Compact]
+-	public class TimeoutPool {
+-		[CCode (has_construct_function = false)]
+-		public TimeoutPool (int priority);
+-	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+ 	[Compact]
+ 	[Version (since = "1.10")]
+@@ -7753,6 +7048,11 @@ namespace Clutter {
+ 		public float x;
+ 		public float y;
+ 	}
++	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_transform_node_get_type ()")]
++	public class TransformNode : Clutter.PaintNode {
++		[CCode (has_construct_function = false, type = "ClutterPaintNode*")]
++		public TransformNode (Cogl.Matrix projection);
++	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_transition_get_type ()")]
+ 	[Version (since = "1.10")]
+ 	public abstract class Transition : Clutter.Timeline, Clutter.Scriptable {
+@@ -7792,7 +7092,6 @@ namespace Clutter {
+ 		[CCode (has_construct_function = false)]
+ 		protected VirtualInputDevice ();
+ 		public int get_device_type ();
+-		public unowned Clutter.DeviceManager get_manager ();
+ 		public virtual void notify_absolute_motion (uint64 time_us, double x, double y);
+ 		public virtual void notify_button (uint64 time_us, uint32 button, Clutter.ButtonState button_state);
+ 		public virtual void notify_discrete_scroll (uint64 time_us, Clutter.ScrollDirection direction, Clutter.ScrollSource scroll_source);
+@@ -7803,28 +7102,27 @@ namespace Clutter {
+ 		public virtual void notify_touch_down (uint64 time_us, int slot, double x, double y);
+ 		public virtual void notify_touch_motion (uint64 time_us, int slot, double x, double y);
+ 		public virtual void notify_touch_up (uint64 time_us, int slot);
+-		[NoAccessorMethod]
+-		public Clutter.DeviceManager device_manager { owned get; construct; }
+ 		public Clutter.InputDeviceType device_type { get; construct; }
++		[NoAccessorMethod]
++		public Clutter.Seat seat { owned get; construct; }
+ 	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_zoom_action_get_type ()")]
+ 	[Version (since = "1.12")]
+ 	public class ZoomAction : Clutter.GestureAction {
+ 		[CCode (has_construct_function = false, type = "ClutterAction*")]
+ 		public ZoomAction ();
+-		public void get_focal_point (Clutter.Point point);
+-		public void get_transformed_focal_point (Clutter.Point point);
++		public void get_focal_point (Graphene.Point point);
++		public void get_transformed_focal_point (Graphene.Point point);
+ 		public Clutter.ZoomAxis get_zoom_axis ();
+ 		public void set_zoom_axis (Clutter.ZoomAxis axis);
+ 		public Clutter.ZoomAxis zoom_axis { get; set; }
+-		public virtual signal bool zoom (Clutter.Actor actor, Clutter.Point focal_point, double factor);
++		public virtual signal bool zoom (Clutter.Actor actor, Graphene.Point focal_point, double factor);
+ 	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_cname = "ClutterAnimatableInterface", type_id = "clutter_animatable_get_type ()")]
+ 	public interface Animatable : GLib.Object {
+-		[Version (deprecated = true, deprecated_since = "1.8", since = "1.0")]
+-		public abstract bool animate_property (Clutter.Animation animation, string property_name, GLib.Value initial_value, GLib.Value final_value, double progress, GLib.Value value);
+ 		[Version (since = "1.4")]
+ 		public abstract unowned GLib.ParamSpec find_property (string property_name);
++		public abstract unowned Clutter.Actor get_actor ();
+ 		[Version (since = "1.4")]
+ 		public abstract void get_initial_state (string property_name, GLib.Value value);
+ 		[Version (since = "1.8")]
+@@ -7835,12 +7133,9 @@ namespace Clutter {
+ 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_container_get_type ()")]
+ 	[Version (since = "0.4")]
+ 	public interface Container : GLib.Object {
+-		public void add (params Clutter.Actor[] actors);
+ 		[CCode (vfunc_name = "add")]
+ 		[Version (deprecated = true, deprecated_since = "1.10", since = "0.4")]
+ 		public abstract void add_actor (Clutter.Actor actor);
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "0.4")]
+-		public void add_valist (Clutter.Actor first_actor, va_list var_args);
+ 		[Version (since = "0.8")]
+ 		public void child_get (Clutter.Actor actor, ...);
+ 		[Version (since = "0.8")]
+@@ -7860,18 +7155,10 @@ namespace Clutter {
+ 		public virtual void destroy_child_meta (Clutter.Actor actor);
+ 		[Version (since = "0.6")]
+ 		public unowned Clutter.Actor find_child_by_name (string child_name);
+-		[CCode (cname = "clutter_container_class_find_child_property")]
+-		public class unowned GLib.ParamSpec find_child_property (string property_name);
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "0.4")]
+-		public abstract void @foreach (Clutter.Callback callback);
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "1.0")]
+-		public virtual void foreach_with_internals (Clutter.Callback callback);
+ 		[Version (since = "0.8")]
+ 		public virtual unowned Clutter.ChildMeta get_child_meta (Clutter.Actor actor);
+ 		[Version (deprecated = true, deprecated_since = "1.10", since = "0.4")]
+ 		public GLib.List<weak Clutter.Actor> get_children ();
+-		[CCode (cname = "clutter_container_class_list_child_properties")]
+-		public class unowned GLib.ParamSpec[] list_child_properties ();
+ 		[CCode (vfunc_name = "lower")]
+ 		[Version (deprecated = true, deprecated_since = "1.10", since = "0.6")]
+ 		public virtual void lower_child (Clutter.Actor actor, Clutter.Actor? sibling = null);
+@@ -7883,8 +7170,6 @@ namespace Clutter {
+ 		[CCode (vfunc_name = "remove")]
+ 		[Version (deprecated = true, deprecated_since = "1.10", since = "0.4")]
+ 		public abstract void remove_actor (Clutter.Actor actor);
+-		[Version (deprecated = true, deprecated_since = "1.10", since = "0.4")]
+-		public void remove_valist (Clutter.Actor first_actor, va_list var_args);
+ 		[Version (deprecated = true, deprecated_since = "1.10", since = "0.6")]
+ 		public abstract void sort_depth_order ();
+ 		public virtual signal void actor_added (Clutter.Actor actor);
+@@ -7901,7 +7186,7 @@ namespace Clutter {
+ 		public abstract void invalidate ();
+ 		public abstract void invalidate_size ();
+ 		[NoWrapper]
+-		public abstract void paint_content (Clutter.Actor actor, Clutter.PaintNode node);
++		public abstract void paint_content (Clutter.Actor actor, Clutter.PaintNode node, Clutter.PaintContext paint_context);
+ 		[Version (since = "1.10")]
+ 		public virtual signal void attached (Clutter.Actor actor);
+ 		[Version (since = "1.10")]
+@@ -7915,47 +7200,16 @@ namespace Clutter {
+ 		public abstract void set_custom_property (Clutter.Script script, string name, GLib.Value value);
+ 		public abstract void set_id (string id_);
+ 	}
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+-	public interface StageWindow : GLib.Object {
+-		[NoWrapper]
+-		public abstract void add_redraw_clip (Clutter.Geometry stage_rectangle);
+-		[NoWrapper]
+-		public abstract void get_geometry (Clutter.Geometry geometry);
+-		[NoWrapper]
+-		public abstract int get_pending_swaps ();
+-		[NoWrapper]
+-		public abstract unowned Clutter.Actor get_wrapper ();
+-		[NoWrapper]
+-		public abstract bool has_redraw_clips ();
+-		[NoWrapper]
+-		public abstract void hide ();
+-		[NoWrapper]
+-		public abstract bool ignoring_redraw_clips ();
+-		[NoWrapper]
+-		public abstract bool realize ();
+-		[NoWrapper]
+-		public abstract void resize (int width, int height);
+-		[NoWrapper]
+-		public abstract void set_cursor_visible (bool cursor_visible);
+-		[NoWrapper]
+-		public abstract void set_fullscreen (bool is_fullscreen);
+-		[NoWrapper]
+-		public abstract void set_title (string title);
+-		[NoWrapper]
+-		public abstract void set_user_resizable (bool is_resizable);
+-		[NoWrapper]
+-		public abstract void show (bool do_raise);
+-		[NoWrapper]
+-		public abstract void unrealize ();
+-	}
+-	[CCode (cheader_filename = "clutter/clutter.h", type_id = "CLUTTER_TYPE_ACTOR_BOX")]
++	[CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "clutter_actor_box_get_type ()")]
+ 	public struct ActorBox {
+ 		public float x1;
+ 		public float y1;
+ 		public float x2;
+ 		public float y2;
++		[Version (since = "1.12")]
++		public static Clutter.ActorBox? alloc ();
+ 		[Version (since = "1.2")]
+-		public void clamp_to_pixel ();
++		public static void clamp_to_pixel (ref Clutter.ActorBox box);
+ 		[Version (since = "1.0")]
+ 		public bool contains (float x, float y);
+ 		[Version (since = "1.0")]
+@@ -7964,8 +7218,6 @@ namespace Clutter {
+ 		public bool equal (Clutter.ActorBox box_b);
+ 		[Version (since = "1.0")]
+ 		public void free ();
+-		[CCode (cname = "clutter_actor_box_from_vertices")]
+-		public ActorBox.from_vertices (Clutter.Vertex[] verts);
+ 		[Version (since = "1.0")]
+ 		public float get_area ();
+ 		[Version (since = "1.0")]
+@@ -7986,6 +7238,7 @@ namespace Clutter {
+ 		public void init_rect (float x, float y, float width, float height);
+ 		[Version (since = "1.2")]
+ 		public Clutter.ActorBox interpolate (Clutter.ActorBox final, double progress);
++		public bool is_initialized ();
+ 		[Version (since = "1.6")]
+ 		public void scale (float scale);
+ 		[Version (since = "1.6")]
+@@ -8011,7 +7264,7 @@ namespace Clutter {
+ 		public weak Cairo.Surface image;
+ 		public Cairo.RectangleInt rect;
+ 	}
+-	[CCode (cheader_filename = "clutter/clutter.h", type_id = "CLUTTER_TYPE_COLOR")]
++	[CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "clutter_color_get_type ()")]
+ 	public struct Color {
+ 		public uint8 red;
+ 		public uint8 green;
+@@ -8027,12 +7280,11 @@ namespace Clutter {
+ 		public bool equal (Clutter.Color v2);
+ 		[Version (since = "0.2")]
+ 		public void free ();
+-		[CCode (cname = "clutter_color_from_hls")]
+-		public Color.from_hls (float hue, float luminance, float saturation);
+-		[CCode (cname = "clutter_color_from_pixel")]
+-		public Color.from_pixel (uint32 pixel);
+-		[CCode (cname = "clutter_color_from_string")]
+-		public Color.from_string (string str);
++		public static void from_hls (out Clutter.Color color, float hue, float luminance, float saturation);
++		public static void from_pixel (out Clutter.Color color, uint32 pixel);
++		[Version (since = "1.0")]
++		public static bool from_string (out Clutter.Color color, string str);
++		[Version (since = "1.6")]
+ 		public static unowned Clutter.Color? get_static (Clutter.StaticColor color);
+ 		[Version (since = "1.0")]
+ 		public uint hash ();
+@@ -8041,8 +7293,6 @@ namespace Clutter {
+ 		[Version (since = "1.6")]
+ 		public Clutter.Color interpolate (Clutter.Color final, double progress);
+ 		public Clutter.Color lighten ();
+-		[CCode (cname = "clutter_color_from_string")]
+-		public bool parse_string (string str);
+ 		public Clutter.Color shade (double factor);
+ 		public Clutter.Color subtract (Clutter.Color b);
+ 		public void to_hls (out float hue, out float luminance, out float saturation);
+@@ -8050,23 +7300,10 @@ namespace Clutter {
+ 		[Version (since = "0.2")]
+ 		public string to_string ();
+ 	}
+-	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_fog_get_type ()")]
+-	[Version (deprecated = true, deprecated_since = "1.10", since = "0.6")]
+-	public struct Fog {
+-		public float z_near;
+-		public float z_far;
+-	}
+-	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_geometry_get_type ()")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public struct Geometry {
+-		public int x;
+-		public int y;
+-		public uint width;
+-		public uint height;
+-		[Version (since = "1.4")]
+-		public bool intersects (Clutter.Geometry geometry1);
+-		[Version (since = "1.4")]
+-		public Clutter.Geometry union (Clutter.Geometry geometry_b);
++	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
++	public struct FrameListenerIface {
++		public weak global::before_frame before_frame;
++		public weak global::frame frame;
+ 	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+ 	public struct KbdA11ySettings {
+@@ -8078,7 +7315,7 @@ namespace Clutter {
+ 		public int mousekeys_max_speed;
+ 		public int mousekeys_accel_time;
+ 	}
+-	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_knot_get_type ()")]
++	[CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "clutter_knot_get_type ()")]
+ 	[Version (since = "0.2")]
+ 	public struct Knot {
+ 		public int x;
+@@ -8087,8 +7324,19 @@ namespace Clutter {
+ 		public bool equal (Clutter.Knot knot_b);
+ 		public void free ();
+ 	}
+-	[CCode (cheader_filename = "clutter/clutter.h")]
++	[CCode (cheader_filename = "clutter/clutter.h", type_id = "COGL_TYPE_MATRIX")]
+ 	public struct Matrix : Cogl.Matrix {
++		[Version (since = "1.12")]
++		public static Clutter.Matrix? alloc ();
++		[Version (since = "1.12")]
++		public void free ();
++		public static GLib.Type get_type ();
++		[Version (since = "1.12")]
++		public unowned Clutter.Matrix? init_from_array ([CCode (array_length = false)] float values[16]);
++		[Version (since = "1.12")]
++		public unowned Clutter.Matrix? init_from_matrix (Clutter.Matrix b);
++		[Version (since = "1.12")]
++		public unowned Clutter.Matrix? init_identity ();
+ 	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+ 	public struct PadButtonEvent {
+@@ -8130,7 +7378,7 @@ namespace Clutter {
+ 		public double value;
+ 		public uint32 mode;
+ 	}
+-	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_path_node_get_type ()")]
++	[CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "clutter_path_node_get_type ()")]
+ 	[Version (since = "1.0")]
+ 	public struct PathNode {
+ 		public Clutter.PathNodeType type;
+@@ -8140,7 +7388,7 @@ namespace Clutter {
+ 		public bool equal (Clutter.PathNode node_b);
+ 		public void free ();
+ 	}
+-	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_perspective_get_type ()")]
++	[CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "clutter_perspective_get_type ()")]
+ 	[Version (since = "0.4")]
+ 	public struct Perspective {
+ 		public float fovy;
+@@ -8149,6 +7397,19 @@ namespace Clutter {
+ 		public float z_far;
+ 	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
++	public struct PointerA11ySettings {
++		public Clutter.PointerA11yFlags controls;
++		public Clutter.PointerA11yDwellClickType dwell_click_type;
++		public Clutter.PointerA11yDwellMode dwell_mode;
++		public Clutter.PointerA11yDwellDirection dwell_gesture_single;
++		public Clutter.PointerA11yDwellDirection dwell_gesture_double;
++		public Clutter.PointerA11yDwellDirection dwell_gesture_drag;
++		public Clutter.PointerA11yDwellDirection dwell_gesture_secondary;
++		public int secondary_click_delay;
++		public int dwell_delay;
++		public int dwell_threshold;
++	}
++	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+ 	[Version (since = "1.28")]
+ 	public struct ProximityEvent {
+ 		public Clutter.EventType type;
+@@ -8158,47 +7419,16 @@ namespace Clutter {
+ 		public weak Clutter.Actor source;
+ 		public weak Clutter.InputDevice device;
+ 	}
+-	[CCode (cheader_filename = "clutter/clutter.h", type_id = "CLUTTER_TYPE_UNITS")]
++	[CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "clutter_units_get_type ()")]
+ 	[Version (since = "1.0")]
+ 	public struct Units {
+ 		public Clutter.Units? copy ();
+ 		public void free ();
+-		[CCode (cname = "clutter_units_from_cm")]
+-		public Units.from_cm (float cm);
+-		[CCode (cname = "clutter_units_from_em")]
+-		public Units.from_em (float em);
+-		[CCode (cname = "clutter_units_from_em_for_font")]
+-		public Units.from_em_for_font (string font_name, float em);
+-		[CCode (cname = "clutter_units_from_mm")]
+-		public Units.from_mm (float mm);
+-		[CCode (cname = "clutter_units_from_pixels")]
+-		public Units.from_pixels (int px);
+-		[CCode (cname = "clutter_units_from_pt")]
+-		public Units.from_pt (float pt);
+-		[CCode (cname = "clutter_units_from_string")]
+-		public Units.from_string (string str);
+ 		public Clutter.UnitType get_unit_type ();
+ 		public float get_unit_value ();
+ 		public float to_pixels ();
+ 		public string to_string ();
+ 	}
+-	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_vertex_get_type ()")]
+-	[Version (since = "0.4")]
+-	public struct Vertex {
+-		public float x;
+-		public float y;
+-		public float z;
+-		[Version (since = "1.12")]
+-		public static Clutter.Vertex? alloc ();
+-		[Version (since = "1.0")]
+-		public Clutter.Vertex? copy ();
+-		[Version (since = "1.0")]
+-		public bool equal (Clutter.Vertex vertex_b);
+-		[Version (since = "1.0")]
+-		public void free ();
+-		[Version (since = "1.10")]
+-		public unowned Clutter.Vertex? init (float x, float y, float z);
+-	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_ACTOR_ALIGN_", type_id = "clutter_actor_align_get_type ()")]
+ 	[Version (since = "1.10")]
+ 	public enum ActorAlign {
+@@ -8223,14 +7453,6 @@ namespace Clutter {
+ 		Y_AXIS,
+ 		BOTH
+ 	}
+-	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_", type_id = "clutter_allocation_flags_get_type ()")]
+-	[Flags]
+-	[Version (since = "1.0")]
+-	public enum AllocationFlags {
+-		ALLOCATION_NONE,
+-		ABSOLUTE_ORIGIN_CHANGED,
+-		DELEGATE_LAYOUT
+-	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_", type_id = "clutter_animation_mode_get_type ()")]
+ 	[Version (since = "1.0")]
+ 	public enum AnimationMode {
+@@ -8336,6 +7558,27 @@ namespace Clutter {
+ 		Y_AXIS,
+ 		BOTH
+ 	}
++	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_DEBUG_", type_id = "clutter_debug_flag_get_type ()")]
++	[Flags]
++	public enum DebugFlag {
++		MISC,
++		ACTOR,
++		TEXTURE,
++		EVENT,
++		PAINT,
++		PANGO,
++		BACKEND,
++		SCHEDULER,
++		SCRIPT,
++		SHADER,
++		MULTISTAGE,
++		ANIMATION,
++		LAYOUT,
++		PICK,
++		EVENTLOOP,
++		CLIPPING,
++		OOB_TRANSFORMS
++	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_DRAG_", type_id = "clutter_drag_axis_get_type ()")]
+ 	[Version (since = "1.4")]
+ 	public enum DragAxis {
+@@ -8343,11 +7586,24 @@ namespace Clutter {
+ 		X_AXIS,
+ 		Y_AXIS
+ 	}
+-	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_EFFECT_PAINT_ACTOR_", type_id = "clutter_effect_paint_flags_get_type ()")]
++	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_DEBUG_", type_id = "clutter_draw_debug_flag_get_type ()")]
++	[Flags]
++	public enum DrawDebugFlag {
++		DISABLE_SWAP_EVENTS,
++		DISABLE_CLIPPED_REDRAWS,
++		REDRAWS,
++		PAINT_VOLUMES,
++		DISABLE_CULLING,
++		DISABLE_OFFSCREEN_REDIRECT,
++		CONTINUOUS_REDRAW,
++		PAINT_DEFORM_TILES,
++		PAINT_DAMAGE_REGION
++	}
++	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_EFFECT_PAINT_", type_id = "clutter_effect_paint_flags_get_type ()")]
+ 	[Flags]
+ 	public enum EffectPaintFlags {
+-		[CCode (cname = "CLUTTER_EFFECT_PAINT_ACTOR_DIRTY")]
+-		ACTOR_DIRTY
++		ACTOR_DIRTY,
++		BYPASS_EFFECT
+ 	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_EVENT_", type_id = "clutter_event_flags_get_type ()")]
+ 	[Flags]
+@@ -8392,21 +7648,12 @@ namespace Clutter {
+ 	[Flags]
+ 	[Version (since = "0.4")]
+ 	public enum FeatureFlags {
+-		TEXTURE_NPOT,
+-		SWAP_THROTTLE,
+-		TEXTURE_YUV,
+-		TEXTURE_READ_PIXELS,
+ 		STAGE_STATIC,
+-		STAGE_USER_RESIZE,
+ 		STAGE_CURSOR,
+ 		SHADERS_GLSL,
+ 		OFFSCREEN,
+ 		STAGE_MULTIPLE,
+-		SWAP_EVENTS;
+-		[CCode (cname = "clutter_feature_available")]
+-		public bool is_available ();
+-		[CCode (cname = "clutter_feature_get_all")]
+-		public static Clutter.FeatureFlags @get ();
++		SWAP_EVENTS
+ 	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_FLOW_", type_id = "clutter_flow_orientation_get_type ()")]
+ 	[Version (since = "1.2")]
+@@ -8414,12 +7661,10 @@ namespace Clutter {
+ 		HORIZONTAL,
+ 		VERTICAL
+ 	}
+-	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_FONT_", type_id = "clutter_font_flags_get_type ()")]
+-	[Flags]
+-	[Version (deprecated = true, deprecated_since = "1.22", since = "1.0")]
+-	public enum FontFlags {
+-		MIPMAPPING,
+-		HINTING
++	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_FRAME_RESULT_", type_id = "clutter_frame_result_get_type ()")]
++	public enum FrameResult {
++		PENDING_PRESENTED,
++		IDLE
+ 	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_GESTURE_TRIGGER_EDGE_", type_id = "clutter_gesture_trigger_edge_get_type ()")]
+ 	[Version (since = "1.18")]
+@@ -8634,7 +7879,8 @@ namespace Clutter {
+ 	[Version (since = "1.8")]
+ 	public enum OffscreenRedirect {
+ 		AUTOMATIC_FOR_OPACITY,
+-		ALWAYS
++		ALWAYS,
++		ON_IDLE
+ 	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_ORIENTATION_", type_id = "clutter_orientation_get_type ()")]
+ 	[Version (since = "1.12")]
+@@ -8642,6 +7888,13 @@ namespace Clutter {
+ 		HORIZONTAL,
+ 		VERTICAL
+ 	}
++	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_PAINT_FLAG_", type_id = "clutter_paint_flag_get_type ()")]
++	[Flags]
++	public enum PaintFlag {
++		NONE,
++		NO_CURSORS,
++		FORCE_CURSORS
++	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_PAN_", type_id = "clutter_pan_axis_get_type ()")]
+ 	[Version (since = "1.12")]
+ 	public enum PanAxis {
+@@ -8661,6 +7914,11 @@ namespace Clutter {
+ 		REL_LINE_TO,
+ 		REL_CURVE_TO
+ 	}
++	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_DEBUG_NOP_", type_id = "clutter_pick_debug_flag_get_type ()")]
++	[Flags]
++	public enum PickDebugFlag {
++		PICKING
++	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_PICK_", type_id = "clutter_pick_mode_get_type ()")]
+ 	[Version (since = "1.0")]
+ 	public enum PickMode {
+@@ -8668,13 +7926,46 @@ namespace Clutter {
+ 		REACTIVE,
+ 		ALL
+ 	}
++	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_A11Y_DWELL_CLICK_TYPE_", type_id = "clutter_pointer_a11y_dwell_click_type_get_type ()")]
++	public enum PointerA11yDwellClickType {
++		NONE,
++		PRIMARY,
++		SECONDARY,
++		MIDDLE,
++		DOUBLE,
++		DRAG
++	}
++	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_A11Y_DWELL_DIRECTION_", type_id = "clutter_pointer_a11y_dwell_direction_get_type ()")]
++	public enum PointerA11yDwellDirection {
++		NONE,
++		LEFT,
++		RIGHT,
++		UP,
++		DOWN
++	}
++	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_A11Y_DWELL_MODE_", type_id = "clutter_pointer_a11y_dwell_mode_get_type ()")]
++	public enum PointerA11yDwellMode {
++		WINDOW,
++		GESTURE
++	}
++	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_A11Y_", type_id = "clutter_pointer_a11y_flags_get_type ()")]
++	[Flags]
++	public enum PointerA11yFlags {
++		SECONDARY_CLICK_ENABLED,
++		DWELL_ENABLED
++	}
++	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_A11Y_TIMEOUT_TYPE_", type_id = "clutter_pointer_a11y_timeout_type_get_type ()")]
++	public enum PointerA11yTimeoutType {
++		SECONDARY_CLICK,
++		DWELL,
++		GESTURE
++	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_REPAINT_FLAGS_", type_id = "clutter_repaint_flags_get_type ()")]
+ 	[Flags]
+ 	[Version (since = "1.10")]
+ 	public enum RepaintFlags {
+ 		PRE_PAINT,
+-		POST_PAINT,
+-		QUEUE_REDRAW_ON_ADD
++		POST_PAINT
+ 	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_REQUEST_", type_id = "clutter_request_mode_get_type ()")]
+ 	[Version (since = "0.8")]
+@@ -8755,8 +8046,6 @@ namespace Clutter {
+ 	[Flags]
+ 	[Version (since = "0.4")]
+ 	public enum StageState {
+-		FULLSCREEN,
+-		OFFSCREEN,
+ 		ACTIVATED
+ 	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_COLOR_", type_id = "clutter_static_color_get_type ()")]
+@@ -8823,13 +8112,6 @@ namespace Clutter {
+ 		LEFT,
+ 		RIGHT
+ 	}
+-	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_TABLE_ALIGNMENT_", type_id = "clutter_table_alignment_get_type ()")]
+-	[Version (deprecated = true, deprecated_since = "1.22", since = "1.4")]
+-	public enum TableAlignment {
+-		START,
+-		CENTER,
+-		END
+-	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_TEXT_DIRECTION_", type_id = "clutter_text_direction_get_type ()")]
+ 	[Version (since = "1.2")]
+ 	public enum TextDirection {
+@@ -8905,28 +8187,16 @@ namespace Clutter {
+ 		VALUE;
+ 		public static GLib.Quark quark ();
+ 	}
+-	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_TEXTURE_ERROR_")]
+-	[Version (since = "0.4")]
+-	public errordomain TextureError {
+-		OUT_OF_MEMORY,
+-		NO_YUV,
+-		BAD_FORMAT;
+-		public static GLib.Quark quark ();
+-	}
+ 	[CCode (cheader_filename = "clutter/clutter.h", instance_pos = 1.9)]
+ 	[Version (since = "1.24")]
+ 	public delegate Clutter.Actor ActorCreateChildFunc (GLib.Object item);
+-	[CCode (cheader_filename = "clutter/clutter.h", instance_pos = 1.9)]
+-	[Version (deprecated = true, deprecated_since = "1.12", since = "0.2")]
+-	public delegate double AlphaFunc (Clutter.Alpha alpha);
+-	[CCode (cheader_filename = "clutter/clutter.h", instance_pos = 2.9)]
+-	[Version (deprecated = true, deprecated_since = "1.6", since = "0.2")]
+-	public delegate void BehaviourForeachFunc (Clutter.Behaviour behaviour, Clutter.Actor actor);
+ 	[CCode (cheader_filename = "clutter/clutter.h", instance_pos = 4.9)]
+ 	[Version (since = "1.0")]
+ 	public delegate bool BindingActionFunc (GLib.Object gobject, string action_name, uint key_val, Clutter.ModifierType modifiers);
+ 	[CCode (cheader_filename = "clutter/clutter.h", instance_pos = 1.9)]
+ 	public delegate void Callback (Clutter.Actor actor);
++	[CCode (cheader_filename = "clutter/clutter.h", has_target = false)]
++	public delegate void EmitInputDeviceEvent (Clutter.Event event, Clutter.InputDevice device);
+ 	[CCode (cheader_filename = "clutter/clutter.h", instance_pos = 1.9)]
+ 	[Version (since = "1.18")]
+ 	public delegate bool EventFilterFunc (Clutter.Event event);
+@@ -8957,9 +8227,6 @@ namespace Clutter {
+ 	[Version (since = "0.8")]
+ 	public const int PRIORITY_REDRAW;
+ 	[CCode (cheader_filename = "clutter/clutter.h")]
+-	[Version (since = "1.12")]
+-	public static Clutter.ActorBox? actor_box_alloc ();
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+ 	public static void base_init ();
+ 	[CCode (cheader_filename = "clutter/clutter.h")]
+ 	[Version (since = "1.12")]
+@@ -8971,37 +8238,12 @@ namespace Clutter {
+ 	[Version (since = "1.10")]
+ 	public static bool check_windowing_backend (string backend_type);
+ 	[CCode (cheader_filename = "clutter/clutter.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10", since = "0.8")]
+-	public static void clear_glyph_cache ();
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+-	public static void color_from_hls (out Clutter.Color color, float hue, float luminance, float saturation);
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+-	public static void color_from_pixel (out Clutter.Color color, uint32 pixel);
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+-	[Version (since = "1.0")]
+-	public static bool color_from_string (out Clutter.Color color, string str);
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+-	[Version (since = "1.6")]
+-	public static unowned Clutter.Color? color_get_static (Clutter.StaticColor color);
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+ 	[Version (since = "1.14")]
+ 	public static void disable_accessibility ();
+ 	[CCode (cheader_filename = "clutter/clutter.h")]
+ 	[Version (since = "0.4")]
+ 	public static void do_event (Clutter.Event event);
+ 	[CCode (cheader_filename = "clutter/clutter.h")]
+-	[Version (since = "1.18")]
+-	public static uint event_add_filter (Clutter.Stage? stage, [CCode (delegate_target_pos = 2.2, destroy_notify_pos = 2.1)] owned Clutter.EventFilterFunc func);
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+-	[Version (since = "0.4")]
+-	public static Clutter.Event event_get ();
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+-	[Version (since = "0.4")]
+-	public static unowned Clutter.Event event_peek ();
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+-	[Version (since = "1.18")]
+-	public static void event_remove_filter (uint id);
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+ 	[Version (since = "0.4")]
+ 	public static bool events_pending ();
+ 	[CCode (cheader_filename = "clutter/clutter.h")]
+@@ -9014,9 +8256,6 @@ namespace Clutter {
+ 	[Version (since = "1.0")]
+ 	public static uint32 get_current_event_time ();
+ 	[CCode (cheader_filename = "clutter/clutter.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10")]
+-	public static bool get_debug_enabled ();
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+ 	[Version (since = "0.4")]
+ 	public static unowned Clutter.Backend get_default_backend ();
+ 	[CCode (cheader_filename = "clutter/clutter.h")]
+@@ -9026,18 +8265,9 @@ namespace Clutter {
+ 	[Version (since = "1.2")]
+ 	public static Clutter.TextDirection get_default_text_direction ();
+ 	[CCode (cheader_filename = "clutter/clutter.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10", since = "1.0")]
+-	public static Clutter.FontFlags get_font_flags ();
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+ 	[Version (since = "1.0")]
+ 	public static unowned Pango.FontMap get_font_map ();
+ 	[CCode (cheader_filename = "clutter/clutter.h")]
+-	[Version (since = "0.6")]
+-	public static unowned Clutter.Actor get_keyboard_grab ();
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+-	[Version (deprecated = true, deprecated_since = "1.8", since = "0.6")]
+-	public static bool get_motion_events_enabled ();
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+ 	[Version (since = "0.2")]
+ 	public static GLib.OptionGroup get_option_group ();
+ 	[CCode (cheader_filename = "clutter/clutter.h")]
+@@ -9045,26 +8275,8 @@ namespace Clutter {
+ 	public static GLib.OptionGroup get_option_group_without_init ();
+ 	[CCode (cheader_filename = "clutter/clutter.h")]
+ 	[Version (since = "0.6")]
+-	public static unowned Clutter.Actor get_pointer_grab ();
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+-	[Version (since = "0.6")]
+ 	public static unowned string get_script_id (GLib.Object gobject);
+ 	[CCode (cheader_filename = "clutter/clutter.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10", since = "0.4")]
+-	public static bool get_show_fps ();
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10")]
+-	public static ulong get_timestamp ();
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+-	[Version (since = "0.6")]
+-	public static void grab_keyboard (Clutter.Actor actor);
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+-	[Version (since = "0.6")]
+-	public static void grab_pointer (Clutter.Actor actor);
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10", since = "0.8")]
+-	public static void grab_pointer_for_device (Clutter.Actor actor, int id_);
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+ 	public static Clutter.InitError init ([CCode (array_length_cname = "argc", array_length_pos = 0.5)] ref unowned string[]? argv);
+ 	[CCode (cheader_filename = "clutter/clutter.h")]
+ 	[Version (since = "0.2")]
+@@ -9080,41 +8292,6 @@ namespace Clutter {
+ 	[CCode (cheader_filename = "clutter/clutter.h")]
+ 	public static void set_custom_backend_func (void* func);
+ 	[CCode (cheader_filename = "clutter/clutter.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10", since = "0.6")]
+-	public static void set_default_frame_rate (uint frames_per_sec);
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10", since = "1.0")]
+-	public static void set_font_flags (Clutter.FontFlags flags);
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+-	[Version (deprecated = true, deprecated_since = "1.8", since = "0.6")]
+-	public static void set_motion_events_enabled (bool enable);
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+-	[Version (since = "1.18")]
+-	public static void test_add_data_full (string test_path, owned GLib.TestDataFunc test_func);
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+-	[Version (since = "1.18")]
+-	public static bool test_check_actor_at_point (Clutter.Actor stage, Clutter.Point point, Clutter.Actor actor, out Clutter.Actor? result);
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+-	[Version (since = "1.18")]
+-	public static bool test_check_color_at_point (Clutter.Actor stage, Clutter.Point point, Clutter.Color color, out Clutter.Color result);
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+-	[Version (since = "1.18")]
+-	public static unowned Clutter.Actor test_get_stage ();
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+-	public static void test_init (int argc, string argv);
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+-	[Version (since = "1.18")]
+-	public static int test_run ();
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+-	[Version (since = "0.6")]
+-	public static void ungrab_keyboard ();
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+-	[Version (since = "0.6")]
+-	public static void ungrab_pointer ();
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10", since = "0.8")]
+-	public static void ungrab_pointer_for_device (int id_);
+-	[CCode (cheader_filename = "clutter/clutter.h")]
+ 	[Version (since = "1.10")]
+ 	public static uint unicode_to_keysym (uint32 wc);
+ }
+diff --git vapi/mutter-cogl-5-custom.vala vapi/mutter-cogl-6-custom.vala
+similarity index 100%
+rename from vapi/mutter-cogl-5-custom.vala
+rename to vapi/mutter-cogl-6-custom.vala
+diff --git vapi/mutter-cogl-4.deps vapi/mutter-cogl-6.deps
+similarity index 100%
+rename from vapi/mutter-cogl-4.deps
+rename to vapi/mutter-cogl-6.deps
+diff --git vapi/mutter-cogl-5.vapi vapi/mutter-cogl-6.vapi
+similarity index 68%
+rename from vapi/mutter-cogl-5.vapi
+rename to vapi/mutter-cogl-6.vapi
+index a8961224..195e3b17 100644
+--- vapi/mutter-cogl-5.vapi
++++ vapi/mutter-cogl-6.vapi
+@@ -1,6 +1,6 @@
+-/* mutter-cogl-5.vapi generated by vapigen, do not modify. */
++/* mutter-cogl-6.vapi generated by vapigen, do not modify. */
+ 
+-[CCode (cprefix = "Cogl", gir_namespace = "Cogl", gir_version = "5", lower_case_cprefix = "cogl_")]
++[CCode (cprefix = "Cogl", gir_namespace = "Cogl", gir_version = "6", lower_case_cprefix = "cogl_")]
+ namespace Cogl {
+ 	[CCode (cheader_filename = "cogl/cogl.h", cname = "CoglHandle", type_id = "cogl_bitmap_get_gtype ()")]
+ 	[Compact]
+@@ -28,9 +28,10 @@ namespace Cogl {
+ 		public bool set_data (size_t offset, [CCode (array_length_type = "size_t")] uint8[] data);
+ 		public void unmap ();
+ 	}
+-	[CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)]
+-	[Compact]
+-	public class Euler {
++	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_context_get_gtype ()")]
++	public class Context : Cogl.Object {
++		[CCode (has_construct_function = false)]
++		protected Context ();
+ 	}
+ 	[CCode (cheader_filename = "cogl/cogl.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "cogl_frame_closure_get_gtype ()")]
+ 	[Compact]
+@@ -65,62 +66,17 @@ namespace Cogl {
+ 		[CCode (has_construct_function = false)]
+ 		[Version (deprecated = true, deprecated_since = "1.16")]
+ 		public Material ();
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.2")]
+-		public Cogl.Material copy ();
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+-		public void foreach_layer (Cogl.MaterialLayerCallback callback);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public void get_ambient (Cogl.Color ambient);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public Cogl.Color get_color ();
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public void get_diffuse (Cogl.Color diffuse);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public void get_emission (Cogl.Color emission);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+-		public bool get_layer_point_sprite_coords_enabled (int layer_index);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.6")]
+-		public Cogl.MaterialWrapMode get_layer_wrap_mode_p (int layer_index);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.6")]
+-		public Cogl.MaterialWrapMode get_layer_wrap_mode_s (int layer_index);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.6")]
+-		public Cogl.MaterialWrapMode get_layer_wrap_mode_t (int layer_index);
+-		public unowned GLib.List<Cogl.MaterialLayer> get_layers ();
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public int get_n_layers ();
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+-		public float get_point_size ();
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public float get_shininess ();
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public void get_specular (Cogl.Color specular);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+-		public unowned Cogl.Handle get_user_program ();
+-		[Version (deprecated = true, deprecated_since = "1.2", since = "1.0")]
+-		public static unowned Cogl.Handle @ref (Cogl.Handle material);
+-		[Version (deprecated = true, deprecated_since = "1.16")]
+-		public void remove_layer (int layer_index);
+ 		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+ 		public void set_alpha_test_function (Cogl.MaterialAlphaFunc alpha_func, float alpha_reference);
+ 		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public void set_ambient (Cogl.Color ambient);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public void set_ambient_and_diffuse (Cogl.Color color);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+ 		public bool set_blend (string blend_string) throws GLib.Error;
+ 		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+ 		public void set_blend_constant (Cogl.Color constant_color);
+ 		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+ 		public void set_color (Cogl.Color color);
+ 		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public void set_color4f (float red, float green, float blue, float alpha);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+ 		public void set_color4ub (uint8 red, uint8 green, uint8 blue, uint8 alpha);
+ 		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public void set_diffuse (Cogl.Color diffuse);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public void set_emission (Cogl.Color emission);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+ 		public void set_layer (int layer_index, Cogl.Handle texture);
+ 		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+ 		public bool set_layer_combine (int layer_index, string blend_string) throws GLib.Error;
+@@ -133,41 +89,13 @@ namespace Cogl {
+ 		[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+ 		public bool set_layer_point_sprite_coords_enabled (int layer_index, bool enable) throws GLib.Error;
+ 		[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+-		public void set_layer_wrap_mode (int layer_index, Cogl.MaterialWrapMode mode);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+-		public void set_layer_wrap_mode_p (int layer_index, Cogl.MaterialWrapMode mode);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+-		public void set_layer_wrap_mode_s (int layer_index, Cogl.MaterialWrapMode mode);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+-		public void set_layer_wrap_mode_t (int layer_index, Cogl.MaterialWrapMode mode);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+ 		public void set_point_size (float point_size);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public void set_shininess (float shininess);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public void set_specular (Cogl.Color specular);
+ 		[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+ 		public void set_user_program (Cogl.Handle program);
+-		[Version (deprecated = true, deprecated_since = "1.2", since = "1.0")]
+-		public static void unref (Cogl.Handle material);
+ 	}
+ 	[CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)]
+ 	[Compact]
+ 	public class MaterialLayer {
+-		[Version (deprecated = true, deprecated_since = "1.16")]
+-		public Cogl.MaterialFilter get_mag_filter ();
+-		[Version (deprecated = true, deprecated_since = "1.16")]
+-		public Cogl.MaterialFilter get_min_filter ();
+-		[Version (deprecated = true, deprecated_since = "1.16")]
+-		public unowned Cogl.Handle get_texture ();
+-		[Version (deprecated = true, deprecated_since = "1.16")]
+-		public Cogl.MaterialLayerType get_type ();
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+-		public Cogl.MaterialWrapMode get_wrap_mode_p ();
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+-		public Cogl.MaterialWrapMode get_wrap_mode_s ();
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+-		public Cogl.MaterialWrapMode get_wrap_mode_t ();
+ 	}
+ 	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_object_get_gtype ()")]
+ 	public abstract class Object {
+@@ -178,13 +106,9 @@ namespace Cogl {
+ 	public class Offscreen : Cogl.Object, Cogl.Framebuffer {
+ 		[CCode (has_construct_function = false)]
+ 		protected Offscreen ();
+-		[Version (deprecated = true, deprecated_since = "1.2")]
+-		public static void* @ref (void* offscreen);
+ 		[CCode (has_construct_function = false)]
+ 		[Version (deprecated = true, deprecated_since = "1.16")]
+ 		public Offscreen.to_texture (Cogl.Texture texture);
+-		[Version (deprecated = true, deprecated_since = "1.2")]
+-		public static void unref (void* offscreen);
+ 		[CCode (has_construct_function = false)]
+ 		public Offscreen.with_texture (Cogl.Texture texture);
+ 	}
+@@ -196,9 +120,6 @@ namespace Cogl {
+ 		public Cogl.OnscreenDirtyClosure add_dirty_callback ([CCode (delegate_target_pos = 1.5)] Cogl.OnscreenDirtyCallback callback, Cogl.UserDataDestroyCallback? destroy);
+ 		[Version (since = "2.0")]
+ 		public Cogl.OnscreenResizeClosure add_resize_callback ([CCode (delegate_target_pos = 1.5)] Cogl.OnscreenResizeCallback callback, Cogl.UserDataDestroyCallback? destroy);
+-		[Version (deprecated = true, deprecated_since = "1.14", since = "1.10")]
+-		public uint add_swap_buffers_callback (Cogl.SwapBuffersNotify callback);
+-		public static void clutter_backend_set_size_CLUTTER (int width, int height);
+ 		[Version (since = "1.14")]
+ 		public int get_buffer_age ();
+ 		[Version (since = "1.14")]
+@@ -213,8 +134,6 @@ namespace Cogl {
+ 		public void remove_frame_callback (Cogl.FrameClosure closure);
+ 		[Version (since = "2.0")]
+ 		public void remove_resize_callback (Cogl.OnscreenResizeClosure closure);
+-		[Version (deprecated = true, deprecated_since = "1.14", since = "1.10")]
+-		public void remove_swap_buffers_callback (uint id);
+ 		[Version (since = "2.0")]
+ 		public void set_resizable (bool resizable);
+ 		[Version (since = "2.0")]
+@@ -244,7 +163,8 @@ namespace Cogl {
+ 	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_pipeline_get_gtype ()")]
+ 	public class Pipeline : Cogl.Object {
+ 		[CCode (has_construct_function = false)]
+-		protected Pipeline ();
++		[Version (since = "2.0")]
++		public Pipeline (Cogl.Context context);
+ 		[Version (since = "2.0")]
+ 		public Cogl.Pipeline copy ();
+ 		[Version (since = "2.0")]
+@@ -254,16 +174,10 @@ namespace Cogl {
+ 		[Version (since = "2.0")]
+ 		public float get_alpha_test_reference ();
+ 		[Version (since = "2.0")]
+-		public void get_ambient (Cogl.Color ambient);
+-		[Version (since = "2.0")]
+ 		public Cogl.Color get_color ();
+ 		[Version (since = "2.0")]
+ 		public Cogl.PipelineCullFaceMode get_cull_face_mode ();
+ 		[Version (since = "2.0")]
+-		public void get_diffuse (Cogl.Color diffuse);
+-		[Version (since = "2.0")]
+-		public void get_emission (Cogl.Color emission);
+-		[Version (since = "2.0")]
+ 		public Cogl.Winding get_front_face_winding ();
+ 		[Version (since = "1.10")]
+ 		public Cogl.PipelineFilter get_layer_mag_filter (int layer_index);
+@@ -274,8 +188,6 @@ namespace Cogl {
+ 		[Version (since = "1.10")]
+ 		public unowned Cogl.Texture get_layer_texture (int layer_index);
+ 		[Version (since = "1.6")]
+-		public Cogl.PipelineWrapMode get_layer_wrap_mode_p (int layer_index);
+-		[Version (since = "1.6")]
+ 		public Cogl.PipelineWrapMode get_layer_wrap_mode_s (int layer_index);
+ 		[Version (since = "1.6")]
+ 		public Cogl.PipelineWrapMode get_layer_wrap_mode_t (int layer_index);
+@@ -286,10 +198,6 @@ namespace Cogl {
+ 		[Version (since = "2.0")]
+ 		public float get_point_size ();
+ 		[Version (since = "2.0")]
+-		public float get_shininess ();
+-		[Version (since = "2.0")]
+-		public void get_specular (Cogl.Color specular);
+-		[Version (since = "2.0")]
+ 		public int get_uniform_location (string uniform_name);
+ 		[Version (since = "2.0")]
+ 		public unowned Cogl.Handle get_user_program ();
+@@ -298,10 +206,6 @@ namespace Cogl {
+ 		[Version (since = "2.0")]
+ 		public void set_alpha_test_function (Cogl.PipelineAlphaFunc alpha_func, float alpha_reference);
+ 		[Version (since = "2.0")]
+-		public void set_ambient (Cogl.Color ambient);
+-		[Version (since = "2.0")]
+-		public void set_ambient_and_diffuse (Cogl.Color color);
+-		[Version (since = "2.0")]
+ 		public bool set_blend (string blend_string) throws GLib.Error;
+ 		[Version (since = "2.0")]
+ 		public void set_blend_constant (Cogl.Color constant_color);
+@@ -314,10 +218,6 @@ namespace Cogl {
+ 		[Version (since = "2.0")]
+ 		public void set_cull_face_mode (Cogl.PipelineCullFaceMode cull_face_mode);
+ 		[Version (since = "2.0")]
+-		public void set_diffuse (Cogl.Color diffuse);
+-		[Version (since = "2.0")]
+-		public void set_emission (Cogl.Color emission);
+-		[Version (since = "2.0")]
+ 		public void set_front_face_winding (Cogl.Winding front_winding);
+ 		[Version (since = "2.0")]
+ 		public bool set_layer_combine (int layer_index, string blend_string) throws GLib.Error;
+@@ -335,8 +235,6 @@ namespace Cogl {
+ 		[Version (since = "2.0")]
+ 		public void set_layer_wrap_mode (int layer_index, Cogl.PipelineWrapMode mode);
+ 		[Version (since = "2.0")]
+-		public void set_layer_wrap_mode_p (int layer_index, Cogl.PipelineWrapMode mode);
+-		[Version (since = "2.0")]
+ 		public void set_layer_wrap_mode_s (int layer_index, Cogl.PipelineWrapMode mode);
+ 		[Version (since = "2.0")]
+ 		public void set_layer_wrap_mode_t (int layer_index, Cogl.PipelineWrapMode mode);
+@@ -345,10 +243,6 @@ namespace Cogl {
+ 		[Version (since = "2.0")]
+ 		public void set_point_size (float point_size);
+ 		[Version (since = "2.0")]
+-		public void set_shininess (float shininess);
+-		[Version (since = "2.0")]
+-		public void set_specular (Cogl.Color specular);
+-		[Version (since = "2.0")]
+ 		public void set_uniform_1f (int uniform_location, float value);
+ 		[Version (since = "2.0")]
+ 		public void set_uniform_1i (int uniform_location, int value);
+@@ -382,10 +276,6 @@ namespace Cogl {
+ 		public static void uniform_matrix (int uniform_no, int size, bool transpose, [CCode (array_length_pos = 2.9)] float[] value);
+ 		public void use ();
+ 	}
+-	[CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)]
+-	[Compact]
+-	public class Quaternion {
+-	}
+ 	[CCode (cheader_filename = "cogl/cogl.h", cname = "CoglHandle", ref_function = "cogl_shader_ref", unref_function = "cogl_shader_unref")]
+ 	[Compact]
+ 	public class Shader : Cogl.Handle {
+@@ -465,12 +355,10 @@ namespace Cogl {
+ 		public int get_alpha_bits ();
+ 		[Version (since = "1.8")]
+ 		public int get_blue_bits ();
++		[Version (since = "1.8")]
++		public unowned Cogl.Context get_context ();
+ 		[Version (since = "2.0")]
+ 		public int get_depth_bits ();
+-		[Version (since = "1.14")]
+-		public unowned Cogl.Texture get_depth_texture ();
+-		[Version (since = "1.14")]
+-		public bool get_depth_texture_enabled ();
+ 		[Version (since = "1.18")]
+ 		public bool get_depth_write_enabled ();
+ 		[Version (since = "1.8")]
+@@ -516,6 +404,7 @@ namespace Cogl {
+ 		public void push_matrix ();
+ 		[Version (since = "1.10")]
+ 		public void push_rectangle_clip (float x_1, float y_1, float x_2, float y_2);
++		public void push_region_clip (Cairo.Region region);
+ 		[Version (since = "1.10")]
+ 		public void push_scissor_clip (int x, int y, int width, int height);
+ 		[Version (since = "1.10")]
+@@ -529,13 +418,9 @@ namespace Cogl {
+ 		[Version (since = "1.10")]
+ 		public void rotate (float angle, float x, float y, float z);
+ 		[Version (since = "2.0")]
+-		public void rotate_euler (Cogl.Euler euler);
+-		[Version (since = "2.0")]
+-		public void rotate_quaternion (Cogl.Quaternion quaternion);
++		public void rotate_euler (Graphene.Euler euler);
+ 		[Version (since = "1.10")]
+ 		public void scale (float x, float y, float z);
+-		[Version (since = "1.14")]
+-		public void set_depth_texture_enabled (bool enabled);
+ 		[Version (since = "1.18")]
+ 		public void set_depth_write_enabled (bool depth_write_enabled);
+ 		[Version (since = "1.8")]
+@@ -635,10 +520,6 @@ namespace Cogl {
+ 		public void set_blue_byte (uint8 blue);
+ 		[Version (since = "1.4")]
+ 		public void set_blue_float (float blue);
+-		[Version (deprecated = true, deprecated_since = "1.4", since = "1.0")]
+-		public void set_from_4f (float red, float green, float blue, float alpha);
+-		[Version (deprecated = true, deprecated_since = "1.4", since = "1.0")]
+-		public void set_from_4ub (uint8 red, uint8 green, uint8 blue, uint8 alpha);
+ 		[Version (since = "1.4")]
+ 		public void set_green (float green);
+ 		[Version (since = "1.4")]
+@@ -662,7 +543,7 @@ namespace Cogl {
+ 		public weak string name;
+ 		public ulong instance_count;
+ 	}
+-	[CCode (cheader_filename = "cogl/cogl.h", type_id = "COGL_TYPE_MATRIX")]
++	[CCode (cheader_filename = "cogl/cogl.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "COGL_TYPE_MATRIX")]
+ 	public struct Matrix {
+ 		public float xx;
+ 		public float yx;
+@@ -692,8 +573,7 @@ namespace Cogl {
+ 		public bool get_inverse (out Cogl.Matrix inverse);
+ 		[CCode (cname = "cogl_matrix_init_identity")]
+ 		public Matrix.identity ();
+-		public void init_from_euler (Cogl.Euler euler);
+-		public void init_from_quaternion (Cogl.Quaternion quaternion);
++		public void init_from_euler (Graphene.Euler euler);
+ 		[Version (since = "2.0")]
+ 		public void init_translation (float tx, float ty, float tz);
+ 		[Version (since = "1.8")]
+@@ -702,19 +582,15 @@ namespace Cogl {
+ 		public void look_at (float eye_position_x, float eye_position_y, float eye_position_z, float object_x, float object_y, float object_z, float world_up_x, float world_up_y, float world_up_z);
+ 		[CCode (cname = "cogl_matrix_multiply")]
+ 		public Matrix.multiply (Cogl.Matrix a, Cogl.Matrix b);
+-		[Version (deprecated = true, deprecated_since = "1.10")]
+-		public void ortho (float left, float right, float bottom, float top, float near, float far);
+ 		[Version (since = "1.10")]
+ 		public void orthographic (float x_1, float y_1, float x_2, float y_2, float near, float far);
+ 		public void perspective (float fov_y, float aspect, float z_near, float z_far);
+ 		public void project_points (int n_components, size_t stride_in, void* points_in, size_t stride_out, void* points_out, int n_points);
+ 		public void rotate (float angle, float x, float y, float z);
+ 		[Version (since = "2.0")]
+-		public void rotate_euler (Cogl.Euler euler);
+-		[Version (since = "2.0")]
+-		public void rotate_quaternion (Cogl.Quaternion quaternion);
++		public void rotate_euler (Graphene.Euler euler);
+ 		public void scale (float sx, float sy, float sz);
+-		public void transform_point (ref float x, ref float y, ref float z, ref float w);
++		public static void transform_point (ref Cogl.Matrix matrix, ref float x, ref float y, ref float z, ref float w);
+ 		public void transform_points (int n_components, size_t stride_in, void* points_in, size_t stride_out, void* points_out, int n_points);
+ 		public void translate (float x, float y, float z);
+ 		[Version (since = "1.10")]
+@@ -818,38 +694,33 @@ namespace Cogl {
+ 		NONE,
+ 		NO_GET_DATA
+ 	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_FEATURE_", has_type_id = false)]
+-	[Flags]
+-	[Version (since = "0.8")]
+-	public enum FeatureFlags {
+-		TEXTURE_YUV,
+-		TEXTURE_READ_PIXELS,
+-		OFFSCREEN,
+-		OFFSCREEN_MULTISAMPLE,
+-		FOUR_CLIP_PLANES,
+-		STENCIL_BUFFER,
+-		VBOS,
+-		PBOS,
+-		UNSIGNED_INT_INDICES,
+-		DEPTH_RANGE,
+-		POINT_SPRITE,
+-		MAP_BUFFER_FOR_READ,
+-		MAP_BUFFER_FOR_WRITE,
+-		ONSCREEN_MULTIPLE,
+-		DEPTH_TEXTURE
++	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_FEATURE_ID_", has_type_id = false)]
++	[Version (since = "1.10")]
++	public enum FeatureID {
++		[CCode (cname = "COGL_FEATURE_ID_UNSIGNED_INT_INDICES")]
++		OGL_FEATURE_ID_UNSIGNED_INT_INDICES,
++		[CCode (cname = "COGL_FEATURE_ID_MAP_BUFFER_FOR_READ")]
++		OGL_FEATURE_ID_MAP_BUFFER_FOR_READ,
++		[CCode (cname = "COGL_FEATURE_ID_MAP_BUFFER_FOR_WRITE")]
++		OGL_FEATURE_ID_MAP_BUFFER_FOR_WRITE,
++		[CCode (cname = "COGL_FEATURE_ID_SWAP_BUFFERS_EVENT")]
++		OGL_FEATURE_ID_SWAP_BUFFERS_EVENT,
++		[CCode (cname = "COGL_FEATURE_ID_PRESENTATION_TIME")]
++		OGL_FEATURE_ID_PRESENTATION_TIME,
++		[CCode (cname = "COGL_FEATURE_ID_FENCE")]
++		OGL_FEATURE_ID_FENCE,
++		[CCode (cname = "COGL_FEATURE_ID_TEXTURE_RG")]
++		OGL_FEATURE_ID_TEXTURE_RG,
++		[CCode (cname = "COGL_FEATURE_ID_BUFFER_AGE")]
++		OGL_FEATURE_ID_BUFFER_AGE,
++		[CCode (cname = "COGL_FEATURE_ID_TEXTURE_EGL_IMAGE_EXTERNAL")]
++		OGL_FEATURE_ID_TEXTURE_EGL_IMAGE_EXTERNAL
+ 	}
+ 	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_FILTER_", has_type_id = false)]
+ 	public enum FilterReturn {
+ 		CONTINUE,
+ 		REMOVE
+ 	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_FOG_MODE_", has_type_id = false)]
+-	[Version (since = "1.0")]
+-	public enum FogMode {
+-		LINEAR,
+-		EXPONENTIAL,
+-		EXPONENTIAL_SQUARED
+-	}
+ 	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_FRAME_EVENT_", has_type_id = false)]
+ 	[Version (since = "1.14")]
+ 	public enum FrameEvent {
+@@ -862,6 +733,14 @@ namespace Cogl {
+ 		FRAMEBUFFER_ERROR_ALLOCATE;
+ 		public static uint32 quark ();
+ 	}
++	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_GRAPHICS_RESET_STATUS_", has_type_id = false)]
++	public enum GraphicsResetStatus {
++		NO_ERROR,
++		GUILTY_CONTEXT_RESET,
++		INNOCENT_CONTEXT_RESET,
++		UNKNOWN_CONTEXT_RESET,
++		PURGED_CONTEXT_RESET
++	}
+ 	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_INDICES_TYPE_UNSIGNED_", has_type_id = false)]
+ 	public enum IndicesType {
+ 		BYTE,
+@@ -888,12 +767,6 @@ namespace Cogl {
+ 		NEAREST_MIPMAP_LINEAR,
+ 		LINEAR_MIPMAP_LINEAR
+ 	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_MATERIAL_LAYER_TYPE_", has_type_id = false)]
+-	[Version (since = "1.0")]
+-	public enum MaterialLayerType {
+-		[CCode (cname = "COGL_MATERIAL_LAYER_TYPE_TEXTURE")]
+-		MATERIAL_LAYER_TYPE_TEXTURE
+-	}
+ 	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_MATERIAL_WRAP_MODE_", has_type_id = false)]
+ 	[Version (since = "1.4")]
+ 	public enum MaterialWrapMode {
+@@ -971,6 +844,8 @@ namespace Cogl {
+ 		DEPTH_16,
+ 		DEPTH_32,
+ 		DEPTH_24_STENCIL_8;
++		public int get_bytes_per_pixel (int plane);
++		public int get_n_planes ();
+ 		public unowned string to_string ();
+ 	}
+ 	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_READ_PIXELS_COLOR_", has_type_id = false)]
+@@ -1064,9 +939,9 @@ namespace Cogl {
+ 	[CCode (cheader_filename = "cogl/cogl.h", instance_pos = 1.9)]
+ 	[Version (since = "1.8")]
+ 	public delegate void DebugObjectForeachTypeCallback (Cogl.DebugObjectTypeInfo info);
+-	[CCode (cheader_filename = "cogl/cogl.h", instance_pos = 2.9)]
+-	[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+-	public delegate bool MaterialLayerCallback (Cogl.Material material, int layer_index);
++	[CCode (cheader_filename = "cogl/cogl.h", instance_pos = 1.9)]
++	[Version (since = "0.10")]
++	public delegate void FeatureCallback (Cogl.FeatureID feature);
+ 	[CCode (cheader_filename = "cogl/cogl.h", instance_pos = 2.9)]
+ 	[Version (since = "1.16")]
+ 	public delegate void OnscreenDirtyCallback (Cogl.Onscreen onscreen, Cogl.OnscreenDirtyInfo info);
+@@ -1074,13 +949,9 @@ namespace Cogl {
+ 	[Version (since = "2.0")]
+ 	public delegate void OnscreenResizeCallback (Cogl.Onscreen onscreen, int width, int height);
+ 	[CCode (cheader_filename = "cogl/cogl.h", instance_pos = 2.9)]
+-	public delegate void OnscreenX11MaskCallback (Cogl.Onscreen onscreen, uint32 event_mask);
+-	[CCode (cheader_filename = "cogl/cogl.h", instance_pos = 2.9)]
+ 	[Version (since = "2.0")]
+ 	public delegate bool PipelineLayerCallback (Cogl.Pipeline pipeline, int layer_index);
+ 	[CCode (cheader_filename = "cogl/cogl.h", instance_pos = 1.9)]
+-	public delegate void SwapBuffersNotify (Cogl.Framebuffer framebuffer);
+-	[CCode (cheader_filename = "cogl/cogl.h", instance_pos = 1.9)]
+ 	public delegate bool Texture2DEGLImageExternalAlloc (Cogl.Texture2D tex_2d) throws GLib.Error;
+ 	[CCode (cheader_filename = "cogl/cogl.h", has_target = false)]
+ 	public delegate void UserDataDestroyCallback (void* data);
+@@ -1092,6 +963,8 @@ namespace Cogl {
+ 	public const int BGR_BIT;
+ 	[CCode (cheader_filename = "cogl/cogl.h", cname = "COGL_DEPTH_BIT")]
+ 	public const int DEPTH_BIT;
++	[CCode (cheader_filename = "cogl/cogl.h", cname = "COGL_PIXEL_FORMAT_MAX_PLANES")]
++	public const int PIXEL_FORMAT_MAX_PLANES;
+ 	[CCode (cheader_filename = "cogl/cogl.h", cname = "COGL_PREMULT_BIT")]
+ 	public const int PREMULT_BIT;
+ 	[CCode (cheader_filename = "cogl/cogl.h", cname = "COGL_STENCIL_BIT")]
+@@ -1099,19 +972,8 @@ namespace Cogl {
+ 	[CCode (cheader_filename = "cogl/cogl.h", cname = "COGL_TEXTURE_MAX_WASTE")]
+ 	public const int TEXTURE_MAX_WASTE;
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-	public static void begin_gl ();
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+ 	public static bool blit_framebuffer (Cogl.Framebuffer src, Cogl.Framebuffer dest, int src_x, int src_y, int dst_x, int dst_y, int width, int height) throws GLib.Error;
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.2")]
+-	public static bool check_extension (string name, string ext);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static void clear (Cogl.Color color, ulong buffers);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	public static bool clutter_check_extension_CLUTTER (string name, string ext);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+ 	public static bool clutter_winsys_has_feature_CLUTTER (Cogl.WinsysFeature feature);
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+ 	[Version (since = "1.0")]
+@@ -1129,57 +991,38 @@ namespace Cogl {
+ 	[Version (since = "1.8")]
+ 	public static void debug_object_print_instances ();
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static void disable_fog ();
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-	public static void end_gl ();
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10")]
+-	public static bool features_available (Cogl.FeatureFlags features);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+ 	[Version (since = "1.0")]
+ 	public static void flush ();
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10", since = "0.8.2")]
+-	public static void frustum (float left, float right, float bottom, float top, float z_near, float z_far);
++	[Version (since = "1.10")]
++	public static void foreach_feature (Cogl.Context context, Cogl.FeatureCallback callback);
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+ 	[Version (deprecated = true, deprecated_since = "1.16")]
+ 	public static bool get_backface_culling_enabled ();
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.8")]
+-	public static void get_bitmasks (out int red, out int green, out int blue, out int alpha);
++	[Version (since = "1.14")]
++	public static int64 get_clock_time (Cogl.Context context);
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+ 	[Version (deprecated = true, deprecated_since = "1.16")]
+ 	public static bool get_depth_test_enabled ();
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (since = "1.8")]
+-	public static unowned Cogl.Framebuffer get_draw_framebuffer ();
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10", since = "0.8")]
+-	public static Cogl.FeatureFlags get_features ();
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10")]
+-	public static Cogl.Matrix get_modelview_matrix ();
++	public static Cogl.GraphicsResetStatus get_graphics_reset_status (Cogl.Context context);
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+ 	[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+ 	public static GLib.OptionGroup get_option_group ();
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+ 	public static GLib.Callback get_proc_address (string s);
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10")]
+-	public static Cogl.Matrix get_projection_matrix ();
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16", since = "1.6")]
+-	public static void* get_source ();
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10")]
+-	public static void get_viewport ([CCode (array_length = false)] out float v[4]);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+ 	[Version (deprecated = true, deprecated_since = "1.18")]
+ 	public static GLib.Type gtype_matrix_get_type ();
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+ 	[Version (since = "1.10")]
++	public static bool has_feature (Cogl.Context context, Cogl.FeatureID feature);
++	[CCode (cheader_filename = "cogl/cogl.h")]
++	[Version (since = "1.10")]
++	public static bool is_context (void* object);
++	[CCode (cheader_filename = "cogl/cogl.h")]
++	[Version (since = "1.10")]
+ 	public static bool is_framebuffer (void* object);
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+ 	[Version (since = "1.10")]
+@@ -1193,53 +1036,9 @@ namespace Cogl {
+ 	[Version (since = "1.10")]
+ 	public static bool is_texture_2d_sliced (void* object);
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+-	public static bool is_vertex_buffer_indices (Cogl.Handle handle);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+ 	[Version (since = "1.4")]
+ 	public static bool matrix_equal (void* v1, void* v2);
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10", since = "1.0")]
+-	public static void ortho (float left, float right, float bottom, float top, float near, float far);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10")]
+-	public static void perspective (float fovy, float aspect, float z_near, float z_far);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (since = "1.0")]
+-	public static void polygon (Cogl.TextureVertex vertices, uint n_vertices, bool use_color);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10")]
+-	public static void pop_matrix ();
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16", since = "1.6")]
+-	public static void pop_source ();
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10")]
+-	public static void push_matrix ();
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16", since = "1.6")]
+-	public static void push_source (void* material);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	public static void rectangle (float x_1, float y_1, float x_2, float y_2);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (since = "1.0")]
+-	public static void rectangle_with_multitexture_coords (float x1, float y1, float x2, float y2, [CCode (array_length = false)] float[] tex_coords, int tex_coords_len);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (since = "1.0")]
+-	public static void rectangle_with_texture_coords (float x1, float y1, float x2, float y2, float tx1, float ty1, float tx2, float ty2);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (since = "1.0")]
+-	public static void rectangles ([CCode (array_length = false)] float[] verts, uint n_rects);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (since = "0.8.6")]
+-	public static void rectangles_with_texture_coords ([CCode (array_length = false)] float[] verts, uint n_rects);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10")]
+-	public static void rotate (float angle, float x, float y, float z);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10")]
+-	public static void scale (float x, float y, float z);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+ 	[Version (deprecated = true, deprecated_since = "1.16")]
+ 	public static void set_backface_culling_enabled (bool setting);
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+@@ -1247,53 +1046,11 @@ namespace Cogl {
+ 	public static void set_depth_test_enabled (bool setting);
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+ 	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static void set_fog (Cogl.Color fog_color, Cogl.FogMode mode, float density, float z_near, float z_far);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10")]
+-	public static void set_modelview_matrix (Cogl.Matrix matrix);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10")]
+-	public static void set_projection_matrix (Cogl.Matrix matrix);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-	public static void set_source (void* material);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-	public static void set_source_color (Cogl.Color color);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-	public static void set_source_color4f (float red, float green, float blue, float alpha);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-	public static void set_source_color4ub (uint8 red, uint8 green, uint8 blue, uint8 alpha);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-	public static void set_source_texture (Cogl.Texture texture);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.8", since = "1.2")]
+-	public static void set_viewport (int x, int y, int width, int height);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static void shader_compile (Cogl.Handle handle);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static string shader_get_info_log (Cogl.Handle handle);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+ 	public static Cogl.ShaderType shader_get_type (Cogl.Handle handle);
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+ 	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static bool shader_is_compiled (Cogl.Handle handle);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static unowned Cogl.Handle shader_ref (Cogl.Handle handle);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+ 	public static void shader_source (Cogl.Handle shader, string source);
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static void shader_unref (Cogl.Handle handle);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+ 	[Version (deprecated = true, deprecated_since = "1.18", since = "1.0")]
+ 	public static Cogl.Texture texture_new_from_bitmap (Cogl.Bitmap bitmap, Cogl.TextureFlags flags, Cogl.PixelFormat internal_format);
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+@@ -1306,59 +1063,6 @@ namespace Cogl {
+ 	[Version (deprecated = true, deprecated_since = "1.18", since = "0.8")]
+ 	public static Cogl.Texture texture_new_with_size (uint width, uint height, Cogl.TextureFlags flags, Cogl.PixelFormat internal_format);
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10", since = "1.4")]
+-	public static void transform (Cogl.Matrix matrix);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10")]
+-	public static void translate (float x, float y, float z);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static void vertex_buffer_add (Cogl.Handle handle, string attribute_name, uint8 n_components, Cogl.AttributeType type, bool normalized, uint16 stride, void* pointer);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static void vertex_buffer_delete (Cogl.Handle handle, string attribute_name);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static void vertex_buffer_disable (Cogl.Handle handle, string attribute_name);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static void vertex_buffer_draw (Cogl.Handle handle, Cogl.VerticesMode mode, int first, int count);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static void vertex_buffer_draw_elements (Cogl.Handle handle, Cogl.VerticesMode mode, Cogl.Handle indices, int min_index, int max_index, int indices_offset, int count);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static void vertex_buffer_enable (Cogl.Handle handle, string attribute_name);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static uint vertex_buffer_get_n_vertices (Cogl.Handle handle);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static unowned Cogl.Handle vertex_buffer_indices_get_for_quads (uint n_indices);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static Cogl.IndicesType vertex_buffer_indices_get_type (Cogl.Handle indices);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static unowned Cogl.Handle vertex_buffer_new (uint n_vertices);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.2")]
+-	public static unowned Cogl.Handle vertex_buffer_ref (Cogl.Handle handle);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static void vertex_buffer_submit (Cogl.Handle handle);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.2")]
+-	public static void vertex_buffer_unref (Cogl.Handle handle);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.8", since = "0.8.2")]
+-	public static void viewport (uint width, uint height);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	public static uint32 x11_onscreen_get_visual_xid (Cogl.Onscreen onscreen);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+ 	[Version (since = "1.10")]
+ 	public static uint32 x11_onscreen_get_window_xid (Cogl.Onscreen onscreen);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (since = "2.0")]
+-	public static void x11_onscreen_set_foreign_window_xid (Cogl.Onscreen onscreen, uint32 xid, [CCode (scope = "async")] Cogl.OnscreenX11MaskCallback update);
+ }
+diff --git vapi/mutter-cogl-4-custom.vala vapi/mutter-cogl-7-custom.vala
+similarity index 81%
+rename from vapi/mutter-cogl-4-custom.vala
+rename to vapi/mutter-cogl-7-custom.vala
+index 2551885a..c4d4b93a 100644
+--- vapi/mutter-cogl-4-custom.vala
++++ vapi/mutter-cogl-7-custom.vala
+@@ -1,10 +1,4 @@
+ namespace Cogl {
+-	[Compact]
+-	[CCode (cname = "CoglHandle")]
+-	public class Bitmap: Handle {
+-		public static Bitmap new_from_file (string filename) throws GLib.Error;
+-	}
+-
+ 	[Compact]
+ 	[CCode (cname = "CoglHandle")]
+ 	public class Buffer: Handle {
+@@ -42,7 +36,7 @@ namespace Cogl {
+ 		public bool is_vertex_buffer ();
+ 	}
+ 
+-	[CCode (cheader_filename = "cogl/cogl.h", copy_function = "cogl_path_copy")] 
++	[CCode (cheader_filename = "cogl/cogl.h", copy_function = "cogl_path_copy")]
+ 	[Compact]
+ 	public class Path {
+ 		public static void @new ();
+@@ -82,18 +76,6 @@ namespace Cogl {
+ 		public void source (string source);
+ 	}
+ 
+-	[Compact]
+-	[CCode (cname = "CoglHandle", ref_function = "cogl_texture_ref", unref_function = "cogl_texture_unref")]
+-	public class Texture: Handle {
+-		public Cogl.PixelFormat get_format ();
+-		public uint get_rowstride ();
+-		public Texture.from_bitmap (Cogl.Bitmap bmp_handle, Cogl.TextureFlags flags, Cogl.PixelFormat internal_format);
+-		public Texture.from_data (uint width, uint height, Cogl.TextureFlags flags, Cogl.PixelFormat format, Cogl.PixelFormat internal_format, uint rowstride, [CCode (array_length = false)] uchar[] data);
+-		public Texture.from_file (string filename, Cogl.TextureFlags flags, Cogl.PixelFormat internal_format) throws GLib.Error;
+-		public Texture.from_sub_texture (Cogl.Texture full_texture, int sub_x, int sub_y, int sub_width, int sub_height);
+-		public Texture.with_size (uint width, uint height, Cogl.TextureFlags flags, Cogl.PixelFormat internal_format);
+-	}
+-
+ 	[Compact]
+ 	[CCode (cname = "CoglHandle", ref_function = "cogl_vertex_buffer_ref", unref_function = "cogl_vertex_buffer_unref")]
+ 	public class VertexBuffer: Handle {
+diff --git vapi/mutter-cogl-5.deps vapi/mutter-cogl-7.deps
+similarity index 100%
+rename from vapi/mutter-cogl-5.deps
+rename to vapi/mutter-cogl-7.deps
+diff --git vapi/mutter-cogl-4.vapi vapi/mutter-cogl-7.vapi
+similarity index 59%
+rename from vapi/mutter-cogl-4.vapi
+rename to vapi/mutter-cogl-7.vapi
+index 5de8f447..620c2317 100644
+--- vapi/mutter-cogl-4.vapi
++++ vapi/mutter-cogl-7.vapi
+@@ -1,12 +1,13 @@
+-/* mutter-cogl-4.vapi generated by vapigen, do not modify. */
++/* mutter-cogl-7.vapi generated by vapigen, do not modify. */
+ 
+-[CCode (cprefix = "Cogl", gir_namespace = "Cogl", gir_version = "4", lower_case_cprefix = "cogl_")]
++[CCode (cprefix = "Cogl", gir_namespace = "Cogl", gir_version = "7", lower_case_cprefix = "cogl_")]
+ namespace Cogl {
+-	[CCode (cheader_filename = "cogl/cogl.h", cname = "CoglHandle", type_id = "cogl_bitmap_get_gtype ()")]
+-	[Compact]
+-	public class Bitmap : Cogl.Handle {
++	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_bitmap_get_gtype ()")]
++	public class Bitmap : Cogl.Object {
++		[CCode (has_construct_function = false)]
++		protected Bitmap ();
+ 		public static uint32 error_quark ();
+-		[CCode (has_construct_function = false, type = "CoglBitmap*")]
++		[CCode (has_construct_function = false)]
+ 		[Version (since = "1.0")]
+ 		public Bitmap.from_file (string filename) throws GLib.Error;
+ 		[Version (since = "1.10")]
+@@ -16,10 +17,9 @@ namespace Cogl {
+ 		[Version (since = "1.10")]
+ 		public int get_rowstride ();
+ 		[Version (since = "1.0")]
+-		public static Cogl.Bool get_size_from_file (string filename, out int width, out int height);
++		public static bool get_size_from_file (string filename, out int width, out int height);
+ 		[Version (since = "1.10")]
+ 		public int get_width ();
+-		public static Cogl.Bitmap new_from_file (string filename) throws GLib.Error;
+ 	}
+ 	[CCode (cheader_filename = "cogl/cogl.h", cname = "CoglHandle")]
+ 	[Compact]
+@@ -28,15 +28,28 @@ namespace Cogl {
+ 		public bool set_data (size_t offset, [CCode (array_length_type = "size_t")] uint8[] data);
+ 		public void unmap ();
+ 	}
+-	[CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)]
+-	[Compact]
+-	public class Euler {
++	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_context_get_gtype ()")]
++	public class Context : Cogl.Object {
++		[CCode (has_construct_function = false)]
++		protected Context ();
++		public bool is_hardware_accelerated ();
+ 	}
+ 	[CCode (cheader_filename = "cogl/cogl.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "cogl_frame_closure_get_gtype ()")]
+ 	[Compact]
+ 	[Version (since = "1.14")]
+ 	public class FrameClosure {
+ 	}
++	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_frame_info_get_gtype ()")]
++	public class FrameInfo : Cogl.Object {
++		[CCode (has_construct_function = false)]
++		protected FrameInfo ();
++		[Version (since = "1.14")]
++		public int64 get_frame_counter ();
++		[Version (since = "1.14")]
++		public int64 get_presentation_time ();
++		[Version (since = "1.14")]
++		public float get_refresh_rate ();
++	}
+ 	[CCode (cheader_filename = "cogl/cogl.h", ref_function = "cogl_handle_ref", unref_function = "cogl_handle_unref")]
+ 	[Compact]
+ 	public class Handle {
+@@ -65,65 +78,20 @@ namespace Cogl {
+ 		[CCode (has_construct_function = false)]
+ 		[Version (deprecated = true, deprecated_since = "1.16")]
+ 		public Material ();
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.2")]
+-		public Cogl.Material copy ();
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+-		public void foreach_layer (Cogl.MaterialLayerCallback callback);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public void get_ambient (Cogl.Color ambient);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public Cogl.Color get_color ();
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public void get_diffuse (Cogl.Color diffuse);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public void get_emission (Cogl.Color emission);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+-		public Cogl.Bool get_layer_point_sprite_coords_enabled (int layer_index);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.6")]
+-		public Cogl.MaterialWrapMode get_layer_wrap_mode_p (int layer_index);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.6")]
+-		public Cogl.MaterialWrapMode get_layer_wrap_mode_s (int layer_index);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.6")]
+-		public Cogl.MaterialWrapMode get_layer_wrap_mode_t (int layer_index);
+-		public unowned GLib.List<Cogl.MaterialLayer> get_layers ();
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public int get_n_layers ();
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+-		public float get_point_size ();
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public float get_shininess ();
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public void get_specular (Cogl.Color specular);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+-		public unowned Cogl.Handle get_user_program ();
+-		[Version (deprecated = true, deprecated_since = "1.2", since = "1.0")]
+-		public static unowned Cogl.Handle @ref (Cogl.Handle material);
+-		[Version (deprecated = true, deprecated_since = "1.16")]
+-		public void remove_layer (int layer_index);
+ 		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+ 		public void set_alpha_test_function (Cogl.MaterialAlphaFunc alpha_func, float alpha_reference);
+ 		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public void set_ambient (Cogl.Color ambient);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public void set_ambient_and_diffuse (Cogl.Color color);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public Cogl.Bool set_blend (string blend_string) throws GLib.Error;
++		public bool set_blend (string blend_string) throws GLib.Error;
+ 		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+ 		public void set_blend_constant (Cogl.Color constant_color);
+ 		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+ 		public void set_color (Cogl.Color color);
+ 		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public void set_color4f (float red, float green, float blue, float alpha);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+ 		public void set_color4ub (uint8 red, uint8 green, uint8 blue, uint8 alpha);
+ 		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public void set_diffuse (Cogl.Color diffuse);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public void set_emission (Cogl.Color emission);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+ 		public void set_layer (int layer_index, Cogl.Handle texture);
+ 		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public Cogl.Bool set_layer_combine (int layer_index, string blend_string) throws GLib.Error;
++		public bool set_layer_combine (int layer_index, string blend_string) throws GLib.Error;
+ 		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+ 		public void set_layer_combine_constant (int layer_index, Cogl.Color constant);
+ 		[Version (deprecated = true, deprecated_since = "1.16")]
+@@ -131,43 +99,15 @@ namespace Cogl {
+ 		[Version (deprecated = true, deprecated_since = "1.16")]
+ 		public void set_layer_matrix (int layer_index, Cogl.Matrix matrix);
+ 		[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+-		public Cogl.Bool set_layer_point_sprite_coords_enabled (int layer_index, Cogl.Bool enable) throws GLib.Error;
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+-		public void set_layer_wrap_mode (int layer_index, Cogl.MaterialWrapMode mode);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+-		public void set_layer_wrap_mode_p (int layer_index, Cogl.MaterialWrapMode mode);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+-		public void set_layer_wrap_mode_s (int layer_index, Cogl.MaterialWrapMode mode);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+-		public void set_layer_wrap_mode_t (int layer_index, Cogl.MaterialWrapMode mode);
++		public bool set_layer_point_sprite_coords_enabled (int layer_index, bool enable) throws GLib.Error;
+ 		[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+ 		public void set_point_size (float point_size);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public void set_shininess (float shininess);
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-		public void set_specular (Cogl.Color specular);
+ 		[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+ 		public void set_user_program (Cogl.Handle program);
+-		[Version (deprecated = true, deprecated_since = "1.2", since = "1.0")]
+-		public static void unref (Cogl.Handle material);
+ 	}
+ 	[CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)]
+ 	[Compact]
+ 	public class MaterialLayer {
+-		[Version (deprecated = true, deprecated_since = "1.16")]
+-		public Cogl.MaterialFilter get_mag_filter ();
+-		[Version (deprecated = true, deprecated_since = "1.16")]
+-		public Cogl.MaterialFilter get_min_filter ();
+-		[Version (deprecated = true, deprecated_since = "1.16")]
+-		public unowned Cogl.Handle get_texture ();
+-		[Version (deprecated = true, deprecated_since = "1.16")]
+-		public Cogl.MaterialLayerType get_type ();
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+-		public Cogl.MaterialWrapMode get_wrap_mode_p ();
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+-		public Cogl.MaterialWrapMode get_wrap_mode_s ();
+-		[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+-		public Cogl.MaterialWrapMode get_wrap_mode_t ();
+ 	}
+ 	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_object_get_gtype ()")]
+ 	public abstract class Object {
+@@ -178,13 +118,9 @@ namespace Cogl {
+ 	public class Offscreen : Cogl.Object, Cogl.Framebuffer {
+ 		[CCode (has_construct_function = false)]
+ 		protected Offscreen ();
+-		[Version (deprecated = true, deprecated_since = "1.2")]
+-		public static void* @ref (void* offscreen);
+ 		[CCode (has_construct_function = false)]
+ 		[Version (deprecated = true, deprecated_since = "1.16")]
+ 		public Offscreen.to_texture (Cogl.Texture texture);
+-		[Version (deprecated = true, deprecated_since = "1.2")]
+-		public static void unref (void* offscreen);
+ 		[CCode (has_construct_function = false)]
+ 		public Offscreen.with_texture (Cogl.Texture texture);
+ 	}
+@@ -194,17 +130,16 @@ namespace Cogl {
+ 		protected Onscreen ();
+ 		[Version (since = "1.16")]
+ 		public Cogl.OnscreenDirtyClosure add_dirty_callback ([CCode (delegate_target_pos = 1.5)] Cogl.OnscreenDirtyCallback callback, Cogl.UserDataDestroyCallback? destroy);
++		[Version (since = "1.14")]
++		public Cogl.FrameClosure add_frame_callback ([CCode (delegate_target_pos = 1.5)] Cogl.FrameCallback callback, Cogl.UserDataDestroyCallback? destroy);
+ 		[Version (since = "2.0")]
+ 		public Cogl.OnscreenResizeClosure add_resize_callback ([CCode (delegate_target_pos = 1.5)] Cogl.OnscreenResizeCallback callback, Cogl.UserDataDestroyCallback? destroy);
+-		[Version (deprecated = true, deprecated_since = "1.14", since = "1.10")]
+-		public uint add_swap_buffers_callback (Cogl.SwapBuffersNotify callback);
+-		public static void clutter_backend_set_size_CLUTTER (int width, int height);
+ 		[Version (since = "1.14")]
+ 		public int get_buffer_age ();
+ 		[Version (since = "1.14")]
+ 		public int64 get_frame_counter ();
+ 		[Version (since = "2.0")]
+-		public Cogl.Bool get_resizable ();
++		public bool get_resizable ();
+ 		[Version (since = "2.0")]
+ 		public void hide ();
+ 		[Version (since = "1.16")]
+@@ -213,18 +148,16 @@ namespace Cogl {
+ 		public void remove_frame_callback (Cogl.FrameClosure closure);
+ 		[Version (since = "2.0")]
+ 		public void remove_resize_callback (Cogl.OnscreenResizeClosure closure);
+-		[Version (deprecated = true, deprecated_since = "1.14", since = "1.10")]
+-		public void remove_swap_buffers_callback (uint id);
+ 		[Version (since = "2.0")]
+-		public void set_resizable (Cogl.Bool resizable);
++		public void set_resizable (bool resizable);
+ 		[Version (since = "2.0")]
+ 		public void show ();
+ 		[Version (since = "1.10")]
+-		public void swap_buffers ();
++		public void swap_buffers (Cogl.FrameInfo frame_info);
+ 		[Version (since = "1.16")]
+-		public void swap_buffers_with_damage (int rectangles, int n_rectangles);
++		public void swap_buffers_with_damage (int rectangles, int n_rectangles, Cogl.FrameInfo info);
+ 		[Version (since = "1.10")]
+-		public void swap_region (int rectangles, int n_rectangles);
++		public void swap_region (int rectangles, int n_rectangles, Cogl.FrameInfo info);
+ 	}
+ 	[CCode (cheader_filename = "cogl/cogl.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "cogl_onscreen_dirty_closure_get_gtype ()")]
+ 	[Compact]
+@@ -244,7 +177,8 @@ namespace Cogl {
+ 	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_pipeline_get_gtype ()")]
+ 	public class Pipeline : Cogl.Object {
+ 		[CCode (has_construct_function = false)]
+-		protected Pipeline ();
++		[Version (since = "2.0")]
++		public Pipeline (Cogl.Context context);
+ 		[Version (since = "2.0")]
+ 		public Cogl.Pipeline copy ();
+ 		[Version (since = "2.0")]
+@@ -254,44 +188,30 @@ namespace Cogl {
+ 		[Version (since = "2.0")]
+ 		public float get_alpha_test_reference ();
+ 		[Version (since = "2.0")]
+-		public void get_ambient (Cogl.Color ambient);
+-		[Version (since = "2.0")]
+ 		public Cogl.Color get_color ();
+-		[Version (since = "1.8")]
+-		public Cogl.ColorMask get_color_mask ();
+ 		[Version (since = "2.0")]
+ 		public Cogl.PipelineCullFaceMode get_cull_face_mode ();
+ 		[Version (since = "2.0")]
+-		public void get_diffuse (Cogl.Color diffuse);
+-		[Version (since = "2.0")]
+-		public void get_emission (Cogl.Color emission);
+-		[Version (since = "2.0")]
+ 		public Cogl.Winding get_front_face_winding ();
+ 		[Version (since = "1.10")]
+ 		public Cogl.PipelineFilter get_layer_mag_filter (int layer_index);
+ 		[Version (since = "1.10")]
+ 		public Cogl.PipelineFilter get_layer_min_filter (int layer_index);
+ 		[Version (since = "2.0")]
+-		public Cogl.Bool get_layer_point_sprite_coords_enabled (int layer_index);
++		public bool get_layer_point_sprite_coords_enabled (int layer_index);
+ 		[Version (since = "1.10")]
+ 		public unowned Cogl.Texture get_layer_texture (int layer_index);
+ 		[Version (since = "1.6")]
+-		public Cogl.PipelineWrapMode get_layer_wrap_mode_p (int layer_index);
+-		[Version (since = "1.6")]
+ 		public Cogl.PipelineWrapMode get_layer_wrap_mode_s (int layer_index);
+ 		[Version (since = "1.6")]
+ 		public Cogl.PipelineWrapMode get_layer_wrap_mode_t (int layer_index);
+ 		[Version (since = "2.0")]
+ 		public int get_n_layers ();
+ 		[Version (since = "2.0")]
+-		public Cogl.Bool get_per_vertex_point_size ();
++		public bool get_per_vertex_point_size ();
+ 		[Version (since = "2.0")]
+ 		public float get_point_size ();
+ 		[Version (since = "2.0")]
+-		public float get_shininess ();
+-		[Version (since = "2.0")]
+-		public void get_specular (Cogl.Color specular);
+-		[Version (since = "2.0")]
+ 		public int get_uniform_location (string uniform_name);
+ 		[Version (since = "2.0")]
+ 		public unowned Cogl.Handle get_user_program ();
+@@ -300,11 +220,7 @@ namespace Cogl {
+ 		[Version (since = "2.0")]
+ 		public void set_alpha_test_function (Cogl.PipelineAlphaFunc alpha_func, float alpha_reference);
+ 		[Version (since = "2.0")]
+-		public void set_ambient (Cogl.Color ambient);
+-		[Version (since = "2.0")]
+-		public void set_ambient_and_diffuse (Cogl.Color color);
+-		[Version (since = "2.0")]
+-		public Cogl.Bool set_blend (string blend_string) throws GLib.Error;
++		public bool set_blend (string blend_string) throws GLib.Error;
+ 		[Version (since = "2.0")]
+ 		public void set_blend_constant (Cogl.Color constant_color);
+ 		[Version (since = "2.0")]
+@@ -313,46 +229,35 @@ namespace Cogl {
+ 		public void set_color4f (float red, float green, float blue, float alpha);
+ 		[Version (since = "2.0")]
+ 		public void set_color4ub (uint8 red, uint8 green, uint8 blue, uint8 alpha);
+-		[Version (since = "1.8")]
+-		public void set_color_mask (Cogl.ColorMask color_mask);
+ 		[Version (since = "2.0")]
+ 		public void set_cull_face_mode (Cogl.PipelineCullFaceMode cull_face_mode);
+ 		[Version (since = "2.0")]
+-		public void set_diffuse (Cogl.Color diffuse);
+-		[Version (since = "2.0")]
+-		public void set_emission (Cogl.Color emission);
+-		[Version (since = "2.0")]
+ 		public void set_front_face_winding (Cogl.Winding front_winding);
+ 		[Version (since = "2.0")]
+-		public Cogl.Bool set_layer_combine (int layer_index, string blend_string) throws GLib.Error;
++		public bool set_layer_combine (int layer_index, string blend_string) throws GLib.Error;
+ 		[Version (since = "2.0")]
+ 		public void set_layer_combine_constant (int layer_index, Cogl.Color constant);
+ 		[Version (since = "1.10")]
+ 		public void set_layer_filters (int layer_index, Cogl.PipelineFilter min_filter, Cogl.PipelineFilter mag_filter);
+ 		[Version (since = "1.10")]
+ 		public void set_layer_matrix (int layer_index, Cogl.Matrix matrix);
++		public void set_layer_max_mipmap_level (int layer, int max_level);
+ 		[Version (since = "1.10")]
+-		public void set_layer_null_texture (int layer_index, Cogl.TextureType texture_type);
++		public void set_layer_null_texture (int layer_index);
+ 		[Version (since = "2.0")]
+-		public Cogl.Bool set_layer_point_sprite_coords_enabled (int layer_index, Cogl.Bool enable) throws GLib.Error;
++		public bool set_layer_point_sprite_coords_enabled (int layer_index, bool enable) throws GLib.Error;
+ 		public void set_layer_texture (int layer_index, Cogl.Texture texture);
+ 		[Version (since = "2.0")]
+ 		public void set_layer_wrap_mode (int layer_index, Cogl.PipelineWrapMode mode);
+ 		[Version (since = "2.0")]
+-		public void set_layer_wrap_mode_p (int layer_index, Cogl.PipelineWrapMode mode);
+-		[Version (since = "2.0")]
+ 		public void set_layer_wrap_mode_s (int layer_index, Cogl.PipelineWrapMode mode);
+ 		[Version (since = "2.0")]
+ 		public void set_layer_wrap_mode_t (int layer_index, Cogl.PipelineWrapMode mode);
+ 		[Version (since = "2.0")]
+-		public Cogl.Bool set_per_vertex_point_size (Cogl.Bool enable) throws GLib.Error;
++		public bool set_per_vertex_point_size (bool enable) throws GLib.Error;
+ 		[Version (since = "2.0")]
+ 		public void set_point_size (float point_size);
+ 		[Version (since = "2.0")]
+-		public void set_shininess (float shininess);
+-		[Version (since = "2.0")]
+-		public void set_specular (Cogl.Color specular);
+-		[Version (since = "2.0")]
+ 		public void set_uniform_1f (int uniform_location, float value);
+ 		[Version (since = "2.0")]
+ 		public void set_uniform_1i (int uniform_location, int value);
+@@ -361,7 +266,7 @@ namespace Cogl {
+ 		[Version (since = "2.0")]
+ 		public void set_uniform_int (int uniform_location, int n_components, int count, int value);
+ 		[Version (since = "2.0")]
+-		public void set_uniform_matrix (int uniform_location, int dimensions, int count, Cogl.Bool transpose, float value);
++		public void set_uniform_matrix (int uniform_location, int dimensions, int count, bool transpose, float value);
+ 		[Version (since = "2.0")]
+ 		public void set_user_program (Cogl.Handle program);
+ 	}
+@@ -388,7 +293,7 @@ namespace Cogl {
+ 	}
+ 	[CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)]
+ 	[Compact]
+-	public class Quaternion {
++	public class Scanout {
+ 	}
+ 	[CCode (cheader_filename = "cogl/cogl.h", cname = "CoglHandle", ref_function = "cogl_shader_ref", unref_function = "cogl_shader_unref")]
+ 	[Compact]
+@@ -401,48 +306,23 @@ namespace Cogl {
+ 		public bool is_compiled ();
+ 		public void source (string source);
+ 	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cname = "CoglHandle", ref_function = "cogl_texture_ref", type_id = "cogl_texture_get_gtype ()", unref_function = "cogl_texture_unref")]
+-	[Compact]
+-	public class Texture : Cogl.Handle {
+-		public Cogl.Bool allocate () throws GLib.Error;
+-		public static uint32 error_quark ();
+-		public Texture.from_bitmap (Cogl.Bitmap bmp_handle, Cogl.TextureFlags flags, Cogl.PixelFormat internal_format);
+-		public Texture.from_data (uint width, uint height, Cogl.TextureFlags flags, Cogl.PixelFormat format, Cogl.PixelFormat internal_format, uint rowstride, [CCode (array_length = false)] uchar[] data);
+-		public Texture.from_file (string filename, Cogl.TextureFlags flags, Cogl.PixelFormat internal_format) throws GLib.Error;
+-		public Texture.from_sub_texture (Cogl.Texture full_texture, int sub_x, int sub_y, int sub_width, int sub_height);
+-		[Version (since = "1.18")]
+-		public Cogl.TextureComponents get_components ();
+-		public int get_data (Cogl.PixelFormat format, uint rowstride, uint8 data);
+-		public Cogl.PixelFormat get_format ();
+-		public Cogl.Bool get_gl_texture (out uint out_gl_handle, out uint out_gl_target);
+-		public uint get_height ();
+-		public int get_max_waste ();
+-		[Version (since = "1.18")]
+-		public Cogl.Bool get_premultiplied ();
+-		public uint get_rowstride ();
+-		public uint get_width ();
+-		public Cogl.Bool is_sliced ();
+-		[Version (deprecated = true, deprecated_since = "1.18", since = "1.0")]
+-		public static Cogl.Texture new_from_bitmap (Cogl.Bitmap bitmap, Cogl.TextureFlags flags, Cogl.PixelFormat internal_format);
+-		[Version (deprecated = true, deprecated_since = "1.18", since = "0.8")]
+-		public static Cogl.Texture new_from_data (int width, int height, Cogl.TextureFlags flags, Cogl.PixelFormat format, Cogl.PixelFormat internal_format, int rowstride, uint8 data);
+-		[Version (deprecated = true, deprecated_since = "1.18", since = "0.8")]
+-		public static Cogl.Texture new_from_file (string filename, Cogl.TextureFlags flags, Cogl.PixelFormat internal_format) throws GLib.Error;
+-		[Version (deprecated = true, deprecated_since = "1.18", since = "0.8")]
+-		public static Cogl.Texture new_from_foreign (uint gl_handle, uint gl_target, uint width, uint height, uint x_pot_waste, uint y_pot_waste, Cogl.PixelFormat format);
+-		[Version (deprecated = true, deprecated_since = "1.18", since = "1.2")]
+-		public Cogl.Texture new_from_sub_texture (int sub_x, int sub_y, int sub_width, int sub_height);
+-		[Version (deprecated = true, deprecated_since = "1.18", since = "0.8")]
+-		public static Cogl.Texture new_with_size (uint width, uint height, Cogl.TextureFlags flags, Cogl.PixelFormat internal_format);
+-		[Version (since = "1.18")]
+-		public void set_components (Cogl.TextureComponents components);
+-		public Cogl.Bool set_data (Cogl.PixelFormat format, int rowstride, uint8 data, int level) throws GLib.Error;
+-		[Version (since = "1.18")]
+-		public void set_premultiplied (Cogl.Bool premultiplied);
+-		public Cogl.Bool set_region (int src_x, int src_y, int dst_x, int dst_y, uint dst_width, uint dst_height, int width, int height, Cogl.PixelFormat format, uint rowstride, uint8 data);
+-		[Version (since = "1.8")]
+-		public Cogl.Bool set_region_from_bitmap (int src_x, int src_y, int dst_x, int dst_y, uint dst_width, uint dst_height, Cogl.Bitmap bitmap);
+-		public Texture.with_size (uint width, uint height, Cogl.TextureFlags flags, Cogl.PixelFormat internal_format);
++	[CCode (cheader_filename = "cogl/cogl.h", lower_case_csuffix = "texture_2d", type_id = "cogl_texture_2d_get_gtype ()")]
++	public class Texture2D : Cogl.Object, Cogl.Texture {
++		[CCode (has_construct_function = false)]
++		protected Texture2D ();
++		public void egl_image_external_alloc_finish (void* user_data, GLib.DestroyNotify destroy);
++		public void egl_image_external_bind ();
++		[CCode (has_construct_function = false)]
++		[Version (since = "2.0")]
++		public Texture2D.from_bitmap (Cogl.Bitmap bitmap);
++	}
++	[CCode (cheader_filename = "cogl/cogl.h", lower_case_csuffix = "texture_2d_sliced", type_id = "cogl_texture_2d_sliced_get_gtype ()")]
++	public class Texture2DSliced : Cogl.Object, Cogl.Texture {
++		[CCode (has_construct_function = false)]
++		protected Texture2DSliced ();
++		[CCode (has_construct_function = false)]
++		[Version (since = "1.16")]
++		public Texture2DSliced.from_bitmap (Cogl.Bitmap bmp, int max_waste);
+ 	}
+ 	[CCode (cheader_filename = "cogl/cogl.h", cname = "CoglHandle", ref_function = "cogl_vertex_buffer_ref", unref_function = "cogl_vertex_buffer_unref")]
+ 	[Compact]
+@@ -468,7 +348,7 @@ namespace Cogl {
+ 	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_framebuffer_get_gtype ()")]
+ 	public interface Framebuffer : Cogl.Object {
+ 		[Version (since = "1.8")]
+-		public Cogl.Bool allocate () throws GLib.Error;
++		public bool allocate () throws GLib.Error;
+ 		[Version (since = "1.8")]
+ 		public void clear (ulong buffers, Cogl.Color color);
+ 		[Version (since = "1.8")]
+@@ -488,6 +368,7 @@ namespace Cogl {
+ 		public static uint32 error_quark ();
+ 		[Version (since = "1.10")]
+ 		public void finish ();
++		public void flush ();
+ 		[Version (since = "1.10")]
+ 		public void frustum (float left, float right, float bottom, float top, float z_near, float z_far);
+ 		[Version (since = "1.8")]
+@@ -495,22 +376,18 @@ namespace Cogl {
+ 		[Version (since = "1.8")]
+ 		public int get_blue_bits ();
+ 		[Version (since = "1.8")]
+-		public Cogl.ColorMask get_color_mask ();
++		public unowned Cogl.Context get_context ();
+ 		[Version (since = "2.0")]
+ 		public int get_depth_bits ();
+-		[Version (since = "1.14")]
+-		public unowned Cogl.Texture get_depth_texture ();
+-		[Version (since = "1.14")]
+-		public Cogl.Bool get_depth_texture_enabled ();
+ 		[Version (since = "1.18")]
+-		public Cogl.Bool get_depth_write_enabled ();
++		public bool get_depth_write_enabled ();
+ 		[Version (since = "1.8")]
+-		public Cogl.Bool get_dither_enabled ();
++		public bool get_dither_enabled ();
+ 		[Version (since = "1.8")]
+ 		public int get_green_bits ();
+ 		[Version (since = "1.8")]
+ 		public int get_height ();
+-		public Cogl.Bool get_is_stereo ();
++		public bool get_is_stereo ();
+ 		[Version (since = "1.10")]
+ 		public Cogl.Matrix get_modelview_matrix ();
+ 		[Version (since = "1.10")]
+@@ -547,12 +424,13 @@ namespace Cogl {
+ 		public void push_matrix ();
+ 		[Version (since = "1.10")]
+ 		public void push_rectangle_clip (float x_1, float y_1, float x_2, float y_2);
++		public void push_region_clip (Cairo.Region region);
+ 		[Version (since = "1.10")]
+ 		public void push_scissor_clip (int x, int y, int width, int height);
+ 		[Version (since = "1.10")]
+-		public Cogl.Bool read_pixels (int x, int y, int width, int height, Cogl.PixelFormat format, uint8 pixels);
++		public bool read_pixels (int x, int y, int width, int height, Cogl.PixelFormat format, uint8 pixels);
+ 		[Version (since = "1.10")]
+-		public Cogl.Bool read_pixels_into_bitmap (int x, int y, Cogl.ReadPixelsFlags source, Cogl.Bitmap bitmap);
++		public bool read_pixels_into_bitmap (int x, int y, Cogl.ReadPixelsFlags source, Cogl.Bitmap bitmap);
+ 		[Version (since = "1.8")]
+ 		public void resolve_samples ();
+ 		[Version (since = "1.8")]
+@@ -560,19 +438,13 @@ namespace Cogl {
+ 		[Version (since = "1.10")]
+ 		public void rotate (float angle, float x, float y, float z);
+ 		[Version (since = "2.0")]
+-		public void rotate_euler (Cogl.Euler euler);
+-		[Version (since = "2.0")]
+-		public void rotate_quaternion (Cogl.Quaternion quaternion);
++		public void rotate_euler (Graphene.Euler euler);
+ 		[Version (since = "1.10")]
+ 		public void scale (float x, float y, float z);
+-		[Version (since = "1.8")]
+-		public void set_color_mask (Cogl.ColorMask color_mask);
+-		[Version (since = "1.14")]
+-		public void set_depth_texture_enabled (Cogl.Bool enabled);
+ 		[Version (since = "1.18")]
+-		public void set_depth_write_enabled (Cogl.Bool depth_write_enabled);
++		public void set_depth_write_enabled (bool depth_write_enabled);
+ 		[Version (since = "1.8")]
+-		public void set_dither_enabled (Cogl.Bool dither_enabled);
++		public void set_dither_enabled (bool dither_enabled);
+ 		[Version (since = "1.10")]
+ 		public void set_modelview_matrix (Cogl.Matrix matrix);
+ 		[Version (since = "1.10")]
+@@ -588,6 +460,39 @@ namespace Cogl {
+ 		[Version (since = "1.10")]
+ 		public void translate (float x, float y, float z);
+ 	}
++	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_texture_get_gtype ()")]
++	public interface Texture : Cogl.Object {
++		public bool allocate () throws GLib.Error;
++		public static uint32 error_quark ();
++		[Version (since = "1.18")]
++		public Cogl.TextureComponents get_components ();
++		public int get_data (Cogl.PixelFormat format, uint rowstride, [CCode (array_length = false)] uint8[]? data);
++		public bool get_gl_texture (out uint out_gl_handle, out uint out_gl_target);
++		public uint get_height ();
++		public int get_max_waste ();
++		[Version (since = "1.18")]
++		public bool get_premultiplied ();
++		public uint get_width ();
++		public bool is_sliced ();
++		[Version (deprecated = true, deprecated_since = "1.18", since = "1.0")]
++		public static Cogl.Texture new_from_bitmap (Cogl.Bitmap bitmap, Cogl.TextureFlags flags, Cogl.PixelFormat internal_format);
++		[Version (deprecated = true, deprecated_since = "1.18", since = "0.8")]
++		public static Cogl.Texture new_from_data (int width, int height, Cogl.TextureFlags flags, Cogl.PixelFormat format, Cogl.PixelFormat internal_format, int rowstride, [CCode (array_length = false)] uint8[] data);
++		[Version (deprecated = true, deprecated_since = "1.18", since = "0.8")]
++		public static Cogl.Texture new_from_file (string filename, Cogl.TextureFlags flags, Cogl.PixelFormat internal_format) throws GLib.Error;
++		[Version (deprecated = true, deprecated_since = "1.18", since = "1.2")]
++		public Cogl.Texture new_from_sub_texture (int sub_x, int sub_y, int sub_width, int sub_height);
++		[Version (deprecated = true, deprecated_since = "1.18", since = "0.8")]
++		public static Cogl.Texture new_with_size (uint width, uint height, Cogl.TextureFlags flags, Cogl.PixelFormat internal_format);
++		[Version (since = "1.18")]
++		public void set_components (Cogl.TextureComponents components);
++		public bool set_data (Cogl.PixelFormat format, int rowstride, [CCode (array_length = false)] uint8[] data, int level) throws GLib.Error;
++		[Version (since = "1.18")]
++		public void set_premultiplied (bool premultiplied);
++		public bool set_region (int src_x, int src_y, int dst_x, int dst_y, uint dst_width, uint dst_height, int width, int height, Cogl.PixelFormat format, uint rowstride, [CCode (array_length = false)] uint8[] data);
++		[Version (since = "1.8")]
++		public bool set_region_from_bitmap (int src_x, int src_y, int dst_x, int dst_y, uint dst_width, uint dst_height, Cogl.Bitmap bitmap);
++	}
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+ 	[SimpleType]
+ 	public struct Angle : int32 {
+@@ -635,10 +540,6 @@ namespace Cogl {
+ 		public void set_blue_byte (uint8 blue);
+ 		[Version (since = "1.4")]
+ 		public void set_blue_float (float blue);
+-		[Version (deprecated = true, deprecated_since = "1.4", since = "1.0")]
+-		public void set_from_4f (float red, float green, float blue, float alpha);
+-		[Version (deprecated = true, deprecated_since = "1.4", since = "1.0")]
+-		public void set_from_4ub (uint8 red, uint8 green, uint8 blue, uint8 alpha);
+ 		[Version (since = "1.4")]
+ 		public void set_green (float green);
+ 		[Version (since = "1.4")]
+@@ -662,7 +563,7 @@ namespace Cogl {
+ 		public weak string name;
+ 		public ulong instance_count;
+ 	}
+-	[CCode (cheader_filename = "cogl/cogl.h", type_id = "COGL_TYPE_MATRIX")]
++	[CCode (cheader_filename = "cogl/cogl.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "COGL_TYPE_MATRIX")]
+ 	public struct Matrix {
+ 		public float xx;
+ 		public float yx;
+@@ -689,32 +590,27 @@ namespace Cogl {
+ 		public void frustum (float left, float right, float bottom, float top, float z_near, float z_far);
+ 		public unowned float[] get_array ();
+ 		[Version (since = "1.2")]
+-		public Cogl.Bool get_inverse (out Cogl.Matrix inverse);
++		public bool get_inverse (out Cogl.Matrix inverse);
+ 		[CCode (cname = "cogl_matrix_init_identity")]
+ 		public Matrix.identity ();
+-		public void init_from_euler (Cogl.Euler euler);
+-		public void init_from_quaternion (Cogl.Quaternion quaternion);
++		public void init_from_euler (Graphene.Euler euler);
+ 		[Version (since = "2.0")]
+ 		public void init_translation (float tx, float ty, float tz);
+ 		[Version (since = "1.8")]
+-		public Cogl.Bool is_identity ();
++		public bool is_identity ();
+ 		[Version (since = "1.8")]
+ 		public void look_at (float eye_position_x, float eye_position_y, float eye_position_z, float object_x, float object_y, float object_z, float world_up_x, float world_up_y, float world_up_z);
+ 		[CCode (cname = "cogl_matrix_multiply")]
+ 		public Matrix.multiply (Cogl.Matrix a, Cogl.Matrix b);
+-		[Version (deprecated = true, deprecated_since = "1.10")]
+-		public void ortho (float left, float right, float bottom, float top, float near, float far);
+ 		[Version (since = "1.10")]
+ 		public void orthographic (float x_1, float y_1, float x_2, float y_2, float near, float far);
+ 		public void perspective (float fov_y, float aspect, float z_near, float z_far);
+ 		public void project_points (int n_components, size_t stride_in, void* points_in, size_t stride_out, void* points_out, int n_points);
+ 		public void rotate (float angle, float x, float y, float z);
+ 		[Version (since = "2.0")]
+-		public void rotate_euler (Cogl.Euler euler);
+-		[Version (since = "2.0")]
+-		public void rotate_quaternion (Cogl.Quaternion quaternion);
++		public void rotate_euler (Graphene.Euler euler);
+ 		public void scale (float sx, float sy, float sz);
+-		public void transform_point (ref float x, ref float y, ref float z, ref float w);
++		public static void transform_point (ref Cogl.Matrix matrix, ref float x, ref float y, ref float z, ref float w);
+ 		public void transform_points (int n_components, size_t stride_in, void* points_in, size_t stride_out, void* points_out, int n_points);
+ 		public void translate (float x, float y, float z);
+ 		[Version (since = "1.10")]
+@@ -801,16 +697,6 @@ namespace Cogl {
+ 		WINDOW_BUFFER,
+ 		OFFSCREEN_BUFFER
+ 	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_COLOR_MASK_", has_type_id = false)]
+-	[Flags]
+-	public enum ColorMask {
+-		NONE,
+-		RED,
+-		GREEN,
+-		BLUE,
+-		ALPHA,
+-		ALL
+-	}
+ 	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_DEPTH_TEST_FUNCTION_", has_type_id = false)]
+ 	public enum DepthTestFunction {
+ 		NEVER,
+@@ -822,46 +708,41 @@ namespace Cogl {
+ 		GEQUAL,
+ 		ALWAYS
+ 	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_FEATURE_", has_type_id = false)]
++	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_EGL_IMAGE_FLAG_", has_type_id = false)]
+ 	[Flags]
+-	[Version (since = "0.8")]
+-	public enum FeatureFlags {
+-		TEXTURE_RECTANGLE,
+-		TEXTURE_NPOT,
+-		TEXTURE_YUV,
+-		TEXTURE_READ_PIXELS,
+-		SHADERS_GLSL,
+-		OFFSCREEN,
+-		OFFSCREEN_MULTISAMPLE,
+-		OFFSCREEN_BLIT,
+-		FOUR_CLIP_PLANES,
+-		STENCIL_BUFFER,
+-		VBOS,
+-		PBOS,
+-		UNSIGNED_INT_INDICES,
+-		DEPTH_RANGE,
+-		TEXTURE_NPOT_BASIC,
+-		TEXTURE_NPOT_MIPMAP,
+-		TEXTURE_NPOT_REPEAT,
+-		POINT_SPRITE,
+-		TEXTURE_3D,
+-		MAP_BUFFER_FOR_READ,
+-		MAP_BUFFER_FOR_WRITE,
+-		ONSCREEN_MULTIPLE,
+-		DEPTH_TEXTURE
++	public enum EglImageFlags {
++		NONE,
++		NO_GET_DATA
++	}
++	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_FEATURE_ID_", has_type_id = false)]
++	[Version (since = "1.10")]
++	public enum FeatureID {
++		[CCode (cname = "COGL_FEATURE_ID_UNSIGNED_INT_INDICES")]
++		OGL_FEATURE_ID_UNSIGNED_INT_INDICES,
++		[CCode (cname = "COGL_FEATURE_ID_MAP_BUFFER_FOR_READ")]
++		OGL_FEATURE_ID_MAP_BUFFER_FOR_READ,
++		[CCode (cname = "COGL_FEATURE_ID_MAP_BUFFER_FOR_WRITE")]
++		OGL_FEATURE_ID_MAP_BUFFER_FOR_WRITE,
++		[CCode (cname = "COGL_FEATURE_ID_SWAP_BUFFERS_EVENT")]
++		OGL_FEATURE_ID_SWAP_BUFFERS_EVENT,
++		[CCode (cname = "COGL_FEATURE_ID_PRESENTATION_TIME")]
++		OGL_FEATURE_ID_PRESENTATION_TIME,
++		[CCode (cname = "COGL_FEATURE_ID_FENCE")]
++		OGL_FEATURE_ID_FENCE,
++		[CCode (cname = "COGL_FEATURE_ID_TEXTURE_RG")]
++		OGL_FEATURE_ID_TEXTURE_RG,
++		[CCode (cname = "COGL_FEATURE_ID_BUFFER_AGE")]
++		OGL_FEATURE_ID_BUFFER_AGE,
++		[CCode (cname = "COGL_FEATURE_ID_TEXTURE_EGL_IMAGE_EXTERNAL")]
++		OGL_FEATURE_ID_TEXTURE_EGL_IMAGE_EXTERNAL,
++		[CCode (cname = "COGL_FEATURE_ID_BLIT_FRAMEBUFFER")]
++		OGL_FEATURE_ID_BLIT_FRAMEBUFFER
+ 	}
+ 	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_FILTER_", has_type_id = false)]
+ 	public enum FilterReturn {
+ 		CONTINUE,
+ 		REMOVE
+ 	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_FOG_MODE_", has_type_id = false)]
+-	[Version (since = "1.0")]
+-	public enum FogMode {
+-		LINEAR,
+-		EXPONENTIAL,
+-		EXPONENTIAL_SQUARED
+-	}
+ 	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_FRAME_EVENT_", has_type_id = false)]
+ 	[Version (since = "1.14")]
+ 	public enum FrameEvent {
+@@ -874,6 +755,14 @@ namespace Cogl {
+ 		FRAMEBUFFER_ERROR_ALLOCATE;
+ 		public static uint32 quark ();
+ 	}
++	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_GRAPHICS_RESET_STATUS_", has_type_id = false)]
++	public enum GraphicsResetStatus {
++		NO_ERROR,
++		GUILTY_CONTEXT_RESET,
++		INNOCENT_CONTEXT_RESET,
++		UNKNOWN_CONTEXT_RESET,
++		PURGED_CONTEXT_RESET
++	}
+ 	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_INDICES_TYPE_UNSIGNED_", has_type_id = false)]
+ 	public enum IndicesType {
+ 		BYTE,
+@@ -900,12 +789,6 @@ namespace Cogl {
+ 		NEAREST_MIPMAP_LINEAR,
+ 		LINEAR_MIPMAP_LINEAR
+ 	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_MATERIAL_LAYER_TYPE_", has_type_id = false)]
+-	[Version (since = "1.0")]
+-	public enum MaterialLayerType {
+-		[CCode (cname = "COGL_MATERIAL_LAYER_TYPE_TEXTURE")]
+-		MATERIAL_LAYER_TYPE_TEXTURE
+-	}
+ 	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_MATERIAL_WRAP_MODE_", has_type_id = false)]
+ 	[Version (since = "1.4")]
+ 	public enum MaterialWrapMode {
+@@ -970,6 +853,10 @@ namespace Cogl {
+ 		BGRA_1010102,
+ 		ARGB_2101010,
+ 		ABGR_2101010,
++		RGBA_FP_16161616,
++		BGRA_FP_16161616,
++		ARGB_FP_16161616,
++		ABGR_FP_16161616,
+ 		RGBA_8888_PRE,
+ 		BGRA_8888_PRE,
+ 		ARGB_8888_PRE,
+@@ -980,9 +867,16 @@ namespace Cogl {
+ 		BGRA_1010102_PRE,
+ 		ARGB_2101010_PRE,
+ 		ABGR_2101010_PRE,
++		RGBA_FP_16161616_PRE,
++		BGRA_FP_16161616_PRE,
++		ARGB_FP_16161616_PRE,
++		ABGR_FP_16161616_PRE,
+ 		DEPTH_16,
+ 		DEPTH_32,
+-		DEPTH_24_STENCIL_8
++		DEPTH_24_STENCIL_8;
++		public int get_bytes_per_pixel (int plane);
++		public int get_n_planes ();
++		public unowned string to_string ();
+ 	}
+ 	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_READ_PIXELS_COLOR_", has_type_id = false)]
+ 	[Flags]
+@@ -1041,13 +935,6 @@ namespace Cogl {
+ 		NO_SLICING,
+ 		NO_ATLAS
+ 	}
+-	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_TEXTURE_TYPE_", has_type_id = false)]
+-	[Version (since = "1.10")]
+-	public enum TextureType {
+-		@2D,
+-		@3D,
+-		RECTANGLE
+-	}
+ 	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_VERTICES_MODE_", has_type_id = false)]
+ 	[Version (since = "1.0")]
+ 	public enum VerticesMode {
+@@ -1067,7 +954,6 @@ namespace Cogl {
+ 	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_WINSYS_FEATURE_", has_type_id = false)]
+ 	public enum WinsysFeature {
+ 		MULTIPLE_ONSCREEN,
+-		SWAP_THROTTLE,
+ 		VBLANK_COUNTER,
+ 		VBLANK_WAIT,
+ 		TEXTURE_FROM_PIXMAP,
+@@ -1082,9 +968,12 @@ namespace Cogl {
+ 	[CCode (cheader_filename = "cogl/cogl.h", instance_pos = 1.9)]
+ 	[Version (since = "1.8")]
+ 	public delegate void DebugObjectForeachTypeCallback (Cogl.DebugObjectTypeInfo info);
+-	[CCode (cheader_filename = "cogl/cogl.h", instance_pos = 2.9)]
+-	[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+-	public delegate Cogl.Bool MaterialLayerCallback (Cogl.Material material, int layer_index);
++	[CCode (cheader_filename = "cogl/cogl.h", instance_pos = 1.9)]
++	[Version (since = "0.10")]
++	public delegate void FeatureCallback (Cogl.FeatureID feature);
++	[CCode (cheader_filename = "cogl/cogl.h", instance_pos = 3.9)]
++	[Version (since = "1.14")]
++	public delegate void FrameCallback (Cogl.Onscreen onscreen, Cogl.FrameEvent event, Cogl.FrameInfo info);
+ 	[CCode (cheader_filename = "cogl/cogl.h", instance_pos = 2.9)]
+ 	[Version (since = "1.16")]
+ 	public delegate void OnscreenDirtyCallback (Cogl.Onscreen onscreen, Cogl.OnscreenDirtyInfo info);
+@@ -1092,12 +981,10 @@ namespace Cogl {
+ 	[Version (since = "2.0")]
+ 	public delegate void OnscreenResizeCallback (Cogl.Onscreen onscreen, int width, int height);
+ 	[CCode (cheader_filename = "cogl/cogl.h", instance_pos = 2.9)]
+-	public delegate void OnscreenX11MaskCallback (Cogl.Onscreen onscreen, uint32 event_mask);
+-	[CCode (cheader_filename = "cogl/cogl.h", instance_pos = 2.9)]
+ 	[Version (since = "2.0")]
+-	public delegate Cogl.Bool PipelineLayerCallback (Cogl.Pipeline pipeline, int layer_index);
++	public delegate bool PipelineLayerCallback (Cogl.Pipeline pipeline, int layer_index);
+ 	[CCode (cheader_filename = "cogl/cogl.h", instance_pos = 1.9)]
+-	public delegate void SwapBuffersNotify (Cogl.Framebuffer framebuffer);
++	public delegate bool Texture2DEGLImageExternalAlloc (Cogl.Texture2D tex_2d) throws GLib.Error;
+ 	[CCode (cheader_filename = "cogl/cogl.h", has_target = false)]
+ 	public delegate void UserDataDestroyCallback (void* data);
+ 	[CCode (cheader_filename = "cogl/cogl.h", cname = "COGL_AFIRST_BIT")]
+@@ -1108,6 +995,8 @@ namespace Cogl {
+ 	public const int BGR_BIT;
+ 	[CCode (cheader_filename = "cogl/cogl.h", cname = "COGL_DEPTH_BIT")]
+ 	public const int DEPTH_BIT;
++	[CCode (cheader_filename = "cogl/cogl.h", cname = "COGL_PIXEL_FORMAT_MAX_PLANES")]
++	public const int PIXEL_FORMAT_MAX_PLANES;
+ 	[CCode (cheader_filename = "cogl/cogl.h", cname = "COGL_PREMULT_BIT")]
+ 	public const int PREMULT_BIT;
+ 	[CCode (cheader_filename = "cogl/cogl.h", cname = "COGL_STENCIL_BIT")]
+@@ -1115,21 +1004,12 @@ namespace Cogl {
+ 	[CCode (cheader_filename = "cogl/cogl.h", cname = "COGL_TEXTURE_MAX_WASTE")]
+ 	public const int TEXTURE_MAX_WASTE;
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-	public static void begin_gl ();
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.2")]
+-	public static Cogl.Bool check_extension (string name, string ext);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static void clear (Cogl.Color color, ulong buffers);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	public static Cogl.Bool clutter_check_extension_CLUTTER (string name, string ext);
++	public static bool blit_framebuffer (Cogl.Framebuffer src, Cogl.Framebuffer dest, int src_x, int src_y, int dst_x, int dst_y, int width, int height) throws GLib.Error;
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+-	public static Cogl.Bool clutter_winsys_has_feature_CLUTTER (Cogl.WinsysFeature feature);
++	public static bool clutter_winsys_has_feature_CLUTTER (Cogl.WinsysFeature feature);
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+ 	[Version (since = "1.0")]
+-	public static Cogl.Bool color_equal (void* v1, void* v2);
++	public static bool color_equal (void* v1, void* v2);
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+ 	[Version (since = "1.16")]
+ 	public static void color_init_from_hsl (out Cogl.Color color, float hue, float saturation, float luminance);
+@@ -1143,234 +1023,87 @@ namespace Cogl {
+ 	[Version (since = "1.8")]
+ 	public static void debug_object_print_instances ();
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static void disable_fog ();
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-	public static void end_gl ();
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10")]
+-	public static Cogl.Bool features_available (Cogl.FeatureFlags features);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+ 	[Version (since = "1.0")]
+ 	public static void flush ();
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10", since = "0.8.2")]
+-	public static void frustum (float left, float right, float bottom, float top, float z_near, float z_far);
++	[Version (since = "1.10")]
++	public static void foreach_feature (Cogl.Context context, Cogl.FeatureCallback callback);
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+ 	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static Cogl.Bool get_backface_culling_enabled ();
++	public static bool get_backface_culling_enabled ();
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.8")]
+-	public static void get_bitmasks (out int red, out int green, out int blue, out int alpha);
++	[Version (since = "1.14")]
++	public static int64 get_clock_time (Cogl.Context context);
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+ 	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static Cogl.Bool get_depth_test_enabled ();
++	public static bool get_depth_test_enabled ();
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (since = "1.8")]
+-	public static unowned Cogl.Framebuffer get_draw_framebuffer ();
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10", since = "0.8")]
+-	public static Cogl.FeatureFlags get_features ();
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10")]
+-	public static Cogl.Matrix get_modelview_matrix ();
++	public static Cogl.GraphicsResetStatus get_graphics_reset_status (Cogl.Context context);
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+ 	[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+ 	public static GLib.OptionGroup get_option_group ();
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+ 	public static GLib.Callback get_proc_address (string s);
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10")]
+-	public static Cogl.Matrix get_projection_matrix ();
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16", since = "1.6")]
+-	public static void* get_source ();
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10")]
+-	public static void get_viewport ([CCode (array_length = false)] out float v[4]);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+ 	[Version (deprecated = true, deprecated_since = "1.18")]
+ 	public static GLib.Type gtype_matrix_get_type ();
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+ 	[Version (since = "1.10")]
+-	public static Cogl.Bool is_framebuffer (void* object);
++	public static bool has_feature (Cogl.Context context, Cogl.FeatureID feature);
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+ 	[Version (since = "1.10")]
+-	public static Cogl.Bool is_onscreen (void* object);
++	public static bool is_context (void* object);
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+ 	[Version (since = "2.0")]
+-	public static Cogl.Bool is_pipeline (void* object);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16", since = "1.4")]
+-	public static Cogl.Bool is_vertex_buffer_indices (Cogl.Handle handle);
++	public static bool is_frame_info (void* object);
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (since = "1.4")]
+-	public static Cogl.Bool matrix_equal (void* v1, void* v2);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10", since = "1.0")]
+-	public static void ortho (float left, float right, float bottom, float top, float near, float far);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10")]
+-	public static void perspective (float fovy, float aspect, float z_near, float z_far);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (since = "1.0")]
+-	public static void polygon (Cogl.TextureVertex vertices, uint n_vertices, Cogl.Bool use_color);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10")]
+-	public static void pop_matrix ();
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16", since = "1.6")]
+-	public static void pop_source ();
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10")]
+-	public static void push_matrix ();
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16", since = "1.6")]
+-	public static void push_source (void* material);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	public static void rectangle (float x_1, float y_1, float x_2, float y_2);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (since = "1.0")]
+-	public static void rectangle_with_multitexture_coords (float x1, float y1, float x2, float y2, [CCode (array_length = false)] float[] tex_coords, int tex_coords_len);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (since = "1.0")]
+-	public static void rectangle_with_texture_coords (float x1, float y1, float x2, float y2, float tx1, float ty1, float tx2, float ty2);
++	[Version (since = "1.10")]
++	public static bool is_framebuffer (void* object);
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (since = "1.0")]
+-	public static void rectangles ([CCode (array_length = false)] float[] verts, uint n_rects);
++	[Version (since = "1.10")]
++	public static bool is_onscreen (void* object);
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (since = "0.8.6")]
+-	public static void rectangles_with_texture_coords ([CCode (array_length = false)] float[] verts, uint n_rects);
++	[Version (since = "2.0")]
++	public static bool is_pipeline (void* object);
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10")]
+-	public static void rotate (float angle, float x, float y, float z);
++	public static bool is_texture_2d (void* object);
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10")]
+-	public static void scale (float x, float y, float z);
++	[Version (since = "1.10")]
++	public static bool is_texture_2d_sliced (void* object);
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static void set_backface_culling_enabled (Cogl.Bool setting);
++	[Version (since = "1.4")]
++	public static bool matrix_equal (void* v1, void* v2);
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+ 	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static void set_depth_test_enabled (Cogl.Bool setting);
++	public static void set_backface_culling_enabled (bool setting);
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+ 	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static void set_fog (Cogl.Color fog_color, Cogl.FogMode mode, float density, float z_near, float z_far);
++	public static void set_depth_test_enabled (bool setting);
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10")]
+-	public static void set_modelview_matrix (Cogl.Matrix matrix);
++	public static void set_tracing_disabled_on_thread (void* data);
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10")]
+-	public static void set_projection_matrix (Cogl.Matrix matrix);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-	public static void set_source (void* material);
++	public static void set_tracing_enabled_on_thread (void* data, string group, string filename);
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-	public static void set_source_color (Cogl.Color color);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-	public static void set_source_color4f (float red, float green, float blue, float alpha);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-	public static void set_source_color4ub (uint8 red, uint8 green, uint8 blue, uint8 alpha);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
+-	public static void set_source_texture (Cogl.Texture texture);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.8", since = "1.2")]
+-	public static void set_viewport (int x, int y, int width, int height);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static void shader_compile (Cogl.Handle handle);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static string shader_get_info_log (Cogl.Handle handle);
++	public static void set_tracing_enabled_on_thread_with_fd (void* data, string group, int fd);
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+ 	[Version (deprecated = true, deprecated_since = "1.16")]
+ 	public static Cogl.ShaderType shader_get_type (Cogl.Handle handle);
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+ 	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static Cogl.Bool shader_is_compiled (Cogl.Handle handle);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static unowned Cogl.Handle shader_ref (Cogl.Handle handle);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+ 	public static void shader_source (Cogl.Handle shader, string source);
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static void shader_unref (Cogl.Handle handle);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+ 	[Version (deprecated = true, deprecated_since = "1.18", since = "1.0")]
+ 	public static Cogl.Texture texture_new_from_bitmap (Cogl.Bitmap bitmap, Cogl.TextureFlags flags, Cogl.PixelFormat internal_format);
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+ 	[Version (deprecated = true, deprecated_since = "1.18", since = "0.8")]
+-	public static Cogl.Texture texture_new_from_data (int width, int height, Cogl.TextureFlags flags, Cogl.PixelFormat format, Cogl.PixelFormat internal_format, int rowstride, uint8 data);
++	public static Cogl.Texture texture_new_from_data (int width, int height, Cogl.TextureFlags flags, Cogl.PixelFormat format, Cogl.PixelFormat internal_format, int rowstride, [CCode (array_length = false)] uint8[] data);
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+ 	[Version (deprecated = true, deprecated_since = "1.18", since = "0.8")]
+ 	public static Cogl.Texture texture_new_from_file (string filename, Cogl.TextureFlags flags, Cogl.PixelFormat internal_format) throws GLib.Error;
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+ 	[Version (deprecated = true, deprecated_since = "1.18", since = "0.8")]
+-	public static Cogl.Texture texture_new_from_foreign (uint gl_handle, uint gl_target, uint width, uint height, uint x_pot_waste, uint y_pot_waste, Cogl.PixelFormat format);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.18", since = "0.8")]
+ 	public static Cogl.Texture texture_new_with_size (uint width, uint height, Cogl.TextureFlags flags, Cogl.PixelFormat internal_format);
+ 	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10", since = "1.4")]
+-	public static void transform (Cogl.Matrix matrix);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.10")]
+-	public static void translate (float x, float y, float z);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static void vertex_buffer_add (Cogl.Handle handle, string attribute_name, uint8 n_components, Cogl.AttributeType type, Cogl.Bool normalized, uint16 stride, void* pointer);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static void vertex_buffer_delete (Cogl.Handle handle, string attribute_name);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static void vertex_buffer_disable (Cogl.Handle handle, string attribute_name);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static void vertex_buffer_draw (Cogl.Handle handle, Cogl.VerticesMode mode, int first, int count);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static void vertex_buffer_draw_elements (Cogl.Handle handle, Cogl.VerticesMode mode, Cogl.Handle indices, int min_index, int max_index, int indices_offset, int count);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static void vertex_buffer_enable (Cogl.Handle handle, string attribute_name);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static uint vertex_buffer_get_n_vertices (Cogl.Handle handle);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static unowned Cogl.Handle vertex_buffer_indices_get_for_quads (uint n_indices);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static Cogl.IndicesType vertex_buffer_indices_get_type (Cogl.Handle indices);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static unowned Cogl.Handle vertex_buffer_new (uint n_vertices);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.2")]
+-	public static unowned Cogl.Handle vertex_buffer_ref (Cogl.Handle handle);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.16")]
+-	public static void vertex_buffer_submit (Cogl.Handle handle);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.2")]
+-	public static void vertex_buffer_unref (Cogl.Handle handle);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (deprecated = true, deprecated_since = "1.8", since = "0.8.2")]
+-	public static void viewport (uint width, uint height);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	public static uint32 x11_onscreen_get_visual_xid (Cogl.Onscreen onscreen);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+ 	[Version (since = "1.10")]
+ 	public static uint32 x11_onscreen_get_window_xid (Cogl.Onscreen onscreen);
+-	[CCode (cheader_filename = "cogl/cogl.h")]
+-	[Version (since = "2.0")]
+-	public static void x11_onscreen_set_foreign_window_xid (Cogl.Onscreen onscreen, uint32 xid, [CCode (scope = "async")] Cogl.OnscreenX11MaskCallback update);
+ }
+diff --git vapi/polkit-gobject-1.vapi vapi/polkit-gobject-1.vapi
+index 93eff8a5..fedc6a4a 100644
+--- vapi/polkit-gobject-1.vapi
++++ vapi/polkit-gobject-1.vapi
+@@ -7,7 +7,7 @@ namespace Polkit {
+ 		[CCode (has_construct_function = false)]
+ 		protected ActionDescription ();
+ 		public unowned string get_action_id ();
+-		public unowned string get_annotation (string key);
++		public unowned string? get_annotation (string key);
+ 		[CCode (array_length = false, array_null_terminated = true)]
+ 		public unowned string[] get_annotation_keys ();
+ 		public unowned string get_description ();
+@@ -34,7 +34,7 @@ namespace Polkit {
+ 		public Polkit.AuthorityFeatures get_backend_features ();
+ 		public unowned string get_backend_name ();
+ 		public unowned string get_backend_version ();
+-		public string get_owner ();
++		public string? get_owner ();
+ 		public static Polkit.Authority get_sync (GLib.Cancellable? cancellable = null) throws GLib.Error;
+ 		public async bool register_authentication_agent (Polkit.Subject subject, string locale, string object_path, GLib.Cancellable? cancellable) throws GLib.Error;
+ 		public bool register_authentication_agent_sync (Polkit.Subject subject, string locale, string object_path, GLib.Cancellable? cancellable = null) throws GLib.Error;
+@@ -56,21 +56,22 @@ namespace Polkit {
+ 	public class AuthorizationResult : GLib.Object {
+ 		[CCode (has_construct_function = false)]
+ 		public AuthorizationResult (bool is_authorized, bool is_challenge, Polkit.Details? details);
+-		public unowned Polkit.Details get_details ();
++		public unowned Polkit.Details? get_details ();
++		[Version (since = "0.101")]
+ 		public bool get_dismissed ();
+ 		public bool get_is_authorized ();
+ 		public bool get_is_challenge ();
+ 		public bool get_retains_authorization ();
+-		public unowned string get_temporary_authorization_id ();
++		public unowned string? get_temporary_authorization_id ();
+ 	}
+ 	[CCode (cheader_filename = "polkit/polkit.h", type_id = "polkit_details_get_type ()")]
+ 	public class Details : GLib.Object {
+ 		[CCode (has_construct_function = false)]
+ 		public Details ();
+ 		[CCode (array_length = false, array_null_terminated = true)]
+-		public string[] get_keys ();
++		public string[]? get_keys ();
+ 		public void insert (string key, string? value);
+-		public unowned string lookup (string key);
++		public unowned string? lookup (string key);
+ 	}
+ 	[CCode (cheader_filename = "polkit/polkit.h", type_id = "polkit_permission_get_type ()")]
+ 	public class Permission : GLib.Permission, GLib.AsyncInitable, GLib.Initable {
+@@ -88,7 +89,8 @@ namespace Polkit {
+ 		[CCode (has_construct_function = false)]
+ 		protected SystemBusName ();
+ 		public unowned string get_name ();
+-		public Polkit.Subject get_process_sync (GLib.Cancellable? cancellable = null) throws GLib.Error;
++		public Polkit.Subject? get_process_sync (GLib.Cancellable? cancellable = null) throws GLib.Error;
++		public Polkit.UnixUser? get_user_sync (GLib.Cancellable? cancellable = null) throws GLib.Error;
+ 		public static Polkit.Subject @new (string name);
+ 		public void set_name (string name);
+ 		public string name { get; set construct; }
+@@ -146,9 +148,10 @@ namespace Polkit {
+ 		protected UnixSession ();
+ 		public unowned string get_session_id ();
+ 		public static Polkit.Subject @new (string session_id);
+-		public static async Polkit.Subject new_for_process (int pid, GLib.Cancellable? cancellable) throws GLib.Error;
+-		public static Polkit.Subject new_for_process_sync (int pid, GLib.Cancellable? cancellable = null) throws GLib.Error;
++		public static async Polkit.Subject? new_for_process (int pid, GLib.Cancellable? cancellable) throws GLib.Error;
++		public static Polkit.Subject? new_for_process_sync (int pid, GLib.Cancellable? cancellable = null) throws GLib.Error;
+ 		public void set_session_id (string session_id);
++		[NoAccessorMethod]
+ 		public int pid { construct; }
+ 		public string session_id { get; set construct; }
+ 	}
+@@ -156,17 +159,17 @@ namespace Polkit {
+ 	public class UnixUser : GLib.Object, Polkit.Identity {
+ 		[CCode (has_construct_function = false)]
+ 		protected UnixUser ();
+-		public unowned string get_name ();
++		public unowned string? get_name ();
+ 		public int get_uid ();
+ 		public static Polkit.Identity @new (int uid);
+-		public static Polkit.Identity new_for_name (string name) throws GLib.Error;
++		public static Polkit.Identity? new_for_name (string name) throws GLib.Error;
+ 		public void set_uid (int uid);
+ 		public int uid { get; set construct; }
+ 	}
+ 	[CCode (cheader_filename = "polkit/polkit.h", type_id = "polkit_identity_get_type ()")]
+ 	public interface Identity : GLib.Object {
+ 		public abstract bool equal (Polkit.Identity b);
+-		public static Polkit.Identity from_string (string str) throws GLib.Error;
++		public static Polkit.Identity? from_string (string str) throws GLib.Error;
+ 		public abstract uint hash ();
+ 		public abstract string to_string ();
+ 	}
+@@ -201,7 +204,7 @@ namespace Polkit {
+ 		ADMINISTRATOR_AUTHENTICATION_REQUIRED_RETAINED,
+ 		AUTHORIZED;
+ 		public static bool from_string (string string, Polkit.ImplicitAuthorization out_implicit_authorization);
+-		public static unowned string to_string (Polkit.ImplicitAuthorization implicit_authorization);
++		public unowned string to_string ();
+ 	}
+ 	[CCode (cheader_filename = "polkit/polkit.h", cprefix = "POLKIT_ERROR_")]
+ 	public errordomain Error {
+@@ -212,7 +215,7 @@ namespace Polkit {
+ 		public static GLib.Quark quark ();
+ 	}
+ 	[CCode (cheader_filename = "polkit/polkit.h")]
+-	public static Polkit.Identity identity_from_string (string str) throws GLib.Error;
++	public static Polkit.Identity? identity_from_string (string str) throws GLib.Error;
+ 	[CCode (cheader_filename = "polkit/polkit.h")]
+ 	public static Polkit.Subject subject_from_string (string str) throws GLib.Error;
+ }
+-- 
+2.28.0
+
diff --git a/srcpkgs/budgie-desktop/template b/srcpkgs/budgie-desktop/template
index b32e7734d3b..ae5a9d5f769 100644
--- a/srcpkgs/budgie-desktop/template
+++ b/srcpkgs/budgie-desktop/template
@@ -1,7 +1,7 @@
 # Template file for 'budgie-desktop'
 pkgname=budgie-desktop
 version=10.5.1
-revision=3
+revision=4
 build_style=meson
 build_helper=gir
 configure_args="-Dwith-gtk-doc=false -Dwith-desktop-icons=none"

  parent reply	other threads:[~2020-09-12  1:46 UTC|newest]

Thread overview: 87+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-13 16:59 [PR PATCH] " q66
2020-08-13 17:01 ` q66
2020-08-13 17:27 ` [PR PATCH] [Updated] " q66
2020-08-14  5:46 ` mnabid
2020-08-14 15:25 ` [PR PATCH] [Updated] " q66
2020-08-14 15:31 ` q66
2020-08-14 19:00 ` q66
2020-08-14 19:03 ` q66
2020-08-14 19:05 ` q66
2020-08-14 19:05 ` q66
2020-08-14 19:51 ` mnabid
2020-08-14 22:37 ` [PR PATCH] [Updated] " q66
2020-08-14 23:48 ` sgn
2020-08-16  5:18 ` [PR PATCH] [Updated] " q66
2020-08-16 19:49 ` q66
2020-08-16 19:51 ` q66
2020-08-16 19:52 ` q66
2020-08-17 12:37 ` shizonic
2020-08-17 19:21 ` q66
2020-08-18  3:36 ` [PR PATCH] [Updated] " q66
2020-08-18  4:28 ` q66
2020-08-18  4:34 ` q66
2020-08-18  5:12 ` q66
2020-08-20 12:22 ` shizonic
2020-08-20 13:52 ` q66
2020-08-20 16:18 ` shizonic
2020-08-22 17:12 ` toluschr
2020-08-22 17:13 ` toluschr
2020-08-22 17:17 ` toluschr
2020-08-22 17:45 ` q66
2020-08-22 17:46 ` [PR PATCH] [Updated] " q66
2020-08-22 17:57 ` toluschr
2020-08-22 18:35 ` toluschr
2020-08-22 18:51 ` toluschr
2020-08-22 19:03 ` q66
2020-08-24 10:00 ` q66
2020-08-24 10:04 ` q66
2020-08-25  8:13 ` shizonic
2020-08-31 22:49 ` [PR PATCH] [Updated] " q66
2020-09-05 20:25 ` q66
2020-09-12  1:46 ` q66 [this message]
2020-09-13  4:29 ` fosslinux
2020-09-13 12:13 ` q66
2020-09-13 22:54 ` fosslinux
2020-09-13 22:54 ` fosslinux
2020-09-16 15:18 ` shizonic
2020-09-16 20:31 ` circhioz
2020-09-16 21:18 ` circhioz
2020-09-16 23:03 ` [PR PATCH] [Updated] " q66
2020-09-17  0:35 ` q66
2020-09-17  3:14 ` q66
2020-09-17  4:27 ` q66
2020-09-17  4:31 ` q66
2020-09-17  4:32 ` [PR PATCH] [Updated] " q66
2020-09-17  6:04 ` fosslinux
2020-09-17 12:49 ` Gottox
2020-09-17 13:09 ` sgn
2020-09-17 21:13 ` [PR PATCH] [Updated] " q66
2020-09-17 21:21 ` q66
2020-09-17 22:20 ` pullmoll
2020-09-17 22:23 ` pullmoll
2020-09-17 22:26 ` pullmoll
2020-09-17 22:29 ` pullmoll
2020-09-17 22:41 ` [PR PATCH] [Updated] " q66
2020-09-17 23:52 ` q66
2020-09-18  1:58 ` [PR PATCH] [Updated] " q66
2020-09-18  1:59 ` q66
2020-09-18  6:38 ` Gottox
2020-09-18 12:52 ` Gottox
2020-09-18 12:54 ` Gottox
2020-09-18 13:46 ` pullmoll
2020-09-18 13:48 ` pullmoll
2020-09-18 13:48 ` pullmoll
2020-09-18 13:58 ` sgn
2020-09-18 13:59 ` pullmoll
2020-09-18 14:04 ` sgn
2020-09-18 14:05 ` sgn
2020-09-18 14:07 ` sgn
2020-09-18 14:10 ` q66
2020-09-18 14:13 ` q66
2020-09-18 14:14 ` sgn
2020-09-18 14:18 ` Gottox
2020-09-18 14:25 ` pullmoll
2020-09-18 14:58 ` q66
2020-09-18 15:27 ` [PR PATCH] [Updated] " q66
2020-09-18 15:28 ` q66
2020-09-18 16:46 ` [PR PATCH] [Closed]: " q66

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200912014612.COM939l3F5mpJRyiAY8f1CM-AFqk_PVlyPq4tf13MjM@z \
    --to=q66@users.noreply.github.com \
    --cc=ml@inbox.vuxu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).