From: q66 <q66@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] gnome 3.38
Date: Thu, 17 Sep 2020 06:32:53 +0200 [thread overview]
Message-ID: <20200917043253.3Hz1XZl-2uL4HIazzrv9AV8YRyEvvJYTRNvqWTO_yEw@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: 4748 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
- [x] 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
# Stable updates
- [x] mozjs78 -> 78.1.0 **(new)**
- [x] yelp-xsl -> 3.38.0
- [x] yelp-tools -> 3.38.0
- [x] yelp -> 3.38.0
- [x] vala -> 0.50.0
- [x] valadoc -> 0.50.0
- [x] valabind -> (revbump)
- [x] devhelp -> 3.38.0
- [x] gdl -> 3.34.0
- [x] libsoup -> 2.72.0
- [x] grilo -> 0.3.13
- [x] grilo-plugins -> 0.3.12
- [x] gtksourceview4 -> 4.8.0
- [x] tepl -> 5.0.0
- [x] glade3 -> 3.38.0
- [x] libhandy -> (revbump)
- [x] libhandy1 -> 1.0.0
- [x] libxfce4ui -> (revbump)
- [x] libdazzle -> 3.38.0
- [x] anjuta -> (revbump)
- [x] sysprof -> 3.38.0
- [x] tracker -> 2.3.6
- [x] tracker-miners -> 2.3.5
- [x] tracker3 -> 3.0.0 **(new)**
- [x] tracker3-miners -> 3.0.0 **(new)**
- [x] bijiben -> 3.36.3
- [x] graphene -> 1.10.2
- [x] amtk -> 5.2.0
- [x] io.elementary.code -> (revbump)
- [x] phodav -> 2.5
- [x] gsettings-desktop-schemas -> 3.38.0
- [x] glib-networking -> 2.66.0
- [x] at-spi2-core -> 2.38.0
- [x] at-spi2-atk -> 2.38.0
- [x] libgweather -> 3.36.1
- [x] gnome-menus -> 3.36.0
- [x] gnome-desktop -> 3.38.0
- [x] gnome-settings-daemon -> 3.38.0
- [x] mutter -> 3.38.0
- [x] cheese -> 3.38.0
- [x] evolution-data-server -> 3.38.0
- [x] folks -> 0.14.0
- [x] gnome-online-accounts -> 3.37.90
- [x] gvfs -> 1.46.0
- [x] gnome-control-center -> 3.38.0
- [x] dconf-editor -> 3.38.0
- [x] gjs -> 1.66.0
- [x] gnome-shell -> 3.38.0
- [x] gnome-shell-extensions -> 3.38.0
- [x] gdm -> 3.38.0
- [x] gnome-session -> 3.38.0
- [x] gnome-initial-setup -> 3.38.0
- [x] xdg-desktop-portal-gtk -> 1.8.0
- [x] nautilus -> 3.38.0
- [x] gnome-maps -> 3.38.0
- [x] evolution -> 3.38.0
- [x] evolution-ews -> 3.38.0
- [x] python3-atspi -> 2.38.0
- [x] python-atspi -> 2.38.0
- [x] orca -> 3.38.0
- [x] gnome-weather -> (revbump)
- [x] vte3 -> 0.62.0
- [x] gnome-terminal -> 3.38.0
- [x] gnome-getting-started-docs -> 3.36.2
- [x] gnome-user-docs -> 3.38.0
- [x] gnome-epub-thumbnailer -> 1.6
- [x] gnome-books -> (revbump)
- [x] gnome-characters -> (revbump)
- [x] gnome-documents -> (revbump)
- [x] gnome-font-viewer -> (revbump)
- [x] totem -> 3.38.0
- [x] gnome-screensaver -> (revbump + build fix)
- [x] gnome-clocks -> 3.38.0
- [x] epiphany -> 3.38.0
- [x] gnome-contacts -> 3.37.2
- [x] gnome-photos -> 3.37.91.1
- [x] eog -> 3.38.0
- [x] evince -> 3.38.0
- [x] file-roller -> 3.38.0
- [x] gnome-calendar -> 3.38.0
- [x] gnome-music -> 3.38.0
- [x] gedit -> 3.38.0
- [x] gedit-plugins -> 3.38.0
- [x] gnome-latex -> 3.38.0
- [x] baobab -> 3.38.0
- [x] gnome-boxes -> 3.38.0
- [x] gnome-calculator -> 3.38.0
- [x] gnome-disk-utility -> 3.38.0
- [x] gnome-screenshot -> 3.38.0
- [x] gnome-system-monitor -> 3.38.0
- [x] adwaita-icon-theme -> 3.38.0
- [x] gnome-backgrounds -> 3.38.0
- [x] simple-scan -> 3.38.0
- [x] rygel -> 0.40.0
- [x] gnome-builder -> 3.38.0
- [x] retro-gtk -> 1.0.0
- [x] gnome-games -> 3.38.0
- [x] budgie-desktop -> (rebuild)
# Other updates (still TODO)
- [x] gnome-panel -> 3.37.1 *unstable*
- [x] metacity -> 3.37.1 *unstable*
- [x] gnome-flashback -> 3.37.2 *unstable*
- [x] polari -> 3.37.3 *unstable*
## 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] 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] gom -> 0.4
- [x] gssdp -> 1.2.3
- [x] gtk-vnc -> 1.0.0 (drops unused gtk2 support)
- [x] gupnp -> 1.2.4
- [x] gnome-video-effects -> 0.5.0
- [x] glib -> 2.66.0
- [x] webkit2gtk -> 2.30.0
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: 1175302 bytes --]
From b7e94518e2f4cc5e5bbce6b263080b3a25620135 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sun, 16 Aug 2020 06:23:04 +0200
Subject: [PATCH 001/104] 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 fecf10af09b..8d362e18496 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3538,6 +3538,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 9c950c1dea198a1872456465d0369fef77880637 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 17 Sep 2020 01:54:16 +0200
Subject: [PATCH 002/104] yelp-xsl: update to 3.38.0
---
srcpkgs/yelp-xsl/template | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/srcpkgs/yelp-xsl/template b/srcpkgs/yelp-xsl/template
index f74a7fba67c..260792b5bf5 100644
--- a/srcpkgs/yelp-xsl/template
+++ b/srcpkgs/yelp-xsl/template
@@ -1,8 +1,7 @@
# Template file for 'yelp-xsl'
pkgname=yelp-xsl
-version=3.36.0
+version=3.38.0
revision=1
-archs=noarch
build_style=gnu-configure
hostmakedepends="pkg-config intltool itstool libxslt"
makedepends="libxslt-devel"
@@ -11,4 +10,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=13bcc2011c4c55384174d18c7b2f0015a96b04efd24f3f646af2e7167e7ab0d7
From b15123d05713b32a7052d04ca783ec7d93b866b9 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 17 Sep 2020 01:55:08 +0200
Subject: [PATCH 003/104] yelp-tools: update to 3.38.0
---
srcpkgs/yelp-tools/template | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/srcpkgs/yelp-tools/template b/srcpkgs/yelp-tools/template
index 9e8a670e6b0..350610e3397 100644
--- a/srcpkgs/yelp-tools/template
+++ b/srcpkgs/yelp-tools/template
@@ -1,8 +1,7 @@
# Template file for 'yelp-tools'
pkgname=yelp-tools
-version=3.32.2
+version=3.38.0
revision=1
-archs=noarch
build_style=gnu-configure
hostmakedepends="pkg-config itstool libxslt"
makedepends="yelp-xsl"
@@ -12,4 +11,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=607ce4b3ee8517c42db924a01a78660a03317595c75825731ea86a920e2b04b0
From b78e6259d5499a60950aaa5e5cbddc8959cdfe4b Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 17 Sep 2020 01:53:04 +0200
Subject: [PATCH 004/104] yelp: update to 3.38.0
---
srcpkgs/yelp/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/yelp/template b/srcpkgs/yelp/template
index 63ca7c225c8..d141d80d436 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.38.0
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=d7cdce0e6dba513b4df109c1fa7effcbf08bb3f4d00d9e792c7edf34544f9658
yelp-devel_package() {
depends="yelp-${version}_${revision}"
From f0d3992a0377ff7a43eb0213c68da013a67d2421 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Wed, 16 Sep 2020 20:29:21 +0200
Subject: [PATCH 005/104] vala: update to 0.50.0
---
common/shlibs | 2 +-
srcpkgs/vala/template | 10 +++++-----
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/common/shlibs b/common/shlibs
index 8d362e18496..78a4d888c01 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3157,7 +3157,7 @@ libsysprof-3.so sysprof-3.34.0_1
libsysprof-ui-3.so sysprof-3.34.0_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
+libvala-0.50.so.0 libvala-0.50.0_1
libvaladoc-0.48.so.0 libvaladoc-0.48.0_1
libvalaccodegen.so libvala-0.44.0_1
libphodav-2.0.so.0 phodav-2.2_1
diff --git a/srcpkgs/vala/template b/srcpkgs/vala/template
index e958825f196..6310bf43ccf 100644
--- a/srcpkgs/vala/template
+++ b/srcpkgs/vala/template
@@ -1,7 +1,7 @@
# Template file for 'vala'
pkgname=vala
# Should be kept in sync with 'valadoc' (shared distfiles)
-version=0.48.9
+version=0.50.0
revision=1
build_style=gnu-configure
configure_args="--disable-valadoc"
@@ -12,9 +12,9 @@ short_desc="Compiler for the GObject type system"
maintainer="Enno Boland <gottox@voidlinux.org>"
license="LGPL-2.1-or-later"
homepage="https://wiki.gnome.org/Projects/Vala"
-changelog="https://gitlab.gnome.org/GNOME/vala/raw/0.48/NEWS"
+changelog="https://gitlab.gnome.org/GNOME/vala/raw/0.50/NEWS"
distfiles="${GNOME_SITE}/vala/${version%.*}/vala-${version}.tar.xz"
-checksum=9cea16d3bb3daddbfe0556b99fbfa08146230db7651e1e674cd08b4df5cefea9
+checksum=838adc50ac08881e06cf233fefd93740dec1530312cc1cf12c36d4e0e87d3071
shlib_provides="libvalaccodegen.so"
post_install() {
@@ -22,8 +22,8 @@ post_install() {
# so the package that use it fall into our wrapper.
# keep the binary versioned, we don't know the potential
# fallout from using the unversioned one
- vsed -e 's|^vapigen=.*|vapigen=vapigen-0.48|g' \
- -i ${DESTDIR}/usr/lib/pkgconfig/vapigen-0.48.pc
+ vsed -e 's|^vapigen=.*|vapigen=vapigen-0.50|g' \
+ -i ${DESTDIR}/usr/lib/pkgconfig/vapigen-0.50.pc
}
libvala_package() {
From ade8da51a00ed3306bae929a95f6fb9c00d9b5e3 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Wed, 16 Sep 2020 20:30:32 +0200
Subject: [PATCH 006/104] valadoc: update to 0.50.0
---
common/shlibs | 2 +-
srcpkgs/valadoc/template | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/common/shlibs b/common/shlibs
index 78a4d888c01..c01cf8bdb81 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3158,7 +3158,7 @@ libsysprof-ui-3.so sysprof-3.34.0_1
libmozjs-52.so mozjs52-52.3.0_1
libmozjs-52.so.0 mozjs52-52.3.0_1
libvala-0.50.so.0 libvala-0.50.0_1
-libvaladoc-0.48.so.0 libvaladoc-0.48.0_1
+libvaladoc-0.50.so.0 libvaladoc-0.50.0_1
libvalaccodegen.so libvala-0.44.0_1
libphodav-2.0.so.0 phodav-2.2_1
libgfshare.so.2 libgfshare-2.0.0_1
diff --git a/srcpkgs/valadoc/template b/srcpkgs/valadoc/template
index 24ca0283655..ce5a1d7a54f 100644
--- a/srcpkgs/valadoc/template
+++ b/srcpkgs/valadoc/template
@@ -1,7 +1,7 @@
# Template file for 'valadoc'
pkgname=valadoc
# Should be kept in sync with 'vala' (shared distfiles)
-version=0.48.9
+version=0.50.0
revision=1
wrksrc="vala-${version}"
build_style=gnu-configure
@@ -13,9 +13,9 @@ short_desc="Vala Documentation Tool"
maintainer="Enno Boland <gottox@voidlinux.org>"
license="LGPL-2.1-or-later"
homepage="https://wiki.gnome.org/Projects/Vala"
-changelog="https://gitlab.gnome.org/GNOME/vala/raw/0.42/NEWS"
+changelog="https://gitlab.gnome.org/GNOME/vala/raw/0.50/NEWS"
distfiles="${GNOME_SITE}/vala/${version%.*}/vala-${version}.tar.xz"
-checksum=9cea16d3bb3daddbfe0556b99fbfa08146230db7651e1e674cd08b4df5cefea9
+checksum=838adc50ac08881e06cf233fefd93740dec1530312cc1cf12c36d4e0e87d3071
pre_configure() {
autoreconf -if
From 74b19e73027e6ac73c6b381c7755a79e19e503dc Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Wed, 16 Sep 2020 20:32:13 +0200
Subject: [PATCH 007/104] valabind: rebuild for vala-0.50
---
srcpkgs/valabind/patches/vala-050.patch | 25 +++++++++++++++++++++++++
srcpkgs/valabind/template | 2 +-
2 files changed, 26 insertions(+), 1 deletion(-)
create mode 100644 srcpkgs/valabind/patches/vala-050.patch
diff --git a/srcpkgs/valabind/patches/vala-050.patch b/srcpkgs/valabind/patches/vala-050.patch
new file mode 100644
index 00000000000..bd7c6a74345
--- /dev/null
+++ b/srcpkgs/valabind/patches/vala-050.patch
@@ -0,0 +1,25 @@
+From f942315402e3fc38def14a974dd5b210e5d2c38d Mon Sep 17 00:00:00 2001
+From: Daniel Kolesa <daniel@octaforge.org>
+Date: Wed, 16 Sep 2020 20:39:29 +0200
+Subject: [PATCH] fix with vala-0.50
+
+---
+ valabindwriter.vala | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git valabindwriter.vala valabindwriter.vala
+index 165cdf5..c793c9f 100644
+--- valabindwriter.vala
++++ valabindwriter.vala
+@@ -33,7 +33,7 @@ public class ValabindWriter : CodeVisitor {
+ if (glibmode)
+ context.add_define ("GOBJECT");
+ // required to avoid ugly runtime errors
+- context.profile = Profile.GOBJECT;
++ context.set_target_profile(Profile.GOBJECT);
+ }
+
+ public void parse () {
+--
+2.28.0
+
diff --git a/srcpkgs/valabind/template b/srcpkgs/valabind/template
index f6f931c3033..2bf0df336e3 100644
--- a/srcpkgs/valabind/template
+++ b/srcpkgs/valabind/template
@@ -1,7 +1,7 @@
# Template file for 'valabind'
pkgname=valabind
version=1.7.1
-revision=5
+revision=6
build_style=meson
hostmakedepends="pkg-config vala-devel git"
makedepends="vala-devel glib-devel"
From f347c5612248101c48bddb9d6b1cef8d50b597b8 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 008/104] devhelp: update to 3.38.0
---
srcpkgs/devhelp/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/devhelp/template b/srcpkgs/devhelp/template
index a1c2dcbb762..86b3776adfd 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.38.0
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=918efb173122b26d45fa51c194a0b659e63fee7705f6722db2534fabc3452369
devhelp-devel_package() {
short_desc+=" - development files"
From 5fca1bbce5e61e418e11e24d3b8164773d95c591 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
<congdanhqx@gmail.com>
Date: Mon, 14 Sep 2020 20:22:43 +0700
Subject: [PATCH 009/104] gdl: update to 3.34.0.
---
srcpkgs/gdl/template | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/srcpkgs/gdl/template b/srcpkgs/gdl/template
index d5b180bd43b..35bee803f96 100644
--- a/srcpkgs/gdl/template
+++ b/srcpkgs/gdl/template
@@ -1,7 +1,7 @@
# Template file for 'gdl'
pkgname=gdl
-version=3.28.0
-revision=3
+version=3.34.0
+revision=1
build_style=gnu-configure
build_helper="gir"
configure_args="$(vopt_enable gir introspection)"
@@ -12,7 +12,7 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
license="LGPL-2.1-or-later, LGPL-2.0-or-later"
homepage="https://developer.gnome.org/gdl/"
distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=52cc98ecc105148467b3b2b4e0d27ae484b1b6710d53413f771ed07ef1b737b6
+checksum=858b30f0cdce4c4cb3e8365a7d54ce57c388beff38ea583be5449bc78dda8d02
# Package build options
build_options="gir"
From 186a512596214e83345aef2d03c3f6b485ca646f Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sun, 16 Aug 2020 21:16:45 +0200
Subject: [PATCH 010/104] libsoup: update to 2.72.0
---
srcpkgs/libsoup/template | 25 ++++++++++++++-----------
1 file changed, 14 insertions(+), 11 deletions(-)
diff --git a/srcpkgs/libsoup/template b/srcpkgs/libsoup/template
index f7a98373ac8..1ba8f8a5822 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.72.0
revision=1
build_style=meson
build_helper="gir"
-configure_args="-Dgssapi=disabled -Dntlm=disabled
- -Dintrospection=$(vopt_if gir enabled disabled)
- -Dvapi=$(vopt_if vala enabled disabled) -Dtls_check=false"
+configure_args="-Dgssapi=disabled -Dntlm=disabled -Dsysprof=disabled
+ -Dtls_check=false -Dintrospection=$(vopt_if gir enabled disabled)
+ -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=170c3f8446b0f65f8e4b93603349172b1085fb8917c181d10962f02bb85f5387
# 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 4efe12c4e9f174f329d595a70d7a04940c44c028 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 17 Sep 2020 01:10:22 +0200
Subject: [PATCH 011/104] grilo: update to 0.3.13, drop vala option
---
srcpkgs/grilo/template | 16 +++++++---------
1 file changed, 7 insertions(+), 9 deletions(-)
diff --git a/srcpkgs/grilo/template b/srcpkgs/grilo/template
index 4a6ab4cabe3..64bae9bd4e2 100644
--- a/srcpkgs/grilo/template
+++ b/srcpkgs/grilo/template
@@ -1,12 +1,12 @@
# Template file for 'grilo'
pkgname=grilo
-version=0.3.12
+version=0.3.13
revision=1
build_style=meson
build_helper="gir"
-configure_args="-Denable-introspection=$(vopt_if gir true false)
- -Denable-vala=$(vopt_if gir true false) -Denable-gtk-doc=false"
-hostmakedepends="gettext pkg-config glib-devel $(vopt_if vala vala)"
+configure_args="$(vopt_bool gir enable-introspection) $(vopt_bool gir vala)
+ -Denable-gtk-doc=false"
+hostmakedepends="gettext pkg-config glib-devel $(vopt_if gir vala)"
makedepends="gtk+3-devel libxml2-devel libsoup-devel liboauth-devel
totem-pl-parser-devel"
short_desc="Framework focused on making media discovery and browsing easy"
@@ -14,11 +14,11 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
license="LGPL-2.1-or-later"
homepage="http://live.gnome.org/Grilo"
distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=dbfbd6082103288592af97568180b9cc81a336a274ed5160412f87675ec11a71
+checksum=d14837f22341943ed8a189d9f0827a17016b802d18d0ed080e1413de0fdc927b
# Package build options
-build_options="gir vala"
-build_options_default="gir vala"
+build_options="gir"
+build_options_default="gir"
grilo-devel_package() {
depends="${makedepends} grilo>=${version}_${revision}"
@@ -27,8 +27,6 @@ grilo-devel_package() {
vmove usr/include
if [ "$build_option_gir" ]; then
vmove usr/share/gir-1.0
- fi
- if [ "$build_option_vala" ]; then
vmove usr/share/vala
fi
vmove usr/lib/pkgconfig
From 63eee9cb4a5d00b5c2045037fc6fca29ed3f75ad Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 17 Sep 2020 01:15:35 +0200
Subject: [PATCH 012/104] grilo-plugins: update to 0.3.12
---
srcpkgs/grilo-plugins/template | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/srcpkgs/grilo-plugins/template b/srcpkgs/grilo-plugins/template
index 8bf651366da..55bccf1ffb7 100644
--- a/srcpkgs/grilo-plugins/template
+++ b/srcpkgs/grilo-plugins/template
@@ -1,10 +1,9 @@
# Template file for 'grilo-plugins'
pkgname=grilo-plugins
-version=0.3.11
+version=0.3.12
revision=1
build_style=meson
-hostmakedepends="pkg-config intltool itstool glib-devel gperf
- gnome-doc-utils"
+hostmakedepends="pkg-config intltool itstool glib-devel gperf gnome-doc-utils"
# XXX missing plugins: fakemetadata.
makedepends="grilo-devel gom-devel gupnp-av-devel json-glib-devel
libquvi-devel rest-devel sqlite-devel libgcrypt-devel gmime-devel
@@ -16,4 +15,9 @@ maintainer="Orphaned <orphan@voidlinux.org>"
license="LGPL-2.1-or-later"
homepage="http://live.gnome.org/Grilo"
distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=dde2e605b1994341c6bf012493e056b406b08571834dea3b3c671d5b8b1dcd73
+checksum=c6b6df086a164d65c206d70139ce80591f8feca3545612e45b823fb4fe4b2577
+
+# feel free to fix
+do_check() {
+ :
+}
From a958d5cafd74caa1fbf4af95eabf44082b388fe4 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sun, 16 Aug 2020 04:56:34 +0200
Subject: [PATCH 013/104] gtksourceview4: update to 4.8.0
---
srcpkgs/gtksourceview4/template | 29 ++++++++++++++++-------------
1 file changed, 16 insertions(+), 13 deletions(-)
diff --git a/srcpkgs/gtksourceview4/template b/srcpkgs/gtksourceview4/template
index 6848716773c..5cfd5ecfbd9 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.8.0
+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=00a19121500cedf1bae97f35af865d839841fd785d9facf188498e13975b4e1a
# 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 1b90c81b1df12306fe58e02ba6e778507f772f4d Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sat, 15 Aug 2020 00:12:16 +0200
Subject: [PATCH 014/104] tepl: update to 5.0.0
---
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 c01cf8bdb81..322bef421ec 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3554,7 +3554,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..798d5cd0077 100644
--- a/srcpkgs/tepl/template
+++ b/srcpkgs/tepl/template
@@ -1,10 +1,10 @@
# Template file for 'tepl'
pkgname=tepl
-version=4.4.0
+version=5.0.0
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=c6bd2904f53048b7d0149236610b38f502f2634d395d8b9b3c659553f4045a74
build_options="gir"
build_options_default="gir"
From 05a27d5aea206bc60ac6a705778640523cb60e03 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
<congdanhqx@gmail.com>
Date: Mon, 14 Sep 2020 20:27:22 +0700
Subject: [PATCH 015/104] glade3: update to 3.38.0.
---
common/shlibs | 2 +-
srcpkgs/glade3/patches/autogen-autoconf.patch | 98 -------------------
.../patches/configure-shell-quote.patch | 11 ---
srcpkgs/glade3/patches/cross.patch | 40 --------
srcpkgs/glade3/template | 17 ++--
5 files changed, 7 insertions(+), 161 deletions(-)
delete mode 100644 srcpkgs/glade3/patches/autogen-autoconf.patch
delete mode 100644 srcpkgs/glade3/patches/configure-shell-quote.patch
delete mode 100644 srcpkgs/glade3/patches/cross.patch
diff --git a/common/shlibs b/common/shlibs
index 322bef421ec..db1646f18e0 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -770,7 +770,7 @@ liborc-test-0.4.so.0 orc-0.4.11_1
libgmime-2.6.so.0 gmime-2.6.4_1
libtotem-plparser.so.18 totem-pl-parser-3.26.1_1
libtotem-plparser-mini.so.18 libtotem-plparser-mini-3.26.1_1
-libgladeui-2.so.6 libgladeui3-3.10.0_1
+libgladeui-2.so.13 libgladeui3-3.38.0_1
libtdb.so.1 libtdb-1.2.2_1
libgssdp-1.2.so.0 gssdp-1.2.0_1
libgupnp-1.2.so.0 gupnp-1.2.0_1
diff --git a/srcpkgs/glade3/patches/autogen-autoconf.patch b/srcpkgs/glade3/patches/autogen-autoconf.patch
deleted file mode 100644
index f1dfc342b47..00000000000
--- a/srcpkgs/glade3/patches/autogen-autoconf.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-From 8341cf78bc6879cb2d50e12b5886ee7dca3d09f2 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Javier=20Jard=C3=B3n?= <jjardon@gnome.org>
-Date: Sat, 9 Feb 2019 13:15:17 +0000
-Subject: [PATCH] Use autoreconf instead deprecated gnome-common
-
-See https://wiki.gnome.org/Projects/GnomeCommon/Migration
----
- autogen.sh | 47 +++++++++++++++++++++++++++++++++--------------
- configure.ac | 6 ++----
- 2 files changed, 35 insertions(+), 18 deletions(-)
-
-diff --git autogen.sh autogen.sh
-index 1d8cd840..fd35663b 100755
---- autogen.sh
-+++ autogen.sh
-@@ -1,22 +1,41 @@
- #!/bin/sh
- # Run this to generate all the initial makefiles, etc.
-+test -n "$srcdir" || srcdir=$(dirname "$0")
-+test -n "$srcdir" || srcdir=.
-
--srcdir=`dirname $0`
--test -z "$srcdir" && srcdir=.
-+olddir=$(pwd)
-
--PKG_NAME="glade"
-+cd $srcdir
-
--(test -f $srcdir/configure.ac \
-- && test -f $srcdir/autogen.sh) || {
-- echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
-- echo " top-level $PKG_NAME directory"
-- exit 1
-+(test -f configure.ac) || {
-+ echo "*** ERROR: Directory '$srcdir' does not look like the top-level project directory ***"
-+ exit 1
- }
-
--which gnome-autogen.sh || {
-- echo "You need to install gnome-common module and make"
-- echo "sure the gnome-autogen.sh script is in your \$PATH."
-- exit 1
--}
-+# shellcheck disable=SC2016
-+PKG_NAME=$(autoconf --trace 'AC_INIT:$1' configure.ac)
-+
-+if [ "$#" = 0 -a "x$NOCONFIGURE" = "x" ]; then
-+ echo "*** WARNING: I am going to run 'configure' with no arguments." >&2
-+ echo "*** If you wish to pass any to it, please specify them on the" >&2
-+ echo "*** '$0' command line." >&2
-+ echo "" >&2
-+fi
-+
-+aclocal --install || exit 1
-+gtkdocize --copy || exit 1
-+intltoolize --force --copy --automake || exit 1
-+autoreconf --verbose --force --install || exit 1
-+
-+cd "$olddir"
-+if [ "$NOCONFIGURE" = "" ]; then
-+ $srcdir/configure "$@" || exit 1
-
--. gnome-autogen.sh
-+ if [ "$1" = "--help" ]; then
-+ exit 0
-+ else
-+ echo "Now type 'make' to compile $PKG_NAME" || exit 1
-+ fi
-+else
-+ echo "Skipping configure process."
-+fi
-diff --git configure.ac configure.ac
-index a3524656..638e7801 100644
---- configure.ac
-+++ configure.ac
-@@ -33,6 +33,8 @@ AM_MAINTAINER_MODE([enable])
- # to make
- AM_SILENT_RULES([yes])
-
-+AX_CHECK_ENABLE_DEBUG([yes],[GNOME_ENABLE_DEBUG])
-+
- # Checks for programs
- AC_PROG_CC
- AC_PROG_INSTALL
-@@ -79,10 +81,6 @@ AM_CONDITIONAL(GLADE_UNSTABLE, test "x$GLADE_UNSTABLE" = "xyes")
-
- # ================================================================
-
--GNOME_DEBUG_CHECK
--GNOME_COMPILE_WARNINGS([maximum])
--GNOME_MAINTAINER_MODE_DEFINES
--
- # For the plugins, we don't use the warning flags defined by GNOME_COMPILE_WARNINGS.
- # These flags include -Wmissing-prototypes, which we prefer not to use.
- if test "x$GCC" = "xyes"; then
---
-2.24.1
-
diff --git a/srcpkgs/glade3/patches/configure-shell-quote.patch b/srcpkgs/glade3/patches/configure-shell-quote.patch
deleted file mode 100644
index b3c60ccf365..00000000000
--- a/srcpkgs/glade3/patches/configure-shell-quote.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- configure.ac
-+++ configure.ac
-@@ -279,7 +279,7 @@
- dnl Check for GDK Quartz and MacOSX integration package
- dnl ================================================================
- _gdk_tgt=`$PKG_CONFIG --variable=targets gdk-3.0`
--AM_CONDITIONAL([GDK_TARGET_QUARTZ], [test x$_gdk_tgt = xquartz])
-+AM_CONDITIONAL([GDK_TARGET_QUARTZ], [test "x$_gdk_tgt" = xquartz])
- if test "x$_gdk_tgt" = xquartz; then
- PKG_CHECK_MODULES(GTK_MAC, gtk-mac-integration-gtk3)
-
diff --git a/srcpkgs/glade3/patches/cross.patch b/srcpkgs/glade3/patches/cross.patch
deleted file mode 100644
index 03b1d7e846e..00000000000
--- a/srcpkgs/glade3/patches/cross.patch
+++ /dev/null
@@ -1,40 +0,0 @@
---- m4/python.m4
-+++ m4/python.m4
-@@ -43,17 +43,9 @@
- [AC_REQUIRE([AM_PATH_PYTHON])
- AC_MSG_CHECKING(for headers required to compile python extensions)
- dnl deduce PYTHON_INCLUDES
--am_python_print_includes="\
--from distutils import sysconfig as sc
--incldirs = [[]]
--
--for d in sc.get_config_var('INCLDIRSTOMAKE').split():
-- incldirs.append('-I' + d)
--
--print(' '.join(incldirs))
--"
-+xbps_sysroot=`$CC --print-sysroot`
- if test "x$PYTHON_INCLUDES" == x; then
-- PYTHON_INCLUDES=`$PYTHON -c "$am_python_print_includes"`
-+ PYTHON_INCLUDES=`"$xbps_sysroot/$PYTHON-config" --includes`
- fi
- AC_SUBST(PYTHON_INCLUDES)
- dnl check if the headers exist:
-@@ -74,16 +66,11 @@
- [AC_REQUIRE([AM_CHECK_PYTHON_HEADERS])
- AC_MSG_CHECKING(for libraries required to embed python)
- dnl deduce PYTHON_LIBS
--am_python_print_libs="\
--from distutils import sysconfig as sc
--libs = '-L' + sc.get_config_var('LIBDIR').strip()
--libs += ' ' + sc.get_config_var('BLDLIBRARY')
--print(libs)"
- am_python_print_lib_loc="\
- from distutils import sysconfig as sc
- print(sc.get_config_var('LIBDIR'))"
- if test "x$PYTHON_LIBS" == x; then
-- PYTHON_LIBS=`$PYTHON -c "$am_python_print_libs"`
-+ PYTHON_LIBS=`"$xbps_sysroot/$PYTHON-config" --ldflags --embed`
- fi
- if test "x$PYTHON_LIB_LOC" == x; then
- PYTHON_LIB_LOC=`$PYTHON -c "$am_python_print_lib_loc"`
diff --git a/srcpkgs/glade3/template b/srcpkgs/glade3/template
index 910c138df6a..d3d8e0d5dcf 100644
--- a/srcpkgs/glade3/template
+++ b/srcpkgs/glade3/template
@@ -1,32 +1,27 @@
# Template file for 'glade3'
pkgname=glade3
-version=3.22.2
+version=3.38.0
revision=1
wrksrc="glade-${version}"
-build_style=gnu-configure
+build_style=meson
build_helper="gir"
-configure_args="--disable-static --enable-debug=info PYTHON=/usr/bin/python3
- --enable-gladeui $(vopt_enable gir introspection)"
+configure_args="-Dgtk_doc=true -Dman=true $(vopt_bool gir introspection)"
hostmakedepends="glib-devel gnome-doc-utils intltool itstool pkg-config
- automake autoconf-archive libtool yelp-tools gettext-devel gtk-doc"
-makedepends="gtk+3-devel python3-gobject-devel webkit2gtk-devel"
+ gjs-devel yelp-tools gettext-devel gtk-doc"
+makedepends="gtk+3-devel python3-gobject-devel webkit2gtk-devel gjs-devel"
depends="desktop-file-utils hicolor-icon-theme"
short_desc="User Interface Designer for GTK+3"
maintainer="Orphaned <orphan@voidlinux.org>"
license="GPL-2.0-or-later, LGPL-2.1-or-later"
homepage="http://glade.gnome.org/"
distfiles="${GNOME_SITE}/glade/${version%.*}/glade-${version}.tar.xz"
-checksum=edefa6eb24b4d15bd52589121dc109bc08c286157c41288deb74dd9cc3f26a21
+checksum=4a914c5c0b19c2e52fd4ad15077d406dbfd6ad0245e239d7390bf87f27d9103c
lib32disabled=yes
# Package build options
build_options="gir"
build_options_default="gir"
-pre_configure() {
- NOCONFIGURE=1 ./autogen.sh
-}
-
do_check() {
# Require running xserver
:
From 54e20e0107fe882c7fb0b4f5d17704a4bbf15469 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
<congdanhqx@gmail.com>
Date: Tue, 15 Sep 2020 05:38:55 +0700
Subject: [PATCH 016/104] libhandy: rebuild for glade3-3.38.0, moved to GNOME
---
srcpkgs/libhandy/template | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/srcpkgs/libhandy/template b/srcpkgs/libhandy/template
index 38672f1fb6e..c19c3897efa 100644
--- a/srcpkgs/libhandy/template
+++ b/srcpkgs/libhandy/template
@@ -1,7 +1,7 @@
# Template file for 'libhandy'
pkgname=libhandy
version=0.0.13
-revision=1
+revision=2
wrksrc="libhandy-v${version}"
build_style=meson
build_helper="gir"
@@ -14,14 +14,20 @@ makedepends="gtk+3-devel libglib-devel $(vopt_if glade glade3-devel)"
short_desc="Library full of GTK+ widgets for mobile phones"
maintainer="Orphaned <orphan@voidlinux.org>"
license="LGPL-2.0-or-later"
-homepage="https://source.puri.sm/Librem5/libhandy"
-distfiles="https://source.puri.sm/Librem5/libhandy/-/archive/v${version}/libhandy-v${version}.tar.gz"
-checksum=138bec94e66d15a7a19350b65845d4529bcd969ea913ab3eb438f56fe47d5d37
+homepage="https://gitlab.gnome.org/GNOME/libhandy"
+distfiles="$homepage/-/archive/v${version}/libhandy-v${version}.tar.gz"
+checksum=645355a009f23f254eaec7752b9489c3c2f5832397fcec75433a7e00efbfe52f
build_options="gir vala glade"
desc_option_glade="Generate glade modules and catalog files"
build_options_default="gir vala glade"
+# https://gitlab.gnome.org/GNOME/libhandy/-/merge_requests/559
+CFLAGS="-DGPC_OBJECT_DELIMITER=GLADE_PROPERTY_DEF_OBJECT_DELIMITER"
+CFLAGS+=" -Dglade_widget_action_get_class=glade_widget_action_get_def"
+# https://gitlab.gnome.org/GNOME/glade/-/commit/bb626dd
+CFLAGS+=" -DGWA_GET_CLASS=GLADE_WIDGET_ADAPTOR_GET_ADAPTOR_CLASS"
+
libhandy-devel_package() {
depends="${sourcepkg}>=${version}_${revision} gtk+3-devel"
short_desc+=" - development files"
From e67d71c0a363b75a47aa4237598df00433907ab0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
<congdanhqx@gmail.com>
Date: Mon, 14 Sep 2020 20:34:46 +0700
Subject: [PATCH 017/104] libhandy1: update to 1.0.0
---
srcpkgs/libhandy1/template | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/libhandy1/template b/srcpkgs/libhandy1/template
index 191e698b0d6..547afccaa11 100644
--- a/srcpkgs/libhandy1/template
+++ b/srcpkgs/libhandy1/template
@@ -1,6 +1,6 @@
# Template file for 'libhandy1'
pkgname=libhandy1
-version=0.90.0
+version=1.0.0
revision=1
wrksrc="libhandy-${version}"
build_style=meson
@@ -16,12 +16,15 @@ maintainer="Orphaned <orphan@voidlinux.org>"
license="LGPL-2.0-or-later"
homepage="https://source.puri.sm/Librem5/libhandy"
distfiles="${GNOME_SITE}/libhandy/${version%.*}/libhandy-${version}.tar.xz"
-checksum=6ab0869a3aa483298ea20ec89d4c14c38ba4de416b33181d21e15a6039df5985
+checksum=a9398582f47b7d729205d6eac0c068fef35aaf249fdd57eea3724f8518d26699
build_options="gir glade"
desc_option_glade="Generate glade modules and catalog files"
build_options_default="gir glade"
+# https://gitlab.gnome.org/GNOME/glade/-/commit/bb626dd
+CFLAGS="-DGWA_GET_CLASS=GLADE_WIDGET_ADAPTOR_GET_ADAPTOR_CLASS"
+
libhandy1-devel_package() {
depends="${sourcepkg}>=${version}_${revision} gtk+3-devel"
conflicts="libhandy-devel>=0"
From 5fe62fa727ced5690e03ff3d2e50629370309a4a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
<congdanhqx@gmail.com>
Date: Tue, 15 Sep 2020 05:41:01 +0700
Subject: [PATCH 018/104] libxfce4ui: rebuild for glade3-3.38.0
---
srcpkgs/libxfce4ui/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/libxfce4ui/template b/srcpkgs/libxfce4ui/template
index 25a5c479955..0a62ad182b4 100644
--- a/srcpkgs/libxfce4ui/template
+++ b/srcpkgs/libxfce4ui/template
@@ -1,7 +1,7 @@
# Template file for 'libxfce4ui'
pkgname=libxfce4ui
version=4.14.1
-revision=4
+revision=5
build_style=gnu-configure
build_helper="gir"
configure_args="--disable-static"
From baa8a98cd98591629f1967dda52f381e57148e8c Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 019/104] libdazzle: update to 3.38.0
---
srcpkgs/libdazzle/template | 24 ++++++++++++++----------
1 file changed, 14 insertions(+), 10 deletions(-)
diff --git a/srcpkgs/libdazzle/template b/srcpkgs/libdazzle/template
index 5ac09feefc9..9b807be9474 100644
--- a/srcpkgs/libdazzle/template
+++ b/srcpkgs/libdazzle/template
@@ -1,23 +1,29 @@
# Template file for 'libdazzle'
pkgname=libdazzle
-version=3.36.0
+version=3.38.0
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>"
license="GPL-3.0-or-later"
homepage="https://gitlab.gnome.org/GNOME/libdazzle"
-changelog="https://raw.githubusercontent.com/GNOME/libdazzle/libdazzle-3-32/NEWS"
+changelog="https://gitlab.gnome.org/GNOME/libdazzle/-/raw/${version}/NEWS"
distfiles="${GNOME_SITE}/libdazzle/${version%.*}/libdazzle-${version}.tar.xz"
-checksum=82b31bbf550fc62970c78bf7f9d55e5fae5b8ea13b24fe2d13c8c6039409d958
+checksum=e18af28217943bcec106585298a91ec3da48aa3ad62fd0992f23f0c70cd1678f
-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 1586913768b5dd41f194769fe693d5621c891e6d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
<congdanhqx@gmail.com>
Date: Tue, 15 Sep 2020 05:43:13 +0700
Subject: [PATCH 020/104] anjuta: rebuild for glade3-3.38.0, vala-0.50
---
srcpkgs/anjuta/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/anjuta/template b/srcpkgs/anjuta/template
index c21c927cd12..b46d58aeafe 100644
--- a/srcpkgs/anjuta/template
+++ b/srcpkgs/anjuta/template
@@ -1,7 +1,7 @@
# Template file for 'anjuta'
pkgname=anjuta
version=3.34.0
-revision=3
+revision=4
build_style=gnu-configure
build_helper="gir qemu"
configure_args="--disable-compile-warnings --disable-schemas-compile
From 43003e434f6ada7f7815eed3b7fe4f7e954f22cc Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sun, 16 Aug 2020 05:28:14 +0200
Subject: [PATCH 021/104] sysprof: update to 3.38.0
---
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 db1646f18e0..9ad443a5367 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3153,8 +3153,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.50.so.0 libvala-0.50.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..eae51ea7356 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.38.0
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=8bcd728dc2f74e6f589410370dfb1b8801468bb3cc1803aa240735a7cff241ce
# for ITS rules
if [ "$CROSS_BUILD" ]; then
From 9c25a0a3ca3bd42ba699575d523412704890c59a Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 022/104] tracker: update to 2.3.6
---
.../tracker/patches/failing-test-musl.patch | 24 +++++++++++++++++++
srcpkgs/tracker/template | 9 +++----
2 files changed, 29 insertions(+), 4 deletions(-)
create mode 100644 srcpkgs/tracker/patches/failing-test-musl.patch
diff --git a/srcpkgs/tracker/patches/failing-test-musl.patch b/srcpkgs/tracker/patches/failing-test-musl.patch
new file mode 100644
index 00000000000..ff18f06de9b
--- /dev/null
+++ b/srcpkgs/tracker/patches/failing-test-musl.patch
@@ -0,0 +1,24 @@
+From 5ee7d58f19542d1dac872badd72669ee288bd316 Mon Sep 17 00:00:00 2001
+From: Daniel Kolesa <daniel@octaforge.org>
+Date: Wed, 16 Sep 2020 22:11:50 +0200
+Subject: [PATCH] drop test that fails on musl
+
+---
+ tests/libtracker-common/meson.build | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git tests/libtracker-common/meson.build tests/libtracker-common/meson.build
+index 55b7ada..69688e0 100644
+--- tests/libtracker-common/meson.build
++++ tests/libtracker-common/meson.build
+@@ -2,7 +2,6 @@ libtracker_common_tests = [
+ 'date-time',
+ 'dbus',
+ 'file-utils',
+- 'sched',
+ 'type-utils',
+ 'utils',
+ ]
+--
+2.28.0
+
diff --git a/srcpkgs/tracker/template b/srcpkgs/tracker/template
index 37074cb348d..810675677fe 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.6
+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=bd1eb4122135296fa7b57b1c3fa0ed602cf7d06c0b8e534d0bd17ff5f97feef2
if [ "$CROSS_BUILD" ]; then
hostmakedepends+=" dbus"
From f31a0f71316553868200018993a1adf9e12e0986 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 17 Sep 2020 00:22:11 +0200
Subject: [PATCH 023/104] tracker-miners: update to 2.3.5
---
srcpkgs/tracker-miners/template | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/srcpkgs/tracker-miners/template b/srcpkgs/tracker-miners/template
index 020c124f322..600d144218c 100644
--- a/srcpkgs/tracker-miners/template
+++ b/srcpkgs/tracker-miners/template
@@ -1,7 +1,7 @@
# Template file for 'tracker-miners'
pkgname=tracker-miners
-version=2.3.1
-revision=3
+version=2.3.5
+revision=1
build_style=meson
configure_args="-Dtracker_core=system -Ddocs=false -Dextract=true
-Dfunctional_tests=false -Dcue=enabled -Dexif=enabled -Dflac=enabled
@@ -10,21 +10,22 @@ configure_args="-Dtracker_core=system -Ddocs=false -Dextract=true
-Dtiff=enabled -Dvorbis=enabled -Dxml=enabled -Dxmp=enabled -Dxps=enabled
-Dbattery_detection=upower -Dcharset_detection=icu
-Dgeneric_media_extractor=gstreamer -Dgstreamer_backend=discoverer
- -Dsystemd_user_services=no"
+ -Dsystemd_user_services=no -Dminer_rss=false"
hostmakedepends="pkg-config glib-devel intltool"
makedepends="tracker-devel ffmpeg-devel dbus-devel exempi-devel libflac-devel
libglib-devel libgexiv2-devel gstreamer1-devel icu-devel libcue-devel
libexif-devel libgsf-devel libgxps-devel libiptcdata-devel libjpeg-turbo-devel
libosinfo-devel libpng-devel libseccomp-devel tiff-devel libxml2-devel
libvorbis-devel poppler-glib-devel taglib-devel totem-pl-parser-devel
- upower-devel zlib-devel gst-plugins-base1-devel giflib-devel"
+ upower-devel zlib-devel gst-plugins-base1-devel giflib-devel libharfbuzz"
short_desc="Data miners for tracker"
maintainer="Enno Boland <gottox@voidlinux.org>"
license="GPL-2.0-or-later"
homepage="https://developer.gnome.org/libtracker-miner/stable"
distfiles="${GNOME_SITE}/tracker-miners/${version%.*}/tracker-miners-${version}.tar.xz"
-checksum=7b1de06a7a79ea1c7813c8a21f8cd1c55f2b95f799cf9f47f0204f3be8a590e0
+checksum=9509d37fb29acd233058f4df5bd1234b692ac6f946bc2e5f7b8dbf51dfe5b9fa
-# Missing libgrss
-configure_args+=" -Dminer_rss=false"
-makedepends+=" libharfbuzz"
+# relies on unsupported ops in chroot
+do_check() {
+ :
+}
From 4ee84113417c2a7b7f2d6859495bf1115bbb2580 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 17 Sep 2020 00:15:49 +0200
Subject: [PATCH 024/104] New package: tracker3-3.0.0
---
common/shlibs | 3 ++-
srcpkgs/libtracker3 | 1 +
srcpkgs/tracker3-devel | 1 +
srcpkgs/tracker3/template | 57 +++++++++++++++++++++++++++++++++++++++
srcpkgs/tracker3/update | 1 +
5 files changed, 62 insertions(+), 1 deletion(-)
create mode 120000 srcpkgs/libtracker3
create mode 120000 srcpkgs/tracker3-devel
create mode 100644 srcpkgs/tracker3/template
create mode 100644 srcpkgs/tracker3/update
diff --git a/common/shlibs b/common/shlibs
index 9ad443a5367..50777751f4c 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3144,6 +3144,8 @@ libcppcms.so.1 cppcms-1.0.5_1
libcppdb.so.0 cppdb-0.3.1_1
libtracker-control-2.0.so.0 libtracker-2.0.0_1
libtracker-sparql-2.0.so.0 libtracker-2.0.0_1
+libtracker-miner-2.0.so.0 libtracker-2.0.1_1
+libtracker-sparql-3.0.so.0 libtracker3-3.0.0_1
libdockapp.so.3 libdockapp-0.7.2_1
libkrdccore.so.5 krdc-17.04.3_1
libArcus.so.3 libArcus-3.1.0_1
@@ -3162,7 +3164,6 @@ libvaladoc-0.50.so.0 libvaladoc-0.50.0_1
libvalaccodegen.so libvala-0.44.0_1
libphodav-2.0.so.0 phodav-2.2_1
libgfshare.so.2 libgfshare-2.0.0_1
-libtracker-miner-2.0.so.0 libtracker-2.0.1_1
libtacacs.so.1 tacacs-4.0.4.28_1
libffms2.so.4 libffms2-2.23.1_1
libddcutil.so.3 ddcutil-0.9.9_1
diff --git a/srcpkgs/libtracker3 b/srcpkgs/libtracker3
new file mode 120000
index 00000000000..59dd6911b3b
--- /dev/null
+++ b/srcpkgs/libtracker3
@@ -0,0 +1 @@
+tracker3
\ No newline at end of file
diff --git a/srcpkgs/tracker3-devel b/srcpkgs/tracker3-devel
new file mode 120000
index 00000000000..59dd6911b3b
--- /dev/null
+++ b/srcpkgs/tracker3-devel
@@ -0,0 +1 @@
+tracker3
\ No newline at end of file
diff --git a/srcpkgs/tracker3/template b/srcpkgs/tracker3/template
new file mode 100644
index 00000000000..1c2100f26ca
--- /dev/null
+++ b/srcpkgs/tracker3/template
@@ -0,0 +1,57 @@
+# Template file for 'tracker3'
+pkgname=tracker3
+version=3.0.0
+revision=1
+wrksrc=tracker-${version}
+build_style=meson
+build_helper="gir"
+configure_args="-Ddocs=false -Dman=true -Dnetwork_manager=enabled
+ -Dstemmer=disabled -Dsystemd_user_services=false"
+hostmakedepends="gettext pkg-config glib-devel vala asciidoc"
+makedepends="dbus-devel libglib-devel icu-devel json-glib-devel
+ libsoup-devel libxml2-devel sqlite-devel NetworkManager-devel
+ bash-completion"
+checkdepends="tar python3-gobject"
+short_desc="Personal search tool and storage system"
+maintainer="q66 <daniel@octaforge.org>"
+license="GPL-2.0-or-later, LGPL-2.1-or-later"
+homepage="https://live.gnome.org/Tracker"
+distfiles="${GNOME_SITE}/tracker/${version%.*}/tracker-${version}.tar.xz"
+checksum=70864515f5752b0596f9c442d7e86585734f42b82a9233e55dae6ac2b0d33837
+
+if [ "$CROSS_BUILD" ]; then
+ hostmakedepends+=" dbus"
+fi
+
+# needs a dbus setup
+do_check() {
+ :
+}
+
+post_patch() {
+ if [ "$CROSS_BUILD" ]; then
+ # Tell the build system that we have internal fts5 in sqlite3
+ vsed -i "/\[properties\]/a sqlite3_has_fts5 = 'true'" xbps_meson.cross
+ fi
+}
+
+tracker3-devel_package() {
+ depends="libtracker3>=${version}_${revision} libglib-devel json-glib-devel
+ libsoup-devel"
+ short_desc+=" - development files"
+ pkg_install() {
+ vmove usr/include
+ vmove usr/share/gir-1.0
+ vmove usr/share/vala
+ vmove usr/lib/pkgconfig
+ vmove "usr/lib/*.so"
+ }
+}
+
+libtracker3_package() {
+ short_desc+=" - shared libraries"
+ pkg_install() {
+ vmove "usr/lib/*.so.*"
+ vmove usr/lib/girepository-1.0
+ }
+}
diff --git a/srcpkgs/tracker3/update b/srcpkgs/tracker3/update
new file mode 100644
index 00000000000..e9847e25b54
--- /dev/null
+++ b/srcpkgs/tracker3/update
@@ -0,0 +1 @@
+pattern="\Qtracker\E-\K[0-9]+\.[0-9]*\.[0-9.]*[0-9](?=)"
From e2538cf7f30cd5157ec09e3355550e1f9c369c14 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 17 Sep 2020 00:16:04 +0200
Subject: [PATCH 025/104] New package: tracker3-miners-3.0.0
---
srcpkgs/tracker3-miners/patches/build.patch | 25 +++++
.../patches/dont-use-malloc-trim.patch | 104 ++++++++++++++++++
srcpkgs/tracker3-miners/template | 34 ++++++
3 files changed, 163 insertions(+)
create mode 100644 srcpkgs/tracker3-miners/patches/build.patch
create mode 100644 srcpkgs/tracker3-miners/patches/dont-use-malloc-trim.patch
create mode 100644 srcpkgs/tracker3-miners/template
diff --git a/srcpkgs/tracker3-miners/patches/build.patch b/srcpkgs/tracker3-miners/patches/build.patch
new file mode 100644
index 00000000000..d58a0d8c0f8
--- /dev/null
+++ b/srcpkgs/tracker3-miners/patches/build.patch
@@ -0,0 +1,25 @@
+From 8d709c3b55dc92621d5871fb429a02c78cc4b2d8 Mon Sep 17 00:00:00 2001
+From: Daniel Kolesa <daniel@octaforge.org>
+Date: Wed, 16 Sep 2020 23:57:32 +0200
+Subject: [PATCH] fix build
+
+---
+ src/libtracker-miner/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git src/libtracker-miner/meson.build src/libtracker-miner/meson.build
+index a226623..9eacee3 100644
+--- src/libtracker-miner/meson.build
++++ src/libtracker-miner/meson.build
+@@ -40,7 +40,7 @@ endif
+
+ libtracker_miner = library(
+ 'tracker-miner-' + tracker_api_version,
+- miner_enums[0], miner_enums[1], miner_sources,
++ miner_enums[0], miner_enums[1], tracker_miners_common_enum_header, miner_sources,
+ c_args: tracker_c_args,
+ install: true,
+ install_dir: tracker_internal_libs_dir,
+--
+2.28.0
+
diff --git a/srcpkgs/tracker3-miners/patches/dont-use-malloc-trim.patch b/srcpkgs/tracker3-miners/patches/dont-use-malloc-trim.patch
new file mode 100644
index 00000000000..3f42a912097
--- /dev/null
+++ b/srcpkgs/tracker3-miners/patches/dont-use-malloc-trim.patch
@@ -0,0 +1,104 @@
+Reason: This reverts 191cc5218b53fba85baec1c8c17bb246a74044c0 and
+ccb0b4ebbff4dfacf17ea67ce56bb27c39741811. malloc_trim is glibc specific
+API, so this causes the build to fail on musl.
+Upstream: https://gitlab.gnome.org/GNOME/tracker-miners/-/issues/135
+diff --git a/src/miners/fs/tracker-main.c b/src/miners/fs/tracker-main.c
+index c60070d..220916d 100644
+--- src/miners/fs/tracker-main.c
++++ src/miners/fs/tracker-main.c
+@@ -57,7 +57,6 @@
+ static GMainLoop *main_loop;
+ static GDBusProxy *index_proxy;
+ static GPtrArray *proxy_folders;
+-static guint cleanup_id;
+
+ static gint initial_sleep = -1;
+ static gboolean no_daemon;
+@@ -433,37 +432,6 @@ miner_start (TrackerMiner *miner,
+ miner);
+ }
+
+-static gboolean
+-cleanup_cb (gpointer user_data)
+-{
+- /* Reclaim as much memory as possible */
+- malloc_trim (0);
+-
+- cleanup_id = 0;
+-
+- return G_SOURCE_REMOVE;
+-}
+-
+-#if GLIB_CHECK_VERSION (2, 64, 0)
+-static void
+-on_low_memory (GMemoryMonitor *monitor,
+- GMemoryMonitorWarningLevel level,
+- gpointer user_data)
+-{
+- if (level > G_MEMORY_MONITOR_WARNING_LEVEL_LOW)
+- malloc_trim (0);
+-}
+-#endif
+-
+-static void
+-miner_started_cb (TrackerMinerFS *fs)
+-{
+- if (cleanup_id) {
+- g_source_remove (cleanup_id);
+- cleanup_id = 0;
+- }
+-}
+-
+ static void
+ miner_finished_cb (TrackerMinerFS *fs,
+ gdouble seconds_elapsed,
+@@ -483,8 +451,6 @@ miner_finished_cb (TrackerMinerFS *fs,
+ TRUE);
+ }
+
+- cleanup_id = g_timeout_add_seconds (30, cleanup_cb, NULL);
+-
+ /* We're not sticking around for file updates, so stop
+ * the mainloop and exit.
+ */
+@@ -941,9 +907,6 @@ main (gint argc, gchar *argv[])
+ TrackerEndpointDBus *endpoint;
+ TrackerDomainOntology *domain_ontology;
+ GCancellable *cancellable;
+-#if GLIB_CHECK_VERSION (2, 64, 0)
+- GMemoryMonitor *memory_monitor;
+-#endif
+ gchar *domain_name, *dbus_name;
+
+ main_loop = NULL;
+@@ -1129,18 +1092,10 @@ main (gint argc, gchar *argv[])
+ tracker_miner_files_set_mtime_checking (TRACKER_MINER_FILES (miner_files), do_mtime_checking);
+ }
+
+- g_signal_connect (miner_files, "started",
+- G_CALLBACK (miner_started_cb),
+- NULL);
+ g_signal_connect (miner_files, "finished",
+ G_CALLBACK (miner_finished_cb),
+ NULL);
+
+-#if GLIB_CHECK_VERSION (2, 64, 0)
+- memory_monitor = g_memory_monitor_dup_default ();
+- g_signal_connect (memory_monitor, "low-memory-warning", on_low_memory, NULL);
+-#endif
+-
+ /* Preempt creation of graphs */
+ tracker_sparql_connection_update_async (tracker_miner_get_connection (miner_files),
+ "CREATE SILENT GRAPH tracker:FileSystem; "
+@@ -1183,11 +1138,6 @@ main (gint argc, gchar *argv[])
+ tracker_sparql_connection_close (sparql_conn);
+ g_object_unref (sparql_conn);
+
+-#if GLIB_CHECK_VERSION (2, 64, 0)
+- g_signal_handlers_disconnect_by_func (memory_monitor, on_low_memory, NULL);
+- g_object_unref (memory_monitor);
+-#endif
+-
+ g_print ("\nOK\n\n");
+
+ return EXIT_SUCCESS;
diff --git a/srcpkgs/tracker3-miners/template b/srcpkgs/tracker3-miners/template
new file mode 100644
index 00000000000..0bf14b48479
--- /dev/null
+++ b/srcpkgs/tracker3-miners/template
@@ -0,0 +1,34 @@
+# Template file for 'tracker3-miners'
+pkgname=tracker3-miners
+version=3.0.0
+revision=1
+wrksrc=tracker-miners-${version}
+build_style=meson
+# missing libgrss for miner_rss
+configure_args="-Dtracker_core=system -Ddocs=false -Dextract=true
+ -Dfunctional_tests=false -Dcue=enabled -Dexif=enabled -Dflac=enabled
+ -Dgif=enabled -Dgsf=enabled -Diptc=enabled -Diso=enabled -Djpeg=enabled
+ -Dpdf=enabled -Dplaylist=enabled -Dpng=enabled -Draw=enabled -Dtaglib=enabled
+ -Dtiff=enabled -Dvorbis=enabled -Dxml=enabled -Dxmp=enabled -Dxps=enabled
+ -Dminer_rss=false -Dbattery_detection=upower -Dcharset_detection=icu
+ -Dgeneric_media_extractor=gstreamer -Dgstreamer_backend=discoverer
+ -Dsystemd_user_services=false -Dnetwork_manager=enabled"
+hostmakedepends="pkg-config glib-devel intltool asciidoc"
+makedepends="tracker3-devel ffmpeg-devel dbus-devel exempi-devel libflac-devel
+ libglib-devel libgexiv2-devel gstreamer1-devel icu-devel libcue-devel
+ libexif-devel libgsf-devel libgxps-devel libiptcdata-devel libjpeg-turbo-devel
+ libosinfo-devel libpng-devel libseccomp-devel tiff-devel libxml2-devel
+ libvorbis-devel poppler-glib-devel taglib-devel totem-pl-parser-devel
+ upower-devel zlib-devel gst-plugins-base1-devel giflib-devel
+ NetworkManager-devel libharfbuzz"
+short_desc="Data miners for tracker3"
+maintainer="q66 <daniel@octaforge.org>"
+license="GPL-2.0-or-later"
+homepage="https://developer.gnome.org/libtracker-miner/stable"
+distfiles="${GNOME_SITE}/tracker-miners/${version%.*}/tracker-miners-${version}.tar.xz"
+checksum=bb481a7c23c5def4f215627a0630fbe9d1c64f3319825859d7a73645738f4042
+
+# relies on unsupported ops in chroot
+do_check() {
+ :
+}
From 1fabf03a3422af6aeb4180ef01e6e794344a8eb1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
<congdanhqx@gmail.com>
Date: Tue, 15 Sep 2020 06:47:56 +0700
Subject: [PATCH 026/104] bijiben: update to 3.36.3.
---
srcpkgs/bijiben/template | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/bijiben/template b/srcpkgs/bijiben/template
index 730053b5d1c..0bfa6f275ac 100644
--- a/srcpkgs/bijiben/template
+++ b/srcpkgs/bijiben/template
@@ -1,9 +1,10 @@
# Template file for 'bijiben'
pkgname=bijiben
-version=3.36.1
+version=3.36.3
revision=1
build_helper="gir"
build_style=meson
+configure_args="-Dzeitgeist=true"
hostmakedepends="itstool pkg-config gettext"
makedepends="clutter-gtk-devel evolution-devel tracker-devel webkit2gtk-devel
zeitgeist-devel libhandy-devel"
@@ -14,5 +15,9 @@ license="GPL-3.0-or-later"
homepage="https://wiki.gnome.org/Apps/Notes"
changelog="https://raw.githubusercontent.com/GNOME/bijiben/gnome-${version%.*}/NEWS"
distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=212f66a3d2c717dfb3d37220426178089395da23ef9f3d051713aaf6597a4110
+checksum=70e9b621e11bf7af6c6248f8c99830f6ffbff605fb43a848d26880e7e1b52dd6
nocross="evolution-data-server cross"
+
+pre_build() {
+ ninja -C build src/libbiji/biji-marshalers.h
+}
From 12883f5cffb457718483dac0cecd4c84f0f80866 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Wed, 16 Sep 2020 20:20:50 +0200
Subject: [PATCH 027/104] graphene: update to 1.10.2
---
srcpkgs/graphene/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/graphene/template b/srcpkgs/graphene/template
index f5cc99b4128..e868239bfa0 100644
--- a/srcpkgs/graphene/template
+++ b/srcpkgs/graphene/template
@@ -1,6 +1,6 @@
# Template file for 'graphene'
pkgname=graphene
-version=1.10.0
+version=1.10.2
revision=1
build_style=meson
build_helper="gir"
@@ -13,7 +13,7 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
license="MIT"
homepage="https://github.com/ebassi/graphene"
distfiles="${GNOME_SITE}/graphene/${version%.*}/graphene-${version}.tar.xz"
-checksum=406d97f51dd4ca61e91f84666a00c3e976d3e667cd248b76d92fdb35ce876499
+checksum=e97de8208f1aac4f913d4fa71ab73a7034e807186feb2abe55876e51c425a7f6
case "$XBPS_TARGET_MACHINE" in
arm*) configure_args+=" -Darm_neon=false" ;;
From 6e42760068db2a4e6b9cb43cb3488761c2fd0f56 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Wed, 16 Sep 2020 20:22:40 +0200
Subject: [PATCH 028/104] amtk: update to 5.2.0
---
srcpkgs/amtk/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/amtk/template b/srcpkgs/amtk/template
index 449c57e07e6..433be2b9c54 100644
--- a/srcpkgs/amtk/template
+++ b/srcpkgs/amtk/template
@@ -1,6 +1,6 @@
# Template file for 'amtk'
pkgname=amtk
-version=5.1.1
+version=5.2.0
revision=1
build_style=gnu-configure
build_helper="gir"
@@ -12,7 +12,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
license="LGPL-2.1-or-later"
homepage="https://wiki.gnome.org/Projects/Amtk"
distfiles="${GNOME_SITE}/amtk/${version%.*}/amtk-${version}.tar.xz"
-checksum=f9656bdd4278aabfb8554f029049b9ffaf51b53faa463483a840365463355df1
+checksum=820545bb4cf87ecebc2c3638d6b6e58b8dbd60a419a9b43cf020124e5dad7078
build_options="gir"
build_options_default="gir"
From a3590f583a1e216d1e43c1e4606f4e68839d2265 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Wed, 16 Sep 2020 20:44:51 +0200
Subject: [PATCH 029/104] io.elementary.code: rebuild for vala-0.50
---
.../io.elementary.code/patches/vala050.patch | 25 +++++++++++++++++++
srcpkgs/io.elementary.code/template | 2 +-
2 files changed, 26 insertions(+), 1 deletion(-)
create mode 100644 srcpkgs/io.elementary.code/patches/vala050.patch
diff --git a/srcpkgs/io.elementary.code/patches/vala050.patch b/srcpkgs/io.elementary.code/patches/vala050.patch
new file mode 100644
index 00000000000..9eeee1fb664
--- /dev/null
+++ b/srcpkgs/io.elementary.code/patches/vala050.patch
@@ -0,0 +1,25 @@
+From a185de0e7716aa2de2bf21de96e6c9af1dca81aa Mon Sep 17 00:00:00 2001
+From: Daniel Kolesa <daniel@octaforge.org>
+Date: Wed, 16 Sep 2020 20:43:07 +0200
+Subject: [PATCH] fix with vala-0.50
+
+---
+ plugins/outline/Vala/ValaSymbolOutline.vala | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git plugins/outline/Vala/ValaSymbolOutline.vala plugins/outline/Vala/ValaSymbolOutline.vala
+index c8db339..31386a6 100644
+--- plugins/outline/Vala/ValaSymbolOutline.vala
++++ plugins/outline/Vala/ValaSymbolOutline.vala
+@@ -61,7 +61,7 @@ public class Code.Plugins.ValaSymbolOutline : Object, Code.Plugins.SymbolOutline
+
+ public void parse_symbols () {
+ var context = new Vala.CodeContext ();
+- context.profile = Vala.Profile.GOBJECT;
++ context.set_target_profile(Vala.Profile.GOBJECT);
+ context.add_source_filename (doc.file.get_path ());
+ context.report = new Report ();
+ if (cancellable != null)
+--
+2.28.0
+
diff --git a/srcpkgs/io.elementary.code/template b/srcpkgs/io.elementary.code/template
index 447e7e5f60a..8d43ad4130d 100644
--- a/srcpkgs/io.elementary.code/template
+++ b/srcpkgs/io.elementary.code/template
@@ -1,7 +1,7 @@
# Template file for 'io.elementary.code'
pkgname=io.elementary.code
version=3.4.1
-revision=2
+revision=3
wrksrc="code-${version}"
build_style=meson
hostmakedepends="pkg-config vala intltool glib-devel"
From a11e79a3c3ee2c05c0c50b19f774cc088e95f613 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Wed, 16 Sep 2020 20:52:26 +0200
Subject: [PATCH 030/104] phodav: update to 2.5
---
srcpkgs/phodav/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/phodav/template b/srcpkgs/phodav/template
index 1a90a1a0e58..13092896899 100644
--- a/srcpkgs/phodav/template
+++ b/srcpkgs/phodav/template
@@ -1,6 +1,6 @@
# Template file for 'phodav'
pkgname=phodav
-version=2.4
+version=2.5
revision=1
build_style=meson
configure_args="-Dsystemd=disabled -Davahi=enabled -Dgtk_doc=disabled
@@ -13,7 +13,7 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
license="LGPL-2.1-or-later"
homepage="https://wiki.gnome.org/phodav"
distfiles="${GNOME_SITE}/${pkgname}/${version}/${pkgname}-${version}.tar.xz"
-checksum=7dddc2b75e04d0866bb9c9a83028a597ebd73ef4c37bd6ebe1032a870b43b8c3
+checksum=71f0a9cd70afd4dd1412a0298331dbb8ac71c0377f52117afc15eb88dc6fb910
phodav-devel_package() {
depends="libglib-devel libsoup-devel libxml2-devel
From 36cb05eb61e5a140d9b7394dfbbdefa91f24b394 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 031/104] gsettings-desktop-schemas: update to 3.38.0
---
.../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..76c4b0e0810 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.38.0
+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=5704c8266004b296036671f223c705dc046aa694a1b1abb87c67e7d2747a8c67
# Package build options
build_options="gir"
From 980113496734ce646e89f39424db5799221c33bf Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sun, 16 Aug 2020 05:20:26 +0200
Subject: [PATCH 032/104] glib-networking: update to 2.66.0
---
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..96f312cff4d 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.66.0
+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=c5d7be2437fdd196eebfb70c4517b96d3ba7ec13bd496318b8f02dea383e0099
lib32disabled=yes
post_install() {
From 5b6300834259bf4cfefdefa914737b781afeea0a Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 033/104] at-spi2-core: update to 2.38.0
---
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..74e60701201 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.38.0
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=84e36c3fe66862133f5fe229772b76aa2526e10de5014a3778f2fa46ce550da5
# 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 da5024f62503da0d3cd192973bd18e37ffb6f6e9 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 034/104] at-spi2-atk: update to 2.38.0
---
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..cf945dffb26 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.38.0
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=cfa008a5af822b36ae6287f18182c40c91dd699c55faa38605881ed175ca464f
+
+# non-trivial dbus setup
+do_check() {
+ :
+}
at-spi2-atk-devel_package() {
depends="${makedepends} ${sourcepkg}>=${version}_${revision}"
From 63724401fced93b17ae59352f4aaf4c0dd56f46b Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 035/104] 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 4c832b3330c87023132a949a9ff10c9a259ded65 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 036/104] 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 b27b3508f64d2e46ce41463d9db8ef652c08ed3b Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 037/104] gnome-desktop: update to 3.38.0
---
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 50777751f4c..df48841c5b5 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1176,7 +1176,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..bd0b2f5c1d9 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.38.0
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=089dbbe3c66fe5575659a4a385d5d4bbd99cf637034df317f21cf586b5dd6b90
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 69d0efbe08c60c6aace613785a2e402d5866f492 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 038/104] gnome-settings-daemon: update to 3.38.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..b6da28e2554 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.38.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=b7ed5b5fab9aad192ceed6a95be2805124e3c63c46891bbae076f7ec3fd6792e
if [ "$CROSS_BUILD" ]; then
hostmakedepends+=" polkit"
From 5bb06cbecda815225217a76cb397754ef5a4e778 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 039/104] mutter: update to 3.38.0
---
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 df48841c5b5..f2a6e9957e4 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3002,15 +3002,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..479284034ea 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.38.0
+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=058ed13d102085d3e9b6fa5564c66050a478c364a0cc55bc844fea3ddcd90eab
+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 db0a48a8fd99dcfaca1785f7247d6d76c956ac2e Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 040/104] cheese: update to 3.38.0
---
srcpkgs/cheese/template | 14 +++++---------
1 file changed, 5 insertions(+), 9 deletions(-)
diff --git a/srcpkgs/cheese/template b/srcpkgs/cheese/template
index 7a56ba039fb..faa329ee0e4 100644
--- a/srcpkgs/cheese/template
+++ b/srcpkgs/cheese/template
@@ -1,11 +1,10 @@
# Template file for 'cheese'
pkgname=cheese
-version=3.34.0
+version=3.38.0
revision=1
build_style=meson
build_helper="gir"
-configure_args="-Dgtk_doc=$(vopt_if gtk_doc 'true' 'false')
- -Dman=$(vopt_if gtk_doc 'true' 'false')"
+configure_args="$(vopt_bool gtk_doc gtk_doc) $(vopt_bool gtk_doc man)"
hostmakedepends="gettext gdk-pixbuf glib-devel itstool pkg-config vala librsvg
$(vopt_if gtk_doc 'gtk-doc') $(vopt_if gir 'gobject-introspection')"
makedepends="clutter-gst3-devel clutter-gtk-devel gnome-desktop-devel
@@ -17,7 +16,7 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
license="GPL-2.0-or-later"
homepage="https://wiki.gnome.org/Apps/Cheese"
distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=d1865600ac88012e136b1ec3db72a4634f57bc2035895277be792bb078627e73
+checksum=88d2732b421b903110a2628db25c0d61e219c42bdfb5971151033fba95a8d16f
build_options="gir gtk_doc"
build_options_default="gir"
@@ -37,11 +36,8 @@ libcheese_package() {
}
cheese-devel_package() {
- depends="gst-plugins-bad1-devel
- clutter-gst3-devel
- clutter-gtk-devel
- libcanberra-devel
- libcheese>=${version}_${revision}"
+ depends="gst-plugins-bad1-devel clutter-gst3-devel clutter-gtk-devel
+ libcanberra-devel libcheese>=${version}_${revision}"
short_desc+=" - development files"
pkg_install() {
vmove usr/include
From 07f2be8d644abf4f755c3729f91e0a8f0ec7c46a Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 041/104] evolution-data-server: update to 3.38.0
---
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 f2a6e9957e4..41c6eb80214 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -626,7 +626,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 e50292a43ea..8ccf9cb6eb0 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=3
+version=3.38.0
+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=13689a7b55765806c4d5f3b05ef6c24b0bf9957b9ed9240c2dd09a2cdb13b0af
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 93ebabab52c163d5039dec9638a574fb24207436 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 042/104] 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 41c6eb80214..33d2a35fa04 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -831,9 +831,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 018398c0eaeee33c6c0322769d29c315ce692b7d Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 043/104] gnome-online-accounts: update to 3.37.90
---
srcpkgs/gnome-online-accounts/template | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
diff --git a/srcpkgs/gnome-online-accounts/template b/srcpkgs/gnome-online-accounts/template
index 193a7f9b43f..29980d43424 100644
--- a/srcpkgs/gnome-online-accounts/template
+++ b/srcpkgs/gnome-online-accounts/template
@@ -1,7 +1,7 @@
# Template file for 'gnome-online-accounts'
pkgname=gnome-online-accounts
-version=3.36.0
-revision=2
+version=3.37.90
+revision=1
build_style=gnu-configure
build_helper="gir"
configure_args="$(vopt_enable gir introspection)
@@ -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 7cd982713e53b707b86f0f8083dea7d19f0c21b6 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sun, 16 Aug 2020 21:10:44 +0200
Subject: [PATCH 044/104] gvfs: update to 1.46.0
---
srcpkgs/gvfs/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/gvfs/template b/srcpkgs/gvfs/template
index 127a0577901..6107023c21e 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.46.0
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=78ba73a6da09a21ce3acc776b46c26dd5bea216463a65d65b4052a57f5d970e9
# Manually declare shlibs used by the subpkgs.
shlib_provides="libgvfscommon.so libgvfsdaemon.so"
From b57995d9b0a2bd1754e30d324293ca96f03a00e4 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 045/104] gnome-control-center: update to 3.38.0
---
srcpkgs/NetworkManager/template | 2 +
.../gnome-control-center/patches/nm122.patch | 38 +++++++++++++++++++
srcpkgs/gnome-control-center/template | 24 +++++++-----
3 files changed, 54 insertions(+), 10 deletions(-)
create mode 100644 srcpkgs/gnome-control-center/patches/nm122.patch
diff --git a/srcpkgs/NetworkManager/template b/srcpkgs/NetworkManager/template
index edeb8278579..e482bba98de 100644
--- a/srcpkgs/NetworkManager/template
+++ b/srcpkgs/NetworkManager/template
@@ -1,4 +1,6 @@
# Template file for 'NetworkManager'
+# when updating to 1.24 or newer, drop the compat
+# patch in gnome-control-center and rebuild it
pkgname=NetworkManager
version=1.22.10
revision=2
diff --git a/srcpkgs/gnome-control-center/patches/nm122.patch b/srcpkgs/gnome-control-center/patches/nm122.patch
new file mode 100644
index 00000000000..833fed3968e
--- /dev/null
+++ b/srcpkgs/gnome-control-center/patches/nm122.patch
@@ -0,0 +1,38 @@
+From 4159f984bd351caf6f0e1adbd90feeb85ab252f4 Mon Sep 17 00:00:00 2001
+From: Daniel Kolesa <daniel@octaforge.org>
+Date: Wed, 16 Sep 2020 22:02:04 +0200
+Subject: [PATCH] restore compatibility with networkmanager 1.22
+
+drop this patch and rebuild gnome-control-center when updating nm
+---
+ panels/network/net-device-wifi.c | 7 -------
+ 1 file changed, 7 deletions(-)
+
+diff --git panels/network/net-device-wifi.c panels/network/net-device-wifi.c
+index cb86e5b..d63c57c 100644
+--- panels/network/net-device-wifi.c
++++ panels/network/net-device-wifi.c
+@@ -1180,11 +1180,6 @@ nm_client_on_permission_change (NetDeviceWifi *self) {
+ NMClientPermissionResult perm;
+ NMDeviceWifiCapabilities caps;
+
+- if (nm_client_get_permissions_state (self->client) != NM_TERNARY_TRUE) {
+- /* permissions aren't ready yet */
+- return;
+- }
+-
+ /* only enable the button if the user can create a hotspot */
+ perm = nm_client_get_permission_result (self->client, NM_CLIENT_PERMISSION_WIFI_SHARE_OPEN);
+ caps = nm_device_wifi_get_capabilities (NM_DEVICE_WIFI (self->device));
+@@ -1227,8 +1222,6 @@ net_device_wifi_new (CcPanel *panel, NMClient *client, NMDevice *device)
+ G_CALLBACK (ap_activated), self, G_CONNECT_SWAPPED);
+ g_signal_connect_object (list, "configure",
+ G_CALLBACK (show_details_for_row), self, G_CONNECT_SWAPPED);
+- g_signal_connect_object (client, "notify",
+- G_CALLBACK(nm_client_on_permission_change), self, G_CONNECT_SWAPPED);
+
+ nm_client_on_permission_change(self);
+
+--
+2.28.0
+
diff --git a/srcpkgs/gnome-control-center/template b/srcpkgs/gnome-control-center/template
index 9fdb853afbf..191101afaad 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
-revision=2
+version=3.38.0
+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=f6b6b5b8ef9c38d895ba5af87f31adae02194ad86c9aa6cff2d2b9755c2db1da
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 d1fa82a91d3d0561f2d3ee6f054fa148f44e6bbc Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 046/104] dconf-editor: update to 3.38.0
---
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..23252b9f74e 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.38.0
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=6d89249a379082de6a8e95a2a202d0ca5fe1c9776bc0d5d3ef065567d8183eb4
From 1219dd9387b3cf083658ed84316ecb82c127a911 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sun, 16 Aug 2020 06:42:02 +0200
Subject: [PATCH 047/104] gjs: update to 1.66.0
---
srcpkgs/gjs/template | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/srcpkgs/gjs/template b/srcpkgs/gjs/template
index ec48baddf11..8a133dd8048 100644
--- a/srcpkgs/gjs/template
+++ b/srcpkgs/gjs/template
@@ -1,27 +1,27 @@
# Template file for 'gjs'
pkgname=gjs
-version=1.65.2
+version=1.66.0
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=f30cf90e016db6c8fdd0059749559611760f0721f375b2b61e0b7239b43ab5f8
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 4cb7fcd7391bb8435411d201cc6246a425aee6fc Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 048/104] gnome-shell: update to 3.38.0
---
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..f27795572ef 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.38.0
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=c626403bc0875ee6da8c7a62ac0cee312badb523af073cb166125015a75a0a97
+
+# needs X
+do_check() {
+ :
+}
From af7c9d780af016d09f5d9d61bcec56f89f1db98e Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 049/104] gnome-shell-extensions: update to 3.38.0
---
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..e4930384fd4 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.38.0
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=f726f85bb398b082ad09a7ded306f22bd25d25898c7f18bd775df66400d3919f
From fc9d40d1e9458eee50267f877d5a253e0f15f634 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 050/104] gdm: update to 3.38.0
---
srcpkgs/gdm/patches/take-out-the-trash.patch | 23 +++++++++++++++++
srcpkgs/gdm/template | 26 +++++++++++---------
2 files changed, 37 insertions(+), 12 deletions(-)
create mode 100644 srcpkgs/gdm/patches/take-out-the-trash.patch
diff --git a/srcpkgs/gdm/patches/take-out-the-trash.patch b/srcpkgs/gdm/patches/take-out-the-trash.patch
new file mode 100644
index 00000000000..6927c7277b1
--- /dev/null
+++ b/srcpkgs/gdm/patches/take-out-the-trash.patch
@@ -0,0 +1,23 @@
+--- meson.build
++++ meson.build
+@@ -94,19 +94,8 @@ if xdmcp_dep.found() and get_option('tcp-wrappers')
+ libwrap_dep = cc.find_library('libwrap')
+ endif
+ # systemd
+-systemd_dep = dependency('systemd')
+ libsystemd_dep = dependency('libsystemd')
+-if meson.version().version_compare('>= 0.53')
+- systemd_multiseat_x = find_program('systemd-multi-seat-x',
+- required: false,
+- dirs: [
+- systemd_dep.get_pkgconfig_variable('systemdutildir'),
+- '/lib/systemd',
+- '/usr/lib/systemd',
+- ])
+-else
+- systemd_multiseat_x = find_program('systemd-multi-seat-x', required: false)
+-endif
++systemd_multiseat_x = find_program('systemd-multi-seat-x', required: false)
+ systemd_x_server = systemd_multiseat_x.found()? systemd_multiseat_x.path() : '/lib/systemd/systemd-multi-seat-x'
+ # Plymouth
+ plymouth_dep = dependency('ply-boot-client', required: get_option('plymouth'))
diff --git a/srcpkgs/gdm/template b/srcpkgs/gdm/template
index bb5b48692d4..118881e4c4c 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.38.0
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=46d4415c39c94ccee81fbac21102e2ebcd284d39858c893e759900b1e88435ba
conf_files="
/etc/gdm/custom.conf
@@ -47,6 +48,7 @@ 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 +62,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 f1fb072d435ab7c2cb3756d0b8a0e43e2c65ae49 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 051/104] gnome-session: update to 3.38.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..c9bc4930c39 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.38.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=7bcc0eb2cdba4b3f6d1b459b3a30873b7bb65b383c1f6a5f63c3e3b5c7943d67
+
+post_install() {
+ rm -rf ${DESTDIR}/tmp
+}
From 6ff5cf7220b35d965dd72c5f3d6646c427878827 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 052/104] gnome-initial-setup: update to 3.38.0
---
srcpkgs/gnome-initial-setup/template | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/srcpkgs/gnome-initial-setup/template b/srcpkgs/gnome-initial-setup/template
index 55df2f53c1d..63abd3c5c83 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=3
+version=3.38.0
+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
@@ -17,4 +18,4 @@ 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
+checksum=3a857aef5efb689f408632db8469ad27620f762d977070a36035c522c6f82759
From 10038f7c8bcd4690042452c0f72cd8cbafa60113 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 053/104] xdg-desktop-portal-gtk: update to 1.8.0
---
srcpkgs/xdg-desktop-portal-gtk/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/xdg-desktop-portal-gtk/template b/srcpkgs/xdg-desktop-portal-gtk/template
index dee0e463386..7517d1b32d8 100644
--- a/srcpkgs/xdg-desktop-portal-gtk/template
+++ b/srcpkgs/xdg-desktop-portal-gtk/template
@@ -1,6 +1,6 @@
# Template file for 'xdg-desktop-portal-gtk'
pkgname=xdg-desktop-portal-gtk
-version=1.6.0
+version=1.8.0
revision=1
build_style=gnu-configure
hostmakedepends="pkg-config libxslt glib-devel xdg-desktop-portal gettext"
@@ -12,7 +12,7 @@ maintainer="Duncaen <duncaen@voidlinux.org>"
license="LGPL-2.1-or-later"
homepage="https://github.com/flatpak/xdg-desktop-portal-gtk"
distfiles="https://github.com/flatpak/${pkgname}/releases/download/${version}/${pkgname}-${version}.tar.xz"
-checksum=956fd16608247e7119d4c6d95a6dc6578dce257d2f272d03b3498572257e2f76
+checksum=a52529ed321e044ca9adca5e9718d9ba57c414a2634dd4109df344c5b9eed77f
post_install() {
rm -rf "${DESTDIR}/usr/lib/systemd"
From 91944313fb156e39cf9cbf9f58aaf3e02cc1c71c Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 054/104] nautilus: update to 3.38.0
---
srcpkgs/nautilus/template | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/srcpkgs/nautilus/template b/srcpkgs/nautilus/template
index 537a851973f..de968f01d7c 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.38.0
revision=1
build_style=meson
build_helper="gir"
@@ -8,16 +8,16 @@ configure_args="-Dtests=headless -Dintrospection=$(vopt_if gir true false)"
hostmakedepends="gettext glib-devel libxslt pkg-config"
makedepends="exempi-devel gnome-autoar-devel gnome-desktop-devel gtk+3-devel
libexif-devel libgexiv2-devel libglib-devel libnotify-devel libseccomp-devel
- libX11-devel libxml2-devel tracker-devel gst-plugins-base1-devel"
+ libX11-devel libxml2-devel tracker3-devel gst-plugins-base1-devel"
depends="desktop-file-utils gsettings-desktop-schemas hicolor-icon-theme
- tracker-miners tracker"
-checkdepends="tracker"
+ tracker3-miners tracker3"
+checkdepends="tracker3 tracker3-miners python3-gobject dbus"
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=c6f330f9f3f7dbf35afb6ec2094b746ee75d5e928c8f6780dab26672086ccac0
build_options="gir"
build_options_default="gir"
From 53ee40c1c58d76b3689992d635ee2b22b694147d Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 055/104] gnome-maps: update to 3.38.0
---
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..3285faf17e4 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.38.0
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=55758340ebd084610283bf1f6fec6c042559a186eb8699c056a22dfef1d97f99
From f00a42cc014315fa8429c45d25abf0e0efc9d262 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 056/104] evolution: update to 3.38.0
---
.../evolution/files/disableRuntimeTests.cmake | 45 -------------------
srcpkgs/evolution/files/iconv-detect.h | 5 ---
srcpkgs/evolution/template | 35 +++------------
3 files changed, 7 insertions(+), 78 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..aa3fa34bc4c 100644
--- a/srcpkgs/evolution/template
+++ b/srcpkgs/evolution/template
@@ -1,54 +1,33 @@
# Template file for 'evolution'
pkgname=evolution
-version=3.36.1
+version=3.38.0
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"
maintainer="Enno Boland <gottox@voidlinux.org>"
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"
+changelog="https://raw.githubusercontent.com/GNOME/evolution/gnome-3-38/NEWS"
distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=873acf1dbec38e67e169064645ac3a9b9a944bd2b633161df6e5f05700e36cb8
+checksum=f81cc40f54aa2d059da4f3a94eb09362e81513306c974a41ca7895b9c8957c5d
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 d03307f8f78a88429f7849d3262c29f512ce04a2 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 057/104] evolution-ews: update to 3.38.0
---
srcpkgs/evolution-ews/template | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/srcpkgs/evolution-ews/template b/srcpkgs/evolution-ews/template
index 4ff8116466c..98ee3a77fe7 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.38.0
revision=1
build_style=cmake
configure_args="-DLIBEXEC_INSTALL_DIR=/usr/lib/evolution"
@@ -10,6 +10,6 @@ short_desc="MS Exchange integration through Exchange Web Services"
maintainer="Peter Kuchar <masaj@gmx.com>"
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"
+changelog="https://raw.githubusercontent.com/GNOME/evolution-ews/gnome-3-38/NEWS"
distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=d0883c7d227827cc5c4468b7e31a3ee370bcd7d41a4dbb950ab5db36c9551ac1
+checksum=59bf59cabb9d193d91076972dd8a6e71ebf34c7bfad01cd6954297347a3077b3
From 58867904f42ee5c6887c5a15a975242b6c0cd1e2 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 058/104] python3-atspi: update to 2.38.0
---
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..23fa98934e5 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.38.0
+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=ff809312fd0c2f61e191c181a1a638a30b579b91b682cfb5a05535a55265b43d
From 55f01ab1492fcd8ee8cecac1a5b4b8851c69677b Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 059/104] python-atspi: update to 2.38.0
---
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..7505c32ad60 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.38.0
+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=ff809312fd0c2f61e191c181a1a638a30b579b91b682cfb5a05535a55265b43d
From 4fc3fbb35ecde0e71879d244df342940d0b6eab7 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 060/104] orca: update to 3.38.0, drop noarch
---
srcpkgs/orca/template | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/srcpkgs/orca/template b/srcpkgs/orca/template
index f70202e6d76..38e92346b86 100644
--- a/srcpkgs/orca/template
+++ b/srcpkgs/orca/template
@@ -1,8 +1,7 @@
# Template file for 'orca'
pkgname=orca
-version=3.36.1
+version=3.38.0
revision=1
-archs=noarch
build_style=gnu-configure
hostmakedepends="intltool itstool pkg-config"
makedepends="at-spi2-atk-devel liblouis-devel python3-gobject-devel"
@@ -13,7 +12,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=1c3279d79898db10a105bcb705b5a4042b1b51a9c057a6bd0ffd65dac2356fee
if [ "$CROSS_BUILD" ]; then
hostmakedepends+=" python3-gobject-devel"
From 7f1099affc79d5ecfa0727452c5f9f0e8b31033c Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 061/104] 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 9485f514a5ad9799018765f08c9add8534806739 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 062/104] vte3: update to 0.62.0
---
srcpkgs/vte3/template | 19 ++++++++-----------
1 file changed, 8 insertions(+), 11 deletions(-)
diff --git a/srcpkgs/vte3/template b/srcpkgs/vte3/template
index 6116b3cc621..41f9f4e7e9a 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.62.0
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=4d2d246ed47f08cc73f6471aa8e9f378998b7d0f7dcb0c433f29da5839dbb016
# 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 b3ab3c5bc3686653c28ea960d04db8c236b7ab4e Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 063/104] gnome-terminal: update to 3.38.0
---
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..126ba5956fd 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.38.0
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=0a0fc7a8b383c6ffd61469be1dea5ba63cffad812921780e7fad40c2e2ae54f5
lib32disabled=yes
if [ "$CROSS_BUILD" ]; then
From 16aee88d1bbc6d8151d2f609c08ca7c1500086cb Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 064/104] 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 3a27da3807095731c608369f374bc51be26450db Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 065/104] gnome-user-docs: update to 3.38.0, drop noarch
---
srcpkgs/gnome-user-docs/template | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/srcpkgs/gnome-user-docs/template b/srcpkgs/gnome-user-docs/template
index 4cb55396e37..f9942e24843 100644
--- a/srcpkgs/gnome-user-docs/template
+++ b/srcpkgs/gnome-user-docs/template
@@ -1,8 +1,7 @@
# Template file for 'gnome-user-docs'
pkgname=gnome-user-docs
-version=3.34.0
+version=3.38.0
revision=1
-archs=noarch
build_style=gnu-configure
hostmakedepends="gettext pkg-config itstool gnome-doc-utils"
makedepends="yelp"
@@ -13,4 +12,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=38d3db5b5dc5912812a2c6cb29765bfb39242cedcd7ee347df98fca777dcee8a
From 8afaa788942bd60c723ff48ca45c54904e56042f Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 066/104] 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 faa94240ea84736b8b4206590aade21b32672118 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 067/104] 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 1bfc2f6bee927e67f3e2d8398f88d5f962f7fcd6 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 068/104] 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 1898638241fabc21035ab7e96a6ec44e1b642e7b Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 069/104] 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 1af84aab424fc1f38fccd9c9bbcbe5f94102b345 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 070/104] 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 b5e82999f7dea2bf71c409b1efb4d793bdc16aab Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 071/104] totem: update to 3.38.0
---
srcpkgs/totem/template | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/srcpkgs/totem/template b/srcpkgs/totem/template
index 81522b31488..56fb15270fb 100644
--- a/srcpkgs/totem/template
+++ b/srcpkgs/totem/template
@@ -1,14 +1,14 @@
# Template file for 'totem'
pkgname=totem
-version=3.34.1
+version=3.38.0
revision=1
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
@@ -21,16 +21,18 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
license="LGPL-2.0-or-later, GPL-2.0-or-later"
homepage="https://wiki.gnome.org/Apps/Videos"
distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=6bf89ab096dfc564f260976e484165f09bd886434d184410d2f944bfba611a09
+checksum=a829f2b5aa0435aa431816153193d5547fade9eb8d489f56be22afbe651c432f
# XXX xulrunner plugin.
# XXX reenable python plugin if pylint pkg exists.
#pycompile_dirs="usr/lib/totem/plugins"
-disable_parallel_build=yes
+do_check() {
+ :
+}
-build_options="gir vala"
-build_options_default="gir vala"
+build_options="gir"
+build_options_default="gir"
libtotem_package() {
short_desc+=" - runtime library"
From 498c54f98cf1841a7e1554ec01671a20a98e7c2e Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 072/104] 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 7a4fee1f461a4c605117ac5f75ac772de44f2cfd Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 073/104] gnome-clocks: update to 3.38.0
---
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..72f71f9268c 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.38.0
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=d956cb050f1ca46b443519e4f59ab204290d6270dec91c74b53895aecc794438
From 8ff9a26996de2ded2cd807f72393ee8727082f6c Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 074/104] epiphany: update to 3.38.0
---
srcpkgs/epiphany/template | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/srcpkgs/epiphany/template b/srcpkgs/epiphany/template
index 5d6ac6a637d..f23b23c6fbe 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.38.0
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=228e820d7c7f8541e4db5ecc6c81b5a88bde9b1ea17cae4a5f38446f7989c552
From 1f5920a32eab8bf390118ab1778e2554bdb3824b Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 075/104] 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 16540dda9cdf2ccd27e586afbdb267303602b032 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 076/104] gnome-photos: update to 3.37.91.1, use tracker3
---
srcpkgs/gnome-photos/patches/tracker3.patch | 4254 +++++++++++++++++++
srcpkgs/gnome-photos/template | 11 +-
2 files changed, 4260 insertions(+), 5 deletions(-)
create mode 100644 srcpkgs/gnome-photos/patches/tracker3.patch
diff --git a/srcpkgs/gnome-photos/patches/tracker3.patch b/srcpkgs/gnome-photos/patches/tracker3.patch
new file mode 100644
index 00000000000..406dca30fd4
--- /dev/null
+++ b/srcpkgs/gnome-photos/patches/tracker3.patch
@@ -0,0 +1,4254 @@
+From b4a8de1ef79c94c1c11b730787108f305c962e38 Mon Sep 17 00:00:00 2001
+From: Sam Thursfield <sam@afuera.me.uk>
+Date: Wed, 26 Aug 2020 01:57:46 +0200
+Subject: [PATCH 1/4] photos-tracker-controller: Label unit of timing
+ measurements
+
+Otherwise, it's not clear if these are timings or some kind of ID
+number.
+---
+ src/photos-tracker-controller.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/photos-tracker-controller.c b/src/photos-tracker-controller.c
+index a02db077..3a62cf2d 100644
+--- a/src/photos-tracker-controller.c
++++ b/src/photos-tracker-controller.c
+@@ -237,7 +237,7 @@ photos_tracker_controller_cursor_next (GObject *source_object, GAsyncResult *res
+ }
+
+ now = g_get_monotonic_time ();
+- photos_debug (PHOTOS_DEBUG_TRACKER, "Query Cursor: %" G_GINT64_FORMAT, (now - priv->last_query_time) / 1000000);
++ photos_debug (PHOTOS_DEBUG_TRACKER, "Query Cursor: %" G_GINT64_FORMAT " seconds", (now - priv->last_query_time) / 1000000);
+
+ photos_item_manager_add_item_for_mode (PHOTOS_ITEM_MANAGER (priv->item_mngr),
+ PHOTOS_TRACKER_CONTROLLER_GET_CLASS (self)->base_item_type,
+@@ -346,7 +346,7 @@ photos_tracker_controller_set_query_status (PhotosTrackerController *self, gbool
+ else
+ {
+ photos_debug (PHOTOS_DEBUG_TRACKER,
+- "Query Elapsed: %" G_GINT64_FORMAT,
++ "Query Elapsed: %" G_GINT64_FORMAT " seconds",
+ (now - priv->last_query_time) / 1000000);
+ priv->last_query_time = 0;
+ }
+--
+GitLab
+
+
+From 7c98a884ba6a26795ea25a8780002ac101036887 Mon Sep 17 00:00:00 2001
+From: Sam Thursfield <sam@afuera.me.uk>
+Date: Wed, 27 May 2020 13:07:58 +0200
+Subject: [PATCH 2/4] Fix build failure due to undefined M_PI constant
+
+The <math.h> header needs to be included.
+
+Previously I suppose libtracker-sparql.h pulled this in.
+---
+ src/photos-utils.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/photos-utils.c b/src/photos-utils.c
+index 401f52ba..c638297b 100644
+--- a/src/photos-utils.c
++++ b/src/photos-utils.c
+@@ -30,6 +30,7 @@
+ #include <glib.h>
+ #include <tracker-sparql.h>
+ #include <libgd/gd.h>
++#include <math.h>
+
+ #include "photos-application.h"
+ #include "photos-device-item.h"
+--
+GitLab
+
+
+From 0e4bd7bbc8056743a8ea07ab3713ad543c00d478 Mon Sep 17 00:00:00 2001
+From: Sam Thursfield <sam@afuera.me.uk>
+Date: Sun, 7 Jun 2020 21:53:20 +0200
+Subject: [PATCH 3/4] Generate queries using SPARQL templates
+
+The code to generate SPARQL queries was split across many different
+source files, making it difficult to make big changes. Now the
+queries are written out as templates and we use template substitution
+to build the SPARQL that we send to Tracker.
+---
+ src/meson.build | 5 +
+ src/photos-base-manager.c | 15 ++
+ src/photos-base-manager.h | 4 +
+ src/photos-filterable.c | 8 -
+ src/photos-filterable.h | 3 -
+ src/photos-query-builder.c | 207 +++++++++-----------
+ src/photos-search-type-manager.c | 59 +-----
+ src/photos-search-type.c | 67 +++----
+ src/photos-search-type.h | 6 +-
+ src/photos-sparql-template.c | 187 ++++++++++++++++++
+ src/photos-sparql-template.h | 38 ++++
+ src/photos.gresource.xml | 4 +
+ src/queries/all.sparql.template | 31 +++
+ src/queries/collections.sparql.template | 14 ++
+ src/queries/favorite-photos.sparql.template | 12 ++
+ src/queries/photos.sparql.template | 11 ++
+ 16 files changed, 446 insertions(+), 225 deletions(-)
+ create mode 100644 src/photos-sparql-template.c
+ create mode 100644 src/photos-sparql-template.h
+ create mode 100644 src/queries/all.sparql.template
+ create mode 100644 src/queries/collections.sparql.template
+ create mode 100644 src/queries/favorite-photos.sparql.template
+ create mode 100644 src/queries/photos.sparql.template
+
+diff --git a/src/meson.build b/src/meson.build
+index 9919f0cf..b5b2759c 100644
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -195,6 +195,7 @@ sources = common_sources + files(
+ 'photos-source.c',
+ 'photos-source-manager.c',
+ 'photos-source-notification.c',
++ 'photos-sparql-template.c',
+ 'photos-spinner-box.c',
+ 'photos-thumbnail-factory.c',
+ 'photos-tool.c',
+@@ -290,6 +291,10 @@ resource_data = files(
+ 'photos-selection-toolbar.ui',
+ 'photos-share-dialog.ui',
+ 'photos-zoom-controls.ui',
++ 'queries/all.sparql.template',
++ 'queries/collections.sparql.template',
++ 'queries/favorite-photos.sparql.template',
++ 'queries/photos.sparql.template',
+ )
+
+ sources += gnome.compile_resources(
+diff --git a/src/photos-base-manager.c b/src/photos-base-manager.c
+index d49d19a5..052638d5 100644
+--- a/src/photos-base-manager.c
++++ b/src/photos-base-manager.c
+@@ -250,6 +250,12 @@ photos_base_manager_default_get_where (PhotosBaseManager *self, gint flags)
+ }
+
+
++static PhotosSparqlTemplate *
++photos_base_manager_default_get_sparql_template (PhotosBaseManager *self, gint flags)
++{
++ return NULL;
++}
++
+ static void
+ photos_base_manager_default_remove_object_by_id (PhotosBaseManager *self, const gchar *id)
+ {
+@@ -438,6 +444,7 @@ photos_base_manager_class_init (PhotosBaseManagerClass *class)
+ class->get_object_by_id = photos_base_manager_default_get_object_by_id;
+ class->get_previous_object = photos_base_manager_default_get_previous_object;
+ class->get_where = photos_base_manager_default_get_where;
++ class->get_sparql_template = photos_base_manager_default_get_sparql_template;
+ class->remove_object_by_id = photos_base_manager_default_remove_object_by_id;
+ class->set_active_object = photos_base_manager_default_set_active_object;
+
+@@ -714,6 +721,14 @@ photos_base_manager_get_where (PhotosBaseManager *self, gint flags)
+ }
+
+
++PhotosSparqlTemplate *
++photos_base_manager_get_sparql_template (PhotosBaseManager *self, gint flags)
++{
++ g_return_val_if_fail (PHOTOS_IS_BASE_MANAGER (self), NULL);
++ return PHOTOS_BASE_MANAGER_GET_CLASS (self)->get_sparql_template (self, flags);
++}
++
++
+ void
+ photos_base_manager_process_new_objects (PhotosBaseManager *self, GHashTable *new_objects)
+ {
+diff --git a/src/photos-base-manager.h b/src/photos-base-manager.h
+index 99d203e9..04cfa7db 100644
+--- a/src/photos-base-manager.h
++++ b/src/photos-base-manager.h
+@@ -24,6 +24,7 @@
+ #define PHOTOS_BASE_MANAGER_H
+
+ #include <glib-object.h>
++#include "photos-sparql-template.h"
+
+ G_BEGIN_DECLS
+
+@@ -46,6 +47,7 @@ struct _PhotosBaseManagerClass
+ gchar *(*get_where) (PhotosBaseManager *self, gint flags);
+ void (*remove_object_by_id) (PhotosBaseManager *self, const gchar *id);
+ gboolean (*set_active_object) (PhotosBaseManager *self, GObject *object);
++ PhotosSparqlTemplate *(*get_sparql_template) (PhotosBaseManager *self, gint flags);
+
+ /* signals */
+ void (*active_changed) (PhotosBaseManager *self, GObject *object);
+@@ -80,6 +82,8 @@ const gchar *photos_base_manager_get_title (PhotosBaseMana
+
+ gchar *photos_base_manager_get_where (PhotosBaseManager *self, gint flags);
+
++PhotosSparqlTemplate *photos_base_manager_get_sparql_template (PhotosBaseManager *self, gint flags);
++
+ void photos_base_manager_process_new_objects (PhotosBaseManager *self, GHashTable *new_objects);
+
+ void photos_base_manager_remove_object (PhotosBaseManager *self, GObject *object);
+diff --git a/src/photos-filterable.c b/src/photos-filterable.c
+index 361b1c29..aaa4109c 100644
+--- a/src/photos-filterable.c
++++ b/src/photos-filterable.c
+@@ -69,14 +69,6 @@ photos_filterable_get_id (PhotosFilterable *self)
+ }
+
+
+-gchar *
+-photos_filterable_get_where (PhotosFilterable *self)
+-{
+- g_return_val_if_fail (PHOTOS_IS_FILTERABLE (self), NULL);
+- return PHOTOS_FILTERABLE_GET_IFACE (self)->get_where (self);
+-}
+-
+-
+ gboolean
+ photos_filterable_is_search_criterion (PhotosFilterable *self)
+ {
+diff --git a/src/photos-filterable.h b/src/photos-filterable.h
+index e768bca0..8a3415fc 100644
+--- a/src/photos-filterable.h
++++ b/src/photos-filterable.h
+@@ -37,7 +37,6 @@ struct _PhotosFilterableInterface
+ gboolean (*get_builtin) (PhotosFilterable *self);
+ gchar *(*get_filter) (PhotosFilterable *self);
+ const gchar *(*get_id) (PhotosFilterable *self);
+- gchar *(*get_where) (PhotosFilterable *self);
+ gboolean (*is_search_criterion) (PhotosFilterable *self);
+ };
+
+@@ -47,8 +46,6 @@ gchar *photos_filterable_get_filter (PhotosFilterable *self
+
+ const gchar *photos_filterable_get_id (PhotosFilterable *self);
+
+-gchar *photos_filterable_get_where (PhotosFilterable *self);
+-
+ gboolean photos_filterable_is_search_criterion (PhotosFilterable *self);
+
+ G_END_DECLS
+diff --git a/src/photos-query-builder.c b/src/photos-query-builder.c
+index 6b996811..e0735bde 100644
+--- a/src/photos-query-builder.c
++++ b/src/photos-query-builder.c
+@@ -26,112 +26,76 @@
+ #include <string.h>
+
+ #include "photos-base-manager.h"
++#include "photos-query.h"
+ #include "photos-query-builder.h"
+ #include "photos-search-type.h"
+ #include "photos-source-manager.h"
+ #include "photos-search-match-manager.h"
+ #include "photos-search-type-manager.h"
+
++#define PHOTOS_QUERY_COLLECTIONS_IDENTIFIER "photos:collection:"
++#define PHOTOS_QUERY_LOCAL_COLLECTIONS_IDENTIFIER "photos:collection:local:"
+
+-static gchar *
+-photos_query_builder_filter (PhotosSearchContextState *state, gint flags)
+-{
+- gchar *sparql;
+- g_autofree gchar *src_mngr_filter = NULL;
+- g_autofree gchar *srch_mtch_mngr_filter = NULL;
+- g_autofree gchar *srch_typ_mngr_filter = NULL;
++const gchar *collections_default_filter = \
++ "(fn:starts-with (nao:identifier (?urn), '" PHOTOS_QUERY_COLLECTIONS_IDENTIFIER "')"
++ " || (?urn = nfo:image-category-screenshot))";
+
+- src_mngr_filter = photos_base_manager_get_filter (state->src_mngr, flags);
+- srch_mtch_mngr_filter = photos_base_manager_get_filter (state->srch_mtch_mngr, flags);
+- srch_typ_mngr_filter = photos_base_manager_get_filter (state->srch_typ_mngr, flags);
+
+- sparql = g_strdup_printf ("FILTER (%s && %s && %s)",
+- src_mngr_filter,
+- srch_mtch_mngr_filter,
+- srch_typ_mngr_filter);
+-
+- return sparql;
+-}
++/* This includes mimetype blocklist */
++const gchar *photos_default_filter = \
++ "(nie:mimeType(?urn) != 'image/gif' && nie:mimeType(?urn) != 'image/x-eps')";
+
+
+ static gchar *
+-photos_query_builder_optional (void)
+-{
+- return g_strdup ("OPTIONAL { ?urn nco:creator ?creator . } "
+- "OPTIONAL { ?urn nco:publisher ?publisher . }");
+-}
+-
+-
+-static gchar *
+-photos_query_builder_inner_where (PhotosSearchContextState *state, gboolean global, gint flags)
++photos_query_builder_query (PhotosSearchContextState *state,
++ gboolean global,
++ gint flags,
++ PhotosOffsetController *offset_cntrlr)
+ {
+- g_autofree gchar *item_mngr_where = NULL;
++ PhotosSparqlTemplate *template;
++ const gchar *projection = NULL;
++ g_autofree gchar *item_pattern = NULL;
++ g_autofree gchar *search_filter = NULL;
++ g_autofree gchar *source_filter = NULL;
++ const gchar *order = NULL;
++ g_autofree gchar *offset_limit = NULL;
+ gchar *sparql;
+- g_autofree gchar *srch_typ_mngr_where = NULL;
+
+- srch_typ_mngr_where = photos_base_manager_get_where (state->srch_typ_mngr, flags);
++ template = photos_base_manager_get_sparql_template (state->srch_typ_mngr, flags);
++
++ projection = "?urn "
++ "nie:url (?urn) "
++ "nfo:fileName (?urn) "
++ "nie:mimeType (?urn) "
++ "nie:title (?urn) "
++ "tracker:coalesce (nco:fullname (?creator), nco:fullname (?publisher), '') "
++ "tracker:coalesce (nfo:fileLastModified (?urn), nie:contentLastModified (?urn)) AS ?mtime "
++ "nao:identifier (?urn) "
++ "rdf:type (?urn) "
++ "nie:dataSource(?urn) "
++ "( EXISTS { ?urn nao:hasTag nao:predefined-tag-favorite } ) "
++ "( EXISTS { ?urn nco:contributor ?contributor FILTER ( ?contributor != ?creator ) } ) "
++ "tracker:coalesce(nfo:fileCreated (?urn), nie:contentCreated (?urn)) "
++ "nfo:width (?urn) "
++ "nfo:height (?urn) "
++ "nfo:equipment (?urn) "
++ "nfo:orientation (?urn) "
++ "nmm:exposureTime (?urn) "
++ "nmm:fnumber (?urn) "
++ "nmm:focalLength (?urn) "
++ "nmm:isoSpeed (?urn) "
++ "nmm:flash (?urn) "
++ "slo:location (?urn) ";
++
++ item_pattern = photos_base_manager_get_where (state->item_mngr, flags);
+
+ if (!(flags & PHOTOS_QUERY_FLAGS_UNFILTERED))
+ {
+- if (global)
+- {
+- /* TODO: SearchCategoryManager */
+-
+- item_mngr_where = photos_base_manager_get_where (state->item_mngr, flags);
+- }
++ source_filter = photos_base_manager_get_filter (state->src_mngr, flags);
++ search_filter = photos_base_manager_get_filter (state->srch_mtch_mngr, flags);
+ }
+
+- sparql = g_strdup_printf ("WHERE { %s %s }",
+- srch_typ_mngr_where,
+- (item_mngr_where != NULL) ? item_mngr_where : "");
+-
+- return sparql;
+-}
+-
+-
+-static gchar *
+-photos_query_builder_where (PhotosSearchContextState *state, gboolean global, gint flags)
+-{
+- const gchar *count_items = "COUNT (?item) AS ?count";
+- gboolean item_defined;
+- g_autofree gchar *filter = NULL;
+- g_autofree gchar *optional = NULL;
+- gchar *sparql;
+- g_autofree gchar *where_sparql = NULL;
+-
+- where_sparql = photos_query_builder_inner_where (state, global, flags);
+- item_defined = strstr (where_sparql, "?item") != NULL;
+-
+- optional = photos_query_builder_optional ();
+-
+- if (!(flags & PHOTOS_QUERY_FLAGS_UNFILTERED))
+- filter = photos_query_builder_filter (state, flags);
+-
+- sparql = g_strdup_printf ("WHERE {{"
+- " SELECT ?urn rdf:type (?urn) AS ?type %s %s GROUP BY (?urn)"
+- " }"
+- " %s %s"
+- "}",
+- item_defined ? count_items : "",
+- where_sparql,
+- optional,
+- (filter != NULL) ? filter : "");
+-
+- return sparql;
+-}
+-
+-
+-static gchar *
+-photos_query_builder_query (PhotosSearchContextState *state,
+- gboolean global,
+- gint flags,
+- PhotosOffsetController *offset_cntrlr)
+-{
+- gchar *sparql;
+- g_autofree gchar *tail_sparql = NULL;
+- g_autofree gchar *where_sparql = NULL;
+-
+- where_sparql = photos_query_builder_where (state, global, flags);
++ order = "ORDER BY DESC (?mtime)";
+
+ if (global && (flags & PHOTOS_QUERY_FLAGS_UNLIMITED) == 0)
+ {
+@@ -144,35 +108,19 @@ photos_query_builder_query (PhotosSearchContextState *state,
+ step = photos_offset_controller_get_step (offset_cntrlr);
+ }
+
+- tail_sparql = g_strdup_printf ("ORDER BY DESC (?mtime) LIMIT %d OFFSET %d", step, offset);
++ offset_limit = g_strdup_printf ("LIMIT %d OFFSET %d", step, offset);
+ }
+
+- sparql = g_strconcat ("SELECT ?urn "
+- "nie:url (?urn) "
+- "nfo:fileName (?urn) "
+- "nie:mimeType (?urn) "
+- "nie:title (?urn) "
+- "tracker:coalesce (nco:fullname (?creator), nco:fullname (?publisher), '') "
+- "tracker:coalesce (nfo:fileLastModified (?urn), nie:contentLastModified (?urn)) AS ?mtime "
+- "nao:identifier (?urn) "
+- "rdf:type (?urn) "
+- "nie:dataSource(?urn) "
+- "( EXISTS { ?urn nao:hasTag nao:predefined-tag-favorite } ) "
+- "( EXISTS { ?urn nco:contributor ?contributor FILTER ( ?contributor != ?creator ) } ) "
+- "tracker:coalesce(nfo:fileCreated (?urn), nie:contentCreated (?urn)) "
+- "nfo:width (?urn) "
+- "nfo:height (?urn) "
+- "nfo:equipment (?urn) "
+- "nfo:orientation (?urn) "
+- "nmm:exposureTime (?urn) "
+- "nmm:fnumber (?urn) "
+- "nmm:focalLength (?urn) "
+- "nmm:isoSpeed (?urn) "
+- "nmm:flash (?urn) "
+- "slo:location (?urn) ",
+- where_sparql,
+- tail_sparql,
+- NULL);
++ sparql = photos_sparql_template_get_sparql (template,
++ "projection", projection,
++ "collections_default_filter", collections_default_filter,
++ "item_pattern", item_pattern,
++ "photos_default_filter", photos_default_filter,
++ "source_filter", source_filter ? source_filter : "",
++ "search_filter", search_filter ? search_filter : "",
++ "order", order,
++ "offset_limit", offset_limit ? offset_limit : "",
++ NULL);
+
+ return sparql;
+ }
+@@ -231,12 +179,37 @@ photos_query_builder_collection_icon_query (PhotosSearchContextState *state, con
+ PhotosQuery *
+ photos_query_builder_count_query (PhotosSearchContextState *state, gint flags)
+ {
+- PhotosQuery *query;
++ PhotosSparqlTemplate *template;
++ const gchar *projection = NULL;
++ g_autofree gchar *item_pattern = NULL;
++ g_autofree gchar *search_filter = NULL;
++ g_autofree gchar *source_filter = NULL;
+ g_autofree gchar *sparql = NULL;
+- g_autofree gchar *where_sparql = NULL;
++ PhotosQuery *query;
++
++ template = photos_base_manager_get_sparql_template (state->srch_typ_mngr, flags);
++
++ projection = "COUNT(?urn) ";
++
++ item_pattern = photos_base_manager_get_where (state->item_mngr, flags);
++
++ if (! (flags & PHOTOS_QUERY_FLAGS_UNFILTERED))
++ {
++ source_filter = photos_base_manager_get_filter (state->src_mngr, flags);
++ search_filter = photos_base_manager_get_filter (state->srch_mtch_mngr, flags);
++ }
++
++ sparql = photos_sparql_template_get_sparql (template,
++ "projection", projection,
++ "collections_default_filter", collections_default_filter,
++ "item_pattern", item_pattern,
++ "photos_default_filter", photos_default_filter,
++ "source_filter", source_filter ? source_filter : "",
++ "search_filter", search_filter ? search_filter : "",
++ "order", "",
++ "offset_limit", "",
++ NULL);
+
+- where_sparql = photos_query_builder_where (state, TRUE, flags);
+- sparql = g_strconcat ("SELECT DISTINCT COUNT(?urn) ", where_sparql, NULL);
+ query = photos_query_new (state, sparql);
+
+ return query;
+diff --git a/src/photos-search-type-manager.c b/src/photos-search-type-manager.c
+index 87f441ed..5c87d4a4 100644
+--- a/src/photos-search-type-manager.c
++++ b/src/photos-search-type-manager.c
+@@ -41,13 +41,6 @@ struct _PhotosSearchTypeManager
+ G_DEFINE_TYPE (PhotosSearchTypeManager, photos_search_type_manager, PHOTOS_TYPE_BASE_MANAGER);
+
+
+-static const gchar *BLACKLISTED_MIME_TYPES[] =
+-{
+- "image/gif",
+- "image/x-eps"
+-};
+-
+-
+ static gchar *
+ photos_search_type_manager_get_filter (PhotosBaseManager *mngr, gint flags)
+ {
+@@ -69,9 +62,8 @@ photos_search_type_manager_get_filter (PhotosBaseManager *mngr, gint flags)
+ return filter;
+ }
+
+-
+-static gchar *
+-photos_search_type_manager_get_where (PhotosBaseManager *mngr, gint flags)
++static PhotosSparqlTemplate *
++photos_search_type_manager_get_sparql_template (PhotosBaseManager *mngr, gint flags)
+ {
+ GObject *search_type;
+
+@@ -86,74 +78,39 @@ photos_search_type_manager_get_where (PhotosBaseManager *mngr, gint flags)
+ else
+ search_type = photos_base_manager_get_object_by_id (mngr, PHOTOS_SEARCH_TYPE_STOCK_ALL);
+
+- return photos_filterable_get_where (PHOTOS_FILTERABLE (search_type));
++ return photos_search_type_get_sparql_template (PHOTOS_SEARCH_TYPE (search_type));
+ }
+
+-
+ static void
+ photos_search_type_manager_init (PhotosSearchTypeManager *self)
+ {
+ PhotosSearchType *search_type;
+- gchar *item_filter;
+- gchar *all_filter;
+- gchar *blacklisted_mime_types_filter;
+- gchar *col_filter;
+- gchar **strv;
+- guint i;
+- guint n_elements;
+-
+- n_elements = G_N_ELEMENTS (BLACKLISTED_MIME_TYPES);
+- strv = (gchar **) g_malloc0_n (n_elements + 1, sizeof (gchar *));
+- for (i = 0; i < n_elements; i++)
+- strv[i] = g_strdup_printf ("nie:mimeType(?urn) != '%s'", BLACKLISTED_MIME_TYPES[i]);
+-
+- blacklisted_mime_types_filter = g_strjoinv (" && ", strv);
+-
+- item_filter = g_strdup_printf ("(fn:contains (?type, 'nmm#Photo') && %s)", blacklisted_mime_types_filter);
+- col_filter = g_strdup_printf ("(fn:contains (?type, 'nfo#DataContainer')"
+- " && ?count > 0"
+- " && (fn:starts-with (nao:identifier (?urn), '%s')"
+- " || (?urn = nfo:image-category-screenshot)))",
+- PHOTOS_QUERY_COLLECTIONS_IDENTIFIER);
+- all_filter = g_strdup_printf ("(%s || %s)", col_filter, item_filter);
+
+ search_type = photos_search_type_new_full (PHOTOS_SEARCH_TYPE_STOCK_ALL,
+ _("All"),
+- "?urn a rdfs:Resource. "
+- "OPTIONAL {?item a nmm:Photo; nie:isPartOf ?urn}",
+- all_filter);
++ "resource:///org/gnome/Photos/all.sparql.template");
+ photos_base_manager_add_object (PHOTOS_BASE_MANAGER (self), G_OBJECT (search_type));
+ g_object_unref (search_type);
+
+ search_type = photos_search_type_new_full (PHOTOS_SEARCH_TYPE_STOCK_COLLECTIONS,
+ _("Albums"),
+- "?urn a nfo:DataContainer. "
+- "?item a nmm:Photo; nie:isPartOf ?urn.",
+- col_filter);
++ "resource:///org/gnome/Photos/collections.sparql.template");
+ photos_base_manager_add_object (PHOTOS_BASE_MANAGER (self), G_OBJECT (search_type));
+ g_object_unref (search_type);
+
+ search_type = photos_search_type_new_full (PHOTOS_SEARCH_TYPE_STOCK_FAVORITES,
+ _("Favorites"),
+- "?urn a nmm:Photo; nao:hasTag nao:predefined-tag-favorite. ",
+- blacklisted_mime_types_filter);
++ "resource:///org/gnome/Photos/favorite-photos.sparql.template");
+ photos_base_manager_add_object (PHOTOS_BASE_MANAGER (self), G_OBJECT (search_type));
+ g_object_unref (search_type);
+
+ search_type = photos_search_type_new_full (PHOTOS_SEARCH_TYPE_STOCK_PHOTOS,
+ _("Photos"),
+- "?urn a nmm:Photo",
+- blacklisted_mime_types_filter);
++ "resource:///org/gnome/Photos/photos.sparql.template");
+ photos_base_manager_add_object (PHOTOS_BASE_MANAGER (self), G_OBJECT (search_type));
+ g_object_unref (search_type);
+
+ photos_base_manager_set_active_object_by_id (PHOTOS_BASE_MANAGER (self), PHOTOS_SEARCH_TYPE_STOCK_ALL);
+-
+- g_free (item_filter);
+- g_free (all_filter);
+- g_free (blacklisted_mime_types_filter);
+- g_free (col_filter);
+- g_strfreev (strv);
+ }
+
+
+@@ -163,7 +120,7 @@ photos_search_type_manager_class_init (PhotosSearchTypeManagerClass *class)
+ PhotosBaseManagerClass *base_manager_class = PHOTOS_BASE_MANAGER_CLASS (class);
+
+ base_manager_class->get_filter = photos_search_type_manager_get_filter;
+- base_manager_class->get_where = photos_search_type_manager_get_where;
++ base_manager_class->get_sparql_template = photos_search_type_manager_get_sparql_template;
+ }
+
+
+diff --git a/src/photos-search-type.c b/src/photos-search-type.c
+index 44dc60eb..f3bbae15 100644
+--- a/src/photos-search-type.c
++++ b/src/photos-search-type.c
+@@ -25,24 +25,23 @@
+
+ #include "photos-filterable.h"
+ #include "photos-search-type.h"
++#include "photos-sparql-template.h"
+
+
+ struct _PhotosSearchType
+ {
+ GObject parent_instance;
+- gchar *filter;
+ gchar *id;
+ gchar *name;
+- gchar *where;
++ PhotosSparqlTemplate *sparql_template;
+ };
+
+ enum
+ {
+ PROP_0,
+- PROP_FILTER,
+ PROP_ID,
+ PROP_NAME,
+- PROP_WHERE,
++ PROP_SPARQL_TEMPLATE,
+ };
+
+ static void photos_search_type_filterable_iface_init (PhotosFilterableInterface *iface);
+@@ -53,14 +52,6 @@ G_DEFINE_TYPE_WITH_CODE (PhotosSearchType, photos_search_type, G_TYPE_OBJECT,
+ photos_search_type_filterable_iface_init));
+
+
+-static gchar *
+-photos_search_type_get_filter (PhotosFilterable *iface)
+-{
+- PhotosSearchType *self = PHOTOS_SEARCH_TYPE (iface);
+- return g_strdup (self->filter);
+-}
+-
+-
+ static const gchar *
+ photos_search_type_get_id (PhotosFilterable *filterable)
+ {
+@@ -69,14 +60,6 @@ photos_search_type_get_id (PhotosFilterable *filterable)
+ }
+
+
+-static gchar *
+-photos_search_type_get_where (PhotosFilterable *iface)
+-{
+- PhotosSearchType *self = PHOTOS_SEARCH_TYPE (iface);
+- return g_strdup (self->where);
+-}
+-
+-
+ static gboolean
+ photos_search_type_is_search_criterion (PhotosFilterable *iface)
+ {
+@@ -84,15 +67,20 @@ photos_search_type_is_search_criterion (PhotosFilterable *iface)
+ }
+
+
++PhotosSparqlTemplate *
++photos_search_type_get_sparql_template (PhotosSearchType *self)
++{
++ return self->sparql_template;
++}
++
+ static void
+ photos_search_type_finalize (GObject *object)
+ {
+ PhotosSearchType *self = PHOTOS_SEARCH_TYPE (object);
+
+- g_free (self->filter);
+ g_free (self->id);
+ g_free (self->name);
+- g_free (self->where);
++ g_clear_object (&self->sparql_template);
+
+ G_OBJECT_CLASS (photos_search_type_parent_class)->finalize (object);
+ }
+@@ -113,6 +101,10 @@ photos_search_type_get_property (GObject *object, guint prop_id, GValue *value,
+ g_value_set_string (value, self->name);
+ break;
+
++ case PROP_SPARQL_TEMPLATE:
++ g_value_set_object (value, self->sparql_template);
++ break;
++
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+@@ -127,10 +119,6 @@ photos_search_type_set_property (GObject *object, guint prop_id, const GValue *v
+
+ switch (prop_id)
+ {
+- case PROP_FILTER:
+- self->filter = g_value_dup_string (value);
+- break;
+-
+ case PROP_ID:
+ self->id = g_value_dup_string (value);
+ break;
+@@ -139,8 +127,8 @@ photos_search_type_set_property (GObject *object, guint prop_id, const GValue *v
+ self->name = g_value_dup_string (value);
+ break;
+
+- case PROP_WHERE:
+- self->where = g_value_dup_string (value);
++ case PROP_SPARQL_TEMPLATE:
++ self->sparql_template = g_object_ref (g_value_get_object (value));
+ break;
+
+ default:
+@@ -165,14 +153,6 @@ photos_search_type_class_init (PhotosSearchTypeClass *class)
+ object_class->get_property = photos_search_type_get_property;
+ object_class->set_property = photos_search_type_set_property;
+
+- g_object_class_install_property (object_class,
+- PROP_FILTER,
+- g_param_spec_string ("filter",
+- "",
+- "",
+- "(true)",
+- G_PARAM_CONSTRUCT_ONLY | G_PARAM_WRITABLE));
+-
+ g_object_class_install_property (object_class,
+ PROP_ID,
+ g_param_spec_string ("id",
+@@ -190,11 +170,11 @@ photos_search_type_class_init (PhotosSearchTypeClass *class)
+ G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE));
+
+ g_object_class_install_property (object_class,
+- PROP_WHERE,
+- g_param_spec_string ("where",
+- "",
++ PROP_SPARQL_TEMPLATE,
++ g_param_spec_object ("sparql-template",
+ "",
+ "",
++ PHOTOS_TYPE_SPARQL_TEMPLATE,
+ G_PARAM_CONSTRUCT_ONLY | G_PARAM_WRITABLE));
+ }
+
+@@ -202,9 +182,7 @@ photos_search_type_class_init (PhotosSearchTypeClass *class)
+ static void
+ photos_search_type_filterable_iface_init (PhotosFilterableInterface *iface)
+ {
+- iface->get_filter = photos_search_type_get_filter;
+ iface->get_id = photos_search_type_get_id;
+- iface->get_where = photos_search_type_get_where;
+ iface->is_search_criterion = photos_search_type_is_search_criterion;
+ }
+
+@@ -217,12 +195,13 @@ photos_search_type_new (const gchar *id, const gchar *name)
+
+
+ PhotosSearchType *
+-photos_search_type_new_full (const gchar *id, const gchar *name, const gchar *where, const gchar *filter)
++photos_search_type_new_full (const gchar *id, const gchar *name, const gchar *template_path)
+ {
++ g_autoptr (PhotosSparqlTemplate) template = photos_sparql_template_new (template_path);
++
+ return g_object_new (PHOTOS_TYPE_SEARCH_TYPE,
+ "id", id,
+ "name", name,
+- "filter", filter,
+- "where", where,
++ "sparql-template", template,
+ NULL);
+ }
+diff --git a/src/photos-search-type.h b/src/photos-search-type.h
+index 2f7135bd..7d699dd4 100644
+--- a/src/photos-search-type.h
++++ b/src/photos-search-type.h
+@@ -24,6 +24,7 @@
+ #define PHOTOS_SEARCH_TYPE_H
+
+ #include <glib-object.h>
++#include "photos-sparql-template.h"
+
+ G_BEGIN_DECLS
+
+@@ -39,8 +40,9 @@ PhotosSearchType *photos_search_type_new (const gchar *id, con
+
+ PhotosSearchType *photos_search_type_new_full (const gchar *id,
+ const gchar *name,
+- const gchar *where,
+- const gchar *filter);
++ const gchar *template_path);
++
++PhotosSparqlTemplate *photos_search_type_get_sparql_template (PhotosSearchType *self);
+
+ G_END_DECLS
+
+diff --git a/src/photos-sparql-template.c b/src/photos-sparql-template.c
+new file mode 100644
+index 00000000..b32437c0
+--- /dev/null
++++ b/src/photos-sparql-template.c
+@@ -0,0 +1,187 @@
++/*
++ * Photos - access, organize and share your photos on GNOME
++ * Copyright © 2020 Sam Thursfield <sam@afuera.me.uk>
++ *
++ * This program is free software: you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation, either version 3 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#include <gio/gio.h>
++
++#include "photos-sparql-template.h"
++
++#define MAX_SPARQL_TEMPLATE_SIZE (1024 * 10)
++
++struct _PhotosSparqlTemplate {
++ GObject parent_instance;
++ gchar *template_path;
++ gchar *template_text;
++};
++
++G_DEFINE_TYPE (PhotosSparqlTemplate, photos_sparql_template, G_TYPE_OBJECT)
++
++enum {
++ PROP_0,
++ PROP_TEMPLATE_PATH,
++ N_PROPS
++};
++
++PhotosSparqlTemplate *
++photos_sparql_template_new (const gchar *template_path)
++{
++ return g_object_new (PHOTOS_TYPE_SPARQL_TEMPLATE, "template-path", template_path, NULL);
++}
++
++static void
++photos_sparql_template_constructed (GObject *object)
++{
++ PhotosSparqlTemplate *self = PHOTOS_SPARQL_TEMPLATE (object);
++ g_autoptr (GFile) file = NULL;
++ g_autoptr (GFileInputStream) stream = NULL;
++ gchar buffer[MAX_SPARQL_TEMPLATE_SIZE + 1];
++ gsize bytes_read;
++ g_autoptr (GError) error = NULL;
++
++ G_OBJECT_CLASS (photos_sparql_template_parent_class)->constructed (object);
++
++ file = g_file_new_for_uri (self->template_path);
++
++ stream = g_file_read (file, NULL, &error);
++
++ if (!stream)
++ {
++ g_critical ("Failed to open template %s: %s", self->template_path, error->message);
++ }
++
++ g_input_stream_read_all (G_INPUT_STREAM (stream), buffer, MAX_SPARQL_TEMPLATE_SIZE, &bytes_read, NULL, &error);
++
++ if (error)
++ {
++ g_critical ("Failed to read template %s: %s", self->template_path, error->message);
++ }
++
++ buffer[bytes_read] = '\0';
++
++ self->template_text = g_strdup (buffer);
++}
++
++static void
++photos_sparql_template_finalize (GObject *object)
++{
++ G_OBJECT_CLASS (photos_sparql_template_parent_class)->finalize (object);
++}
++
++static void
++photos_sparql_template_get_property (GObject *object,
++ guint prop_id,
++ GValue *value,
++ GParamSpec *pspec)
++{
++ PhotosSparqlTemplate *self = PHOTOS_SPARQL_TEMPLATE (object);
++
++ switch (prop_id)
++ {
++ case PROP_TEMPLATE_PATH:
++ g_value_set_string (value, self->template_path);
++ break;
++
++ default:
++ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
++ }
++}
++
++static void
++photos_sparql_template_set_property (GObject *object,
++ guint prop_id,
++ const GValue *value,
++ GParamSpec *pspec)
++{
++ PhotosSparqlTemplate *self = PHOTOS_SPARQL_TEMPLATE (object);
++
++ switch (prop_id)
++ {
++ case PROP_TEMPLATE_PATH:
++ self->template_path = g_value_dup_string (value);
++ break;
++
++ default:
++ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
++ }
++}
++
++static void
++photos_sparql_template_class_init (PhotosSparqlTemplateClass *klass)
++{
++ GObjectClass *object_class = G_OBJECT_CLASS (klass);
++
++ object_class->constructed = photos_sparql_template_constructed;
++ object_class->finalize = photos_sparql_template_finalize;
++ object_class->get_property = photos_sparql_template_get_property;
++ object_class->set_property = photos_sparql_template_set_property;
++
++ g_object_class_install_property (object_class,
++ PROP_TEMPLATE_PATH,
++ g_param_spec_string ("template-path",
++ "Template path",
++ "Path to the template file.",
++ NULL,
++ G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE));
++}
++
++static void
++photos_sparql_template_init (PhotosSparqlTemplate *self)
++{
++}
++
++
++gchar *
++photos_sparql_template_get_sparql (PhotosSparqlTemplate *self,
++ const gchar *first_binding_name, ...)
++{
++ va_list va;
++ gchar *sparql;
++
++ sparql = self->template_text;
++
++ /* FIXME: this is an inefficent way to do template substitutions
++ * because we allocate and free a copy of the string for each binding.
++ * We should check https://gitlab.gnome.org/GNOME/template-glib/
++ */
++ if (first_binding_name)
++ {
++ GRegex *regex;
++ gchar *name_regex;
++ const gchar *name;
++ const gchar *value;
++
++ va_start (va, first_binding_name);
++ name = first_binding_name;
++ do {
++ value = va_arg (va, const gchar *);
++
++ if (value == NULL)
++ {
++ g_critical ("Missing value for argument \"%s\"", name);
++ break;
++ }
++
++ name_regex = g_strdup_printf ("{{\\s?%s\\s?}}", name);
++ regex = g_regex_new (name_regex, 0, 0, NULL);
++ sparql = g_regex_replace_literal (regex, sparql, -1, 0, value, 0, NULL) ;
++ } while ((name = va_arg (va, const gchar *)));
++
++ va_end (va);
++ }
++
++ return sparql;
++}
+diff --git a/src/photos-sparql-template.h b/src/photos-sparql-template.h
+new file mode 100644
+index 00000000..66351b38
+--- /dev/null
++++ b/src/photos-sparql-template.h
+@@ -0,0 +1,38 @@
++/*
++ * Photos - access, organize and share your photos on GNOME
++ * Copyright © 2020 Sam Thursfield <sam@afuera.me.uk>
++ *
++ * This program is free software: you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation, either version 3 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#pragma once
++
++#include <glib-object.h>
++
++G_BEGIN_DECLS
++
++#define PHOTOS_TYPE_SPARQL_TEMPLATE (photos_sparql_template_get_type())
++
++G_DECLARE_FINAL_TYPE (PhotosSparqlTemplate, photos_sparql_template, PHOTOS, SPARQL_TEMPLATE, GObject)
++
++struct _PhotosSparqlTemplateClass
++{
++ GObjectClass parent_class;
++};
++
++PhotosSparqlTemplate *photos_sparql_template_new (const gchar *template_path);
++
++gchar *photos_sparql_template_get_sparql (PhotosSparqlTemplate *self, const gchar *first_binding_name, ...) G_GNUC_NULL_TERMINATED;
++
++G_END_DECLS
+diff --git a/src/photos.gresource.xml b/src/photos.gresource.xml
+index 1015b11d..39e6d842 100644
+--- a/src/photos.gresource.xml
++++ b/src/photos.gresource.xml
+@@ -35,6 +35,10 @@
+ <file alias="selection-toolbar.ui" preprocess="xml-stripblanks" compressed="true">photos-selection-toolbar.ui</file>
+ <file alias="share-dialog.ui" preprocess="xml-stripblanks" compressed="true">photos-share-dialog.ui</file>
+ <file alias="zoom-controls.ui" preprocess="xml-stripblanks" compressed="true">photos-zoom-controls.ui</file>
++ <file alias="all.sparql.template">queries/all.sparql.template</file>
++ <file alias="collections.sparql.template">queries/collections.sparql.template</file>
++ <file alias="favorite-photos.sparql.template">queries/favorite-photos.sparql.template</file>
++ <file alias="photos.sparql.template">queries/photos.sparql.template</file>
+ </gresource>
+
+ <gresource prefix="/org/gnome/Photos/gtk">
+diff --git a/src/queries/all.sparql.template b/src/queries/all.sparql.template
+new file mode 100644
+index 00000000..1cef98e8
+--- /dev/null
++++ b/src/queries/all.sparql.template
+@@ -0,0 +1,31 @@
++SELECT {{projection}}
++{
++ {
++ SELECT {{projection}}
++ {
++ {
++ SELECT ?urn COUNT(?item) AS ?count
++ {
++ ?urn a nfo:DataContainer.
++ ?item a nmm:Photo; nie:isPartOf ?urn.
++ } GROUP BY ?urn
++ }
++ FILTER (?count > 0 && {{collections_default_filter}} && {{search_filter}})
++ }
++ GROUP BY ?urn
++ }
++ UNION
++ {
++ SELECT {{projection}}
++ {
++ ?urn a nmm:Photo .
++ OPTIONAL { ?urn nco:creator ?creator . }
++ OPTIONAL { ?urn nco:publisher ?publisher . }
++ {{item_pattern}}
++ FILTER ({{photos_default_filter}} && {{source_filter}} && {{search_filter}})
++ }
++ GROUP BY ?urn
++ }
++}
++{{order}}
++{{offset_limit}}
+diff --git a/src/queries/collections.sparql.template b/src/queries/collections.sparql.template
+new file mode 100644
+index 00000000..20b35cd6
+--- /dev/null
++++ b/src/queries/collections.sparql.template
+@@ -0,0 +1,14 @@
++SELECT {{projection}}
++{
++ {
++ SELECT ?urn COUNT(?item) AS ?count
++ {
++ ?urn a nfo:DataContainer.
++ ?item a nmm:Photo; nie:isPartOf ?urn.
++ } GROUP BY ?urn
++ }
++ FILTER (?count > 0 && {{collections_default_filter}} && {{search_filter}})
++}
++GROUP BY ?urn
++{{order}}
++{{offset_limit}}
+diff --git a/src/queries/favorite-photos.sparql.template b/src/queries/favorite-photos.sparql.template
+new file mode 100644
+index 00000000..0885a08a
+--- /dev/null
++++ b/src/queries/favorite-photos.sparql.template
+@@ -0,0 +1,12 @@
++SELECT {{projection}}
++{
++ ?urn a nmm:Photo .
++ ?urn a nmm:Photo; nao:hasTag nao:predefined-tag-favorite .
++ OPTIONAL { ?urn nco:creator ?creator . }
++ OPTIONAL { ?urn nco:publisher ?publisher . }
++ {{item_pattern}}
++ FILTER ({{photos_default_filter}} && {{source_filter}} && {{search_filter}})
++}
++GROUP BY ?urn
++{{order}}
++{{offset_limit}}
+diff --git a/src/queries/photos.sparql.template b/src/queries/photos.sparql.template
+new file mode 100644
+index 00000000..4eb10b74
+--- /dev/null
++++ b/src/queries/photos.sparql.template
+@@ -0,0 +1,11 @@
++SELECT {{projection}}
++{
++ ?urn a nmm:Photo .
++ OPTIONAL { ?urn nco:creator ?creator . }
++ OPTIONAL { ?urn nco:publisher ?publisher . }
++ {{item_pattern}}
++ FILTER ({{photos_default_filter}} && {{source_filter}} && {{search_filter}})
++}
++GROUP BY ?urn
++{{order}}
++{{offset_limit}}
+--
+GitLab
+
+
+From d61d440efe340bda4e195d640066fb29220d0cb5 Mon Sep 17 00:00:00 2001
+From: Sam Thursfield <sam@afuera.me.uk>
+Date: Sat, 23 May 2020 13:36:25 +0200
+Subject: [PATCH 4/4] Port to Tracker 3
+
+Notable changes:
+
+ * User data (favourites, albums) is now stored in a private database in
+ ~/.local/share/gnome-photos. This is combined with the Tracker Miner
+ FS index of photos at query time.
+ * Inside Flatpak, the app connects to Tracker via the new
+ xdg-tracker-portal instead of talking directly over D-Bus. Access is
+ limited by the portal so the app can only see the Pictures graph.
+ * The Flatpak build can use a bundled version of Tracker Miners, if a
+ suitable version is not available on the host.
+ * Change detection is done using TrackerNotifier instead of watching
+ the GraphUpdated D-Bus signal directly.
+
+Closes https://gitlab.gnome.org/GNOME/gnome-photos/-/issues/59
+Closes https://gitlab.gnome.org/GNOME/gnome-photos/-/issues/152
+---
+ data/meson.build | 2 +
+ data/tracker/meson.build | 33 ++
+ ...e.Photos.Tracker3.Miner.Extract.service.in | 7 +
+ ...ome.Photos.Tracker3.Miner.Files.service.in | 7 +
+ data/tracker/org.gnome.Photos.domain.rule.in | 20 +
+ flatpak/org.gnome.Photos.json | 55 +-
+ meson.build | 3 +-
+ src/meson.build | 19 +-
+ ...freedesktop.Tracker3.Miner.Files.Index.xml | 11 +
+ src/org.freedesktop.Tracker3.Miner.xml | 56 +++
+ src/photos-application.c | 184 +++----
+ src/photos-base-item.c | 18 +-
+ src/photos-indexing-notification.c | 53 +-
+ src/photos-item-manager.c | 69 +--
+ src/photos-quarks.c | 20 +-
+ src/photos-query-builder.c | 148 ++++--
+ src/photos-search-context.c | 3 +
+ src/photos-search-context.h | 1 +
+ src/photos-search-match-manager.c | 2 +-
+ src/photos-source.c | 14 +-
+ src/photos-tracker-change-event.c | 136 -----
+ src/photos-tracker-change-event.h | 64 ---
+ src/photos-tracker-change-monitor.c | 468 ------------------
+ src/photos-tracker-change-monitor.h | 42 --
+ src/photos-tracker-controller.c | 12 +-
+ src/photos-tracker-extract-priority.xml | 2 +-
+ src/photos-tracker-import-controller.c | 85 ++--
+ src/photos-tracker-queue.c | 206 +++++++-
+ src/photos-tracker-queue.h | 7 +
+ src/photos-tracker-resources.xml | 31 --
+ src/photos-utils.c | 24 +-
+ src/photos-utils.h | 2 +-
+ src/queries/all.sparql.template | 34 +-
+ src/queries/collections.sparql.template | 20 +-
+ src/queries/favorite-photos.sparql.template | 20 +-
+ src/queries/photos.sparql.template | 22 +-
+ 36 files changed, 754 insertions(+), 1146 deletions(-)
+ create mode 100644 data/tracker/meson.build
+ create mode 100644 data/tracker/org.gnome.Photos.Tracker3.Miner.Extract.service.in
+ create mode 100644 data/tracker/org.gnome.Photos.Tracker3.Miner.Files.service.in
+ create mode 100644 data/tracker/org.gnome.Photos.domain.rule.in
+ create mode 100644 src/org.freedesktop.Tracker3.Miner.Files.Index.xml
+ create mode 100644 src/org.freedesktop.Tracker3.Miner.xml
+ delete mode 100644 src/photos-tracker-change-event.c
+ delete mode 100644 src/photos-tracker-change-event.h
+ delete mode 100644 src/photos-tracker-change-monitor.c
+ delete mode 100644 src/photos-tracker-change-monitor.h
+ delete mode 100644 src/photos-tracker-resources.xml
+
+diff --git a/data/meson.build b/data/meson.build
+index 7898b0cc..f0d85d4b 100644
+--- a/data/meson.build
++++ b/data/meson.build
+@@ -54,3 +54,5 @@ install_data(
+ photos_namespace.to_lower() + '.gschema.xml',
+ install_dir: join_paths(photos_datadir, 'glib-2.0', 'schemas'),
+ )
++
++subdir('tracker')
+diff --git a/data/tracker/meson.build b/data/tracker/meson.build
+new file mode 100644
+index 00000000..accc99c2
+--- /dev/null
++++ b/data/tracker/meson.build
+@@ -0,0 +1,33 @@
++# Files needed for running Tracker inside the Flatpak sandbox, for systems
++# which don't have a suitable version of Tracker in the host OS.
++#
++# We must export the .service files from the sandbox so they work on the
++# session bus. This means the Tracker domain name must correspond with the
++# application ID.
++
++
++domain_ontologies_dir = get_option('datadir') / 'tracker3' / 'domain-ontologies'
++dbus_services_dir = get_option('datadir') / 'dbus-1' / 'services'
++
++tracker_domain_config = configuration_data()
++tracker_domain_config.set('application_id', photos_namespace)
++tracker_domain_config.set('domain_rule', get_option('prefix') / domain_ontologies_dir / photos_namespace + '.domain.rule')
++
++configure_file(
++ input: 'org.gnome.Photos.domain.rule.in',
++ output: photos_namespace + '.domain.rule',
++ configuration: tracker_domain_config,
++ install_dir: domain_ontologies_dir)
++
++configure_file(
++ input: 'org.gnome.Photos.Tracker3.Miner.Extract.service.in',
++ output: photos_namespace + '.Tracker3.Miner.Extract.service',
++ configuration: tracker_domain_config,
++ install_dir: dbus_services_dir)
++
++configure_file(
++ input: 'org.gnome.Photos.Tracker3.Miner.Files.service.in',
++ output: photos_namespace + '.Tracker3.Miner.Files.service',
++ configuration: tracker_domain_config,
++ install_dir: dbus_services_dir)
++
+diff --git a/data/tracker/org.gnome.Photos.Tracker3.Miner.Extract.service.in b/data/tracker/org.gnome.Photos.Tracker3.Miner.Extract.service.in
+new file mode 100644
+index 00000000..eb7a87aa
+--- /dev/null
++++ b/data/tracker/org.gnome.Photos.Tracker3.Miner.Extract.service.in
+@@ -0,0 +1,7 @@
++[D-BUS Service]
++Name=@application_id@.Tracker3.Miner.Extract
++Exec=/app/libexec/tracker-extract-3 --domain-ontology @domain_rule@
++
++# Miner details needed for tracker-control
++Path=/org/freedesktop/Tracker3/Miner/Extract
++NameSuffix=Miner.Files
+diff --git a/data/tracker/org.gnome.Photos.Tracker3.Miner.Files.service.in b/data/tracker/org.gnome.Photos.Tracker3.Miner.Files.service.in
+new file mode 100644
+index 00000000..4fa7371d
+--- /dev/null
++++ b/data/tracker/org.gnome.Photos.Tracker3.Miner.Files.service.in
+@@ -0,0 +1,7 @@
++[D-BUS Service]
++Name=@application_id@.Tracker3.Miner.Files
++Exec=/app/libexec/tracker-miner-fs-3 --domain-ontology @domain_rule@ --initial-sleep 0
++
++# Miner details needed for tracker-control
++Path=/org/freedesktop/Tracker3/Miner/Files
++NameSuffix=Miner.Files
+diff --git a/data/tracker/org.gnome.Photos.domain.rule.in b/data/tracker/org.gnome.Photos.domain.rule.in
+new file mode 100644
+index 00000000..8f5fc4a1
+--- /dev/null
++++ b/data/tracker/org.gnome.Photos.domain.rule.in
+@@ -0,0 +1,20 @@
++# This defines a private Tracker domain for GNOME Photos.
++#
++# It's used to run the Tracker indexer inside a Flatpak sandbox, when Photos is
++# running on a host that doesn't have a suitable version of Tracker installed.
++
++[DomainOntology]
++# Location for the Tracker database
++CacheLocation=$XDG_CACHE_HOME/gnome-photos/miner/files
++
++# Name of the ontology to use, must be one located in
++# $(sharedir)/tracker/ontologies
++OntologyName=nepomuk
++
++# DBus name for the owner (not optional). Tracker will use
++# the domain as the prefix of the DBus name for all the
++# services related to this domain ontology.
++Domain=@application_id@
++
++# List of miners we expect to run in this domain.
++Miners=Miner.Files;Miner.Extract
+diff --git a/flatpak/org.gnome.Photos.json b/flatpak/org.gnome.Photos.json
+index 5d16689c..adfdaf34 100644
+--- a/flatpak/org.gnome.Photos.json
++++ b/flatpak/org.gnome.Photos.json
+@@ -7,7 +7,7 @@
+ "tags": [ "nightly" ],
+ "desktop-file-name-prefix": "(Nightly) ",
+ "finish-args": [
+- "--env=TRACKER_SPARQL_BACKEND=bus",
++ "--add-policy=Tracker3.dbus:org.freedesktop.Tracker3.Miner.Files=tracker:Pictures",
+ "--filesystem=xdg-download",
+ "--filesystem=xdg-pictures",
+ "--metadata=X-DConf=migrate-path=/org/gnome/photos/",
+@@ -17,8 +17,8 @@
+ "--socket=wayland",
+ "--socket=x11",
+ "--talk-name=org.freedesktop.FileManager1",
+- "--talk-name=org.freedesktop.Tracker1",
+- "--talk-name=org.freedesktop.Tracker1.Miner.Extract",
++ "--talk-name=org.freedesktop.Tracker3.Miner.Files",
++ "--talk-name=org.freedesktop.Tracker3.Miner.Files.Index",
+ "--talk-name=com.intel.dleyna-renderer",
+ "--talk-name=org.gnome.ControlCenter",
+ "--talk-name=org.gnome.SettingsDaemon",
+@@ -248,56 +248,22 @@
+ }
+ ]
+ },
+- {
+- "name": "tracker",
+- "buildsystem": "meson",
+- "cleanup": [ "/bin", "/etc", "/lib/girepository-1.0", "/libexec", "/share/dbus-1", "/share/gir-1.0" ],
+- "config-opts": [ "-Dbash_completion=no", "-Ddocs=false", "-Dsystemd_user_services=no" ],
+- "sources": [
+- {
+- "type": "git",
+- "url": "https://gitlab.gnome.org/GNOME/tracker.git",
+- "branch": "tracker-2.3"
+- }
+- ]
+- },
+- {
+- "name": "intltool",
+- "cleanup": [ "*" ],
+- "sources": [
+- {
+- "type": "archive",
+- "url": "https://launchpad.net/intltool/trunk/0.51.0/+download/intltool-0.51.0.tar.gz",
+- "sha256": "67c74d94196b153b774ab9f89b2fa6c6ba79352407037c8c14d5aeb334e959cd"
+- }
+- ]
+- },
+ {
+ "name": "tracker-miners",
+ "buildsystem": "meson",
+- "cleanup": [ "/etc",
+- "/lib",
+- "/libexec",
+- "/share/dbus-1/services/org.freedesktop.Tracker1.Miner.Extract.service",
+- "/share/dbus-1/services/org.freedesktop.Tracker1.Writeback.service",
+- "/share/tracker/miners/org.freedesktop.Tracker1.Miner.Applications.service",
+- "/share/tracker/miners/org.freedesktop.Tracker1.Miner.Extract.service",
+- "/share/tracker/miners/org.freedesktop.Tracker1.Miner.RSS.service",
+- "/share/tracker-miners",
+- "/share/glib-2.0/schemas/org.freedesktop.Tracker.Extract.gschema.xml",
+- "/share/glib-2.0/schemas/org.freedesktop.Tracker.Writeback.gschema.xml" ],
+- "config-opts": [ "-Dextract=false",
+- "-Dgeneric_media_extractor=none",
+- "-Dminer_apps=false",
++ "cleanup": [ "/share/dbus-1/services/org.freedesktop.Tracker3.Miner.Extract.service",
++ "/share/dbus-1/services/org.freedesktop.Tracker3.Miner.Files.service",
++ "/share/dbus-1/services/org.freedesktop.Tracker3.Writeback.service" ],
++ "config-opts": [ "-Dman=false",
+ "-Dminer_fs=true",
+ "-Dminer_rss=false",
+- "-Dsystemd_user_services=no",
++ "-Dsystemd_user_services=false",
+ "-Dwriteback=false" ],
+ "sources": [
+ {
+ "type": "git",
+ "url": "https://gitlab.gnome.org/GNOME/tracker-miners.git",
+- "branch": "tracker-miners-2.3"
++ "branch": "master"
+ }
+ ]
+ },
+@@ -309,7 +275,8 @@
+ {
+ "type": "git",
+ "url": "https://gitlab.gnome.org/GNOME/gnome-photos.git",
+- "disable-shallow-clone": "true"
++ "disable-shallow-clone": "true",
++ "branch": "sam/tracker3"
+ }
+ ]
+ }
+diff --git a/meson.build b/meson.build
+index 70816d24..1c6f2906 100644
+--- a/meson.build
++++ b/meson.build
+@@ -172,8 +172,7 @@ libgdata_dep = dependency('libgdata', version: '>= 0.17.10')
+ libgfgraph_dep = dependency('libgfbgraph-0.2', version: '>= 0.2.1')
+ libjpeg_dep = dependency('libjpeg')
+ libpng_dep = dependency('libpng16')
+-tracker_control_dep = dependency('tracker-control-2.0')
+-tracker_sparql_dep = dependency('tracker-sparql-2.0')
++tracker_sparql_dep = dependency('tracker-sparql-3.0')
+
+ dbus_dep = dependency('dbus-1')
+ dbus_service_dir = dbus_dep.get_pkgconfig_variable(
+diff --git a/src/meson.build b/src/meson.build
+index b5b2759c..6b3b7f01 100644
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -205,8 +205,6 @@ sources = common_sources + files(
+ 'photos-tool-enhance.c',
+ 'photos-tool-filter-button.c',
+ 'photos-tool-filters.c',
+- 'photos-tracker-change-event.c',
+- 'photos-tracker-change-monitor.c',
+ 'photos-tracker-collection-view-controller.c',
+ 'photos-tracker-collections-controller.c',
+ 'photos-tracker-controller.c',
+@@ -367,22 +365,18 @@ sources += gnome.gdbus_codegen(
+ autocleanup: 'all',
+ )
+
+-tracker_extract_priority = 'photos-tracker-extract-priority'
+-
+ sources += gnome.gdbus_codegen(
+- tracker_extract_priority,
+- tracker_extract_priority + '.xml',
+- interface_prefix: 'org.freedesktop.Tracker1.',
++ 'photos-tracker-miner',
++ 'org.freedesktop.Tracker3.Miner.xml',
++ interface_prefix: 'org.freedesktop.Tracker3.',
+ namespace: 'Tracker',
+ autocleanup: 'all',
+ )
+
+-tracker_resources = 'photos-tracker-resources'
+-
+ sources += gnome.gdbus_codegen(
+- tracker_resources,
+- tracker_resources + '.xml',
+- interface_prefix: 'org.freedesktop.Tracker1.',
++ 'photos-tracker-miner-index',
++ 'org.freedesktop.Tracker3.Miner.Files.Index.xml',
++ interface_prefix: 'org.freedesktop.Tracker3.',
+ namespace: 'Tracker',
+ autocleanup: 'all',
+ )
+@@ -401,7 +395,6 @@ deps = common_deps + [
+ libgdata_dep,
+ libgfgraph_dep,
+ m_dep,
+- tracker_control_dep,
+ tracker_sparql_dep,
+ ]
+
+diff --git a/src/org.freedesktop.Tracker3.Miner.Files.Index.xml b/src/org.freedesktop.Tracker3.Miner.Files.Index.xml
+new file mode 100644
+index 00000000..e368f1e2
+--- /dev/null
++++ b/src/org.freedesktop.Tracker3.Miner.Files.Index.xml
+@@ -0,0 +1,11 @@
++<node>
++ <interface name='org.freedesktop.Tracker3.Miner.Files.Index'>
++ <method name='IndexLocation'>
++ <arg type='s' name='file_uri' direction='in' />
++ <arg type='as' name='graphs' direction='in' />
++ <arg type='as' name='flags' direction='in'>"
++ <doc:doc><doc:summary>Extension flags, no allowed values at the moment</doc:summary></doc:doc>
++ </arg>
++ </method>
++ </interface>
++</node>
+diff --git a/src/org.freedesktop.Tracker3.Miner.xml b/src/org.freedesktop.Tracker3.Miner.xml
+new file mode 100644
+index 00000000..6fe09c84
+--- /dev/null
++++ b/src/org.freedesktop.Tracker3.Miner.xml
+@@ -0,0 +1,56 @@
++<?xml version="1.0" encoding="UTF-8"?>
++
++<node name="/">
++ <interface name="org.freedesktop.Tracker3.Miner">
++ <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="_tracker_miner_dbus"/>
++ <method name="Start">
++ <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
++ </method>
++ <method name="GetStatus">
++ <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
++ <arg type="s" name="status" direction="out" />
++ </method>
++ <method name="GetProgress">
++ <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
++ <arg type="d" name="progress" direction="out" />
++ </method>
++ <method name="GetRemainingTime">
++ <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
++ <arg type="i" name="remaining_time" direction="out" />
++ </method>
++ <method name="GetPauseDetails">
++ <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
++ <arg type="as" name="pause_applications" direction="out" />
++ <arg type="as" name="pause_reasons" direction="out" />
++ </method>
++ <method name="Pause">
++ <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
++ <arg type="s" name="application" direction="in" />
++ <arg type="s" name="reason" direction="in" />
++ <arg type="i" name="cookie" direction="out" />
++ </method>
++ <method name="PauseForProcess">
++ <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
++ <arg type="s" name="application" direction="in" />
++ <arg type="s" name="reason" direction="in" />
++ <arg type="i" name="cookie" direction="out" />
++ </method>
++ <method name="Resume">
++ <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
++ <arg type="i" name="cookie" direction="in" />
++ </method>
++
++ <!-- Signals -->
++ <signal name="Started" />
++ <signal name="Stopped">
++ <arg type="b" name="interrupted" />
++ </signal>
++ <signal name="Paused" />
++ <signal name="Resumed" />
++ <signal name="Progress">
++ <arg type="s" name="status" />
++ <arg type="d" name="progress" />
++ <arg type="i" name="remaining_time" />
++ </signal>
++ </interface>
++</node>
+diff --git a/src/photos-application.c b/src/photos-application.c
+index cb114fda..5fbbbef2 100644
+--- a/src/photos-application.c
++++ b/src/photos-application.c
+@@ -36,7 +36,6 @@
+ #include <glib.h>
+ #include <glib/gi18n.h>
+ #include <grilo.h>
+-#include <libtracker-control/tracker-control.h>
+
+ #include "photos-application.h"
+ #include "photos-base-item.h"
+@@ -68,7 +67,8 @@
+ #include "photos-share-notification.h"
+ #include "photos-share-point-manager.h"
+ #include "photos-thumbnail-factory.h"
+-#include "photos-tracker-extract-priority.h"
++#include "photos-tracker-miner-index.h"
++#include "photos-tracker-queue.h"
+ #include "photos-utils.h"
+
+
+@@ -127,7 +127,7 @@ struct _PhotosApplication
+ PhotosSearchProvider *search_provider;
+ PhotosSelectionController *sel_cntrlr;
+ PhotosThumbnailFactory *factory;
+- TrackerExtractPriority *extract_priority;
++ TrackerMinerFilesIndex *miner_control_proxy;
+ gboolean empty_results;
+ gboolean main_window_deleted;
+ guint create_miners_count;
+@@ -148,7 +148,6 @@ static guint signals[LAST_SIGNAL] = { 0 };
+
+ static void photos_application_search_context_iface_init (PhotosSearchContextInterface *iface);
+
+-
+ G_DEFINE_TYPE_WITH_CODE (PhotosApplication, photos_application, GTK_TYPE_APPLICATION,
+ G_IMPLEMENT_INTERFACE (PHOTOS_TYPE_SEARCH_CONTEXT,
+ photos_application_search_context_iface_init));
+@@ -191,11 +190,11 @@ struct _PhotosApplicationCreateData
+ struct _PhotosApplicationImportData
+ {
+ PhotosApplication *application;
++ TrackerMinerFilesIndex *miner_control_proxy;
+ GFile *destination;
+ GFile *import_sub_dir;
+ GList *files;
+ PhotosBaseItem *collection;
+- TrackerMinerManager *manager;
+ gchar *collection_urn;
+ gint64 ctime_latest;
+ };
+@@ -248,7 +247,7 @@ photos_application_create_data_free (PhotosApplicationCreateData *data)
+
+ static PhotosApplicationImportData *
+ photos_application_import_data_new (PhotosApplication *application,
+- TrackerMinerManager *manager,
++ TrackerMinerFilesIndex *miner_control_proxy,
+ GList *files,
+ gint64 ctime_latest)
+ {
+@@ -257,7 +256,7 @@ photos_application_import_data_new (PhotosApplication *application,
+ data = g_slice_new0 (PhotosApplicationImportData);
+ g_application_hold (G_APPLICATION (application));
+ data->application = application;
+- data->manager = g_object_ref (manager);
++ data->miner_control_proxy = miner_control_proxy;
+ data->files = g_list_copy_deep (files, (GCopyFunc) g_object_ref, NULL);
+ data->ctime_latest = ctime_latest;
+ return data;
+@@ -277,8 +276,8 @@ photos_application_import_data_free (PhotosApplicationImportData *data)
+
+ g_clear_object (&data->destination);
+ g_clear_object (&data->import_sub_dir);
++ g_clear_object (&data->miner_control_proxy);
+ g_list_free_full (data->files, g_object_unref);
+- g_clear_object (&data->manager);
+ g_free (data->collection_urn);
+ g_slice_free (PhotosApplicationImportData, data);
+ }
+@@ -584,27 +583,6 @@ photos_application_actions_update (PhotosApplication *self)
+ }
+
+
+-static void
+-photos_application_tracker_clear_rdf_types (GObject *source_object, GAsyncResult *res, gpointer user_data)
+-{
+- PhotosApplication *self = PHOTOS_APPLICATION (user_data);
+- TrackerExtractPriority *extract_priority = TRACKER_EXTRACT_PRIORITY (source_object);
+-
+- {
+- g_autoptr (GError) error = NULL;
+-
+- if (!tracker_extract_priority_call_clear_rdf_types_finish (extract_priority, res, &error))
+- {
+- g_warning ("Unable to call ClearRdfTypes: %s", error->message);
+- goto out;
+- }
+- }
+-
+- out:
+- g_application_release (G_APPLICATION (self));
+-}
+-
+-
+ static gboolean
+ photos_application_delete_event (PhotosApplication *self)
+ {
+@@ -641,16 +619,6 @@ photos_application_destroy (PhotosApplication *self)
+ self->create_window_cancellable = g_cancellable_new ();
+
+ photos_application_stop_miners (self);
+-
+- if (self->extract_priority != NULL)
+- {
+- g_application_hold (G_APPLICATION (self));
+- tracker_extract_priority_call_clear_rdf_types (self->extract_priority,
+- NULL,
+- photos_application_tracker_clear_rdf_types,
+- self);
+- g_clear_object (&self->extract_priority);
+- }
+ }
+
+
+@@ -740,60 +708,6 @@ photos_application_gegl_init_fishes_idle (gpointer user_data)
+ }
+
+
+-static void
+-photos_application_tracker_set_rdf_types (GObject *source_object, GAsyncResult *res, gpointer user_data)
+-{
+- PhotosApplication *self = PHOTOS_APPLICATION (user_data);
+- TrackerExtractPriority *extract_priority = TRACKER_EXTRACT_PRIORITY (source_object);
+-
+- {
+- g_autoptr (GError) error = NULL;
+-
+- if (!tracker_extract_priority_call_set_rdf_types_finish (extract_priority, res, &error))
+- {
+- if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
+- g_warning ("Unable to call SetRdfTypes: %s", error->message);
+-
+- goto out;
+- }
+- }
+-
+- out:
+- g_application_release (G_APPLICATION (self));
+-}
+-
+-
+-static void
+-photos_application_tracker_extract_priority (GObject *source_object, GAsyncResult *res, gpointer user_data)
+-{
+- PhotosApplication *self = PHOTOS_APPLICATION (user_data);
+- const gchar *const rdf_types[] = {"nfo:Image", NULL};
+-
+- {
+- g_autoptr (GError) error = NULL;
+-
+- self->extract_priority = tracker_extract_priority_proxy_new_for_bus_finish (res, &error);
+- if (error != NULL)
+- {
+- if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
+- g_warning ("Unable to create TrackerExtractPriority proxy: %s", error->message);
+-
+- goto out;
+- }
+- }
+-
+- g_application_hold (G_APPLICATION (self));
+- tracker_extract_priority_call_set_rdf_types (self->extract_priority,
+- rdf_types,
+- self->create_window_cancellable,
+- photos_application_tracker_set_rdf_types,
+- self);
+-
+- out:
+- g_application_release (G_APPLICATION (self));
+-}
+-
+-
+ static gboolean
+ photos_application_create_window (PhotosApplication *self)
+ {
+@@ -828,13 +742,6 @@ photos_application_create_window (PhotosApplication *self)
+ self->init_fishes_id = g_idle_add (photos_application_gegl_init_fishes_idle, self);
+
+ g_application_hold (G_APPLICATION (self));
+- tracker_extract_priority_proxy_new_for_bus (G_BUS_TYPE_SESSION,
+- G_DBUS_PROXY_FLAGS_NONE,
+- "org.freedesktop.Tracker1.Miner.Extract",
+- "/org/freedesktop/Tracker1/Extract/Priority",
+- self->create_window_cancellable,
+- photos_application_tracker_extract_priority,
+- self);
+
+ photos_application_start_miners (self);
+ return TRUE;
+@@ -1113,18 +1020,18 @@ photos_application_get_state (PhotosSearchContext *context)
+
+
+ static void
+-photos_application_import_index_file (GObject *source_object, GAsyncResult *res, gpointer user_data)
++photos_application_import_index_location (GObject *source_object, GAsyncResult *res, gpointer user_data)
+ {
+ PhotosApplication *self;
+ g_autoptr (GFile) file = G_FILE (user_data);
+- TrackerMinerManager *manager = TRACKER_MINER_MANAGER (source_object);
++ TrackerMinerFilesIndex *miner_control_proxy = TRACKER_MINER_FILES_INDEX (source_object);
+
+ self = PHOTOS_APPLICATION (g_application_get_default ());
+
+ {
+ g_autoptr (GError) error = NULL;
+
+- if (!tracker_miner_manager_index_file_for_process_finish (manager, res, &error))
++ if (!tracker_miner_files_index_call_index_location_finish (miner_control_proxy, res, &error))
+ {
+ g_autofree gchar *uri = NULL;
+
+@@ -1323,7 +1230,6 @@ photos_application_import_file_copy (GObject *source_object, GAsyncResult *res,
+ PhotosApplication *self = data->application;
+ g_autoptr (GFile) destination = NULL;
+ GFile *source = G_FILE (source_object);
+- TrackerMinerManager *manager = data->manager;
+
+ {
+ g_autoptr (GError) error = NULL;
+@@ -1348,6 +1254,8 @@ photos_application_import_file_copy (GObject *source_object, GAsyncResult *res,
+ else
+ {
+ g_autofree gchar *destination_uri = NULL;
++ const gchar *tracker_priority_graphs[] = { TRACKER_PICTURES_GRAPH };
++ const gchar *tracker_index_location_flags[] = { "for-process" };
+
+ g_assert_true (G_IS_FILE (destination));
+ g_set_object (&data->destination, destination);
+@@ -1364,11 +1272,13 @@ photos_application_import_file_copy (GObject *source_object, GAsyncResult *res,
+
+ g_application_hold (G_APPLICATION (self));
+ g_application_mark_busy (G_APPLICATION (self));
+- tracker_miner_manager_index_file_for_process_async (manager,
+- destination,
+- NULL,
+- photos_application_import_index_file,
+- g_object_ref (destination));
++ tracker_miner_files_index_call_index_location (self->miner_control_proxy,
++ destination_uri,
++ tracker_priority_graphs,
++ tracker_index_location_flags,
++ NULL,
++ photos_application_import_index_location,
++ g_object_ref (destination));
+ }
+
+ out:
+@@ -1509,6 +1419,37 @@ photos_application_import_response (GtkDialog *dialog, gint response_id, gpointe
+ }
+
+
++static TrackerMinerFilesIndex *
++photos_application_get_miner_fs_control_proxy (GCancellable *cancellable)
++{
++ g_autoptr (PhotosTrackerQueue) tracker_queue = NULL;
++ const gchar *miner_fs_control_busname;
++ g_autoptr (GError) error = NULL;
++ TrackerMinerFilesIndex *miner_control_proxy;
++
++ tracker_queue = photos_tracker_queue_dup_singleton (cancellable, &error);
++
++ if (!tracker_queue) {
++ g_warning ("Error getting Tracker queue: %s. Import will not work.", error->message);
++ return NULL;
++ }
++
++ miner_fs_control_busname = photos_tracker_queue_get_miner_fs_control_busname (tracker_queue);
++ miner_control_proxy = tracker_miner_files_index_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION,
++ G_DBUS_PROXY_FLAGS_NONE,
++ miner_fs_control_busname,
++ "/org/freedesktop/Tracker3/Miner/Files/Control",
++ NULL,
++ &error);
++ if (!miner_control_proxy) {
++ g_warning ("Error getting Tracker Miner FS control proxy: %s. Import will not work", error->message);
++ return NULL;
++ }
++
++ return miner_control_proxy;
++}
++
++
+ static void
+ photos_application_import (PhotosApplication *self)
+ {
+@@ -1519,8 +1460,8 @@ photos_application_import (PhotosApplication *self)
+ GtkWidget *dialog;
+ g_autoptr (PhotosApplicationImportData) data = NULL;
+ PhotosSource *source;
+- TrackerMinerManager *manager = NULL; /* TODO: use g_autoptr */
+ gint64 ctime_latest = -1;
++ TrackerMinerFilesIndex *miner_control_proxy;
+
+ source = PHOTOS_SOURCE (photos_base_manager_get_active_object (self->state->src_mngr));
+ g_return_if_fail (PHOTOS_IS_SOURCE (source));
+@@ -1533,17 +1474,9 @@ photos_application_import (PhotosApplication *self)
+ selection = photos_selection_controller_get_selection (self->sel_cntrlr);
+ g_return_if_fail (selection != NULL);
+
+- {
+- g_autoptr (GError) error = NULL;
+-
+- manager = tracker_miner_manager_new_full (FALSE, &error);
+- if (error != NULL)
+- {
+- g_warning ("Unable to create a TrackerMinerManager, importing from attached devices won't work: %s",
+- error->message);
+- goto out;
+- }
+- }
++ miner_control_proxy = photos_application_get_miner_fs_control_proxy (NULL);
++ if (!miner_control_proxy)
++ goto out;
+
+ for (l = selection; l != NULL; l = l->next)
+ {
+@@ -1572,14 +1505,14 @@ photos_application_import (PhotosApplication *self)
+ dialog = photos_import_dialog_new (GTK_WINDOW (self->main_window), ctime_latest);
+ gtk_widget_show_all (dialog);
+
+- data = photos_application_import_data_new (self, manager, files, ctime_latest);
++ data = photos_application_import_data_new (self, miner_control_proxy, files, ctime_latest);
++
+ g_signal_connect (dialog,
+ "response",
+ G_CALLBACK (photos_application_import_response),
+ g_steal_pointer (&data));
+
+ out:
+- g_clear_object (&manager);
+ g_list_free_full (files, g_object_unref);
+ }
+
+@@ -2974,6 +2907,7 @@ photos_application_dispose (GObject *object)
+ g_clear_object (&self->insta_action);
+ g_clear_object (&self->load_next_action);
+ g_clear_object (&self->load_previous_action);
++ g_clear_object (&self->miner_control_proxy);
+ g_clear_object (&self->open_action);
+ g_clear_object (&self->preview_menu_action);
+ g_clear_object (&self->primary_menu_action);
+@@ -3002,7 +2936,6 @@ photos_application_dispose (GObject *object)
+ g_clear_object (&self->camera_cache);
+ g_clear_object (&self->sel_cntrlr);
+ g_clear_object (&self->factory);
+- g_clear_object (&self->extract_priority);
+
+ if (self->state != NULL)
+ {
+@@ -3130,8 +3063,7 @@ photos_application_get_miners_running (PhotosApplication *self)
+ return self->miners_running;
+ }
+
+-
+-gint
++int
+ photos_application_get_scale_factor (PhotosApplication *self)
+ {
+ GList *windows;
+diff --git a/src/photos-base-item.c b/src/photos-base-item.c
+index 143431f9..b34706f2 100644
+--- a/src/photos-base-item.c
++++ b/src/photos-base-item.c
+@@ -2756,6 +2756,16 @@ photos_base_item_update_info_from_type (PhotosBaseItem *self)
+ }
+
+
++static gdouble
++get_double_with_default (TrackerSparqlCursor *cursor, PhotosQueryColumns column, gdouble default_value)
++{
++ if (tracker_sparql_cursor_is_bound (cursor, column)) {
++ return tracker_sparql_cursor_get_double (cursor, column);
++ } else {
++ return default_value;
++ }
++}
++
+ static void
+ photos_base_item_populate_from_cursor (PhotosBaseItem *self, TrackerSparqlCursor *cursor)
+ {
+@@ -2891,10 +2901,10 @@ photos_base_item_populate_from_cursor (PhotosBaseItem *self, TrackerSparqlCursor
+ priv->width = height;
+ }
+
+- priv->exposure_time = tracker_sparql_cursor_get_double (cursor, PHOTOS_QUERY_COLUMNS_EXPOSURE_TIME);
+- priv->fnumber = tracker_sparql_cursor_get_double (cursor, PHOTOS_QUERY_COLUMNS_FNUMBER);
+- priv->focal_length = tracker_sparql_cursor_get_double (cursor, PHOTOS_QUERY_COLUMNS_FOCAL_LENGTH);
+- priv->iso_speed = tracker_sparql_cursor_get_double (cursor, PHOTOS_QUERY_COLUMNS_ISO_SPEED);
++ priv->exposure_time = get_double_with_default (cursor, PHOTOS_QUERY_COLUMNS_EXPOSURE_TIME, 0.0);
++ priv->fnumber = get_double_with_default (cursor, PHOTOS_QUERY_COLUMNS_FNUMBER, 0.0);
++ priv->focal_length = get_double_with_default (cursor, PHOTOS_QUERY_COLUMNS_FOCAL_LENGTH, 0.0);
++ priv->iso_speed = get_double_with_default (cursor, PHOTOS_QUERY_COLUMNS_ISO_SPEED, 0.0);
+
+ flash = tracker_sparql_cursor_get_string (cursor, PHOTOS_QUERY_COLUMNS_FLASH, NULL);
+ priv->flash = g_quark_from_string (flash);
+diff --git a/src/photos-indexing-notification.c b/src/photos-indexing-notification.c
+index 7b2ea7dd..122d0d91 100644
+--- a/src/photos-indexing-notification.c
++++ b/src/photos-indexing-notification.c
+@@ -26,12 +26,13 @@
+ #include <gio/gio.h>
+ #include <glib.h>
+ #include <glib/gi18n.h>
+-#include <libtracker-control/tracker-control.h>
+
+ #include "photos-application.h"
+ #include "photos-gom-miner.h"
+ #include "photos-indexing-notification.h"
+ #include "photos-notification-manager.h"
++#include "photos-tracker-queue.h"
++#include "photos-tracker-miner.h"
+
+
+ struct _PhotosIndexingNotification
+@@ -41,7 +42,7 @@ struct _PhotosIndexingNotification
+ GtkWidget *primary_label;
+ GtkWidget *secondary_label;
+ GtkWidget *spinner;
+- TrackerMinerManager *manager;
++ TrackerMiner *miner_fs_proxy;
+ gboolean closed;
+ gboolean on_display;
+ guint timeout_id;
+@@ -56,8 +57,6 @@ enum
+ REMOTE_MINER_TIMEOUT = 10 /* s */
+ };
+
+-static const gchar *MINER_FILES = "org.freedesktop.Tracker1.Miner.Files";
+-
+
+ static void
+ photos_indexing_notification_remove_timeout (PhotosIndexingNotification *self)
+@@ -180,16 +179,18 @@ photos_indexing_notification_check_notification (PhotosIndexingNotification *sel
+ GSList *running = NULL;
+ gboolean is_indexing_local = FALSE;
+ gboolean is_indexing_remote = FALSE;
++ GError *error = NULL;
++ gdouble progress;
+
+- running = tracker_miner_manager_get_running (self->manager);
+- if (g_slist_find_custom (running, (gconstpointer) MINER_FILES, (GCompareFunc) g_strcmp0) != NULL)
+- {
+- gdouble progress;
++ tracker_miner_call_get_progress_sync (self->miner_fs_proxy, &progress, NULL, &error);
++ if (error) {
++ g_warning ("Couldn't get indexing progress from Tracker Miner FS: %s", error->message);
+
+- tracker_miner_manager_get_status (self->manager, MINER_FILES, NULL, &progress, NULL);
+- if (progress < 1)
+- is_indexing_local = TRUE;
+- }
++ g_clear_error (&error);
++ } else {
++ if (progress < 1)
++ is_indexing_local = TRUE;
++ }
+
+ app = g_application_get_default ();
+ miners_running = photos_application_get_miners_running (PHOTOS_APPLICATION (app));
+@@ -222,7 +223,6 @@ photos_indexing_notification_dispose (GObject *object)
+ photos_indexing_notification_remove_timeout (self);
+
+ g_clear_object (&self->ntfctn_mngr);
+- g_clear_object (&self->manager);
+
+ G_OBJECT_CLASS (photos_indexing_notification_parent_class)->dispose (object);
+ }
+@@ -240,13 +240,25 @@ photos_indexing_notification_init (PhotosIndexingNotification *self)
+ app = g_application_get_default ();
+
+ {
++ g_autoptr (PhotosTrackerQueue) tracker_queue;
+ g_autoptr (GError) error = NULL;
++ const gchar *miner_fs_busname;
++
++ tracker_queue = photos_tracker_queue_dup_singleton (NULL, &error);
++
++ if (tracker_queue) {
++ miner_fs_busname = photos_tracker_queue_get_miner_fs_busname (tracker_queue);
++ self->miner_fs_proxy = tracker_miner_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION,
++ G_DBUS_PROXY_FLAGS_NONE,
++ miner_fs_busname,
++ "/org/freedesktop/Tracker3/Miner/Files",
++ NULL,
++ &error);
++ }
+
+- self->manager = tracker_miner_manager_new_full (FALSE, &error);
+ if (error != NULL)
+ {
+- g_warning ("Unable to create a TrackerMinerManager, indexing progress notification won't work: %s",
+- error->message);
++ g_warning ("Unable to create proxy for Tracker Miner FS, indexing progress notification won't work");
+ return;
+ }
+ }
+@@ -293,10 +305,11 @@ photos_indexing_notification_init (PhotosIndexingNotification *self)
+ self,
+ G_CONNECT_SWAPPED);
+
+- g_signal_connect_swapped (self->manager,
+- "miner-progress",
+- G_CALLBACK (photos_indexing_notification_check_notification),
+- self);
++ g_signal_connect_object (self->miner_fs_proxy,
++ "progress",
++ G_CALLBACK (photos_indexing_notification_check_notification),
++ self,
++ G_CONNECT_SWAPPED);
+ }
+
+
+diff --git a/src/photos-item-manager.c b/src/photos-item-manager.c
+index c44fbbfc..e4511bb1 100644
+--- a/src/photos-item-manager.c
++++ b/src/photos-item-manager.c
+@@ -41,12 +41,9 @@
+ #include "photos-query.h"
+ #include "photos-search-context.h"
+ #include "photos-single-item-job.h"
+-#include "photos-tracker-change-event.h"
+-#include "photos-tracker-change-monitor.h"
+ #include "photos-tracker-queue.h"
+ #include "photos-utils.h"
+
+-
+ struct _PhotosItemManager
+ {
+ PhotosBaseManager parent_instance;
+@@ -60,7 +57,7 @@ struct _PhotosItemManager
+ PhotosBaseItem *active_collection;
+ PhotosBaseManager **item_mngr_chldrn;
+ PhotosLoadState load_state;
+- PhotosTrackerChangeMonitor *monitor;
++ TrackerNotifier *notifier;
+ PhotosTrackerQueue *queue;
+ PhotosWindowMode mode;
+ gboolean fullscreen;
+@@ -311,7 +308,7 @@ photos_item_manager_add_cursor_for_mode (PhotosItemManager *self,
+ g_return_if_fail (base_item_type == G_TYPE_NONE
+ || (base_item_type != PHOTOS_TYPE_BASE_ITEM
+ && g_type_is_a (base_item_type, PHOTOS_TYPE_BASE_ITEM)));
+- g_return_if_fail (TRACKER_SPARQL_IS_CURSOR (cursor));
++ g_return_if_fail (TRACKER_IS_SPARQL_CURSOR (cursor));
+ g_return_if_fail (mode != PHOTOS_WINDOW_MODE_NONE);
+ g_return_if_fail (mode != PHOTOS_WINDOW_MODE_EDIT);
+ g_return_if_fail (mode != PHOTOS_WINDOW_MODE_PREVIEW);
+@@ -529,21 +526,23 @@ photos_item_manager_item_created (PhotosItemManager *self, const gchar *urn)
+
+
+ static void
+-photos_item_manager_changes_pending_foreach (gpointer key, gpointer value, gpointer user_data)
++photos_item_manager_changes_pending_foreach (gpointer data,
++ gpointer user_data)
+ {
+ PhotosItemManager *self = PHOTOS_ITEM_MANAGER (user_data);
+- PhotosTrackerChangeEvent *change_event = (PhotosTrackerChangeEvent *) value;
+- PhotosTrackerChangeEventType change_type;
++ TrackerNotifierEvent *event = (TrackerNotifierEvent *) data;
++ TrackerNotifierEventType change_type;
+ const gchar *change_urn;
+
+- change_type = photos_tracker_change_event_get_type (change_event);
+- change_urn = photos_tracker_change_event_get_urn (change_event);
++ change_type = tracker_notifier_event_get_event_type (event);
++ change_urn = tracker_notifier_event_get_urn (event);
+
+- if (change_type == PHOTOS_TRACKER_CHANGE_EVENT_CHANGED)
++ if (change_type == TRACKER_NOTIFIER_EVENT_UPDATE)
+ {
+ GObject *object;
+
+ object = photos_base_manager_get_object_by_id (PHOTOS_BASE_MANAGER (self), change_urn);
++ g_message ("UPDATE event for %s, object %p", change_urn, object);
+ if (object != NULL)
+ {
+ photos_base_item_refresh (PHOTOS_BASE_ITEM (object));
+@@ -557,15 +556,17 @@ photos_item_manager_changes_pending_foreach (gpointer key, gpointer value, gpoin
+ }
+ }
+ }
+- else if (change_type == PHOTOS_TRACKER_CHANGE_EVENT_CREATED)
++ else if (change_type == TRACKER_NOTIFIER_EVENT_CREATE)
+ {
++ g_message ("CREATE event for %s", change_urn);
+ photos_item_manager_item_created (self, change_urn);
+ }
+- else if (change_type == PHOTOS_TRACKER_CHANGE_EVENT_DELETED)
++ else if (change_type == TRACKER_NOTIFIER_EVENT_DELETE)
+ {
+ GObject *object;
+
+ object = photos_base_manager_get_object_by_id (PHOTOS_BASE_MANAGER (self), change_urn);
++ g_message ("DELETE event for %s, object %p", change_urn, object);
+ if (object != NULL)
+ {
+ photos_base_item_destroy (PHOTOS_BASE_ITEM (object));
+@@ -577,9 +578,15 @@ photos_item_manager_changes_pending_foreach (gpointer key, gpointer value, gpoin
+
+
+ static void
+-photos_item_manager_changes_pending (PhotosItemManager *self, GHashTable *changes)
+-{
+- g_hash_table_foreach (changes, photos_item_manager_changes_pending_foreach, self);
++photos_item_manager_changes_pending (PhotosItemManager *self,
++ const gchar *service,
++ const gchar *graph,
++ GPtrArray *events,
++ gpointer user_data)
++{
++ if (g_str_equal (graph, TRACKER_PICTURES_GRAPH)) {
++ g_ptr_array_foreach (events, photos_item_manager_changes_pending_foreach, self);
++ }
+ }
+
+
+@@ -717,7 +724,7 @@ photos_item_manager_wait_for_changes_timeout (gpointer user_data)
+ g_autoptr (PhotosQuery) query = NULL;
+ g_autofree gchar *sparql = NULL;
+
+- sparql = g_strdup_printf ("SELECT ?urn nie:url (?urn) WHERE { ?urn nie:url '%s' }", uri);
++ sparql = g_strdup_printf ("SELECT ?urn nie:isStoredAs (?urn) WHERE { ?urn nie:isStoredAs '%s' }", uri);
+ query = photos_query_new (NULL, sparql);
+ photos_tracker_queue_select (self->queue,
+ query,
+@@ -1038,7 +1045,7 @@ photos_item_manager_dispose (GObject *object)
+ g_clear_object (&self->active_object);
+ g_clear_object (&self->loader_cancellable);
+ g_clear_object (&self->active_collection);
+- g_clear_object (&self->monitor);
++ g_clear_object (&self->notifier);
+ g_clear_object (&self->queue);
+
+ G_OBJECT_CLASS (photos_item_manager_parent_class)->dispose (object);
+@@ -1093,20 +1100,24 @@ photos_item_manager_init (PhotosItemManager *self)
+
+ self->mode = PHOTOS_WINDOW_MODE_NONE;
+
+- self->monitor = photos_tracker_change_monitor_dup_singleton (NULL, NULL);
+- if (G_LIKELY (self->monitor != NULL))
+- g_signal_connect_object (self->monitor,
+- "changes-pending",
+- G_CALLBACK (photos_item_manager_changes_pending),
+- self,
+- G_CONNECT_SWAPPED);
+-
+ {
+ g_autoptr (GError) error = NULL;
+
+ self->queue = photos_tracker_queue_dup_singleton (NULL, &error);
+ if (G_UNLIKELY (error != NULL))
+- g_warning ("Unable to create PhotosTrackerQueue: %s", error->message);
++ {
++ g_warning ("Unable to create PhotosTrackerQueue: %s", error->message);
++ self->notifier = NULL;
++ }
++ else
++ {
++ self->notifier = photos_tracker_queue_get_notifier (self->queue);
++ g_signal_connect_object (self->notifier,
++ "events",
++ G_CALLBACK (photos_item_manager_changes_pending),
++ self,
++ G_CONNECT_SWAPPED);
++ }
+ }
+
+ self->fullscreen = FALSE;
+@@ -1241,7 +1252,7 @@ photos_item_manager_add_item (PhotosItemManager *self,
+ g_return_if_fail (base_item_type == G_TYPE_NONE
+ || (base_item_type != PHOTOS_TYPE_BASE_ITEM
+ && g_type_is_a (base_item_type, PHOTOS_TYPE_BASE_ITEM)));
+- g_return_if_fail (TRACKER_SPARQL_IS_CURSOR (cursor));
++ g_return_if_fail (TRACKER_IS_SPARQL_CURSOR (cursor));
+
+ id = tracker_sparql_cursor_get_string (cursor, PHOTOS_QUERY_COLUMNS_URN, NULL);
+ g_return_if_fail (id != NULL && id[0] != '\0');
+@@ -1370,7 +1381,7 @@ photos_item_manager_create_item (PhotosItemManager *self,
+ g_return_val_if_fail (base_item_type == G_TYPE_NONE
+ || (base_item_type != PHOTOS_TYPE_BASE_ITEM
+ && g_type_is_a (base_item_type, PHOTOS_TYPE_BASE_ITEM)), NULL);
+- g_return_val_if_fail (TRACKER_SPARQL_IS_CURSOR (cursor), NULL);
++ g_return_val_if_fail (TRACKER_IS_SPARQL_CURSOR (cursor), NULL);
+
+ id = tracker_sparql_cursor_get_string (cursor, PHOTOS_QUERY_COLUMNS_URN, NULL);
+ item = PHOTOS_BASE_ITEM (photos_base_manager_get_object_by_id (PHOTOS_BASE_MANAGER (self), id));
+diff --git a/src/photos-quarks.c b/src/photos-quarks.c
+index 0870ef62..5ee25745 100644
+--- a/src/photos-quarks.c
++++ b/src/photos-quarks.c
+@@ -25,68 +25,68 @@
+ GQuark
+ photos_quarks_flash_off_quark (void)
+ {
+- return g_quark_from_static_string ("http://www.tracker-project.org/temp/nmm#flash-off");
++ return g_quark_from_static_string ("http://tracker.api.gnome.org/ontology/v3/nmm#flash-off");
+ }
+
+
+ GQuark
+ photos_quarks_flash_on_quark (void)
+ {
+- return g_quark_from_static_string ("http://www.tracker-project.org/temp/nmm#flash-on");
++ return g_quark_from_static_string ("http://tracker.api.gnome.org/ontology/v3/nmm#flash-on");
+ }
+
+
+ GQuark
+ photos_quarks_orientation_bottom_quark (void)
+ {
+- return g_quark_from_static_string ("http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#orientation-bottom");
++ return g_quark_from_static_string ("http://tracker.api.gnome.org/ontology/v3/nfo#orientation-bottom");
+ }
+
+
+ GQuark
+ photos_quarks_orientation_bottom_mirror_quark (void)
+ {
+- return g_quark_from_static_string ("http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#orientation-bottom-mirror");
++ return g_quark_from_static_string ("http://tracker.api.gnome.org/ontology/v3/nfo#orientation-bottom-mirror");
+ }
+
+
+ GQuark
+ photos_quarks_orientation_left_quark (void)
+ {
+- return g_quark_from_static_string ("http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#orientation-left");
++ return g_quark_from_static_string ("http://tracker.api.gnome.org/ontology/v3/nfo#orientation-left");
+ }
+
+
+ GQuark
+ photos_quarks_orientation_left_mirror_quark (void)
+ {
+- return g_quark_from_static_string ("http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#orientation-left-mirror");
++ return g_quark_from_static_string ("http://tracker.api.gnome.org/ontology/v3/nfo#orientation-left-mirror");
+ }
+
+
+ GQuark
+ photos_quarks_orientation_right_quark (void)
+ {
+- return g_quark_from_static_string ("http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#orientation-right");
++ return g_quark_from_static_string ("http://tracker.api.gnome.org/ontology/v3/nfo#orientation-right");
+ }
+
+
+ GQuark
+ photos_quarks_orientation_right_mirror_quark (void)
+ {
+- return g_quark_from_static_string ("http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#orientation-right-mirror");
++ return g_quark_from_static_string ("http://tracker.api.gnome.org/ontology/v3/nfo#orientation-right-mirror");
+ }
+
+
+ GQuark
+ photos_quarks_orientation_top_quark (void)
+ {
+- return g_quark_from_static_string ("http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#orientation-top");
++ return g_quark_from_static_string ("http://tracker.api.gnome.org/ontology/v3/nfo#orientation-top");
+ }
+
+
+ GQuark
+ photos_quarks_orientation_top_mirror_quark (void)
+ {
+- return g_quark_from_static_string ("http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#orientation-top-mirror");
++ return g_quark_from_static_string ("http://tracker.api.gnome.org/ontology/v3/nfo#orientation-top-mirror");
+ }
+diff --git a/src/photos-query-builder.c b/src/photos-query-builder.c
+index e0735bde..46d65e8f 100644
+--- a/src/photos-query-builder.c
++++ b/src/photos-query-builder.c
+@@ -25,6 +25,7 @@
+
+ #include <string.h>
+
++#include "photos-application.h"
+ #include "photos-base-manager.h"
+ #include "photos-query.h"
+ #include "photos-query-builder.h"
+@@ -32,6 +33,7 @@
+ #include "photos-source-manager.h"
+ #include "photos-search-match-manager.h"
+ #include "photos-search-type-manager.h"
++#include "photos-tracker-queue.h"
+
+ #define PHOTOS_QUERY_COLLECTIONS_IDENTIFIER "photos:collection:"
+ #define PHOTOS_QUERY_LOCAL_COLLECTIONS_IDENTIFIER "photos:collection:local:"
+@@ -48,12 +50,14 @@ const gchar *photos_default_filter = \
+
+ static gchar *
+ photos_query_builder_query (PhotosSearchContextState *state,
+- gboolean global,
++ const gchar *values,
+ gint flags,
+ PhotosOffsetController *offset_cntrlr)
+ {
+ PhotosSparqlTemplate *template;
+- const gchar *projection = NULL;
++ const gchar *miner_fs_busname = NULL;
++ const gchar *main_projection = NULL;
++ const gchar *second_projection = NULL;
+ g_autofree gchar *item_pattern = NULL;
+ g_autofree gchar *search_filter = NULL;
+ g_autofree gchar *source_filter = NULL;
+@@ -63,29 +67,35 @@ photos_query_builder_query (PhotosSearchContextState *state,
+
+ template = photos_base_manager_get_sparql_template (state->srch_typ_mngr, flags);
+
+- projection = "?urn "
+- "nie:url (?urn) "
+- "nfo:fileName (?urn) "
+- "nie:mimeType (?urn) "
+- "nie:title (?urn) "
+- "tracker:coalesce (nco:fullname (?creator), nco:fullname (?publisher), '') "
+- "tracker:coalesce (nfo:fileLastModified (?urn), nie:contentLastModified (?urn)) AS ?mtime "
+- "nao:identifier (?urn) "
+- "rdf:type (?urn) "
+- "nie:dataSource(?urn) "
+- "( EXISTS { ?urn nao:hasTag nao:predefined-tag-favorite } ) "
+- "( EXISTS { ?urn nco:contributor ?contributor FILTER ( ?contributor != ?creator ) } ) "
+- "tracker:coalesce(nfo:fileCreated (?urn), nie:contentCreated (?urn)) "
+- "nfo:width (?urn) "
+- "nfo:height (?urn) "
+- "nfo:equipment (?urn) "
+- "nfo:orientation (?urn) "
+- "nmm:exposureTime (?urn) "
+- "nmm:fnumber (?urn) "
+- "nmm:focalLength (?urn) "
+- "nmm:isoSpeed (?urn) "
+- "nmm:flash (?urn) "
+- "slo:location (?urn) ";
++ miner_fs_busname = photos_tracker_queue_get_miner_fs_busname (state->queue);
++
++ main_projection = "?urn "
++ "?file "
++ "nfo:fileName (?file) AS ?filename "
++ "nie:mimeType (?urn) AS ?mimetype "
++ "nie:title (?urn) AS ?title "
++ "tracker:coalesce (nco:fullname (?creator), nco:fullname (?publisher), '') AS ?author_name "
++ "tracker:coalesce (nfo:fileLastModified (?file), nie:contentLastModified (?urn)) AS ?mtime "
++ "nao:identifier (?urn) AS ?identifier "
++ "rdf:type (?urn) AS ?type "
++ "nie:dataSource(?urn) AS ?datasource "
++ "( EXISTS { ?urn nco:contributor ?contributor FILTER ( ?contributor != ?creator ) } ) AS ?has_contributor "
++ "tracker:coalesce(nfo:fileCreated (?file), nie:contentCreated (?urn)) AS ?ctime "
++ "nfo:width (?urn) AS ?width "
++ "nfo:height (?urn) AS ?height "
++ "nfo:equipment (?urn) AS ?equipment "
++ "nfo:orientation (?urn) AS ?orientation "
++ "nmm:exposureTime (?urn) AS ?exposure_time "
++ "nmm:fnumber (?urn) AS ?fnumber "
++ "nmm:focalLength (?urn) AS ?focal_length "
++ "nmm:isoSpeed (?urn) AS ?isospeed "
++ "nmm:flash (?urn) AS ?flash "
++ "slo:location (?urn) AS ?location ";
++
++ second_projection = "?urn ?file ?filename ?mimetype ?title ?author_name ?mtime ?identifier ?type ?datasource "
++ "( EXISTS { ?urn nao:hasTag nao:predefined-tag-favorite } ) AS ?is_favorite "
++ "?has_contributor ?ctime ?width ?height ?equipment ?orientation ?exposure_time ?fnumber "
++ "?focal_length ?isospeed ?flash ?location ";
+
+ item_pattern = photos_base_manager_get_where (state->item_mngr, flags);
+
+@@ -97,7 +107,7 @@ photos_query_builder_query (PhotosSearchContextState *state,
+
+ order = "ORDER BY DESC (?mtime)";
+
+- if (global && (flags & PHOTOS_QUERY_FLAGS_UNLIMITED) == 0)
++ if (values == NULL && (flags & PHOTOS_QUERY_FLAGS_UNLIMITED) == 0)
+ {
+ gint offset = 0;
+ gint step = 60;
+@@ -112,12 +122,16 @@ photos_query_builder_query (PhotosSearchContextState *state,
+ }
+
+ sparql = photos_sparql_template_get_sparql (template,
+- "projection", projection,
++ "miner_fs_busname", miner_fs_busname,
++ "main_projection", main_projection,
++ "second_projection", second_projection,
++ "final_projection", second_projection,
++ "values", values ? values : "",
+ "collections_default_filter", collections_default_filter,
+ "item_pattern", item_pattern,
+ "photos_default_filter", photos_default_filter,
+- "source_filter", source_filter ? source_filter : "",
+- "search_filter", search_filter ? search_filter : "",
++ "source_filter", source_filter ? source_filter : "(true)",
++ "search_filter", search_filter ? search_filter : "(true)",
+ "order", order,
+ "offset_limit", offset_limit ? offset_limit : "",
+ NULL);
+@@ -133,6 +147,7 @@ photos_query_builder_create_collection_query (PhotosSearchContextState *state,
+ {
+ g_autoptr (GDateTime) now = NULL;
+ PhotosQuery *query;
++ g_autoptr (TrackerResource) collection = NULL;
+ g_autofree gchar *identifier = NULL;
+ g_autofree gchar *sparql = NULL;
+ g_autofree gchar *time = NULL;
+@@ -144,13 +159,14 @@ photos_query_builder_create_collection_query (PhotosSearchContextState *state,
+ now = g_date_time_new_now_utc ();
+ time = g_date_time_format_iso8601 (now);
+
+- sparql = g_strdup_printf ("INSERT { _:res a nfo:DataContainer ; a nie:DataObject ; "
+- "nie:contentLastModified '%s' ; "
+- "nie:title '%s' ; "
+- "nao:identifier '%s' }",
+- time,
+- name,
+- identifier);
++ collection = tracker_resource_new ("_:res");
++ tracker_resource_add_uri (collection, "rdf:type", "nfo:DataContainer");
++ tracker_resource_add_uri (collection, "rdf:type", "nie:DataObject");
++ tracker_resource_set_string (collection, "nie:contentLastModified", time);
++ tracker_resource_set_string (collection, "nie:title", name);
++ tracker_resource_set_string (collection, "nao:identifier", identifier);
++
++ sparql = tracker_resource_print_sparql_update (collection, NULL, "tracker:Pictures");
+
+ query = photos_query_new (state, sparql);
+
+@@ -180,7 +196,9 @@ PhotosQuery *
+ photos_query_builder_count_query (PhotosSearchContextState *state, gint flags)
+ {
+ PhotosSparqlTemplate *template;
+- const gchar *projection = NULL;
++ const gchar *miner_fs_busname = NULL;
++ const gchar *count_projection = NULL;
++ const gchar *value_projection = NULL;
+ g_autofree gchar *item_pattern = NULL;
+ g_autofree gchar *search_filter = NULL;
+ g_autofree gchar *source_filter = NULL;
+@@ -189,7 +207,10 @@ photos_query_builder_count_query (PhotosSearchContextState *state, gint flags)
+
+ template = photos_base_manager_get_sparql_template (state->srch_typ_mngr, flags);
+
+- projection = "COUNT(?urn) ";
++ miner_fs_busname = photos_tracker_queue_get_miner_fs_busname (state->queue);
++
++ value_projection = "?urn ";
++ count_projection = "COUNT(?urn) ";
+
+ item_pattern = photos_base_manager_get_where (state->item_mngr, flags);
+
+@@ -200,12 +221,16 @@ photos_query_builder_count_query (PhotosSearchContextState *state, gint flags)
+ }
+
+ sparql = photos_sparql_template_get_sparql (template,
+- "projection", projection,
++ "miner_fs_busname", miner_fs_busname,
++ "main_projection", value_projection,
++ "second_projection", value_projection,
++ "final_projection", count_projection,
++ "values", "",
+ "collections_default_filter", collections_default_filter,
+ "item_pattern", item_pattern,
+ "photos_default_filter", photos_default_filter,
+- "source_filter", source_filter ? source_filter : "",
+- "search_filter", search_filter ? search_filter : "",
++ "source_filter", source_filter ? source_filter : "(true)",
++ "search_filter", search_filter ? search_filter : "(true)",
+ "order", "",
+ "offset_limit", "",
+ NULL);
+@@ -264,7 +289,7 @@ photos_query_builder_fetch_collections_local (PhotosSearchContextState *state)
+ g_autofree gchar *sparql = NULL;
+
+ sparql = photos_query_builder_query (state,
+- TRUE,
++ NULL,
+ PHOTOS_QUERY_FLAGS_COLLECTIONS
+ | PHOTOS_QUERY_FLAGS_LOCAL
+ | PHOTOS_QUERY_FLAGS_UNLIMITED,
+@@ -284,7 +309,7 @@ photos_query_builder_global_query (PhotosSearchContextState *state,
+ PhotosQuery *query;
+ g_autofree gchar *sparql = NULL;
+
+- sparql = photos_query_builder_query (state, TRUE, flags, offset_cntrlr);
++ sparql = photos_query_builder_query (state, NULL, flags, offset_cntrlr);
+ query = photos_query_new (state, sparql);
+
+ return query;
+@@ -313,10 +338,19 @@ photos_query_builder_set_collection_query (PhotosSearchContextState *state,
+ PhotosQuery *query;
+ g_autofree gchar *sparql = NULL;
+
+- sparql = g_strdup_printf ("%s { <%s> nie:isPartOf <%s> }",
+- setting ? "INSERT" : "DELETE",
+- item_urn,
+- collection_urn);
++ if (setting)
++ sparql = g_strdup_printf ("INSERT DATA { "
++ " GRAPH tracker:Pictures {"
++ " <%s> a nie:DataObject , nmm:Photo ; "
++ " nie:isPartOf <%s> "
++ " }"
++ "}", item_urn, collection_urn);
++ else
++ sparql = g_strdup_printf ("DELETE DATA { "
++ " GRAPH tracker:Pictures {"
++ " <%s> nie:isPartOf <%s> "
++ " }"
++ "}", item_urn, collection_urn);
+ query = photos_query_new (state, sparql);
+
+ return query;
+@@ -326,17 +360,14 @@ photos_query_builder_set_collection_query (PhotosSearchContextState *state,
+ PhotosQuery *
+ photos_query_builder_single_query (PhotosSearchContextState *state, gint flags, const gchar *resource)
+ {
+- g_autoptr (GRegex) regex = NULL;
+ PhotosQuery *query;
+- g_autofree gchar *replacement = NULL;
+ g_autofree gchar *sparql = NULL;
+- g_autofree gchar *tmp = NULL;
++ g_autofree gchar *values = NULL;
++
++ values = g_strdup_printf ("VALUES ?urn { <%s> }", resource);
+
+- tmp = photos_query_builder_query (state, FALSE, flags, NULL);
++ sparql = photos_query_builder_query (state, values, flags, NULL);
+
+- regex = g_regex_new ("\\?urn", 0, 0, NULL);
+- replacement = g_strconcat ("<", resource, ">", NULL);
+- sparql = g_regex_replace (regex, tmp, -1, 0, replacement, 0, NULL);
+ query = photos_query_new (state, sparql);
+
+ return query;
+@@ -354,7 +385,14 @@ photos_query_builder_update_mtime_query (PhotosSearchContextState *state, const
+ now = g_date_time_new_now_utc ();
+ time = g_date_time_format_iso8601 (now);
+
+- sparql = g_strdup_printf ("INSERT OR REPLACE { <%s> nie:contentLastModified '%s' }", resource, time);
++ sparql = g_strdup_printf ("WITH tracker:Pictures "
++ "DELETE { <%s> nie:contentLastModified ?time } "
++ "INSERT { "
++ " <%s> a nmm:Photo ; "
++ " nie:contentLastModified '%s' "
++ "}"
++ "WHERE { <%s> nie:contentLastModified ?time }",
++ resource, resource, time, resource);
+ query = photos_query_new (state, sparql);
+
+ return query;
+diff --git a/src/photos-search-context.c b/src/photos-search-context.c
+index 4b503798..6f8694bc 100644
+--- a/src/photos-search-context.c
++++ b/src/photos-search-context.c
+@@ -31,6 +31,7 @@
+ #include "photos-search-match-manager.h"
+ #include "photos-search-type-manager.h"
+ #include "photos-source-manager.h"
++#include "photos-tracker-queue.h"
+
+
+ G_DEFINE_INTERFACE (PhotosSearchContext, photos_search_context, G_TYPE_OBJECT);
+@@ -54,6 +55,7 @@ photos_search_context_state_new (PhotosSearchContext *self)
+ state->srch_cntrlr = photos_search_controller_new ();
+ state->srch_mtch_mngr = photos_search_match_manager_new (state->srch_cntrlr);
+ state->srch_typ_mngr = photos_search_type_manager_new ();
++ state->queue = photos_tracker_queue_dup_singleton (NULL, NULL);
+
+ return state;
+ }
+@@ -68,6 +70,7 @@ photos_search_context_state_free (PhotosSearchContextState *state)
+ g_object_unref (state->srch_mtch_mngr);
+ g_object_unref (state->srch_typ_mngr);
+ g_object_unref (state->srch_cntrlr);
++ g_clear_object (&state->queue);
+ g_slice_free (PhotosSearchContextState, state);
+ }
+
+diff --git a/src/photos-search-context.h b/src/photos-search-context.h
+index 2af6cf96..5a18d386 100644
+--- a/src/photos-search-context.h
++++ b/src/photos-search-context.h
+@@ -41,6 +41,7 @@ struct _PhotosSearchContextState
+ gpointer srch_typ_mngr;
+ gpointer offset_cntrlr;
+ gpointer srch_cntrlr;
++ gpointer queue;
+ };
+
+ PhotosSearchContextState *photos_search_context_state_new (PhotosSearchContext *self);
+diff --git a/src/photos-search-match-manager.c b/src/photos-search-match-manager.c
+index e6dc429a..2ba1fd0f 100644
+--- a/src/photos-search-match-manager.c
++++ b/src/photos-search-match-manager.c
+@@ -148,7 +148,7 @@ photos_search_match_manager_init (PhotosSearchMatchManager *self)
+ " tracker:case-fold (tracker:coalesce (nco:fullname (?creator), nco:fullname(?publisher))),"
+ " \"%s\")";
+ title_filter = "fn:contains ("
+- " tracker:case-fold (tracker:coalesce (nie:title (?urn), nfo:fileName(?urn))),"
++ " tracker:case-fold (tracker:coalesce (nie:title (?urn), nfo:fileName(?file))),"
+ " \"%s\")";
+
+ search_match = photos_search_match_new (PHOTOS_SEARCH_MATCH_STOCK_ALL,
+diff --git a/src/photos-source.c b/src/photos-source.c
+index db6f2de9..5219652c 100644
+--- a/src/photos-source.c
++++ b/src/photos-source.c
+@@ -62,7 +62,7 @@ G_DEFINE_TYPE_WITH_CODE (PhotosSource, photos_source, G_TYPE_OBJECT,
+ DZL_DEFINE_COUNTER (instances, "PhotosSource", "Instances", "Number of PhotosSource instances")
+
+
+-static const gchar *TRACKER_SCHEMA = "org.freedesktop.Tracker.Miner.Files";
++static const gchar *TRACKER_SCHEMA = "org.freedesktop.Tracker3.Miner.Files";
+ static const gchar *TRACKER_KEY_RECURSIVE_DIRECTORIES = "index-recursive-directories";
+
+
+@@ -94,7 +94,7 @@ photos_source_build_filter_local (void)
+ continue;
+
+ tracker_uri = photos_utils_convert_path_to_uri (tracker_dirs[i]);
+- g_string_append_printf (tracker_filter, " || fn:contains (nie:url (?urn), '%s')", tracker_uri);
++ g_string_append_printf (tracker_filter, " || fn:contains (nie:isStoredAs (?urn), '%s')", tracker_uri);
+ }
+
+ path = g_get_user_special_dir (G_USER_DIRECTORY_DESKTOP);
+@@ -109,11 +109,11 @@ photos_source_build_filter_local (void)
+ export_path = g_build_filename (path, PHOTOS_EXPORT_SUBPATH, NULL);
+ export_uri = photos_utils_convert_path_to_uri (export_path);
+
+- filter = g_strdup_printf ("(((fn:contains (nie:url (?urn), '%s')"
+- " || fn:contains (nie:url (?urn), '%s')"
+- " || fn:contains (nie:url (?urn), '%s')"
++ filter = g_strdup_printf ("(((fn:contains (nie:isStoredAs (?urn), '%s')"
++ " || fn:contains (nie:isStoredAs (?urn), '%s')"
++ " || fn:contains (nie:isStoredAs (?urn), '%s')"
+ " %s)"
+- " && !fn:contains (nie:url (?urn), '%s'))"
++ " && !fn:contains (nie:isStoredAs (?urn), '%s'))"
+ " || fn:starts-with (nao:identifier (?urn), '%s')"
+ " || (?urn = nfo:image-category-screenshot))",
+ desktop_uri,
+@@ -146,7 +146,7 @@ photos_source_build_filter_resource (PhotosSource *self)
+
+ root = g_mount_get_root (self->mount);
+ uri = g_file_get_uri (root);
+- filter = g_strdup_printf ("(fn:starts-with (nie:url (?urn), '%s'))", uri);
++ filter = g_strdup_printf ("(fn:starts-with (nie:isStoredAs (?urn), '%s'))", uri);
+ }
+ else
+ {
+diff --git a/src/photos-tracker-change-event.c b/src/photos-tracker-change-event.c
+deleted file mode 100644
+index d5c74ebc..00000000
+--- a/src/photos-tracker-change-event.c
++++ /dev/null
+@@ -1,136 +0,0 @@
+-/*
+- * Photos - access, organize and share your photos on GNOME
+- * Copyright © 2012 – 2019 Red Hat, Inc.
+- *
+- * This program is free software: you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation, either version 3 of the License, or
+- * (at your option) any later version.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- * GNU General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License
+- * along with this program. If not, see <http://www.gnu.org/licenses/>.
+- */
+-
+-/* Based on code from:
+- * + Documents
+- */
+-
+-
+-#include "config.h"
+-
+-#include "photos-tracker-change-event.h"
+-
+-
+-struct _PhotosTrackerChangeEvent
+-{
+- PhotosTrackerChangeEventType type;
+- gchar *predicate;
+- gchar *urn;
+- gint32 predicate_id;
+- gint32 urn_id;
+-};
+-
+-
+-static const gchar *RDF_TYPE = "http://www.w3.org/1999/02/22-rdf-syntax-ns#type";
+-
+-
+-void
+-photos_tracker_change_event_free (PhotosTrackerChangeEvent *self)
+-{
+- g_free (self->predicate);
+- g_free (self->urn);
+- g_slice_free (PhotosTrackerChangeEvent, self);
+-}
+-
+-
+-PhotosTrackerChangeEvent *
+-photos_tracker_change_event_new (gint32 urn_id, gint32 predicate_id, gboolean is_delete)
+-{
+- PhotosTrackerChangeEvent *self;
+-
+- self = g_slice_new0 (PhotosTrackerChangeEvent);
+- self->urn_id = urn_id;
+- self->predicate_id = predicate_id;
+-
+- if (is_delete)
+- self->type = PHOTOS_TRACKER_CHANGE_EVENT_DELETED;
+- else
+- self->type = PHOTOS_TRACKER_CHANGE_EVENT_CREATED;
+-
+- return self;
+-}
+-
+-
+-PhotosTrackerChangeEvent *
+-photos_tracker_change_event_copy (PhotosTrackerChangeEvent *event)
+-{
+- PhotosTrackerChangeEvent *self;
+-
+- self = g_slice_new0 (PhotosTrackerChangeEvent);
+- self->type = event->type;
+- self->predicate = g_strdup (event->predicate);
+- self->urn = g_strdup (event->urn);
+- self->predicate_id = event->predicate_id;
+- self->urn_id = event->urn_id;
+-
+- return self;
+-}
+-
+-
+-PhotosTrackerChangeEventType
+-photos_tracker_change_event_get_type (PhotosTrackerChangeEvent *self)
+-{
+- return self->type;
+-}
+-
+-
+-gint32
+-photos_tracker_change_event_get_predicate_id (PhotosTrackerChangeEvent *self)
+-{
+- return self->predicate_id;
+-}
+-
+-
+-const gchar *
+-photos_tracker_change_event_get_urn (PhotosTrackerChangeEvent *self)
+-{
+- return self->urn;
+-}
+-
+-
+-gint32
+-photos_tracker_change_event_get_urn_id (PhotosTrackerChangeEvent *self)
+-{
+- return self->urn_id;
+-}
+-
+-
+-void
+-photos_tracker_change_event_merge (PhotosTrackerChangeEvent *self, PhotosTrackerChangeEvent *event)
+-{
+- g_return_if_fail (g_strcmp0 (self->urn, event->urn) == 0);
+-
+- if (event->type == PHOTOS_TRACKER_CHANGE_EVENT_DELETED || event->type == PHOTOS_TRACKER_CHANGE_EVENT_CREATED)
+- self->type = event->type;
+-}
+-
+-
+-void
+-photos_tracker_change_event_set_resolved_values (PhotosTrackerChangeEvent *self,
+- const gchar *urn,
+- const gchar *predicate)
+-{
+- g_return_if_fail (self->predicate == NULL);
+- g_return_if_fail (self->urn == NULL);
+-
+- self->urn = g_strdup (urn);
+- self->predicate = g_strdup (predicate);
+-
+- if (g_strcmp0 (predicate, RDF_TYPE) != 0)
+- self->type = PHOTOS_TRACKER_CHANGE_EVENT_CHANGED;
+-}
+diff --git a/src/photos-tracker-change-event.h b/src/photos-tracker-change-event.h
+deleted file mode 100644
+index eee4f40c..00000000
+--- a/src/photos-tracker-change-event.h
++++ /dev/null
+@@ -1,64 +0,0 @@
+-/*
+- * Photos - access, organize and share your photos on GNOME
+- * Copyright © 2012 – 2019 Red Hat, Inc.
+- *
+- * This program is free software: you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation, either version 3 of the License, or
+- * (at your option) any later version.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- * GNU General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License
+- * along with this program. If not, see <http://www.gnu.org/licenses/>.
+- */
+-
+-/* Based on code from:
+- * + Documents
+- */
+-
+-#ifndef PHOTOS_TRACKER_CHANGE_EVENT_H
+-#define PHOTOS_TRACKER_CHANGE_EVENT_H
+-
+-#include <glib.h>
+-
+-G_BEGIN_DECLS
+-
+-typedef enum
+-{
+- PHOTOS_TRACKER_CHANGE_EVENT_CHANGED,
+- PHOTOS_TRACKER_CHANGE_EVENT_CREATED,
+- PHOTOS_TRACKER_CHANGE_EVENT_DELETED
+-} PhotosTrackerChangeEventType;
+-
+-typedef struct _PhotosTrackerChangeEvent PhotosTrackerChangeEvent;
+-
+-PhotosTrackerChangeEvent *photos_tracker_change_event_new (gint32 urn_id,
+- gint32 predicate_id,
+- gboolean is_delete);
+-
+-PhotosTrackerChangeEvent *photos_tracker_change_event_copy (PhotosTrackerChangeEvent *event);
+-
+-void photos_tracker_change_event_free (PhotosTrackerChangeEvent *self);
+-
+-PhotosTrackerChangeEventType photos_tracker_change_event_get_type (PhotosTrackerChangeEvent *self);
+-
+-gint32 photos_tracker_change_event_get_predicate_id (PhotosTrackerChangeEvent *self);
+-
+-const gchar *photos_tracker_change_event_get_urn (PhotosTrackerChangeEvent *self);
+-
+-gint32 photos_tracker_change_event_get_urn_id (PhotosTrackerChangeEvent *self);
+-
+-void photos_tracker_change_event_merge (PhotosTrackerChangeEvent *self,
+- PhotosTrackerChangeEvent *event);
+-
+-void photos_tracker_change_event_set_resolved_values (PhotosTrackerChangeEvent *self,
+- const gchar *urn,
+- const gchar *predicate);
+-
+-G_END_DECLS
+-
+-#endif /* PHOTOS_TRACKER_CHANGE_EVENT_H */
+diff --git a/src/photos-tracker-change-monitor.c b/src/photos-tracker-change-monitor.c
+deleted file mode 100644
+index 2e9810aa..00000000
+--- a/src/photos-tracker-change-monitor.c
++++ /dev/null
+@@ -1,468 +0,0 @@
+-/*
+- * Photos - access, organize and share your photos on GNOME
+- * Copyright © 2012 – 2019 Red Hat, Inc.
+- *
+- * This program is free software: you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation, either version 3 of the License, or
+- * (at your option) any later version.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- * GNU General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License
+- * along with this program. If not, see <http://www.gnu.org/licenses/>.
+- */
+-
+-/* Based on code from:
+- * + Documents
+- */
+-
+-
+-#include "config.h"
+-
+-#include <glib.h>
+-#include <tracker-sparql.h>
+-
+-#include "photos-tracker-change-event.h"
+-#include "photos-tracker-change-monitor.h"
+-#include "photos-tracker-queue.h"
+-#include "photos-tracker-resources.h"
+-#include "photos-query.h"
+-
+-
+-struct _PhotosTrackerChangeMonitor
+-{
+- GObject parent_instance;
+- GHashTable *pending_changes;
+- GHashTable *unresolved_ids;
+- GQueue *pending_events;
+- PhotosTrackerQueue *queue;
+- TrackerResources *resource_service;
+- guint outstanding_ops;
+- guint pending_events_id;
+-};
+-
+-enum
+-{
+- CHANGES_PENDING,
+- LAST_SIGNAL
+-};
+-
+-static guint signals[LAST_SIGNAL] = { 0 };
+-
+-static void photos_tracker_change_monitor_initable_iface_init (GInitableIface *iface);
+-
+-
+-G_DEFINE_TYPE_EXTENDED (PhotosTrackerChangeMonitor, photos_tracker_change_monitor, G_TYPE_OBJECT, 0,
+- G_IMPLEMENT_INTERFACE (G_TYPE_INITABLE, photos_tracker_change_monitor_initable_iface_init));
+-
+-
+-enum
+-{
+- CHANGE_MONITOR_TIMEOUT = 500, /* ms */
+- CHANGE_MONITOR_MAX_ITEMS = 500
+-};
+-
+-
+-typedef struct _PhotosTrackerChangeMonitorQueryData PhotosTrackerChangeMonitorQueryData;
+-typedef struct _TrackerResourcesEvent TrackerResourcesEvent;
+-
+-struct _PhotosTrackerChangeMonitorQueryData
+-{
+- PhotosTrackerChangeMonitor *self;
+- GHashTable *id_table;
+- GQueue *events;
+-};
+-
+-struct _TrackerResourcesEvent
+-{
+- gint32 graph;
+- gint32 subject;
+- gint32 predicate;
+- gint32 object;
+-};
+-
+-
+-static void
+-photos_tracker_change_monitor_query_data_free (PhotosTrackerChangeMonitorQueryData *data)
+-{
+- g_clear_object (&data->self);
+-
+- if (data->id_table != NULL)
+- g_hash_table_unref (data->id_table);
+-
+- if (data->events != NULL)
+- g_queue_free_full (data->events, (GDestroyNotify) photos_tracker_change_event_free);
+-
+- g_slice_free (PhotosTrackerChangeMonitorQueryData, data);
+-}
+-
+-
+-static PhotosTrackerChangeMonitorQueryData *
+-photos_tracker_change_monitor_query_data_new (PhotosTrackerChangeMonitor *self,
+- GHashTable *id_table,
+- GQueue *events)
+-{
+- PhotosTrackerChangeMonitorQueryData *data;
+-
+- data = g_slice_new0 (PhotosTrackerChangeMonitorQueryData);
+- data->self = g_object_ref (self);
+- data->id_table = id_table;
+- data->events = events;
+-
+- return data;
+-}
+-
+-
+-static void
+-photos_tracker_change_monitor_add_event (PhotosTrackerChangeMonitor *self, PhotosTrackerChangeEvent *change_event)
+-{
+- PhotosTrackerChangeEvent *old_change_event;
+- const gchar *urn;
+-
+- urn = photos_tracker_change_event_get_urn (change_event);
+- old_change_event = (PhotosTrackerChangeEvent *) g_hash_table_lookup (self->pending_changes, urn);
+-
+- if (old_change_event != NULL)
+- photos_tracker_change_event_merge (old_change_event, change_event);
+- else
+- g_hash_table_insert (self->pending_changes, g_strdup (urn), photos_tracker_change_event_copy (change_event));
+-}
+-
+-
+-static void
+-photos_tracker_change_monitor_remove_timeout (PhotosTrackerChangeMonitor *self)
+-{
+- if (self->pending_events_id != 0)
+- {
+- g_source_remove (self->pending_events_id);
+- self->pending_events_id = 0;
+- }
+-}
+-
+-
+-static void
+-photos_tracker_change_monitor_send_events (PhotosTrackerChangeMonitor *self, GHashTable *id_table, GQueue *events)
+-{
+- GList *l;
+-
+- for (l = events->head; l != NULL; l = l->next)
+- {
+- PhotosTrackerChangeEvent *change_event = (PhotosTrackerChangeEvent *) l->data;
+- const gchar *predicate;
+- const gchar *urn;
+- gint32 predicate_id;
+- gint32 urn_id;
+-
+- predicate_id = photos_tracker_change_event_get_predicate_id (change_event);
+- urn_id = photos_tracker_change_event_get_urn_id (change_event);
+-
+- predicate = (gchar *) g_hash_table_lookup (id_table, GINT_TO_POINTER (predicate_id));
+- if (G_UNLIKELY (predicate == NULL))
+- continue;
+-
+- urn = (gchar *) g_hash_table_lookup (id_table, GINT_TO_POINTER (urn_id));
+- if (G_UNLIKELY (urn == NULL))
+- continue;
+-
+- photos_tracker_change_event_set_resolved_values (change_event, urn, predicate);
+- photos_tracker_change_monitor_add_event (self, change_event);
+- }
+-
+- g_signal_emit (self, signals[CHANGES_PENDING], 0, self->pending_changes);
+- g_hash_table_remove_all (self->pending_changes);
+-}
+-
+-
+-static void
+-photos_tracker_change_monitor_cursor_next (GObject *source_object, GAsyncResult *res, gpointer user_data)
+-{
+- PhotosTrackerChangeMonitorQueryData *data = (PhotosTrackerChangeMonitorQueryData *) user_data;
+- PhotosTrackerChangeMonitor *self = data->self;
+- TrackerSparqlCursor *cursor = TRACKER_SPARQL_CURSOR (source_object);
+- GHashTableIter iter;
+- gboolean valid;
+-
+- {
+- g_autoptr (GError) error = NULL;
+-
+- valid = tracker_sparql_cursor_next_finish (cursor, res, &error);
+- if (error != NULL)
+- g_warning ("Unable to resolve item URNs for graph changes: %s", error->message);
+- }
+-
+- if (valid)
+- {
+- guint idx;
+-
+- idx = 0;
+- g_hash_table_iter_init (&iter, data->id_table);
+- while (g_hash_table_iter_next (&iter, NULL, NULL))
+- {
+- const gchar *str;
+-
+- str = tracker_sparql_cursor_get_string (cursor, idx, NULL);
+- g_hash_table_iter_replace (&iter, g_strdup (str));
+- idx++;
+- }
+-
+- photos_tracker_change_monitor_send_events (self, data->id_table, data->events);
+- }
+-
+- tracker_sparql_cursor_close (cursor);
+- photos_tracker_change_monitor_query_data_free (data);
+-}
+-
+-
+-static void
+-photos_tracker_change_monitor_query_executed (GObject *source_object, GAsyncResult *res, gpointer user_data)
+-{
+- PhotosTrackerChangeMonitorQueryData *data = (PhotosTrackerChangeMonitorQueryData *) user_data;
+- TrackerSparqlConnection *connection = TRACKER_SPARQL_CONNECTION (source_object);
+- TrackerSparqlCursor *cursor; /* TODO: Use g_autoptr */
+-
+- {
+- g_autoptr (GError) error = NULL;
+-
+- cursor = tracker_sparql_connection_query_finish (connection, res, &error);
+- if (error != NULL)
+- {
+- g_warning ("Unable to resolve item URNs for graph changes: %s", error->message);
+- photos_tracker_change_monitor_query_data_free (data);
+- return;
+- }
+- }
+-
+- tracker_sparql_cursor_next_async (cursor, NULL, photos_tracker_change_monitor_cursor_next, data);
+- g_object_unref (cursor);
+-}
+-
+-
+-static gboolean
+-photos_tracker_change_monitor_process_events (PhotosTrackerChangeMonitor *self)
+-{
+- GHashTable *id_table;
+- GHashTableIter iter;
+- GQueue *events;
+- g_autoptr (GString) sparql = NULL;
+- PhotosTrackerChangeMonitorQueryData *data;
+- g_autoptr (PhotosQuery) query = NULL;
+- gpointer id;
+-
+- events = self->pending_events;
+- self->pending_events = g_queue_new ();
+-
+- id_table = self->unresolved_ids;
+- self->unresolved_ids = g_hash_table_new_full (g_direct_hash, g_direct_equal, NULL, g_free);
+-
+- self->pending_events_id = 0;
+-
+- sparql = g_string_new ("SELECT");
+-
+- g_hash_table_iter_init (&iter, id_table);
+- while (g_hash_table_iter_next (&iter, &id, NULL))
+- g_string_append_printf (sparql, " tracker:uri(%d)", GPOINTER_TO_INT (id));
+-
+- g_string_append (sparql, " {}");
+-
+- query = photos_query_new (NULL, sparql->str);
+-
+- data = photos_tracker_change_monitor_query_data_new (self, id_table, events);
+- photos_tracker_queue_select (self->queue,
+- query,
+- NULL,
+- photos_tracker_change_monitor_query_executed,
+- data,
+- NULL);
+-
+- return G_SOURCE_REMOVE;
+-}
+-
+-
+-static void
+-photos_tracker_change_monitor_add_pending_event (PhotosTrackerChangeMonitor *self,
+- const TrackerResourcesEvent *event,
+- gboolean is_delete)
+-{
+- PhotosTrackerChangeEvent *change_event;
+-
+- photos_tracker_change_monitor_remove_timeout (self);
+-
+- g_hash_table_insert (self->unresolved_ids, GINT_TO_POINTER (event->subject), NULL);
+- g_hash_table_insert (self->unresolved_ids, GINT_TO_POINTER (event->predicate), NULL);
+-
+- change_event = photos_tracker_change_event_new (event->subject, event->predicate, is_delete);
+- g_queue_push_tail (self->pending_events, change_event);
+-
+- if (self->pending_events->length >= CHANGE_MONITOR_MAX_ITEMS)
+- photos_tracker_change_monitor_process_events (self);
+- else
+- self->pending_events_id = g_timeout_add (CHANGE_MONITOR_TIMEOUT,
+- (GSourceFunc) photos_tracker_change_monitor_process_events,
+- self);
+-}
+-
+-
+-static void
+-photos_tracker_change_monitor_graph_updated (TrackerResources *resource_service,
+- const gchar *class_name,
+- GVariant *delete_events,
+- GVariant *insert_events,
+- gpointer user_data)
+-{
+- PhotosTrackerChangeMonitor *self = PHOTOS_TRACKER_CHANGE_MONITOR (user_data);
+- const TrackerResourcesEvent *events;
+- gsize i;
+- gsize n_elements;
+-
+- events = (const TrackerResourcesEvent *) g_variant_get_fixed_array (delete_events,
+- &n_elements,
+- sizeof (TrackerResourcesEvent));
+- for (i = 0; i < n_elements; i++)
+- photos_tracker_change_monitor_add_pending_event (self, &events[i], TRUE);
+-
+- events = (const TrackerResourcesEvent *) g_variant_get_fixed_array (insert_events,
+- &n_elements,
+- sizeof (TrackerResourcesEvent));
+- for (i = 0; i < n_elements; i++)
+- photos_tracker_change_monitor_add_pending_event (self, &events[i], FALSE);
+-}
+-
+-
+-static GObject *
+-photos_tracker_change_monitor_constructor (GType type,
+- guint n_construct_params,
+- GObjectConstructParam *construct_params)
+-{
+- static GObject *self = NULL;
+-
+- if (self == NULL)
+- {
+- self = G_OBJECT_CLASS (photos_tracker_change_monitor_parent_class)->constructor (type,
+- n_construct_params,
+- construct_params);
+- g_object_add_weak_pointer (self, (gpointer) &self);
+- return self;
+- }
+-
+- return g_object_ref (self);
+-}
+-
+-
+-static void
+-photos_tracker_change_monitor_dispose (GObject *object)
+-{
+- PhotosTrackerChangeMonitor *self = PHOTOS_TRACKER_CHANGE_MONITOR (object);
+-
+- photos_tracker_change_monitor_remove_timeout (self);
+-
+- g_clear_object (&self->queue);
+- g_clear_object (&self->resource_service);
+-
+- G_OBJECT_CLASS (photos_tracker_change_monitor_parent_class)->dispose (object);
+-}
+-
+-
+-static void
+-photos_tracker_change_monitor_finalize (GObject *object)
+-{
+- PhotosTrackerChangeMonitor *self = PHOTOS_TRACKER_CHANGE_MONITOR (object);
+-
+- g_hash_table_unref (self->pending_changes);
+- g_hash_table_unref (self->unresolved_ids);
+-
+- g_queue_free_full (self->pending_events, (GDestroyNotify) photos_tracker_change_event_free);
+-
+- G_OBJECT_CLASS (photos_tracker_change_monitor_parent_class)->finalize (object);
+-}
+-
+-
+-static void
+-photos_tracker_change_monitor_init (PhotosTrackerChangeMonitor *self)
+-{
+- self->pending_changes = g_hash_table_new_full (g_str_hash,
+- g_str_equal,
+- g_free,
+- (GDestroyNotify) photos_tracker_change_event_free);
+-
+- self->unresolved_ids = g_hash_table_new_full (g_direct_hash, g_direct_equal, NULL, g_free);
+-
+- self->pending_events = g_queue_new ();
+-}
+-
+-
+-static void
+-photos_tracker_change_monitor_class_init (PhotosTrackerChangeMonitorClass *class)
+-{
+- GObjectClass *object_class = G_OBJECT_CLASS (class);
+-
+- object_class->constructor = photos_tracker_change_monitor_constructor;
+- object_class->dispose = photos_tracker_change_monitor_dispose;
+- object_class->finalize = photos_tracker_change_monitor_finalize;
+-
+- signals[CHANGES_PENDING] = g_signal_new ("changes-pending",
+- G_TYPE_FROM_CLASS (class),
+- G_SIGNAL_RUN_LAST,
+- 0,
+- NULL, /*accumulator */
+- NULL, /*accu_data */
+- g_cclosure_marshal_VOID__BOXED,
+- G_TYPE_NONE,
+- 1,
+- G_TYPE_HASH_TABLE);
+-}
+-
+-
+-static gboolean
+-photos_tracker_change_monitor_initable_init (GInitable *initable, GCancellable *cancellable, GError **error)
+-{
+- PhotosTrackerChangeMonitor *self = PHOTOS_TRACKER_CHANGE_MONITOR (initable);
+- gboolean ret_val = TRUE;
+-
+- if (G_LIKELY (self->queue != NULL && self->resource_service != NULL))
+- goto out;
+-
+- self->queue = photos_tracker_queue_dup_singleton (cancellable, error);
+- if (G_UNLIKELY (self->queue == NULL))
+- {
+- ret_val = FALSE;
+- goto out;
+- }
+-
+- self->resource_service = tracker_resources_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION,
+- G_DBUS_PROXY_FLAGS_NONE,
+- "org.freedesktop.Tracker1",
+- "/org/freedesktop/Tracker1/Resources",
+- cancellable,
+- error);
+- if (G_UNLIKELY (self->resource_service == NULL))
+- {
+- ret_val = FALSE;
+- goto out;
+- }
+-
+- g_signal_connect (self->resource_service,
+- "graph-updated",
+- G_CALLBACK (photos_tracker_change_monitor_graph_updated),
+- self);
+-
+- out:
+- return ret_val;
+-}
+-
+-
+-static void
+-photos_tracker_change_monitor_initable_iface_init (GInitableIface *iface)
+-{
+- iface->init = photos_tracker_change_monitor_initable_init;
+-}
+-
+-
+-PhotosTrackerChangeMonitor *
+-photos_tracker_change_monitor_dup_singleton (GCancellable *cancellable, GError **error)
+-{
+- return g_initable_new (PHOTOS_TYPE_TRACKER_CHANGE_MONITOR, cancellable, error, NULL);
+-}
+diff --git a/src/photos-tracker-change-monitor.h b/src/photos-tracker-change-monitor.h
+deleted file mode 100644
+index 9740b046..00000000
+--- a/src/photos-tracker-change-monitor.h
++++ /dev/null
+@@ -1,42 +0,0 @@
+-/*
+- * Photos - access, organize and share your photos on GNOME
+- * Copyright © 2012 – 2019 Red Hat, Inc.
+- *
+- * This program is free software: you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation, either version 3 of the License, or
+- * (at your option) any later version.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- * GNU General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License
+- * along with this program. If not, see <http://www.gnu.org/licenses/>.
+- */
+-
+-/* Based on code from:
+- * + Documents
+- */
+-
+-#ifndef PHOTOS_TRACKER_CHANGE_MONITOR_H
+-#define PHOTOS_TRACKER_CHANGE_MONITOR_H
+-
+-#include <gio/gio.h>
+-
+-G_BEGIN_DECLS
+-
+-#define PHOTOS_TYPE_TRACKER_CHANGE_MONITOR (photos_tracker_change_monitor_get_type ())
+-G_DECLARE_FINAL_TYPE (PhotosTrackerChangeMonitor,
+- photos_tracker_change_monitor,
+- PHOTOS,
+- TRACKER_CHANGE_MONITOR,
+- GObject);
+-
+-PhotosTrackerChangeMonitor *photos_tracker_change_monitor_dup_singleton (GCancellable *cancellable,
+- GError **error);
+-
+-G_END_DECLS
+-
+-#endif /* PHOTOS_TRACKER_CHANGE_MONITOR_H */
+diff --git a/src/photos-tracker-controller.c b/src/photos-tracker-controller.c
+index 3a62cf2d..f0b81e02 100644
+--- a/src/photos-tracker-controller.c
++++ b/src/photos-tracker-controller.c
+@@ -292,6 +292,12 @@ photos_tracker_controller_perform_current_query (PhotosTrackerController *self)
+
+ priv = photos_tracker_controller_get_instance_private (self);
+
++ if (G_UNLIKELY (priv->queue == NULL))
++ {
++ photos_tracker_controller_query_error (self, priv->queue_error);
++ goto out;
++ }
++
+ g_clear_object (&priv->current_query);
+ priv->current_query = PHOTOS_TRACKER_CONTROLLER_GET_CLASS (self)->get_query (self);
+ g_return_if_fail (priv->current_query != NULL);
+@@ -303,12 +309,6 @@ photos_tracker_controller_perform_current_query (PhotosTrackerController *self)
+ g_object_unref (priv->cancellable);
+ priv->cancellable = g_cancellable_new ();
+
+- if (G_UNLIKELY (priv->queue == NULL))
+- {
+- photos_tracker_controller_query_error (self, priv->queue_error);
+- goto out;
+- }
+-
+ photos_tracker_queue_select (priv->queue,
+ priv->current_query,
+ priv->cancellable,
+diff --git a/src/photos-tracker-extract-priority.xml b/src/photos-tracker-extract-priority.xml
+index 7e3b9b0c..2b562299 100644
+--- a/src/photos-tracker-extract-priority.xml
++++ b/src/photos-tracker-extract-priority.xml
+@@ -21,7 +21,7 @@
+ -->
+
+ <node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
+- <interface name="org.freedesktop.Tracker1.Extract.Priority">
++ <interface name="org.freedesktop.Tracker3.Extract.Priority">
+ <method name="ClearRdfTypes" />
+ <method name="SetRdfTypes">
+ <arg name="rdf_types" type="as" direction="in" />
+diff --git a/src/photos-tracker-import-controller.c b/src/photos-tracker-import-controller.c
+index 085ace3a..d7ed9b20 100644
+--- a/src/photos-tracker-import-controller.c
++++ b/src/photos-tracker-import-controller.c
+@@ -24,7 +24,6 @@
+ #include "config.h"
+
+ #include <gio/gio.h>
+-#include <libtracker-control/tracker-control.h>
+
+ #include "photos-base-manager.h"
+ #include "photos-debug.h"
+@@ -34,6 +33,8 @@
+ #include "photos-query-builder.h"
+ #include "photos-search-context.h"
+ #include "photos-tracker-import-controller.h"
++#include "photos-tracker-miner-index.h"
++#include "photos-tracker-queue.h"
+ #include "photos-utils.h"
+
+
+@@ -45,7 +46,7 @@ struct _PhotosTrackerImportController
+ PhotosBaseManager *item_mngr;
+ PhotosBaseManager *src_mngr;
+ PhotosOffsetController *offset_cntrlr;
+- TrackerMinerManager *manager;
++ TrackerMinerFilesIndex *miner_control_proxy;
+ };
+
+
+@@ -76,12 +77,12 @@ static void
+ photos_tracker_import_controller_index (GObject *source_object, GAsyncResult *res, gpointer user_data)
+ {
+ g_autoptr (GFile) file = G_FILE (user_data);
+- TrackerMinerManager *manager = TRACKER_MINER_MANAGER (source_object);
++ TrackerMinerFilesIndex *miner_control_proxy = TRACKER_MINER_FILES_INDEX (source_object);
+
+ {
+ g_autoptr (GError) error = NULL;
+
+- if (!tracker_miner_manager_index_file_for_process_finish (manager, res, &error))
++ if (!tracker_miner_files_index_call_index_location_finish (miner_control_proxy, res, &error))
+ {
+ if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
+ {
+@@ -102,6 +103,8 @@ photos_tracker_import_controller_next_files (GObject *source_object, GAsyncResul
+ GFileEnumerator *enumerator = G_FILE_ENUMERATOR (source_object);
+ GList *infos = NULL;
+ GList *l;
++ const gchar *tracker_priority_graphs[] = { TRACKER_PICTURES_GRAPH };
++ const gchar *tracker_index_location_flags[] = { "for-process" };
+
+ {
+ g_autoptr (GError) error = NULL;
+@@ -187,11 +190,13 @@ photos_tracker_import_controller_next_files (GObject *source_object, GAsyncResul
+ if (g_content_type_equals (mime_type, IMPORTABLE_MIME_TYPES[i])
+ || g_content_type_is_a (mime_type, IMPORTABLE_MIME_TYPES[i]))
+ {
+- tracker_miner_manager_index_file_for_process_async (self->manager,
+- file,
+- self->cancellable,
+- photos_tracker_import_controller_index,
+- g_object_ref (file));
++ tracker_miner_files_index_call_index_location (self->miner_control_proxy,
++ uri,
++ tracker_priority_graphs,
++ tracker_index_location_flags,
++ self->cancellable,
++ photos_tracker_import_controller_index,
++ g_object_ref (file));
+ indexing = TRUE;
+ }
+ }
+@@ -291,28 +296,6 @@ photos_tracker_import_controller_source_active_changed (PhotosTrackerImportContr
+ {
+ g_return_if_fail (g_queue_is_empty (self->pending_directories));
+
+- if (G_LIKELY (self->manager != NULL))
+- {
+- g_autoptr (GFile) root = NULL;
+- g_autofree gchar *uri = NULL;
+-
+- root = g_mount_get_root (mount);
+- g_queue_push_tail (self->pending_directories, g_object_ref (root));
+-
+- uri = g_file_get_uri (root);
+- photos_debug (PHOTOS_DEBUG_IMPORT, "Enumerating device directory %s", uri);
+-
+- g_file_enumerate_children_async (root,
+- G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE","
+- G_FILE_ATTRIBUTE_STANDARD_NAME","
+- G_FILE_ATTRIBUTE_STANDARD_TYPE,
+- G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS,
+- G_PRIORITY_DEFAULT,
+- self->cancellable,
+- photos_tracker_import_controller_enumerate_children,
+- self);
+- }
+-
+ photos_tracker_controller_refresh_for_object (PHOTOS_TRACKER_CONTROLLER (self));
+ }
+ }
+@@ -379,7 +362,6 @@ photos_tracker_import_controller_dispose (GObject *object)
+
+ g_clear_object (&self->src_mngr);
+ g_clear_object (&self->offset_cntrlr);
+- g_clear_object (&self->manager);
+
+ G_OBJECT_CLASS (photos_tracker_import_controller_parent_class)->dispose (object);
+ }
+@@ -397,6 +379,37 @@ photos_tracker_import_controller_finalize (GObject *object)
+ }
+
+
++static TrackerMinerFilesIndex *
++photos_tracker_import_controller_get_miner_fs_control_proxy (GCancellable *cancellable)
++{
++ g_autoptr (PhotosTrackerQueue) tracker_queue = NULL;
++ const gchar *miner_fs_control_busname;
++ g_autoptr (GError) error = NULL;
++ TrackerMinerFilesIndex *miner_control_proxy;
++
++ tracker_queue = photos_tracker_queue_dup_singleton (cancellable, &error);
++
++ if (!tracker_queue) {
++ g_warning ("Error getting Tracker queue: %s. Import will not work.", error->message);
++ return NULL;
++ }
++
++ miner_fs_control_busname = photos_tracker_queue_get_miner_fs_control_busname (tracker_queue);
++ miner_control_proxy = tracker_miner_files_index_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION,
++ G_DBUS_PROXY_FLAGS_NONE,
++ miner_fs_control_busname,
++ "/org/freedesktop/Tracker3/Miner/Files/Control",
++ NULL,
++ &error);
++ if (!miner_control_proxy) {
++ g_warning ("Error getting Tracker Miner FS control proxy: %s. Import will not work", error->message);
++ return NULL;
++ }
++
++ return miner_control_proxy;
++}
++
++
+ static void
+ photos_tracker_import_controller_init (PhotosTrackerImportController *self)
+ {
+@@ -421,13 +434,7 @@ photos_tracker_import_controller_init (PhotosTrackerImportController *self)
+
+ self->offset_cntrlr = photos_offset_import_controller_dup_singleton ();
+
+- {
+- g_autoptr (GError) error = NULL;
+-
+- self->manager = tracker_miner_manager_new_full (FALSE, &error);
+- if (error != NULL)
+- g_warning ("Unable to create a TrackerMinerManager, indexing attached devices won't work: %s", error->message);
+- }
++ self->miner_control_proxy = photos_tracker_import_controller_get_miner_fs_control_proxy (NULL);
+ }
+
+
+diff --git a/src/photos-tracker-queue.c b/src/photos-tracker-queue.c
+index 6ac829cd..a5f4c91a 100644
+--- a/src/photos-tracker-queue.c
++++ b/src/photos-tracker-queue.c
+@@ -37,9 +37,20 @@ struct _PhotosTrackerQueue
+ GObject parent_instance;
+ GError *initialization_error;
+ GQueue *queue;
+- TrackerSparqlConnection *connection;
++ TrackerSparqlConnection *local_connection;
++ TrackerSparqlConnection *miner_fs_connection;
+ gboolean is_initialized;
+ gboolean running;
++ gboolean miner_fs_ready;
++ const gchar *miner_fs_busname;
++ const gchar *miner_fs_control_busname;
++};
++
++enum
++{
++ PROP_0,
++ PROP_MINER_FS_READY,
++ PROP_MINER_FS_BUSNAME
+ };
+
+ static void photos_tracker_queue_initable_iface_init (GInitableIface *iface);
+@@ -90,7 +101,6 @@ photos_tracker_queue_data_free (PhotosTrackerQueueData *data)
+
+ G_DEFINE_AUTOPTR_CLEANUP_FUNC (PhotosTrackerQueueData, photos_tracker_queue_data_free);
+
+-
+ static PhotosTrackerQueueData *
+ photos_tracker_queue_data_new (PhotosQuery *query,
+ PhotosTrackerQueryType query_type,
+@@ -179,7 +189,7 @@ photos_tracker_queue_check (PhotosTrackerQueue *self)
+ switch (data->query_type)
+ {
+ case PHOTOS_TRACKER_QUERY_SELECT:
+- tracker_sparql_connection_query_async (self->connection,
++ tracker_sparql_connection_query_async (self->local_connection,
+ sparql,
+ data->cancellable,
+ photos_tracker_queue_collector,
+@@ -187,18 +197,16 @@ photos_tracker_queue_check (PhotosTrackerQueue *self)
+ break;
+
+ case PHOTOS_TRACKER_QUERY_UPDATE:
+- tracker_sparql_connection_update_async (self->connection,
++ tracker_sparql_connection_update_async (self->local_connection,
+ sparql,
+- G_PRIORITY_DEFAULT,
+ data->cancellable,
+ photos_tracker_queue_collector,
+ g_object_ref (self));
+ break;
+
+ case PHOTOS_TRACKER_QUERY_UPDATE_BLANK:
+- tracker_sparql_connection_update_blank_async (self->connection,
++ tracker_sparql_connection_update_blank_async (self->local_connection,
+ sparql,
+- G_PRIORITY_DEFAULT,
+ data->cancellable,
+ photos_tracker_queue_collector,
+ g_object_ref (self));
+@@ -211,6 +219,53 @@ photos_tracker_queue_check (PhotosTrackerQueue *self)
+ }
+
+
++static gboolean
++photos_tracker_queue_start_session_miner_fs (PhotosTrackerQueue *self, GError **error)
++{
++ const gchar *busname = "org.freedesktop.Tracker3.Miner.Files";
++ const gchar *control_busname = "org.freedesktop.Tracker3.Miner.Files.Control";
++
++ photos_debug (PHOTOS_DEBUG_TRACKER, "Connecting to %s", busname);
++ self->miner_fs_connection = tracker_sparql_connection_bus_new (busname, NULL, NULL, error);
++ if (*error)
++ {
++ g_warning ("Unable to create connection for session-wide Tracker indexer at %s: %s", busname, (*error)->message);
++ return FALSE;
++ }
++
++ self->miner_fs_busname = busname;
++ self->miner_fs_control_busname = control_busname;
++
++ return TRUE;
++}
++
++
++static gboolean
++photos_tracker_queue_start_local_miner_fs (PhotosTrackerQueue *self, GError **error)
++{
++ const gchar *busname = "org.gnome.Photos.Tracker3.Miner.Files";
++ const gchar *control_busname = "org.gnome.Photos.Tracker3.Miner.Files.Control";
++
++ photos_debug (PHOTOS_DEBUG_TRACKER, "Connecting to %s", busname);
++ self->miner_fs_connection = tracker_sparql_connection_bus_new (busname, NULL, NULL, error);
++ if (*error)
++ {
++ g_critical ("Could not start local Tracker indexer at %s: %s", busname, (*error)->message);
++ return FALSE;
++ }
++
++ self->miner_fs_busname = busname;
++ self->miner_fs_control_busname = control_busname;
++
++ return TRUE;
++}
++
++static gboolean
++inside_flatpak (void)
++{
++ return g_file_test ("/.flatpak-info", G_FILE_TEST_EXISTS);
++}
++
+ static GObject *
+ photos_tracker_queue_constructor (GType type, guint n_construct_params, GObjectConstructParam *construct_params)
+ {
+@@ -234,7 +289,8 @@ photos_tracker_queue_dispose (GObject *object)
+ {
+ PhotosTrackerQueue *self = PHOTOS_TRACKER_QUEUE (object);
+
+- g_clear_object (&self->connection);
++ g_clear_object (&self->local_connection);
++ g_clear_object (&self->miner_fs_connection);
+
+ G_OBJECT_CLASS (photos_tracker_queue_parent_class)->dispose (object);
+ }
+@@ -258,6 +314,38 @@ photos_tracker_queue_init (PhotosTrackerQueue *self)
+ self->queue = g_queue_new ();
+ }
+
++static void
++photos_tracker_queue_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
++{
++ PhotosTrackerQueue *self = PHOTOS_TRACKER_QUEUE (object);
++
++ switch (prop_id)
++ {
++ case PROP_MINER_FS_READY:
++ g_value_set_boolean (value, self->miner_fs_ready);
++ break;
++
++ case PROP_MINER_FS_BUSNAME:
++ g_value_set_string (value, self->miner_fs_busname);
++ break;
++
++ default:
++ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
++ break;
++ }
++}
++
++static void
++photos_tracker_queue_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
++{
++ switch (prop_id)
++ {
++ /* All properties are read only */
++ default:
++ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
++ break;
++ }
++}
+
+ static void
+ photos_tracker_queue_class_init (PhotosTrackerQueueClass *class)
+@@ -267,6 +355,24 @@ photos_tracker_queue_class_init (PhotosTrackerQueueClass *class)
+ object_class->constructor = photos_tracker_queue_constructor;
+ object_class->dispose = photos_tracker_queue_dispose;
+ object_class->finalize = photos_tracker_queue_finalize;
++ object_class->get_property = photos_tracker_queue_get_property;
++ object_class->set_property = photos_tracker_queue_set_property;
++
++ g_object_class_install_property (object_class,
++ PROP_MINER_FS_READY,
++ g_param_spec_boolean ("tracker-miner-fs-ready",
++ "Tracker Miner FS ready",
++ "TRUE if it is possible to query Tracker indexer",
++ FALSE,
++ G_PARAM_READABLE));
++
++ g_object_class_install_property (object_class,
++ PROP_MINER_FS_BUSNAME,
++ g_param_spec_string ("tracker-miner-fs-busname",
++ "Tracker Miner FS busname",
++ "D-Bus name of the Tracker indexer daemon",
++ "",
++ G_PARAM_READABLE));
+ }
+
+
+@@ -274,13 +380,16 @@ static gboolean
+ photos_tracker_queue_initable_init (GInitable *initable, GCancellable *cancellable, GError **error)
+ {
+ PhotosTrackerQueue *self = PHOTOS_TRACKER_QUEUE (initable);
++ TrackerSparqlConnectionFlags tracker_flags;
++ g_autoptr (GFile) store = NULL;
+ gboolean ret_val = FALSE;
++ gboolean miner_ok = FALSE;
+
+ G_LOCK (init_lock);
+
+ if (self->is_initialized)
+ {
+- if (self->connection != NULL)
++ if (self->local_connection != NULL && self->miner_fs_connection != NULL)
+ ret_val = TRUE;
+ else
+ g_assert_nonnull (self->initialization_error);
+@@ -290,11 +399,49 @@ photos_tracker_queue_initable_init (GInitable *initable, GCancellable *cancellab
+
+ g_assert_no_error (self->initialization_error);
+
+- self->connection = tracker_sparql_connection_get (cancellable, &self->initialization_error);
++ /* Connect to the local database which stores user data.
++ *
++ * Same flags that tracker-miner-fs uses by default. See:
++ * https://gitlab.gnome.org/GNOME/tracker-miners/-/blob/master/src/miners/fs/tracker-main.c#L735 and
++ * https://gitlab.gnome.org/GNOME/tracker-miners/-/blob/master/data/org.freedesktop.Tracker.FTS.gschema.xml */
++ tracker_flags = TRACKER_SPARQL_CONNECTION_FLAGS_FTS_ENABLE_UNACCENT |
++ TRACKER_SPARQL_CONNECTION_FLAGS_FTS_ENABLE_STOP_WORDS |
++ TRACKER_SPARQL_CONNECTION_FLAGS_FTS_IGNORE_NUMBERS;
++
++ store = g_file_new_build_filename (g_get_user_data_dir (), "gnome-photos", NULL);
++
++ photos_debug (PHOTOS_DEBUG_TRACKER, "Opening local database at %s", g_file_peek_path (store));
++ self->local_connection = tracker_sparql_connection_new (tracker_flags,
++ store,
++ tracker_sparql_get_ontology_nepomuk (),
++ cancellable,
++ &self->initialization_error);
++
+ if (G_UNLIKELY (self->initialization_error != NULL))
+ goto out;
+
+- ret_val = TRUE;
++ /* Connect to filesystem indexer. */
++ miner_ok = photos_tracker_queue_start_session_miner_fs (self, &self->initialization_error);
++
++ if (!miner_ok && inside_flatpak ())
++ {
++ g_clear_error (&self->initialization_error);
++ miner_ok = photos_tracker_queue_start_local_miner_fs (self, &self->initialization_error);
++ }
++
++ if (miner_ok)
++ {
++ photos_debug (PHOTOS_DEBUG_TRACKER, "Using %s as tracker-miner-fs", self->miner_fs_busname);
++ ret_val = TRUE;
++ }
++ else
++ {
++ photos_debug (PHOTOS_DEBUG_TRACKER, "Initialization failed due to %s", self->initialization_error->message);
++ g_clear_object (&self->miner_fs_connection);
++ g_clear_object (&self->local_connection);
++ ret_val = FALSE;
++ }
++
+
+ out:
+ self->is_initialized = TRUE;
+@@ -319,10 +466,44 @@ photos_tracker_queue_initable_iface_init (GInitableIface *iface)
+ PhotosTrackerQueue *
+ photos_tracker_queue_dup_singleton (GCancellable *cancellable, GError **error)
+ {
++ GObject *singleton;
++
+ g_return_val_if_fail (cancellable == NULL || G_IS_CANCELLABLE (cancellable), NULL);
+ g_return_val_if_fail (error == NULL || *error == NULL, NULL);
+
+- return g_initable_new (PHOTOS_TYPE_TRACKER_QUEUE, cancellable, error, NULL);
++ singleton = g_object_new (PHOTOS_TYPE_TRACKER_QUEUE, NULL);
++
++ if (g_initable_init (G_INITABLE (singleton), cancellable, error))
++ return PHOTOS_TRACKER_QUEUE (singleton);
++
++ /* On error we deliberately don't unref the object so that we won't try
++ * and re-initialize Tracker when called again.
++ */
++ return NULL;
++}
++
++
++const gchar *
++photos_tracker_queue_get_miner_fs_busname (PhotosTrackerQueue *self)
++{
++ return self->miner_fs_busname;
++}
++
++
++const gchar *
++photos_tracker_queue_get_miner_fs_control_busname (PhotosTrackerQueue *self)
++{
++ return self->miner_fs_control_busname;
++}
++
++
++TrackerNotifier *
++photos_tracker_queue_get_notifier (PhotosTrackerQueue *self)
++{
++ /* We want notifications on filesystem changes, we don't need them for the
++ * local database which we manage ourselves.
++ */
++ return tracker_sparql_connection_create_notifier (self->miner_fs_connection);
+ }
+
+
+@@ -351,6 +532,7 @@ photos_tracker_queue_select (PhotosTrackerQueue *self,
+ }
+
+
++
+ void
+ photos_tracker_queue_update (PhotosTrackerQueue *self,
+ PhotosQuery *query,
+diff --git a/src/photos-tracker-queue.h b/src/photos-tracker-queue.h
+index 93d97306..6e31ecf6 100644
+--- a/src/photos-tracker-queue.h
++++ b/src/photos-tracker-queue.h
+@@ -24,16 +24,23 @@
+ #define PHOTOS_TRACKER_QUEUE_H
+
+ #include <gio/gio.h>
++#include <libtracker-sparql/tracker-sparql.h>
+
+ #include "photos-query.h"
+
+ G_BEGIN_DECLS
+
++#define TRACKER_PICTURES_GRAPH "http://tracker.api.gnome.org/ontology/v3/tracker#Pictures"
++
+ #define PHOTOS_TYPE_TRACKER_QUEUE (photos_tracker_queue_get_type ())
+ G_DECLARE_FINAL_TYPE (PhotosTrackerQueue, photos_tracker_queue, PHOTOS, TRACKER_QUEUE, GObject);
+
+ PhotosTrackerQueue *photos_tracker_queue_dup_singleton (GCancellable *cancellable, GError **error);
+
++const gchar * photos_tracker_queue_get_miner_fs_busname (PhotosTrackerQueue *self);
++const gchar * photos_tracker_queue_get_miner_fs_control_busname (PhotosTrackerQueue *self);
++TrackerNotifier * photos_tracker_queue_get_notifier (PhotosTrackerQueue *self);
++
+ void photos_tracker_queue_select (PhotosTrackerQueue *self,
+ PhotosQuery *query,
+ GCancellable *cancellable,
+diff --git a/src/photos-tracker-resources.xml b/src/photos-tracker-resources.xml
+deleted file mode 100644
+index 18177aa0..00000000
+--- a/src/photos-tracker-resources.xml
++++ /dev/null
+@@ -1,31 +0,0 @@
+-<!DOCTYPE node PUBLIC
+-"-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
+-"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
+-
+-<!--
+- Photos - access, organize and share your photos on GNOME
+- Copyright © 2012 – 2019 Red Hat, Inc.
+-
+- This program is free software: you can redistribute it and/or modify
+- it under the terms of the GNU General Public License as published by
+- the Free Software Foundation, either version 3 of the License, or
+- (at your option) any later version.
+-
+- This program is distributed in the hope that it will be useful,
+- but WITHOUT ANY WARRANTY; without even the implied warranty of
+- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- GNU General Public License for more details.
+-
+- You should have received a copy of the GNU General Public License
+- along with this program. If not, see <http://www.gnu.org/licenses/>.
+--->
+-
+-<node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
+- <interface name="org.freedesktop.Tracker1.Resources">
+- <signal name="GraphUpdated">
+- <arg name="className" type="s" />
+- <arg name="deleteEvents" type="a(iiii)" />
+- <arg name="insertEvents" type="a(iiii)" />
+- </signal>
+- </interface>
+-</node>
+diff --git a/src/photos-utils.c b/src/photos-utils.c
+index c638297b..cc8593d8 100644
+--- a/src/photos-utils.c
++++ b/src/photos-utils.c
+@@ -1261,7 +1261,13 @@ photos_utils_set_edited_name (const gchar *urn, const gchar *title)
+ g_autoptr (PhotosTrackerQueue) queue = NULL;
+ g_autofree gchar *sparql = NULL;
+
+- sparql = g_strdup_printf ("INSERT OR REPLACE { <%s> nie:title \"%s\" }", urn, title);
++ sparql = g_strdup_printf ("WITH tracker:Pictures "
++ "DELETE { <%s> nie:title ?title } "
++ "INSERT { "
++ " <%s> a nmm:Photo ; "
++ " nie:title \"%s\" . "
++ "}"
++ "WHERE { <%s> nie:title ?title }", urn, urn, title, urn);
+ query = photos_query_new (NULL, sparql);
+
+ {
+@@ -1289,9 +1295,19 @@ photos_utils_set_favorite (const gchar *urn, gboolean is_favorite)
+ g_autoptr (PhotosTrackerQueue) queue = NULL;
+ g_autofree gchar *sparql = NULL;
+
+- sparql = g_strdup_printf ("%s { <%s> nao:hasTag nao:predefined-tag-favorite }",
+- (is_favorite) ? "INSERT OR REPLACE" : "DELETE",
+- urn);
++ if (is_favorite)
++ sparql = g_strdup_printf ("INSERT DATA { "
++ " GRAPH tracker:Pictures {"
++ " <%s> a nmm:Photo ; "
++ " nao:hasTag nao:predefined-tag-favorite "
++ " } "
++ "}", urn);
++ else
++ sparql = g_strdup_printf ("DELETE DATA {"
++ " GRAPH tracker:Pictures {"
++ " <%s> nao:hasTag nao:predefined-tag-favorite "
++ " } "
++ "}", urn);
+ query = photos_query_new (NULL, sparql);
+
+ {
+diff --git a/src/photos-utils.h b/src/photos-utils.h
+index 78ec3668..f1450f7d 100644
+--- a/src/photos-utils.h
++++ b/src/photos-utils.h
+@@ -46,7 +46,7 @@ G_BEGIN_DECLS
+ #define PHOTOS_TRACKER_CONTROLLER_EXTENSION_POINT_NAME "photos-tracker-controller"
+
+ #define PHOTOS_COLLECTION_SCREENSHOT \
+- "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#image-category-screenshot"
++ "http://tracker.api.gnome.org/ontology/v3/nfo#image-category-screenshot"
+ #define PHOTOS_EXPORT_SUBPATH "Exports"
+
+ typedef enum
+diff --git a/src/queries/all.sparql.template b/src/queries/all.sparql.template
+index 1cef98e8..14e08027 100644
+--- a/src/queries/all.sparql.template
++++ b/src/queries/all.sparql.template
+@@ -1,30 +1,42 @@
+-SELECT {{projection}}
++SELECT {{final_projection}}
++FROM NAMED tracker:Pictures
+ {
+ {
+- SELECT {{projection}}
++ SELECT {{main_projection}}
+ {
+ {
+ SELECT ?urn COUNT(?item) AS ?count
+ {
++ {{values}}
++ VALUES (?file ?filename ?creator ?publisher) { ("" "" "" "") }
+ ?urn a nfo:DataContainer.
+- ?item a nmm:Photo; nie:isPartOf ?urn.
+- } GROUP BY ?urn
++ ?item a nmm:Photo ;
++ nie:isPartOf ?urn .
++ {{item_pattern}}
++ }
++ GROUP BY ?urn
+ }
+ FILTER (?count > 0 && {{collections_default_filter}} && {{search_filter}})
+ }
+- GROUP BY ?urn
+ }
+ UNION
+ {
+- SELECT {{projection}}
++ SELECT {{second_projection}}
+ {
+- ?urn a nmm:Photo .
+- OPTIONAL { ?urn nco:creator ?creator . }
+- OPTIONAL { ?urn nco:publisher ?publisher . }
+ {{item_pattern}}
+- FILTER ({{photos_default_filter}} && {{source_filter}} && {{search_filter}})
++ SERVICE <dbus:{{miner_fs_busname}}>
++ {
++ SELECT {{main_projection}}
++ {
++ {{values}}
++ ?urn a nmm:Photo ;
++ nie:isStoredAs ?file .
++ OPTIONAL { ?urn nco:creator ?creator . }
++ OPTIONAL { ?urn nco:publisher ?publisher . }
++ FILTER ({{photos_default_filter}} && {{source_filter}} && {{search_filter}})
++ }
++ }
+ }
+- GROUP BY ?urn
+ }
+ }
+ {{order}}
+diff --git a/src/queries/collections.sparql.template b/src/queries/collections.sparql.template
+index 20b35cd6..4dfb345a 100644
+--- a/src/queries/collections.sparql.template
++++ b/src/queries/collections.sparql.template
+@@ -1,14 +1,20 @@
+-SELECT {{projection}}
++SELECT {{final_projection}}
+ {
++ SELECT {{main_projection}}
+ {
+- SELECT ?urn COUNT(?item) AS ?count
+ {
+- ?urn a nfo:DataContainer.
+- ?item a nmm:Photo; nie:isPartOf ?urn.
+- } GROUP BY ?urn
++ SELECT ?urn COUNT(?item) AS ?count
++ {
++ {{values}}
++ VALUES (?file ?filename ?creator ?publisher) { ("" "" "" "") }
++ ?urn a nfo:DataContainer .
++ ?item a nmm:Photo ;
++ nie:isPartOf ?urn .
++ }
++ GROUP BY ?urn
++ }
++ FILTER (?count > 0 && {{collections_default_filter}} && {{search_filter}})
+ }
+- FILTER (?count > 0 && {{collections_default_filter}} && {{search_filter}})
+ }
+-GROUP BY ?urn
+ {{order}}
+ {{offset_limit}}
+diff --git a/src/queries/favorite-photos.sparql.template b/src/queries/favorite-photos.sparql.template
+index 0885a08a..9a0d7806 100644
+--- a/src/queries/favorite-photos.sparql.template
++++ b/src/queries/favorite-photos.sparql.template
+@@ -1,12 +1,20 @@
+-SELECT {{projection}}
++SELECT {{final_projection}}
++FROM tracker:Pictures
+ {
+ ?urn a nmm:Photo .
+ ?urn a nmm:Photo; nao:hasTag nao:predefined-tag-favorite .
+- OPTIONAL { ?urn nco:creator ?creator . }
+- OPTIONAL { ?urn nco:publisher ?publisher . }
+- {{item_pattern}}
+- FILTER ({{photos_default_filter}} && {{source_filter}} && {{search_filter}})
++ SERVICE <dbus:{{miner_fs_busname}}>
++ {
++ SELECT {{main_projection}}
++ {
++ ?urn a nmm:Photo ;
++ nie:isStoredAs ?file .
++ OPTIONAL { ?urn nco:creator ?creator . }
++ OPTIONAL { ?urn nco:publisher ?publisher . }
++ {{item_pattern}}
++ FILTER ({{photos_default_filter}} && {{source_filter}} && {{search_filter}})
++ }
++ }
+ }
+-GROUP BY ?urn
+ {{order}}
+ {{offset_limit}}
+diff --git a/src/queries/photos.sparql.template b/src/queries/photos.sparql.template
+index 4eb10b74..6ade35e2 100644
+--- a/src/queries/photos.sparql.template
++++ b/src/queries/photos.sparql.template
+@@ -1,11 +1,19 @@
+-SELECT {{projection}}
++SELECT {{final_projection}}
++FROM tracker:Pictures
+ {
+- ?urn a nmm:Photo .
+- OPTIONAL { ?urn nco:creator ?creator . }
+- OPTIONAL { ?urn nco:publisher ?publisher . }
+- {{item_pattern}}
+- FILTER ({{photos_default_filter}} && {{source_filter}} && {{search_filter}})
++ SERVICE <dbus:{{miner_fs_busname}}>
++ {
++ SELECT {{main_projection}}
++ {
++ {{values}}
++ ?urn a nmm:Photo ;
++ nie:isStoredAs ?file .
++ OPTIONAL { ?urn nco:creator ?creator . }
++ OPTIONAL { ?urn nco:publisher ?publisher . }
++ {{item_pattern}}
++ FILTER ({{photos_default_filter}} && {{source_filter}} && {{search_filter}})
++ }
++ }
+ }
+-GROUP BY ?urn
+ {{order}}
+ {{offset_limit}}
+--
+GitLab
+
diff --git a/srcpkgs/gnome-photos/template b/srcpkgs/gnome-photos/template
index 1ed8b9861ec..7c83a2e75d4 100644
--- a/srcpkgs/gnome-photos/template
+++ b/srcpkgs/gnome-photos/template
@@ -1,22 +1,23 @@
# 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
configure_args="-Ddogtail=false"
hostmakedepends="pkg-config gettext itstool glib-devel gdk-pixbuf librsvg"
makedepends="gtk+3-devel babl-devel exempi-devel lcms2-devel
- gfbgraph-devel tracker-devel libexif-devel librsvg-devel grilo-devel
+ gfbgraph-devel tracker3-devel libexif-devel librsvg-devel grilo-devel
libgexiv2-devel gnome-online-accounts-devel gnome-desktop-devel libgdata-devel
geocode-glib-devel libdazzle-devel gegl-devel"
-depends="desktop-file-utils tracker tracker-miners"
+depends="desktop-file-utils tracker3 tracker3-miners"
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
+patch_args="-Np1"
build_options="gir"
build_options_default="gir"
From 8a600fae3febac0d73a534dc7cbe2c668c35bcb7 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 077/104] eog: update to 3.38.0
---
srcpkgs/eog/template | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/srcpkgs/eog/template b/srcpkgs/eog/template
index e4cacb7079e..2759273872e 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.38.0
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=e1a3a47c38688cd538deda627c0eff113d05c316b1dde6243150437259d2d963
shlib_provides="libeog.so"
lib32disabled=yes
From 684561890c5b543b6eb882d1d348cda6bfb0c21c Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 078/104] evince: update to 3.38.0
---
srcpkgs/evince/template | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/srcpkgs/evince/template b/srcpkgs/evince/template
index 4035f15c690..0eb80750253 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.38.0
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=26df897a417545b476d2606b14731122e84278ae994bd64ea535449c3cf01948
build_options="gir"
build_options_default="gir"
From 891a45af547bec7160a637e73782ebbf35f840fb Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 079/104] file-roller: update to 3.38.0
---
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..f856c324229 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.38.0
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=723d1c6e567d35dad5eeeaeb86b8d18705658ee73e0b3b97ea16adc7a4dc331a
CFLAGS="-fcommon"
From a1d9c161c3f338eb82cd8d4f949d3761b6963b2b Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 13 Aug 2020 18:48:08 +0200
Subject: [PATCH 080/104] gnome-calendar: update to 3.38.0
---
srcpkgs/gnome-calendar/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/gnome-calendar/template b/srcpkgs/gnome-calendar/template
index 9c91c8b5f4d..d3c76b97f0d 100644
--- a/srcpkgs/gnome-calendar/template
+++ b/srcpkgs/gnome-calendar/template
@@ -1,6 +1,6 @@
# Template file for 'gnome-calendar'
pkgname=gnome-calendar
-version=3.36.2
+version=3.38.0
revision=1
build_style=meson
hostmakedepends="gettext glib-devel pkg-config $(vopt_if gir 'gobject-introspection')"
@@ -13,7 +13,7 @@ license="GPL-2.0-or-later"
homepage="https://wiki.gnome.org/Apps/Calendar"
changelog="https://gitlab.gnome.org/GNOME/gnome-calendar/raw/master/NEWS"
distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=d0b05345c0555a085e6e5426eab49494aba2826c856eb06fd7fdb762ec0c4c1f
+checksum=c3684252a72bb59089d071514458a4aeba417f9551ff5d548e1a5984e47b4733
build_options="gir"
build_options_default="gir"
From e8c83d7741b5397f65aca616efaa49e6a7c84780 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Fri, 14 Aug 2020 16:51:55 +0200
Subject: [PATCH 081/104] gnome-music: update to 3.38.0
---
srcpkgs/gnome-music/template | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/srcpkgs/gnome-music/template b/srcpkgs/gnome-music/template
index 12511736407..85a7561059e 100644
--- a/srcpkgs/gnome-music/template
+++ b/srcpkgs/gnome-music/template
@@ -1,19 +1,20 @@
# Template file for 'gnome-music'
pkgname=gnome-music
-version=3.36.1
+version=3.38.0
revision=1
build_helper="gir"
build_style=meson
hostmakedepends="gettext glib-devel itstool pkg-config"
makedepends="gnome-desktop-devel grilo-devel libmediaart-devel
- python3-gobject-devel python3-dbus tracker-devel gnome-online-accounts-devel
+ python3-gobject-devel python3-dbus tracker3-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"
+ tracker3 tracker3-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=370aa97ee4610d11b4b8f691e5c9ce30fa55665870bf6d5f2319658bdfacd705
lib32disabled=yes
From b15c26c71b857207f5e3e694e77e1d0fdec20310 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sat, 15 Aug 2020 00:15:50 +0200
Subject: [PATCH 082/104] gedit: update to 3.38.0
---
common/shlibs | 2 +-
srcpkgs/gedit/template | 21 ++++++++++-----------
2 files changed, 11 insertions(+), 12 deletions(-)
diff --git a/common/shlibs b/common/shlibs
index 33d2a35fa04..28c9cd39e2c 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..dc2de8b4c48 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.38.0
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=46cf06806de58f6e5e95e34fd98ad0b2c0c50b3dae6d23ca57d16d5cc41856f8
+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 8b33f002a30bd186d3867048a7761ae72a016271 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sat, 15 Aug 2020 00:18:49 +0200
Subject: [PATCH 083/104] gedit-plugins: update to 3.38.0
---
srcpkgs/gedit-plugins/template | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/srcpkgs/gedit-plugins/template b/srcpkgs/gedit-plugins/template
index f2f94e63f59..b7833db12de 100644
--- a/srcpkgs/gedit-plugins/template
+++ b/srcpkgs/gedit-plugins/template
@@ -1,11 +1,11 @@
# Template file for 'gedit-plugins'
pkgname=gedit-plugins
-version=3.36.2
+version=3.38.0
revision=1
build_style=meson
pycompile_dirs="usr/lib/gedit/plugins"
-hostmakedepends="gettext glib-devel itstool pkg-config vala appstream-glib python3-gobject
- gucharmap-devel vte3-devel"
+hostmakedepends="gettext glib-devel itstool pkg-config vala appstream-glib
+ python3-gobject gucharmap-devel vte3-devel"
makedepends="gedit-devel gtksourceview4-devel gtk+3-devel libgit2-glib-devel
libglib-devel libpeas-devel python-dbus-devel python3-devel zeitgeist-devel"
depends="python3-gobject gucharmap vte3"
@@ -14,5 +14,5 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
license="GPL-2.0-or-later"
homepage="https://wiki.gnome.org/action/show/Apps/Gedit/PluginsLists"
distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=1151b955393f75b5ee59b51154fda4f1928f498fe986a5584d3cd440876a6af6
+checksum=bda2bd5ad7ebdd535d1cc6c8700c295dec64b227c9173c0d2bae0067516259fb
python_version=3
From dfc399627b9a0ef37aa51c164cbff0e1350ed0db Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sat, 15 Aug 2020 00:33:49 +0200
Subject: [PATCH 084/104] gnome-latex: update to 3.38.0
---
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..83a16f9d4a2 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.38.0
+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=a82a9fc6f056929ea18d6dffd121e71b2c21768808c86ef1f34da0f86e220d77
build_options="gir"
build_options_default="gir"
From 8e662e741ea950047d6f87cad5a9b0282901721d Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sun, 16 Aug 2020 04:23:33 +0200
Subject: [PATCH 085/104] baobab: update to 3.38.0
---
srcpkgs/baobab/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/baobab/template b/srcpkgs/baobab/template
index a028be4cd5b..882155356a4 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.38.0
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=048468147860816b97f15d50b3c84e9acf0539c1441cfeb63703d112e8728329
From 6f313b9029796154427e11267f2e6c5b04e5c575 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sun, 16 Aug 2020 04:31:53 +0200
Subject: [PATCH 086/104] gnome-boxes: update to 3.38.0
---
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..e51d2d19a5d 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.38.0
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=696b599fc21af941975679205f2b129cffa03632c444810dd94b1409d041a38b
From c6acc55e754d2aa506819b09fa76fb712b470adb Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sun, 16 Aug 2020 04:35:24 +0200
Subject: [PATCH 087/104] gnome-calculator: update to 3.38.0
---
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..de81e48969e 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.38.0
+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=902e23ff550692b02459e14d6ebba8b670663a9f4af0d98ee52fadea895b57fe
From ee130b2d83c73cd0a3bb6228e943cac48e684734 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sun, 16 Aug 2020 04:44:58 +0200
Subject: [PATCH 088/104] gnome-disk-utility: update to 3.38.0
---
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..6ef7be6103e 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.38.0
+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=7734ce668d9ec31286abd7944f95190210288fbc54704f05bc55cbd0340b5223
lib32disabled=yes
From f5da77d06864488fcb006cc44ce71cb52ed0a72e Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sun, 16 Aug 2020 04:49:26 +0200
Subject: [PATCH 089/104] gnome-screenshot: update to 3.38.0
---
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..a39483bc437 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.38.0
+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=e556d3dd134d91344d2857c066434bfb64f7c85bdec7bc33739366b9bcd29fc0
From c29e6d347d1d7a829249c57f305621219fd30964 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sun, 16 Aug 2020 04:51:00 +0200
Subject: [PATCH 090/104] gnome-system-monitor: update to 3.38.0
---
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..506036687c4 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.38.0
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=73bf7ab4d5503c2567d76f831c9ae3fe27c31495761889ad3b351ef4c068aff4
From fa477af829cd2ce3c6f15bf0e201493b95157709 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sun, 16 Aug 2020 18:24:02 +0200
Subject: [PATCH 091/104] adwaita-icon-theme: update to 3.38.0, drop noarch
---
srcpkgs/adwaita-icon-theme/template | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/srcpkgs/adwaita-icon-theme/template b/srcpkgs/adwaita-icon-theme/template
index febd2915be6..8ddcde9b787 100644
--- a/srcpkgs/adwaita-icon-theme/template
+++ b/srcpkgs/adwaita-icon-theme/template
@@ -1,8 +1,7 @@
# Template file for 'adwaita-icon-theme'
pkgname=adwaita-icon-theme
-version=3.36.1
-revision=2
-archs=noarch
+version=3.38.0
+revision=1
build_style=gnu-configure
hostmakedepends="pkg-config"
depends="librsvg"
@@ -11,4 +10,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=6683a1aaf2430ccd9ea638dd4bfe1002bc92b412050c3dba20e480f979faaf97
From e73aab1bd3f42cfaa4d79def0f4e21e4e8e550aa Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sun, 16 Aug 2020 19:57:43 +0200
Subject: [PATCH 092/104] gnome-backgrounds: update to 3.38.0, drop noarch
---
srcpkgs/gnome-backgrounds/template | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/srcpkgs/gnome-backgrounds/template b/srcpkgs/gnome-backgrounds/template
index 0b1ee427353..0fac0bb3bee 100644
--- a/srcpkgs/gnome-backgrounds/template
+++ b/srcpkgs/gnome-backgrounds/template
@@ -1,8 +1,7 @@
# Template file for 'gnome-backgrounds'
pkgname=gnome-backgrounds
-version=3.36.0
-revision=2
-archs=noarch
+version=3.38.0
+revision=1
build_style=meson
hostmakedepends=gettext
short_desc="Set of background images for the GNOME Desktop"
@@ -10,4 +9,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=f7712a873a80c9a9fcf3952611effeb2d9aed23a3e8abfcda8afb15c427d1ee3
From f0382c0b7d969b83072383c676e820e15796a39a Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sun, 16 Aug 2020 21:23:24 +0200
Subject: [PATCH 093/104] simple-scan: update to 3.38.0
---
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..c617c9f15d3 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.38.0
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=4356affd035f01a57b182199effd9808700efccb498bdc8367bf09bce404c311
From 8b1f175b177af7c8cb98c95f88ef0a8813fa959d Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sun, 16 Aug 2020 21:20:58 +0200
Subject: [PATCH 094/104] rygel: update to 0.40.0
---
srcpkgs/rygel/template | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/srcpkgs/rygel/template b/srcpkgs/rygel/template
index d28dbc2ce08..65149751f5a 100644
--- a/srcpkgs/rygel/template
+++ b/srcpkgs/rygel/template
@@ -1,22 +1,22 @@
# Template file for 'rygel'
pkgname=rygel
-version=0.38.3
-revision=2
+version=0.40.0
+revision=1
build_style=meson
build_helper="gir"
configure_args="-Dexamples=false -Dtests=false
-Dsystemd-user-units-dir=none"
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"
+ gupnp-av-devel gupnp-dlna-devel tracker-devel tracker3-devel
+ libmediaart-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=d67ecc834ed060337e8fab8cb55a4f3d0c0cce4457e0cd307903a2539f6e2b77
conf_files="/etc/rygel.conf"
From 73c337e821d16c0bf1b1be53d4cb86f23f491460 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sun, 16 Aug 2020 05:23:38 +0200
Subject: [PATCH 095/104] gnome-builder: update to 3.38.0
---
.../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..ad2d4b6d03a 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.38.0
+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=d689538baf8efb1acf7ea607268b1aaa1418d5517d92d4f6946a3dbf814eae55
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 1ab0f7b79abaea4257cc22ec5fddd0eb6daffceb Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 17 Sep 2020 01:21:53 +0200
Subject: [PATCH 096/104] retro-gtk: update to 1.0.0
---
common/shlibs | 2 +-
srcpkgs/retro-gtk/template | 12 +++++++++---
2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/common/shlibs b/common/shlibs
index 28c9cd39e2c..8dee21c9db3 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3574,7 +3574,7 @@ libwlroots.so.6 wlroots-0.11.0_1
libbaseencode.so.1 libbaseencode-1.0.9_1
libcotp.so.12 libcotp-1.2.1_1
libunarr.so.1 libunarr-1.0.1_1
-libretro-gtk-0.14.so.0 retro-gtk-0.16.0_1
+libretro-gtk-1.so.0 retro-gtk-1.0.0_1
libmanette-0.2.so.0 libmanette-0.2.1_1
libfmt.so.6 fmt-5.2.1_1
libelementary-calendar.so.0 libio.elementary.calendar-4.2.3_1
diff --git a/srcpkgs/retro-gtk/template b/srcpkgs/retro-gtk/template
index da0aeccd243..04ad9cf051b 100644
--- a/srcpkgs/retro-gtk/template
+++ b/srcpkgs/retro-gtk/template
@@ -1,22 +1,28 @@
# Template file for 'retro-gtk'
pkgname=retro-gtk
-version=0.18.0
+version=1.0.0
revision=1
build_style=meson
build_helper="gir"
configure_args="$(vopt_bool gir introspection)"
hostmakedepends="glib-devel pkg-config vala"
-makedepends="gtk+3-devel libepoxy-devel libglib-devel pulseaudio-devel"
+makedepends="gtk+3-devel libepoxy-devel libglib-devel pulseaudio-devel
+ libsamplerate-devel"
short_desc="GTK+ Libretro frontend framework"
maintainer="Enno Boland <gottox@voidlinux.org>"
license="GPL-3.0-or-later"
homepage="https://gitlab.gnome.org/GNOME/retro-gtk"
distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=cedb881174c42e88954eecb5dfac78954a1981aaeebdc8918c8861c6c08a4512
+checksum=5c7437a768125a6f627d063ed890e9328d4108db52a6d5aa10e52d2f25bb88db
build_options="gir"
build_options_default="gir"
+# needs X
+do_check() {
+ :
+}
+
retro-gtk-devel_package() {
depends="libglib-devel ${sourcepkg}>=${version}_${revision}"
short_desc+=" - development files"
From 52340655e28300ea2ac8710d87fed98d3430c3c1 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 17 Sep 2020 01:26:01 +0200
Subject: [PATCH 097/104] gnome-games: update to 3.38.0
---
srcpkgs/gnome-games/template | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/srcpkgs/gnome-games/template b/srcpkgs/gnome-games/template
index 2731df0f6d9..58f31156d06 100644
--- a/srcpkgs/gnome-games/template
+++ b/srcpkgs/gnome-games/template
@@ -1,15 +1,15 @@
# Template file for 'gnome-games'
pkgname=gnome-games
-version=3.34.0
+version=3.38.0
revision=1
build_style=meson
hostmakedepends="gettext glib-devel pkg-config vala-devel"
makedepends="libarchive-devel grilo-devel gtk+3-devel libglib-devel
libmanette-devel librsvg-devel libsoup-devel libxml2-devel retro-gtk-devel
- sqlite-devel tracker-devel libhandy-devel"
+ sqlite-devel tracker-devel libhandy1-devel"
short_desc="Browse and play your games"
maintainer="Enno Boland <gottox@voidlinux.org>"
license="GPL-3.0-or-later"
homepage="https://wiki.gnome.org/Apps/Games"
distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=0fd7246d61ce21c0fc121c5488051a5866c19de2c2835ad7fe4b18c06627dcba
+checksum=5c868fd6eb0b8d23b995039633043e90d8d93856d315832de3a315d7b1e54e48
From 398879c68b8552dfd1f97f09891a00b21611d570 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Fri, 14 Aug 2020 23:22:34 +0200
Subject: [PATCH 098/104] 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 8dee21c9db3..0618868508a 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 b1f35f09d43d2719cf077420a907c43b06eba8ec Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Fri, 14 Aug 2020 23:24:51 +0200
Subject: [PATCH 099/104] 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 b0f8dccfdd8bc2ab592aaad923a79140876a73a9 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Fri, 14 Aug 2020 23:40:34 +0200
Subject: [PATCH 100/104] 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 02bc647c99e0943352b300fe55e0387ec0b1fe5b Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sun, 16 Aug 2020 21:05:11 +0200
Subject: [PATCH 101/104] 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 5c99e3cdb847a567ec7d62d75fc01d828e80b812 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Tue, 18 Aug 2020 05:35:06 +0200
Subject: [PATCH 102/104] budgie-desktop: rebuild for mutter-7
[ci skip]
---
.../budgie-desktop/patches/appsys-build.patch | 11 +
.../budgie-desktop/patches/gnome-338.patch | 13472 ++++++++++++++++
srcpkgs/budgie-desktop/template | 2 +-
3 files changed, 13484 insertions(+), 1 deletion(-)
create mode 100644 srcpkgs/budgie-desktop/patches/appsys-build.patch
create mode 100644 srcpkgs/budgie-desktop/patches/gnome-338.patch
diff --git a/srcpkgs/budgie-desktop/patches/appsys-build.patch b/srcpkgs/budgie-desktop/patches/appsys-build.patch
new file mode 100644
index 00000000000..b6625f046de
--- /dev/null
+++ b/srcpkgs/budgie-desktop/patches/appsys-build.patch
@@ -0,0 +1,11 @@
+--- src/appsys/AppSystem.vala
++++ src/appsys/AppSystem.vala
+@@ -70,7 +70,7 @@ public class AppSystem : GLib.Object
+ }
+
+ private void signal_received(GLib.DBusConnection connection,
+- string sender,
++ string? sender,
+ string object_path,
+ string interface_name,
+ string signal_name,
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"
From 17ef4c9601c7069ae73c1f28ba3b54de096f176e Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 17 Sep 2020 06:23:59 +0200
Subject: [PATCH 103/104] New package: gnome-core-3.36.0
---
srcpkgs/gnome-core/template | 54 +++++++++++++++++++++++++++++++++++++
1 file changed, 54 insertions(+)
create mode 100644 srcpkgs/gnome-core/template
diff --git a/srcpkgs/gnome-core/template b/srcpkgs/gnome-core/template
new file mode 100644
index 00000000000..037497ccb55
--- /dev/null
+++ b/srcpkgs/gnome-core/template
@@ -0,0 +1,54 @@
+# Template file for 'gnome-core'
+pkgname=gnome-core
+version=3.38.0
+revision=1
+build_style=meta
+short_desc="GNOME meta-package for Void Linux - core components"
+maintainer="q66 <daniel@octaforge.org>"
+license="GPL-2.0-only, LGPL-2.0-only"
+homepage="https://www.gnome.org"
+
+depends="
+ adwaita-icon-theme>=3.38.0
+ at-spi2-core>=2.38.0
+ at-spi2-atk>=2.38.0
+ cantarell-fonts>=0.201
+ caribou>=0.4.21
+ dconf>=0.36.0
+ evolution-data-server>=3.38.0
+ folks>=0.14.0
+ font-adobe-source-code-pro>=2.030R
+ gcr>=3.36.0
+ gdm>=3.38.0
+ geocode-glib>=3.26.0
+ gfbgraph>=0.2.4
+ gjs>=1.66.0
+ glib>=2.66.0
+ glib-networking>=2.66.0
+ gmime3>=3.2.7
+ gnome-backgrounds>=3.38.0
+ gnome-bluetooth>=3.34.1
+ gnome-color-manager>=3.36.0
+ gnome-control-center>=3.38.0
+ gnome-desktop>=3.38.0
+ gnome-getting-started-docs>=3.36.2
+ gnome-initial-setup>=3.38.0
+ gnome-keyring>=3.36.0
+ gnome-online-accounts>=3.37.90
+ gnome-online-miners>=3.34.0
+ gnome-session>=3.38.0
+ gnome-settings-daemon>=3.38.0
+ gnome-shell>=3.38.0
+ gnome-shell-extensions>=3.38.0
+ gnome-themes-standard>=3.28
+ gnome-user-docs>=3.38.0
+ gnome-video-effects>=0.5.0
+ gsettings-desktop-schemas>=3.38.0
+ gvfs>=1.46.0
+ mutter>=3.38.0
+ nautilus>=3.38.0
+ sushi>=3.34.0
+ tracker3>=3.0.0
+ yelp>=3.38.0
+ xdg-desktop-portal-gtk>=1.8.0
+ zenity>=3.32.0"
From d93968620f2a5f4aa33de95e6fe320aff5f91de1 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 17 Sep 2020 06:24:06 +0200
Subject: [PATCH 104/104] gnome: update to 3.38.0
[ci skip]
---
srcpkgs/gnome/template | 241 ++++++++++++++---------------------------
1 file changed, 79 insertions(+), 162 deletions(-)
diff --git a/srcpkgs/gnome/template b/srcpkgs/gnome/template
index 9e7b6c21336..83cfcf4512a 100644
--- a/srcpkgs/gnome/template
+++ b/srcpkgs/gnome/template
@@ -1,181 +1,98 @@
# Template file for 'gnome'
pkgname=gnome
-version=3.32.0
-revision=3
+version=3.38.0
+revision=1
build_style=meta
short_desc="GNOME meta-package for Void Linux"
maintainer="Enno Boland <gottox@voidlinux.org>"
license="GPL-2.0-only, LGPL-2.0-only"
homepage="https://www.gnome.org"
-depends="NetworkManager>=1.14.0_1
- adwaita-icon-theme>=3.32.0
- at-spi2-atk>=2.32.0
- at-spi2-core>=2.32.0
- atk>=2.32.0
- atkmm>=2.24.2
- cairomm>=1.12.2_2
- cantarell-fonts>=0.0.25
- caribou>=0.4.21
- chrome-gnome-shell>=10.0.0
- clutter>=1.26.2
- clutter-gst3>=3.0.24
- clutter-gtk>=1.8.4
- cogl>=1.22.2
- dconf>=0.30.0
- eog>=3.32.0
- evince>=3.32.0
- evolution-data-server>=3.32.0
- file-roller>=3.32.0
- folks>=0.11.4
- font-adobe-source-code-pro>=2.030R
- gcab>=0.7
- gcr>=3.28.0
- gdk-pixbuf>=2.38.0
- gdm>=3.32.0
- geocode-glib>=3.26.0_1
- gfbgraph>=0.2.3
- gjs>=1.56.0
- glib>=2.60.0
- glib-networking>=2.60.0
- glibmm>=2.60.0
- gmime>=2.6.23
- gnome-backgrounds>=3.32.0
- gnome-bluetooth>=3.32.0
- gnome-color-manager>=3.32.0
- gnome-control-center>=3.32.0
- gnome-desktop>=3.32.0
- gnome-getting-started-docs>=3.32.0
- gnome-initial-setup>=3.32.0
- gnome-keyring>=3.28.1
- gnome-online-accounts>=3.32.0
- gnome-online-miners>=3.30.0
- gnome-session>=3.32.0
- gnome-settings-daemon>=3.32.0
- gnome-shell>=3.32.0
- gnome-shell-extensions>=3.32.0
- gnome-themes-standard>=3.22.3
- gnome-tweaks>=3.32.0
- gnome-user-docs>=3.32.0
- gnome-video-effects>=0.4.3
- gobject-introspection>=1.60.0
- gom>=0.3.2_1
- grilo>=0.3.4
- grilo-plugins>=0.3.5
- gsettings-desktop-schemas>=3.32.0
+depends="
+ gnome-core>=${version}
+ baobab>=3.38.0
+ cheese>=3.38.0
+ eog>=3.38.0
+ evince>=3.38.0
+ file-roller>=3.38.0
+ gedit>=3.38.0
+ gnome-calculator>=3.38.0
+ gnome-calendar>=3.38.0
+ gnome-characters>=3.34.0
+ gnome-clocks>=3.38.0
+ gnome-contacts>=3.37.2
+ gnome-disk-utility>=3.38.0
+ gnome-font-viewer>=3.34.0
+ gnome-maps>=3.38.0
+ gnome-music>=3.38.0
+ gnome-screenshot>=3.38.0
+ gnome-system-monitor>=3.38.0
+ gnome-terminal>=3.38.0
+ gnome-tweaks>=3.34.0
+ gnome-weather>=3.36.1
gsound>=1.0.2
- gspell>=1.8.0
- gssdp>=1.0.2
- gtk+3>=3.24.0
- gtkmm>=3.22.1
- gtksourceview>=3.24.4
- gupnp>=1.0.2
- gupnp-av>=0.12.10
- gupnp-dlna>=0.10.5
- gupnp-igd>=0.2.4
- gvfs>=1.40.0
- json-glib>=1.4.2
- libcroco>=0.6.12
- libgdata>=0.16.1_2
- libgee08>=0.20.0
- libgepub>=0.4_1
- libgnomekbd>=3.26.0
- libgsf>=1.14.41
- libgtop>=2.40.0
- libgweather>=3.32.0
- libgxps>=0.2.5_1
- libmediaart>=1.9.4
- libnotify>=0.7.6_4
- libpeas>=1.22.0
- librsvg>=2.44.0
- libsecret>=0.18.5
- libsigc++>=2.10.0
- libsoup>=2.60.0
- libxml2>=2.6.30
- libxslt>=1.1.22
- libzapojit>=0.0.3
- mm-common>=0.9.10_2
- mousetweaks>=3.12.0
- mutter>=3.32.0
- nautilus>=3.32.0
+ gspell>=1.8.3
+ mousetweaks>=3.32.0
network-manager-applet>=1.8.2
- orca>=3.32.0
- pango>=1.42.0
- pangomm>=2.40.1
- phodav>=2.2
- python-atspi>=2.26.0
- python-gobject>=3.26.0
- rest>=0.8.0
- tracker>=2.0.0
- vala>=0.44.0
- vte3>=0.54.0
- yelp>=3.32.0
- yelp-tools>=3.32.0
- yelp-xsl>=3.32.0
- zenity>=3.32.0"
+ orca>=3.38.0
+ phodav>=2.5
+ simple-scan>=3.38.0
+ totem>=3.38.0
+ yelp-tools>=3.38.0"
-_apps_depends="baobab>=3.32.0
- cheese>=3.32.0
- dconf-editor>=3.32.0
- devhelp>=3.32.0
- epiphany>=3.32.0
- evolution>=3.32.0
- ghex>=3.18.3
- gitg>=3.26.0
- gedit>=3.32.0
- gedit-plugins>=3.32.0
- gnome-boxes>=3.32.0
- gnome-builder>=3.32.0
- gnome-calculator>=3.32.0
- gnome-calendar>=3.32.0
- gnome-characters>=3.32.0
- gnome-clocks>=3.32.0
- gnome-dictionary>=3.26.0
- gnome-disk-utility>=3.32.0
- gnome-documents>=3.32.0
- gnome-font-viewer>=3.32.0
- gnome-maps>=3.32.0
- gnome-music>=3.32.0
+_apps_depends="
+ dconf-editor>=3.38.0
+ devhelp>=3.38.0
+ epiphany>=3.38.0
+ evolution>=3.38.0
+ ghex>=3.18.4
+ gitg>=3.32.1
+ gedit-plugins>=3.38.0
+ gnome-boxes>=3.38.0
+ gnome-builder>=3.38.0
+ gnome-calculator>=3.38.0
+ gnome-calendar>=3.38.0
+ gnome-characters>=3.34.0
+ gnome-clocks>=3.38.0
+ gnome-dictionary>=3.26.1
+ gnome-disk-utility>=3.38.0
+ gnome-documents>=3.34.0
+ gnome-font-viewer>=3.34.0
+ gnome-maps>=3.38.0
+ gnome-music>=3.38.0
gnome-nettool>=3.8.1
- gnome-photos>=3.32.0
- gnome-recipes>=2.0.0
- gnome-screenshot>=3.32.0
- gnome-sound-recorder>=3.32.0
- gnome-system-monitor>=3.32.0
- gnome-terminal>=3.32.0
- gnome-tweaks>=3.32.0
- gtk-vnc>=0.6.0_2
- libchamplain>=0.12.16
- nautilus-sendto>=3.8.0
+ gnome-photos>=3.37.91.1
+ gnome-recipes>=2.0.2
+ gnome-screenshot>=3.38.0
+ gnome-sound-recorder>=3.34.0
+ gnome-system-monitor>=3.38.0
+ gnome-terminal>=3.38.0
nemiver>=0.9.6
- polari>=3.32.0
- rygel>=0.36.0
- simple-scan>=3.32.0
- sushi>=3.32.0
- totem>=3.32.0
- totem-pl-parser>=3.26.0
+ polari>=3.37.3
+ rygel>=0.40.0
+ simple-scan>=3.38.0
+ totem>=3.38.0
vino>=3.22.0"
_games_collection_depends="
- aisleriot>=3.22.3
- five-or-more>=3.32.0
- four-in-a-row>=3.32.0
- gnome-2048>=3.32.0
- gnome-chess>=3.32.0
- gnome-klotski>=3.32.0
- gnome-mahjongg>=3.32.0
- gnome-mines>=3.32.0
- gnome-nibbles>=3.24.0
- gnome-robots>=3.32.0
- gnome-sudoku>=3.32.0
- gnome-tetravex>=3.32.0
- hitori>=3.22.4
- iagno>=3.32.0
- lightsoff>=3.26.0
- quadrapassel>=3.32.0
- swell-foop>=3.26.0
- tali>=3.32.0
-"
+ aisleriot>=3.22.12
+ five-or-more>=3.32.2
+ four-in-a-row>=3.36.4
+ gnome-2048>=3.36.4
+ gnome-chess>=3.36.1
+ gnome-klotski>=3.36.3
+ gnome-mahjongg>=3.36.2
+ gnome-mines>=3.36.1
+ gnome-nibbles>=3.26.1
+ gnome-robots>=3.36.1
+ gnome-sudoku>=3.36.0
+ gnome-tetravex>=3.36.4
+ hitori>=3.38.0
+ iagno>=3.36.4
+ lightsoff>=3.36.0
+ quadrapassel>=3.36.05
+ swell-foop>=3.34.1
+ tali>=3.36.4"
gnome-apps_package() {
depends="$_apps_depends"
next prev parent reply other threads:[~2020-09-17 4:32 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
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 ` q66 [this message]
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=20200917043253.3Hz1XZl-2uL4HIazzrv9AV8YRyEvvJYTRNvqWTO_yEw@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).