--- /dev/null
+Mutter Compositor
+===================
+
+Mutter includes a compositor based on Clutter. Mutter by default adds
+very simple effects using the compositor, such as a drop-shadow. The
+compositor may be used by plugins to add more effects. GNOME Shell is
+an example of one such plugin.
+
+The compositor can be enabled on the fly by setting the gconf key
+/apps/mutter/general/compositing_manager to true by using
+gconf-editor or gconftool-2.
+
+Before enabling the compositor, you need to make sure your X server
+configuration has the composite extension, as well as DRI loaded and
+enabled.
+
+ -- Gustavo Noronha Silva <kov@debian.org>, Sun, 26 Jul 2009 13:14:57 +0200
--- /dev/null
+mutter (3.28.2-3) unstable; urgency=medium
+
+ * Team upload
+ * d/p/backends-Move-MetaOutput-crtc-field-into-private-struct.patch,
+ d/p/backends-Add-logical-monitor-monitor-output-crtc-ref-chai.patch:
+ Mark as applied upstream
+ * d/p/backends-Move-MetaOutput-crtc-field-into-private-struct.patch:
+ Update to the version that was applied upstream
+ * d/p/frames-Handle-touch-events.patch,
+ d/p/frames-Make-1st-button-motion-handlers-take-generic-event.patch,
+ d/p/frames-Allow-for-unknown-mouse-buttons.patch:
+ Reinstate patches dropped in previous upload, along with the
+ upstream fix for #899181
+ * d/p/wayland-Compare-geometries-after-chaining-up.patch,
+ d/p/window-actor-add-new-signal-effects-completed.patch,
+ d/p/wayland-update-enter-leave-output-after-effects.patch,
+ d/p/frames-Allow-for-unknown-mouse-buttons.patch,
+ d/p/wayland-Don-t-reset-input-focus-on-text-commit.patch,
+ d/p/clutter-seat-evdev-Add-function-to-get-device-by-id.patch,
+ d/p/clutter-device-evdev-Get-devices-from-main-seat-if-no-rea.patch,
+ d/p/device-manager-evdev-Set-and-unset-the-stage-for-the-main.patch,
+ d/p/device-manager-evdev-Free-the-main-seat-on-finalize.patch,
+ d/p/device-manager-evdev-Add-main-seat-to-seats-by-default.patch,
+ d/p/renderer-native-Don-t-crash-if-the-FB-surface-can-t-be-lo.patch:
+ Update to upstream gnome-3-28 branch
+ * Add a symbols file for libmutter-2-0
+ * d/copyright: Copy many licenses and copyright holders into this file,
+ multiplying its length by 5 (Closes: #891156)
+
+ -- Simon McVittie <smcv@debian.org> Sun, 08 Jul 2018 11:32:56 +0100
+
+mutter (3.28.2-2) unstable; urgency=medium
+
+ * Team upload
+ * d/p/frames-Handle-touch-events.patch,
+ d/p/frames-Make-1st-button-motion-handlers-take-generic-event.patch:
+ Drop cherry-picked patches that caused a regression (Closes: #899181)
+
+ -- Simon McVittie <smcv@debian.org> Sun, 20 May 2018 15:21:35 +0100
+
+mutter (3.28.2-1) unstable; urgency=medium
+
+ * Team upload
+ * New upstream release
+ * d/p/theme-frames-Use-surface-device-scale-instead-of-cairo_sc.patch,
+ d/p/xwayland-Don-t-abort-if-Xwayland-crashes.patch,
+ d/p/xwayland-use-g_autoptr-for-GError-in-xserver_died.patch:
+ Drop patches that were applied upstream
+ * d/p/debian/synaptics-support.patch,
+ d/p/debian/skip-failing-tests.patch,
+ d/p/debian/skip-failing-tests-325.patch:
+ Move patches not expected to be applied upstream to
+ debian/patches/debian
+ * Re-order patch series so most-upstreamable patches are first
+ * d/p/clutter-evdev-Don-t-ignore-CAPS-lock-as-modifier.patch,
+ d/p/clutter-evdev-ignore-injected-events-from-IM.patch,
+ d/p/frames-Handle-touch-events.patch,
+ d/p/frames-Make-1st-button-motion-handlers-take-generic-event.patch,
+ d/p/wayland-Use-cursor-position-in-logical-monitor.patch:
+ Add post-release fixes from upstream 3.28 branch
+
+ -- Simon McVittie <smcv@debian.org> Thu, 17 May 2018 10:37:25 +0100
+
+mutter (3.28.1-2) unstable; urgency=medium
+
+ * Add xwayland-use-g_autoptr-for-GError-in-xserver_died.patch,
+ xwayland-Don-t-abort-if-Xwayland-crashes.patch:
+ - Cherry picked from upstream, to reduce noise of mutter on crashes
+ which are actually caused by XWayland (LP: #1748450)
+
+ -- Marco Trevisan (Treviño) <marco@ubuntu.com> Mon, 23 Apr 2018 10:46:57 -0500
+
+mutter (3.28.1-1) unstable; urgency=medium
+
+ [ Jeremy Bicha ]
+ * New upstream release
+ - Fix window button spacing when display is scaled (LP: #1725133)
+ * Bump Standards-Version to 4.1.4
+
+ [ Marco Trevisan (Treviño) ]
+ * Add patches proposed upstream:
+ * theme-frames-Use-surface-device-scale-instead-of-cairo_sc.patch:
+ - theme, frames: Use surface device scale instead of cairo_scale
+ (LP: #1764554)
+ * theme-use-gtk_render_icon_suface-to-paint-button-icon.patch:
+ - theme: use gtk_render_icon_suface to paint button icon
+ (LP: #1764558)
+ * theme-load-icons-as-Gtk-does-with-fallback-and-RTL-suppor.patch:
+ - theme: load icons as Gtk does with fallback and RTL support
+ * clutter-Smooth-out-master-clock-to-smooth-visuals.patch:
+ - clutter: Smooth out master clock to smooth visuals
+ * core-Return-1-if-meta_window_get_monitor-is-called-on-an-.patch:
+ - core: Return -1 if meta_window_get_monitor is called on an
+ unmanaged window (LP: #1724439)
+ * backends-Move-MetaOutput-crtc-field-into-private-struct.patch:
+ - backends: Move MetaOutput::crtc field into private struct
+ (LP: #1703668)
+ * backends-Add-logical-monitor-monitor-output-crtc-ref-chai.patch:
+ - backends: Add logical monitor -> monitor -> output -> crtc ref
+ chain (LP: #1703668)
+
+ -- Jeremy Bicha <jbicha@debian.org> Mon, 16 Apr 2018 22:35:14 -0400
+
+mutter (3.28.0-2) unstable; urgency=medium
+
+ [ Simon McVittie ]
+ * Update Vcs-* for migration from Alioth svn to salsa.debian.org git
+ * debian/gbp.conf: Add
+ * Refresh patch series with gbp pq
+
+ [ Daniel van Vugt ]
+ * Add synaptics-support.patch
+ - Allow touchpad settings to work with xserver-xorg-input-synaptics.
+ Note that this is unneeded on GNOME on Wayland where libinput is
+ always used. (LP: #1686081)
+
+ [ Jeremy Bicha ]
+ * Bump debhelper compat to 11
+
+ -- Jeremy Bicha <jbicha@debian.org> Sun, 18 Mar 2018 20:11:29 -0400
+
+mutter (3.28.0-1) unstable; urgency=high
+
+ * New upstream release
+ - Fix crashes when launching apps from apps in GNOME on Wayland
+ (LP: #1754169)
+ * Bump urgency for this targeted fix
+
+ -- Jeremy Bicha <jbicha@debian.org> Mon, 12 Mar 2018 18:04:54 -0400
+
+mutter (3.27.92-2) unstable; urgency=medium
+
+ [ Simon McVittie ]
+ * Build-depend on libgnome-desktop-3-dev (>= 3.27.90) to carry out
+ libgnome-desktop-3-17 transition
+
+ [ Jeremy Bicha ]
+ * Release to unstable
+
+ -- Jeremy Bicha <jbicha@debian.org> Sat, 10 Mar 2018 19:34:02 -0500
+
+mutter (3.27.92-1) experimental; urgency=medium
+
+ * New upstream release candidate (LP: #1752123, LP: #1718238)
+ * Bump minimum wayland-protocols to 1.12
+ * Drop bump-api.patch: Applied in new release
+
+ -- Jeremy Bicha <jbicha@debian.org> Mon, 05 Mar 2018 20:38:24 -0500
+
+mutter (3.27.91-1) experimental; urgency=medium
+
+ * New upstream development release (LP: #1751070)
+ * Bump minimum libgbm-dev to 17.1 and libdrm-dev to 2.4.83
+ * Build-Depend on libcogl-dev (needed for build but shouldn't be…)
+ * Cherry-pick bump-api.patch
+ * Update package names for soname bump
+
+ -- Jeremy Bicha <jbicha@debian.org> Thu, 22 Feb 2018 08:54:47 -0500
+
+mutter (3.26.2-1) unstable; urgency=medium
+
+ [ Jeremy Bicha ]
+ * New upstream release
+ * Drop all cherry-picked patches, applied in new release
+
+ [ Simon McVittie ]
+ * d/changelog: Retroactively add a reference from 3.26.1-2 to #878353
+ * d/p/*.patch: Add metadata to mark remaining patches as Debian-specific
+
+ -- Jeremy Bicha <jbicha@debian.org> Sun, 05 Nov 2017 13:03:02 -0500
+
+mutter (3.26.1-6) unstable; urgency=high
+
+ * debian/control.in: Bump libegl1-mesa-dev to (>= 17) (Closes: #878702)
+ * Cherry-pick more fixes from gnome-3-26 branch to fix crashes
+ and fix unredirecting full-screen windows:
+ - 0012-x11-window-Don-t-manage-InputOnly-windows.patch
+ - 0013-compositor-Ignore-offscreen-windows.patch
+ (LP: #1725821)
+ - 0015-monitor-normal-Prefer-modes-with-same-flags.patch
+ - 0016-monitor-unit-tests-Check-non-first-preferred-modes.patch
+ (LP: #1725153)
+ - 0017-compositor-Avoid-a-crash-if-top-window-finalized.patch
+ - 0018-Revert-ClutterActor-Optimize-away-idempotent-scale.patch
+ - 0019-Revert-tests-Fix-actor-anchors-test.patch
+ (Closes: #788140)
+ * Set urgency to high to not further delay the gjs/mutter transition
+
+ -- Jeremy Bicha <jbicha@debian.org> Sat, 21 Oct 2017 19:47:22 -0400
+
+mutter (3.26.1-5) unstable; urgency=medium
+
+ * Add 0012-Use-a-single-supported-scales.patch:
+ - Allow HiDPI scaling even when non-HiDPI displays are connected
+ (LP: #1724024)
+
+ -- Jeremy Bicha <jbicha@debian.org> Mon, 16 Oct 2017 20:17:15 -0400
+
+mutter (3.26.1-4) unstable; urgency=medium
+
+ * Release to unstable
+
+ -- Jeremy Bicha <jbicha@debian.org> Fri, 13 Oct 2017 16:24:12 -0400
+
+mutter (3.26.1-3) experimental; urgency=medium
+
+ * Cherry-pick more fixes from gnome-3-26 branch (LP: #1722811):
+ - 0001-wayland-dma-buf-Don-t-send-modifiers-to-old-clients.patch
+ - 0007-settings-Get-UI-scaling-factor-from-primary-logical-.patch
+ - 0008-backends-add-monitors-updated-internal-signal-to-onl.patch
+ - 0009-monitor-manager-use-g_return_val_if_fail-if-trying-t.patch
+ - 0010-backend-move-the-cursor-render-update-on-screen-chan.patch
+ - 0011-workspace-ensure-that-workarea-data-is-valid-when-fe.patch
+
+ -- Jeremy Bicha <jbicha@debian.org> Fri, 13 Oct 2017 09:44:26 -0400
+
+mutter (3.26.1-2) experimental; urgency=medium
+
+ * Add git_fix_xorg_maximize_crash.patch:
+ - Cherry-pick fix for crash when closing windows on Budgie or
+ GNOME Shell (LP: #1722510, Closes: #878353)
+
+ -- Jeremy Bicha <jbicha@debian.org> Tue, 10 Oct 2017 10:22:41 -0400
+
+mutter (3.26.1-1) experimental; urgency=medium
+
+ * New upstream release
+ * Bump Standards-Version to 4.1.1
+
+ -- Jeremy Bicha <jbicha@debian.org> Wed, 04 Oct 2017 17:42:30 -0400
+
+mutter (3.26.0+20170925~ea214fb-1) experimental; urgency=medium
+
+ * New upstream git snapshot (LP: #1717272)
+
+ -- Jeremy Bicha <jbicha@debian.org> Mon, 25 Sep 2017 18:26:10 -0400
+
+mutter (3.26.0-2) experimental; urgency=medium
+
+ * debian/patches/src-core-screen.c-Set-_NET_NUMBER_OF_DESKTOPS-in-met.patch:
+ Cherry-pick from upstream. Fix positioning of desktop icons at startup.
+ (LP: #1696621)
+
+ -- Iain Lane <laney@debian.org> Fri, 22 Sep 2017 19:13:26 +0100
+
+mutter (3.26.0-1) experimental; urgency=medium
+
+ * Team upload
+ * debian/watch: Only watch stable branch again
+ * New upstream release, functionally identical to the previous
+ snapshot
+
+ -- Simon McVittie <smcv@debian.org> Wed, 13 Sep 2017 09:22:55 +0100
+
+mutter (3.25.92+20170911~5b5737f-1) experimental; urgency=medium
+
+ * Team upload
+ * New upstream git snapshot (really fixes LP: #1714330, we hope)
+ * debian/watch: Scan for all versions, not just the stable-branch
+ * debian/control.in: Add versioned Breaks for gnome-control-center,
+ and bump Suggests to match, to account for functionality that moved
+ between packages (Closes: #874514)
+
+ -- Simon McVittie <smcv@debian.org> Tue, 12 Sep 2017 10:39:01 +0100
+
+mutter (3.25.91+20170902~ce515c5-1) experimental; urgency=medium
+
+ * New upstream git snapshot (LP: #1714330)
+ * Drop git_fix-wayland-color-inversion.patch: Applied
+ * debian/control.in:
+ - Bump minimum libgudev-dev to >= 232
+ - Drop Build-Depends on libgl1-mesa-dri
+ * debian/rules:
+ - Ignore test failures on Debian. See bug 874077.
+
+ -- Jeremy Bicha <jbicha@debian.org> Sat, 02 Sep 2017 15:46:15 -0400
+
+mutter (3.25.91-2) experimental; urgency=medium
+
+ * Build-Depend on libgl1-mesa-dri for build tests since
+ Debian's mesa packages currently only recommends it
+
+ -- Jeremy Bicha <jbicha@debian.org> Thu, 31 Aug 2017 12:47:34 -0400
+
+mutter (3.25.91-1) experimental; urgency=medium
+
+ * New upstream release
+ * Add skip-failing-tests-325.patch:
+ - Skip one more test that started failing with 3.25
+ * Add git_fix-wayland-color-inversion.patch:
+ - Cherry-pick patch to fix wrong colors in clutter apps on Wayland
+ (LP: #1712986)
+ * Bump Standards-Version to 4.1.0
+
+ -- Jeremy Bicha <jbicha@debian.org> Thu, 31 Aug 2017 07:11:39 -0400
+
+mutter (3.25.90-1) experimental; urgency=medium
+
+ [ Jeremy Bicha ]
+ * New upstream release (LP: #1662805)
+ * libmutter0 has been renamed upstream to libmutter-0-0
+ * Rename gir1.2-mutter-3.0 to gir1.2-mutter-0
+ * Rename libmutter-dev to libmutter-0-dev
+ * debian/control.in:
+ - Drop obsolete Conflicts/Replaces now that the library
+ uses different file names
+ - Loosen dependency on -common package
+ - Don't recommend gnome-session | x-session-manager (LP: #1703685)
+ - Build-depend on xauth and xfvb for build tests
+ - Add Conflicts: libmutter-0-dev to libmutter-1-dev since
+ both ship the same development header file names
+ * debian/rules:
+ - Build with --enable-egl-device (LP: #1666664)
+ This enables experimental support for using NVIDIA proprietary
+ drivers with GNOME on Wayland
+ - Run build tests but don't make them fatal yet
+ * Add skip-failing-tests.patch:
+ - Don't run a few tests that have been reported as failing
+
+ [ Simon McVittie ]
+ * Add patch metadata
+ * Correctly label debian/patches/git_revert_call_threaded_swap.patch
+ as a revert, not as the change that is being reverted
+
+ [ Andreas Henriksson ]
+ * New upstream beta release, 3.25.90.
+ * Bump versions of build-dependencies according to configure.ac changes.
+ * Rename packages according to libmutter bumping soname, 0->1.
+
+ [ Jeremy Bicha ]
+ * Drop git_revert_call_threaded_swap.patch, no longer needed
+
+ -- Andreas Henriksson <andreas@fatal.se> Tue, 15 Aug 2017 15:45:47 +0200
+
+mutter (3.22.4-2) unstable; urgency=medium
+
+ [ Jeremy Bicha ]
+ * Add missing depends on gnome-settings-daemon (LP: #1561706)
+
+ [ Laurent Bigonville ]
+ * debian/patches/bgo782472_fix_copypaste_x11_wayland.patch: Fix copy/paste
+ between some X11 applications (firefox/chromium) and wayland (Closes:
+ #865788)
+ * debian/control.in: Bump Standards-Version to 4.0.0 (no further changes)
+
+ -- Laurent Bigonville <bigon@debian.org> Fri, 30 Jun 2017 19:08:41 +0200
+
+mutter (3.22.4-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Drop patches which have been merged upstream.
+
+ -- Michael Biebl <biebl@debian.org> Tue, 11 Apr 2017 15:56:47 +0200
+
+mutter (3.22.3-2) unstable; urgency=medium
+
+ * debian/patches/clutter-clone-Unset-source-when-source-actor-is-dest.patch
+ - Add patch from 3.22 branch to fix a gnome-shell crash when using the
+ alternatetab extension. (Closes: #857290)
+
+ -- Michael Biebl <biebl@debian.org> Fri, 10 Mar 2017 18:06:30 +0100
+
+mutter (3.22.3-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Drop patches which have been merged upstream.
+
+ -- Michael Biebl <biebl@debian.org> Fri, 17 Feb 2017 18:17:07 +0100
+
+mutter (3.22.2-3) unstable; urgency=medium
+
+ [ Jeremy Bicha ]
+ * Add git_flush_all_swap_notifies_on_idle.patch:
+ - Add patch from 3.22 branch that fixes freezes with multiple monitors
+ on Wayland
+
+ [ Andreas Henriksson ]
+ * Add debian/patches/bgo768531_workaround-startup-notifications.patch
+ - temporary workaround used in both Fedora and Arch for getting
+ working application startup notifications under Wayland.
+ - See bgo#768531 for when a real solution is ready to replace this.
+
+ -- Andreas Henriksson <andreas@fatal.se> Sun, 08 Jan 2017 03:12:13 +0100
+
+mutter (3.22.2-2) unstable; urgency=critical
+
+ [ Raphaël Hertzog ]
+ * Team upload.
+ * Urgency critical as gnome-shell is entirely broken in testing
+ for many users.
+
+ [ Jeremy Bicha ]
+ * Add git_dont_set_unavailable_scroll_methods.patch:
+ - Add patch from 3.22 branch that prevented logging into GNOME on X
+ for some users (LP: #1643370, Closes: #846898)
+
+ -- Raphaël Hertzog <hertzog@debian.org> Tue, 06 Dec 2016 17:35:40 +0100
+
+mutter (3.22.2-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Drop patches, all merged upstream.
+
+ -- Michael Biebl <biebl@debian.org> Thu, 10 Nov 2016 19:17:32 +0100
+
+mutter (3.22.1-2) unstable; urgency=medium
+
+ * d/p/wayland-xdg-popup-Always-use-monitor-of-toplevel.patch
+ d/p/wayland-xdg-shell-Scale-configure-relative-popup-coo.patch
+ d/p/wayland-xdg-popup-Force-monitor-of-the-top-level.patch
+ d/p/wayland-xdg-shell-update-popup-window-monitor-early.patch
+ d/p/wayland-xdg-shell-Scale-positioner-coordinates.patch:
+ - Added. Fix positioning of popups on hidpi screens in
+ wayland (bgo#771841)
+
+ -- Sjoerd Simons <sjoerd@debian.org> Fri, 14 Oct 2016 22:01:14 +0200
+
+mutter (3.22.1-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Drop debian/patches/01_Wcast-align.patch. It's not necessary anymore as we
+ don't enable -Werror.
+ * Add Build-Depends on libxcb-res0-dev as per configure.ac.
+
+ -- Michael Biebl <biebl@debian.org> Tue, 11 Oct 2016 13:55:44 +0200
+
+mutter (3.22.0-1) unstable; urgency=medium
+
+ [ Jeremy Bicha ]
+ * debian/control.in:
+ - Explicitly build-depend on libegl1-mesa-dev (Closes: #836153)
+
+ [ Michael Biebl ]
+ * New upstream release.
+ - Correctly handle tablet settings lookups with no backing libwacom info.
+ (Closes: #838050)
+ * Use non-multiarch path (/usr/lib/mutter) for libexecdir.
+
+ -- Michael Biebl <biebl@debian.org> Tue, 20 Sep 2016 01:43:37 +0200
+
+mutter (3.21.92-1) unstable; urgency=medium
+
+ [ Jeremy Bicha ]
+ * debian/rules:
+ - Explicitly disable kms and wayland to fix build on kfreebsd
+ * Add fix-undef-build-failure.patch:
+ - Git patch needed for build without wayland
+
+ [ Michael Biebl ]
+ * New upstream development release.
+ * Refresh debian/patches/01_Wcast-align.patch.
+ * Bump debhelper compat level to 10.
+
+ -- Michael Biebl <biebl@debian.org> Tue, 13 Sep 2016 17:43:54 +0200
+
+mutter (3.21.91-2) unstable; urgency=medium
+
+ * Bump Build-Depends on libgnome-desktop-3-dev to (>= 3.21.2).
+ This ensures we have a matching version of libgnome-desktop which supports
+ mode flags via the D-Bus API.
+
+ -- Michael Biebl <biebl@debian.org> Fri, 02 Sep 2016 12:03:57 +0200
+
+mutter (3.21.91-1) unstable; urgency=low
+
+ * New upstream beta release.
+ * Update build-dependencies according to configure.ac changes:
+ - bump wayland-protocols to >= 1.7
+ * Drop debian/patches/Fix-build-of-clutter-tests.patch, merged upstream.
+
+ -- Andreas Henriksson <andreas@fatal.se> Tue, 30 Aug 2016 19:30:43 +0200
+
+mutter (3.21.90-1) experimental; urgency=medium
+
+ * New upstream beta release.
+ * Update (build-)dependencies according to configure.ac changes:
+ - drop intltool (>= 0.41), now gettext is used instead.
+ - add libwacom-dev (>= 0.13) [linux-any]
+ - bump wayland-protocols to >= 1.5
+ - bump gsettings-desktop-schemas to >= 3.21.4
+ - bump libinput-dev to >= 1.4
+ * Drop debian/patches/clutter-Fix-typo-in-assert.patch
+ - now included in upstream release.
+
+ -- Andreas Henriksson <andreas@fatal.se> Sat, 20 Aug 2016 17:46:46 +0200
+
+mutter (3.21.4-1) experimental; urgency=medium
+
+ [ Sjoerd Simons ]
+ * New upstream release
+ * debian/patches/fix-gint64-format.patch
+ debian/patches/wayland-add-extended-state-for-tiled.patch:
+ - Dropped fixed upstream
+ * debian/patches/Fix-build-of-clutter-tests.patch
+ - Added, fix build of test (bgo#769636)
+ * debian/patches/clutter-Fix-typo-in-assert.patch
+ - Added, fix build. From upstream git
+ * debian/control.in: Bump libmutter0 to libmutter0i
+ * debian/control.in: Update build-dependencies
+ * debian/*.install: Install private helper libraries.
+
+ [ Andreas Henriksson ]
+ * libmutter-dev: depend on packages required by mutter-clutter-1.0.pc
+ - libcairo2-dev, libglib2.0-dev, libatk1.0-dev, libpango1.0-dev,
+ libjson-glib-dev, libegl1-mesa-dev, libwayland-dev, libdrm-dev,
+ libgbm-dev, libinput-dev, libudev-dev, libx11-dev, libxext-dev,
+ libxdamage-dev, libxcomposite-dev, libxi-dev
+ * libmutter-dev: depend on additional packages required by mutter-cogl-1.0.pc
+ - libgdk-pixbuf2.0-dev, libxfixes-dev, libxrandr-dev
+
+ -- Andreas Henriksson <andreas@fatal.se> Fri, 12 Aug 2016 15:53:15 +0200
+
+mutter (3.20.3-2) unstable; urgency=medium
+
+ [ Simon McVittie ]
+ * d/p/fix-gint64-format.patch: Add patch from Luca Bruno fixing a format
+ string on ILP32 architectures
+ * d/rules: add a missing backslash so we build with the intended
+ configure options, and in particular not -Werror (Closes: #829140)
+
+ [ Jeremy Bicha ]
+ * Replace old mutter libraries too instead of only conflicting with them
+
+ -- Michael Biebl <biebl@debian.org> Fri, 01 Jul 2016 10:18:59 +0200
+
+mutter (3.20.3-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Drop all patches which are now applied upstream.
+ * Convert to multiarch.
+ * Convert from cdbs to dh.
+
+ -- Michael Biebl <biebl@debian.org> Thu, 30 Jun 2016 20:11:34 +0200
+
+mutter (3.20.2-2) unstable; urgency=medium
+
+ * Team upload
+
+ [ Jeremy Bicha ]
+ * Use https for copyright headers
+ * Use https in d/watch and use new "special strings" to help standardize
+ format
+
+ [ Simon McVittie ]
+ * Add all patches from upstream gnome-3-20 branch up to 2016-06-23
+ - fix possible crashes in Wayland and in X11
+ - ensure that Wayland output reconfiguration finishes correctly
+ - implement "force quit" in Wayland using kill(), like in X11
+ - improve UTF-8 correctness
+ - update translations
+ - ensure that all window frames are drawn similarly
+ - avoid redrawing the entire window every frame
+ - make windows that are unmaximized via drag follow the cursor
+ * Backport patch from upstream to introduce XDG_SURFACE_STATE_GNOME_TILED
+ and mark tiled windows with it, allowing GDK versions with a
+ corresponding patch to report GDK_WINDOW_STATE_TILED correctly under
+ Wayland
+
+ -- Simon McVittie <smcv@debian.org> Sat, 25 Jun 2016 00:19:53 +0100
+
+mutter (3.20.2-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Bump Standards-Version to 3.9.8.
+
+ -- Michael Biebl <biebl@debian.org> Wed, 11 May 2016 13:48:17 +0200
+
+mutter (3.20.1-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Refresh patches.
+ * Bump mutter's dependency on gsettings-desktop-schemas to (>= 3.19.3).
+ * Upload to unstable.
+
+ -- Michael Biebl <biebl@debian.org> Sun, 17 Apr 2016 00:06:56 +0200
+
+mutter (3.20.0-1) experimental; urgency=medium
+
+ * New upstream release.
+
+ -- Andreas Henriksson <andreas@fatal.se> Fri, 25 Mar 2016 10:12:11 +0100
+
+mutter (3.19.92-2) experimental; urgency=medium
+
+ * Rename libmutter0g -> libmutter0h
+ - update dependencies and conflicts as well.
+
+ -- Andreas Henriksson <andreas@fatal.se> Fri, 18 Mar 2016 19:15:59 +0100
+
+mutter (3.19.92-1) experimental; urgency=medium
+
+ * New upstream release.
+ * Update build-dependencies according to configure.ac changes:
+ - Bump libgtk-3-dev (>= 3.19.8)
+ - Bump gsettings-desktop-schemas-dev (>= 3.19.3)
+ - Bump libclutter-1.0-dev (>= 1.25.6)
+ - Add wayland-protocols (>= 1.1) [linux-any]
+ * 02_Handle-meta_screen_get_monitor_for_point-returning-N.patch:
+ - dropped, merged upstream.
+
+ -- Andreas Henriksson <andreas@fatal.se> Thu, 17 Mar 2016 11:02:08 +0100
+
+mutter (3.18.3-2) unstable; urgency=medium
+
+ * Drop mutter-dbg now that we have automatic dbgsym packages.
+ * Ensure proper upgrade from mutter-dbg to new dbgsym packages by using
+ dh_strip --dbgsym-migration. Bump Build-Depends on debhelper accordingly.
+ * Fix dh_makeshlibs args for libmutter0g.
+ * Bump Standards-Version to 3.9.7.
+ * Drop obsolete migration code from pre-wheezy.
+ * Fix disappearing mouse cursor under GNOME Shell with a multi-monitor
+ setup. Patch cherry-picked from upstream Git.
+
+ -- Michael Biebl <biebl@debian.org> Tue, 15 Mar 2016 07:53:24 +0100
+
+mutter (3.18.3-1) unstable; urgency=medium
+
+ * New upstream release.
+ - fix crash when removing monitor/undocking (Closes: #813687)
+
+ -- Andreas Henriksson <andreas@fatal.se> Thu, 03 Mar 2016 18:48:49 +0100
+
+mutter (3.18.2-1) unstable; urgency=medium
+
+ * New upstream release.
+
+ -- Michael Biebl <biebl@debian.org> Fri, 13 Nov 2015 00:09:29 +0100
+
+mutter (3.18.1-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Refresh debian/patches/01_Wcast-align.patch.
+ * Wrap dependencies.
+ * Bump the dependency on gsettings-desktop-schemas to (>= 3.15.92).
+ * Drop the explicit versions from libmutter-dev dependencies. The
+ libmutter.pc file doesn't enforce any specific versions and they were
+ out-of-date anyway.
+
+ -- Michael Biebl <biebl@debian.org> Wed, 21 Oct 2015 16:13:17 +0200
+
+mutter (3.18.0-1) unstable; urgency=medium
+
+ [ Andreas Henriksson ]
+ * Fix typo in previous changelog entry.
+ * New upstream release.
+ * Drop debian/patches/git_launcher-fix-vt-switch.patch,
+ debian/patches/git_launcher-format-string.patch:
+ - now part of upstream release.
+
+ -- Laurent Bigonville <bigon@debian.org> Sun, 11 Oct 2015 15:21:29 +0200
+
+mutter (3.17.92-1) experimental; urgency=medium
+
+ [ Dmitry Shachnev ]
+ * Remove now useless dependency on gnome-themes-standard.
+ * Instead, bump libgtk-3-dev build-dependency to 3.14 to make sure mutter will
+ depend on a version of libgtk-3-common that contains the Adwaita theme.
+
+ [ Andreas Henriksson ]
+ * New upstream release candidate
+ * Add two patches cherry-picked from upstream git:
+ - debian/patches/git_launcher-format-string.patch
+ "launcher: Don't pass variable as format string"
+ - debian/patches/git_launcher-fix-vt-switch.patch
+ "Revert "launcher: simplify getting session dbus proxy""
+
+ -- Andreas Henriksson <andreas@fatal.se> Thu, 17 Sep 2015 13:42:48 +0200
+
+mutter (3.17.90-1) experimental; urgency=medium
+
+ * New upstream beta release.
+ * Update build-dependecies according to configure.ac changes:
+ - bump libclutter-1.0-dev to >= 1.23.4
+ * debian/libmutter-dev.install:
+ - stop shipping usr/share/gtk-doc, removed upstream. See commit 7dc0b0e6.
+ * Rename libmutter0f to libmutter0g
+ - including conflicting against libmutter0f
+
+ -- Andreas Henriksson <andreas@fatal.se> Sat, 29 Aug 2015 11:03:17 +0200
+
+mutter (3.16.3-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Refresh patches.
+
+ -- Michael Biebl <biebl@debian.org> Thu, 02 Jul 2015 18:57:22 +0200
+
+mutter (3.16.2-3) unstable; urgency=medium
+
+ * Cherry-pick upstream commit which fixes the issue that window resize
+ handles were not shown.
+ * Drop obsolete Breaks/Replaces from pre-wheezy.
+
+ -- Michael Biebl <biebl@debian.org> Tue, 30 Jun 2015 19:42:14 +0200
+
+mutter (3.16.2-2) unstable; urgency=medium
+
+ * Upload to unstable.
+
+ -- Emilio Pozuelo Monfort <pochu@debian.org> Sun, 14 Jun 2015 13:44:02 +0200
+
+mutter (3.16.2-1) experimental; urgency=medium
+
+ [ Sjoerd Simons ]
+ * New upstream release 3.16.1.
+ * debian/rules: Explicitely build wayland and the native backend on linux
+ * debian/control.in: Bump b-d
+ * debian/rules: Stop shipping doc/theme-format.txt, Metacity format support
+ has been dropped
+ * bump library name to libmutter0f
+
+ [ Emilio Pozuelo Monfort ]
+ * New upstream release 3.16.2.
+ * Upload to experimental.
+
+ -- Emilio Pozuelo Monfort <pochu@debian.org> Wed, 27 May 2015 19:55:29 +0200
+
+mutter (3.14.4-2) unstable; urgency=medium
+
+ * Switch Build-Depends from the transitional libsystemd-login-dev to
+ libsystemd-dev. (Closes: #779761)
+
+ -- Michael Biebl <biebl@debian.org> Tue, 28 Apr 2015 20:10:38 +0200
+
+mutter (3.14.4-1) unstable; urgency=medium
+
+ * New upstream translation and bugfix release.
+ + Includes new function required for the workaround to #768896 which
+ is very annoying for users of the proprietary nvidia driver.
+ * 10_window-actor_unredirect.patch, 11_black_background.patch:
+ dropped, merged upstream.
+ * Bump shlibs due to new function.
+
+ -- Josselin Mouette <joss@debian.org> Thu, 26 Mar 2015 21:06:28 +0100
+
+mutter (3.14.2-1) unstable; urgency=medium
+
+ * New upstream bugfix release.
+ * 10_window-actor_unredirect.patch: patch from upstream git. Fix crash
+ when closing a window.
+ * 11_black_background.patch: patch from upstream git. Don’t set a
+ black background when switching from the display manager.
+
+ -- Josselin Mouette <joss@debian.org> Sun, 30 Nov 2014 15:05:14 +0100
+
+mutter (3.14.1-2) unstable; urgency=medium
+
+ * gir1.2-mutter-3.0: tighten dependency on libmutter0e by making
+ it versioned to = ${binary:Version} (Closes: #766359)
+
+ -- Andreas Henriksson <andreas@fatal.se> Tue, 28 Oct 2014 19:57:02 +0100
+
+mutter (3.14.1-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Refresh patches.
+ * Drop obsolete Conflicts/Replaces: gir1.2-mutter-2.91.
+ * Update Build-Depends as per configure.ac.
+ * Bump Standards-Version to 3.9.6. No further changes.
+
+ -- Michael Biebl <biebl@debian.org> Thu, 16 Oct 2014 00:40:24 +0200
+
+mutter (3.14.0-1) unstable; urgency=medium
+
+ [ Dmitry Shachnev ]
+ * Make gir1.2-mutter-3.0 break gnome-shell versions older than 3.13.92.
+ Upstream commit a4a688ed83983fb5 removed MetaBackgroundEffects class,
+ which old gnome-shell (up to 3.13.91) was using via JavaScript code.
+
+ [ Andreas Henriksson ]
+ * Make the libinput-dev build-dependency linux-only.
+ Thanks to Julien Cristau for pointing it out.
+ * New upstream release.
+
+ -- Andreas Henriksson <andreas@fatal.se> Mon, 22 Sep 2014 21:02:55 +0200
+
+mutter (3.13.92-1) unstable; urgency=medium
+
+ * New upstream release candidate.
+
+ -- Andreas Henriksson <andreas@fatal.se> Fri, 19 Sep 2014 20:43:41 +0200
+
+mutter (3.13.91-1) experimental; urgency=medium
+
+ [ Andreas Henriksson ]
+ * New upstream development release.
+ * Update build-dependencies according to configure.ac changes:
+ - bump intltool to (>= 0.41)
+ - bump libclutter-1.0-dev to (>= 1.19.5)
+ - add libinput-dev
+ - bump libsystemd-login-dev to (>= 212)
+ - add libxcb-randr0-dev, libxkbcommon-x11-dev, libxkbfile-dev and
+ xkb-data
+ * Drop patches backported from upstream:
+ - 0001-constraints-Complete-fix-for-size-hints-constrainmen.patch
+ - 0001-constraints-Size-increments-need-to-be-applied-to-th.patch
+ - 0001-keybindings-Make-sure-not-to-call-meta_change_keygra.patch
+ * Bump gobject-introspection build-dependency to (>= 1.41.3)
+ - this one supports new "nullable" annotation.
+ * libmutter-dev: bump dependency on libclutter-1.0-dev to (>= 1.19.5)
+ * libmutter-dev: stop installing usr/lib/lib*.a, no need for static
+ and they aren't built anymore.
+ * Stop excluding mutter-launch from fixperms
+ - not needed anymore, mutter-launch is now gone (see logind).
+ * Bump libwayland-dev to >= 1.5.90 as required for wayland support.
+
+ [ Rico Tzschichholz ]
+ * Update library name to libmutter0e since the API/ABI is not compatible
+ with 3.12.x releases
+
+ [ Sjoerd Simons ]
+ * New upstream release 3.13.91.
+ * Update libxkbcommon-x11-dev versioned depend
+
+ [ Andreas Henriksson ]
+ * mutter.install: ship usr/lib/mutter/mutter-restart-helper
+
+ -- Andreas Henriksson <andreas@fatal.se> Fri, 05 Sep 2014 14:15:05 -0700
+
+mutter (3.13.1-1) experimental; urgency=medium
+
+ [ Laurent Bigonville ]
+ * debian/rules: Pass --as-needed to dh_autoreconf
+
+ [ Andreas Henriksson ]
+ * New upstream development release.
+ * Drop debian/patches/prevent-double-lock-deadlock.patch
+ - obsoleted by upstream commit 5c99eae8a9ca04f5e
+ "display: clean up event handling"
+ * Update build-dependencies according to configure.ac changes:
+ - add libsystemd-login-dev (>= 207), libpam0g-dev
+ - drop libxrender-dev
+ * debian/mutter.install: drop usr/share/gnome
+ - see upstream commit 542a0886cf14cec3995ada2
+ "Remove files no one cares about anymore"
+ * Add patches stolen from fedora originally backported from upstream git:
+ - 0001-constraints-Complete-fix-for-size-hints-constrainmen.patch
+ - 0001-constraints-Size-increments-need-to-be-applied-to-th.patch
+ - 0001-keybindings-Make-sure-not-to-call-meta_change_keygra.patch
+ * Bump gsettings-desktop-schemas (build-)dependencies to 3.13.1
+ - need switch-to-workspace-last schema key
+ * Exclude mutter-launch from having permissions "fixed"
+ - mutter-launch needs to be suid
+
+ -- Andreas Henriksson <andreas@fatal.se> Sat, 02 Aug 2014 17:55:13 +0200
+
+mutter (3.12.2-2) unstable; urgency=medium
+
+ * Upload to unstable.
+
+ -- Andreas Henriksson <andreas@fatal.se> Mon, 14 Jul 2014 23:20:08 +0200
+
+mutter (3.12.2-1) experimental; urgency=medium
+
+ [ Sjoerd Simons ]
+ * debian/rules: Don't constrain the libmutter0 dependencies via shlibs
+ as we change the library names on ABI breaks now
+
+ [ Andreas Henriksson ]
+ * New upstream release.
+
+ -- Andreas Henriksson <andreas@fatal.se> Fri, 16 May 2014 17:36:21 +0200
+
+mutter (3.12.1+therealdeal-1) experimental; urgency=medium
+
+ * Tweak version to be bigger then the one in unstable
+
+ -- Sjoerd Simons <sjoerd@debian.org> Sat, 26 Apr 2014 19:38:07 +0200
+
+mutter (3.12.1-1) unstable; urgency=medium
+
+ * New upstream release
+
+ -- Sjoerd Simons <sjoerd@debian.org> Sat, 26 Apr 2014 17:47:46 +0200
+
+mutter (3.12.0-2) experimental; urgency=low
+
+ [ Rico Tzschichholz ]
+ * Update library name to libmutter0d since the API/ABI is not compatible
+ with 3.10.x releases
+
+ [ Emilio Pozuelo Monfort ]
+ * Let libmutter0d conflict with libmutter0c.
+
+ -- Emilio Pozuelo Monfort <pochu@debian.org> Thu, 03 Apr 2014 10:30:00 +0200
+
+mutter (3.12.0-1) experimental; urgency=low
+
+ [ Sjoerd Simons ]
+ * debian/patches/prevent-double-lock-deadlock.patch:
+ + Added. Don't call X functions that lock the display in code paths that
+ have already locked the display if X threads have been initialized
+ (bgo#704101)
+
+ [ Andreas Henriksson ]
+ * New upstream release.
+ * Update build-dependencies according to configure.ac changes:
+ - bump upower 0.99.0
+ - bump cogl 1.17.1
+ * Bump Standards-Version to 3.9.5
+
+ -- Andreas Henriksson <andreas@fatal.se> Sat, 29 Mar 2014 22:09:55 +0100
+
+mutter (3.10.1-2) experimental; urgency=low
+
+ * Force build against G3.10 version of gnome-desktop
+
+ -- Sjoerd Simons <sjoerd@debian.org> Sun, 03 Nov 2013 11:19:44 +0100
+
+mutter (3.10.1-1) experimental; urgency=low
+
+ * New upstream release
+ * Sync with Ubuntu (3.10.0-0ubuntu1~saucy1)
+ + Update library name to libmutter0c
+ + Bump build-depends
+
+ -- Sjoerd Simons <sjoerd@debian.org> Fri, 01 Nov 2013 22:34:51 +0100
+
+mutter (3.8.4-2) unstable; urgency=low
+
+ * Upload to unstable.
+
+ -- Emilio Pozuelo Monfort <pochu@debian.org> Sun, 13 Oct 2013 17:26:39 +0200
+
+mutter (3.8.4-1) experimental; urgency=low
+
+ [ Jeremy Bicha ]
+ * debian/control.in:
+ - Use standard Breaks/Replaces instead of Conflicts against older mutter
+ libraries
+
+ [ Emilio Pozuelo Monfort ]
+ * debian/control.in:
+ + Standards-Version is 3.9.4, no changes needed.
+ * New upstream release.
+
+ [ Michael Biebl ]
+ * debian/watch: Track stable releases.
+ * Bump debhelper compatibility level to 9.
+
+ -- Michael Biebl <biebl@debian.org> Fri, 11 Oct 2013 19:37:56 +0200
+
+mutter (3.8.3-1) experimental; urgency=low
+
+ * New upstream release.
+ * debian/control.in:
+ + Bump clutter requirement.
+
+ -- Emilio Pozuelo Monfort <pochu@debian.org> Sat, 08 Jun 2013 18:09:14 +0200
+
+mutter (3.8.2-1) experimental; urgency=low
+
+ * New upstream release.
+
+ -- Emilio Pozuelo Monfort <pochu@debian.org> Fri, 24 May 2013 17:26:06 +0200
+
+mutter (3.8.1-1) experimental; urgency=low
+
+ * New upstream release
+ * debian/patches/02-dont-select-for-XI2-events.patch:
+ + Dropped, fixed X server is available in sid now
+
+ -- Sjoerd Simons <sjoerd@debian.org> Fri, 19 Apr 2013 18:57:59 +0200
+
+mutter (3.8.0-1) experimental; urgency=low
+
+ * New upstream release.
+
+ -- Emilio Pozuelo Monfort <pochu@debian.org> Wed, 27 Mar 2013 00:15:13 +0100
+
+mutter (3.7.92-1) experimental; urgency=low
+
+ [ Sjoerd Simons ]
+ * New upstream release (3.7.90)
+ * Sync from Ubuntu
+ + d/p/04_ignore_shadow_and_padding.patch:
+ * Dropped, Ubuntu specific
+ * debian/control.in: Bump b-d on glib
+ * debian/control.in: Rename libmutter0a to libmutter0b for more ABI fun
+ * d/p/10_Always-send-_NET_WM_FRAME_DRAWN-for-newly-created-wi.patch:
+ + Added. Fix a race causing _NET_WM_FRAME_DRAWN to not be sent in context
+ menus. (From upstream git, BGO#694771)
+
+ [ Emilio Pozuelo Monfort ]
+ * New upstream release.
+ + debian/control.in:
+ - Add gtk-doc-tools to build-depends.
+ + debian/libmutter-dev.install:
+ - Ship the API reference.
+ + d/p/10_Always-send-_NET_WM_FRAME_DRAWN-for-newly-created-wi.patch:
+ - Removed, included upstream.
+ + debian/patches/02-dont-select-for-XI2-events.patch:
+ - New patch, revert an upstream change to receive XI2 events
+ until #696272 is fixed. Thanks to Sjoerd Simons and
+ Frédéric Péters for the info and the patch.
+ + debian/copyright:
+ - Updated.
+
+ -- Emilio Pozuelo Monfort <pochu@debian.org> Wed, 20 Mar 2013 18:12:12 +0100
+
+mutter (3.7.5-0ubuntu1~raring1) raring; urgency=medium
+
+ [ Jeremy Bicha ]
+ * New upstream release.
+ * debian/control.in:
+ - Bump minimum clutter & gsettings-desktop-schemas
+
+ [ Rico Tzschichholz ]
+ * debian/control.in:
+ - Build-depend on libxi-dev
+ * debian/patches/01_Wcast-align.patch: Refreshed
+ * debian/patches/05_ignore_num_workspaces.patch:
+ - Dropped, applied in new version
+
+ -- Jeremy Bicha <jbicha@ubuntu.com> Tue, 05 Feb 2013 20:58:05 -0500
+
+mutter (3.6.2-0ubuntu1) raring; urgency=low
+
+ * New upstream release (LP: #1078155)
+
+ -- Jeremy Bicha <jbicha@ubuntu.com> Mon, 12 Nov 2012 22:09:47 -0500
+
+mutter (3.6.1-1ubuntu2) raring; urgency=low
+
+ * Added 05_ignore_num_workspaces.patch (LP: #1067933)
+
+ -- Brandon Snider <brandonjsnider@gmail.com> Wed, 17 Oct 2012 20:23:11 -0400
+
+mutter (3.6.1-1ubuntu1) raring; urgency=low
+
+ * Sync with Debian. Remaining change:
+ - 04_ignore_shadow_and_padding.patch: Silently ignore
+ padding and shadow tags
+
+ -- Jeremy Bicha <jbicha@ubuntu.com> Thu, 08 Nov 2012 08:37:27 -0500
+
+mutter (3.6.1-1) experimental; urgency=low
+
+ * New upstream release
+
+ -- Sjoerd Simons <sjoerd@debian.org> Wed, 17 Oct 2012 19:58:10 +0200
+
+mutter (3.6.0-1) experimental; urgency=low
+
+ * New upstream release
+ * Sync with Ubuntu:
+ - Drop unnecessary gnome-doc-utils install
+ * d/p/00_meta_window_move_frame-fix-crash-when-frame-is-NULL.patch:
+ Dropped: fixed upstream
+ * debian/control.in: Rename libmutter0 to libmutter0a as the libmutter ABI
+ broke
+
+ -- Sjoerd Simons <sjoerd@debian.org> Sun, 14 Oct 2012 19:24:21 +0200
+
+mutter (3.4.1-7) unstable; urgency=low
+
+ * d/p/0001-meta-texture-rectangle-Use-Cogl-s-API-to-create-a-re.patch:
+ + Patch from upstream git, don't use GL types as cogl doesn't expose
+ GL headers in newer releases. This will ease the cogl transition.
+
+ -- Emilio Pozuelo Monfort <pochu@debian.org> Sun, 26 May 2013 17:54:55 +0200
+
+mutter (3.4.1-6) unstable; urgency=low
+
+ * Team upload
+ * Add debian/patches/02_switch_to_gtk-doc_syntax.patch:
+ - from upstream, fixes FTBFS with new gobject-introspection.
+
+ -- Andreas Henriksson <andreas@fatal.se> Mon, 13 May 2013 11:03:34 +0200
+
+mutter (3.4.1-5) unstable; urgency=low
+
+ [ Rico Tzschichholz ]
+ * debian/patches: Add upstream patch
+ 00_meta_window_move_frame-fix-crash-when-frame-is-NULL.patch
+
+ [ Michael Biebl ]
+ * Install missing keybindings file 50-mutter-windows.xml which is required
+ to configure mutter specific keyboard shortcuts in gnome-control-center.
+ Closes: #680004
+ * Use list-missing to list files missing from the package.
+
+ -- Michael Biebl <biebl@debian.org> Sat, 07 Jul 2012 20:03:06 +0200
+
+mutter (3.4.1-4) unstable; urgency=low
+
+ * Clean up /etc/sgml/mutter-common.cat and /etc/sgml/mutter-common.cat.old
+ on upgrades. Closes: #675309
+
+ -- Michael Biebl <biebl@debian.org> Fri, 01 Jun 2012 12:49:07 +0200
+
+mutter (3.4.1-3) unstable; urgency=low
+
+ [ Michael Biebl ]
+ * Upload to unstable.
+
+ [ Rico Tzschichholz ]
+ * libmutter-dev: add dependency on gsettings-desktop-schemas-dev and
+ libx11-dev as pc-file requests
+
+ [ Michael Biebl ]
+ * Bump Suggests: gnome-control-center to (>= 1:3.4.0) as we want a recent
+ enough version which can handle keybindings based on GSettings.
+ * Use strict dependency between mutter/libmutter0 and mutter-common to
+ ensure we have the correct version of mutter-common providing the
+ org.gnome.mutter gsettings schema.
+ * Add Depends on gnome-themes-standard to mutter. Adwaita is the preferred
+ window manager theme and without a theme installed mutter refuses to
+ start. Closes: #658823
+
+ -- Michael Biebl <biebl@debian.org> Wed, 30 May 2012 12:25:26 +0200
+
+mutter (3.4.1-2) experimental; urgency=low
+
+ * Drop debian/mutter-common.catalog and debian/mutter-common.sgmlcatalogs.
+ This is another leftover from the metacity package, mutter doesn't ship
+ any DTD.
+ * Replace another occurence of libgnome2-common with
+ gsettings-desktop-schemas.
+
+ -- Michael Biebl <biebl@debian.org> Mon, 14 May 2012 19:11:48 +0200
+
+mutter (3.4.1-1) experimental; urgency=low
+
+ [ Michael Biebl ]
+ * New upstream release.
+
+ [ Rico Tzschichholz ]
+ * debian/control.in:
+ - Bump minimum GTK, cogl, clutter & gsettings-desktop-schemas
+ - Add mutter-dbg package
+ * debian/mutter-common.install:
+ - Install gsettings schemas
+ * debian/rules: Enable compile warnings
+
+ [ Jeremy Bicha ]
+ * debian/control.in:
+ - Drop gconf dependency
+
+ [ Michael Biebl ]
+ * Bump Standards-Version to 3.9.3.
+ * Update Vcs-* URLs.
+ * Drop Suggests: gnome-themes. This is a remnant of the old metacity
+ package this work is based on.
+ * Refresh debian/patches/01_Wcast-align.patch.
+
+ -- Michael Biebl <biebl@debian.org> Fri, 04 May 2012 21:48:47 +0200
+
+mutter (3.2.2-3) unstable; urgency=low
+
+ * Upload to unstable.
+
+ -- Michael Biebl <biebl@debian.org> Wed, 02 May 2012 00:10:17 +0200
+
+mutter (3.2.2-2) experimental; urgency=low
+
+ * d/p/02_Fix-cogl-crash-from-updating-non-existent-texture.patch:
+ + Added. In 1.8 cogl would prevent attempts to update textures with
+ an invalid handle from crashing buggy programs. Cogl 1.10 no longer does
+ so. This patch prevents mutter from updating invalid textures
+ * d/p/03_fix_compilation_with_new_cogl.patch
+ + Added. Adapt to changes made in the experimental patch of the cogl API
+
+ -- Sjoerd Simons <sjoerd@debian.org> Sun, 01 Apr 2012 16:32:27 +0200
+
+mutter (3.2.2-1) unstable; urgency=low
+
+ [ Michael Biebl ]
+ * Change section of gir1.2-mutter-3.0 to introspection.
+
+ [ Josselin Mouette ]
+ * Update repository URL.
+
+ [ Michael Biebl ]
+ * New upstream release.
+ * debian/watch: Track stable releases.
+
+ -- Michael Biebl <biebl@debian.org> Tue, 24 Jan 2012 07:49:20 +0100
+
+mutter (3.2.1-2) unstable; urgency=low
+
+ [ Laurent Bigonville ]
+ * debian/watch:
+ - Fix URL regex to correctly detect latest tarballs
+ - Switch to .xz tarballs
+
+ [ Michael Biebl ]
+ * Upload to unstable.
+ * Refresh debian/patches/01_Wcast-align.patch.
+ * debian/control.in:
+ - Add explicit Build-Depends on libcairo2-dev.
+ - Bump Build-Depends on libglib2.0-dev.
+
+ -- Michael Biebl <biebl@debian.org> Sat, 19 Nov 2011 01:21:32 +0100
+
+mutter (3.2.1-1) experimental; urgency=low
+
+ [ Jean Schurger ]
+ * New upstream version
+ * debian/control.in
+ - Updated clutter dependency
+ * debian/libmutter0.symbols
+ - Updated
+
+ [ Josselin Mouette ]
+ * Tighten shlibs to the major GNOME version, libcamel-style.
+ * libmutter0.symbols: dropped, upstream ABI stability guarantees are
+ not sufficient.
+
+ [ Sjoerd Simons ]
+ * New upstream release (3.2.1)
+
+ -- Sjoerd Simons <sjoerd@debian.org> Fri, 28 Oct 2011 20:19:30 +0200
+
+mutter (3.0.2.1-4) unstable; urgency=high
+
+ * Team upload. Urgency high as that problem already affects testing
+ users.
+ * debian/patches:
+ - Add 00git-dont-lose-application-redraws.patch to fix rendering
+ issues with parts of the screen not showing the latest content.
+
+ -- Raphaël Hertzog <hertzog@debian.org> Mon, 17 Oct 2011 08:37:50 +0200
+
+mutter (3.0.2.1-3) unstable; urgency=low
+
+ [ Rico Tzschichholz ]
+ * debian/patches:
+ - Add 00git-meta-window-group-Use-clutter_stage_get_redraw_clip_.patch,
+ 00git-Use-a-utility-function-to-create-GL_ARB_texture_rect.patch
+ to remove direct GL usages to let it build with EGL/GLES2 on arm
+ * debian/control:
+ - Bump build-dep on clutter-1.0-dev (>= 1.7.5)
+ * debian/libmutter0.symbols:
+ - updated (leave with debian revision since it is added by a patch)
+
+ -- Michael Biebl <biebl@debian.org> Fri, 14 Oct 2011 19:01:24 +0200
+
+mutter (3.0.2.1-2) unstable; urgency=low
+
+ [ Laurent Bigonville ]
+ * Drop debian/mutter.lintian-overrides: Missing manpages are now installed
+
+ [ Michael Biebl ]
+ * debian/control.in:
+ - Drop Build-Depends on gir1.2-gtk-3.0, gir1.2-clutter-1.0 and
+ gir1.2-json-glib-1.0 and let their corresponding -dev package pull it in
+ automatically. Bump the Build-Depends on the -dev packages accordingly.
+ * Bump debhelper compatibility level to 8.
+ - Update Build-Depends on debhelper.
+ - Strip debian/tmp/ from .install files.
+ * Let cdbs call dh_girepository.
+ - Bump Build-Depends on cdbs to (>= 0.4.90).
+ - Remove custom dh_girepository rules from debian/rules.
+ - Set DEB_DH_GIREPOSITORY_ARGS_ALL to /usr/lib/mutter.
+
+ -- Michael Biebl <biebl@debian.org> Thu, 07 Jul 2011 22:45:20 +0200
+
+mutter (3.0.2.1-1) unstable; urgency=low
+
+ [ Rico Tzschichholz ]
+ * New upstream release
+ * debian/watch:
+ - Look for bzip2 tarballs
+
+ [ Josselin Mouette ]
+ * Depend on libgnome2-common for the GConf schemas. This will be
+ necessary until mutter is ported to GSettings.
+
+ -- Laurent Bigonville <bigon@debian.org> Sat, 11 Jun 2011 14:39:59 +0200
+
+mutter (3.0.1-1) experimental; urgency=low
+
+ * New upstream release (3.0.0).
+ * debian/control.in:
+ - Bump Standards-Version to 3.9.2 (no further changes)
+ - Drop versionized dpkg-dev build-dependency
+
+ -- Laurent Bigonville <bigon@debian.org> Fri, 06 May 2011 23:47:25 +0200
+
+mutter (3.0.0-2) experimental; urgency=low
+
+ * Rename gir1.2-mutter-2.91 package to gir1.2-mutter-3.0
+
+ -- Laurent Bigonville <bigon@debian.org> Mon, 11 Apr 2011 11:19:27 +0200
+
+mutter (3.0.0-1) experimental; urgency=low
+
+ * Team upload.
+
+ [ Frederic Peters ]
+ * New upstream release (2.91.93).
+ * debian/libmutter0.symbols: new symbol.
+
+ [ Josselin Mouette ]
+ * Make the -dev package depend on the gir package.
+
+ [ Raphaël Hertzog ]
+ * New upstream release (3.0.0).
+
+ -- Raphaël Hertzog <hertzog@debian.org> Sun, 10 Apr 2011 19:38:04 +0000
+
+mutter (2.91.92-1) experimental; urgency=low
+
+ * New upstream release
+
+ [ Rico Tzschichholz ]
+ * debian/patches:
+ + drop 02_arm_include_clutter_x11.patch, is upstream
+ + drop 10_mutter-ldflags.patch, is upstream
+ * debian/control.in,debian/rules:
+ + add libmutter0 which replaces libmutter-wm0 and libmutter-private0
+
+ [ Frederic Peters ]
+ * debian/control.in: mention gnome-shell in libmutter0 package description.
+
+ -- Frederic Peters <fpeters@debian.org> Thu, 24 Mar 2011 19:56:48 +0100
+
+mutter (2.91.91-1) experimental; urgency=low
+
+ * New upstream release.
+
+ [Laurent Bigonville]
+ * debian/control.in: Add Vcs-Svn and Vcs-Browser fields
+
+ [Frederic Peters]
+ * debian/control.in, libmutter-wm0.install, libmutter-wm0.symbols:
+ Add a libmutter-wm0 library
+ * debian/patches/10_mutter-ldflags.patch: Fix linking of mutter binary
+ * debian/patches/20_libmutter_export_symbols.patch: Limit list of symbols
+ exported by libmutter-{wm,private} (but don't add it to series as it makes
+ gnome-shell segfault)
+ * debian/mutter.install, debian/mutter-common.install: move mutter-wm.desktop
+ from mutter-common to mutter.
+ * debian/control.in: add replaces/breaks in mutter, against previous
+ versions of mutter-common, for the move of mutter-wm.desktop.
+
+ -- Frederic Peters <fpeters@debian.org> Mon, 14 Mar 2011 19:09:58 +0100
+
+mutter (2.91.90-1) experimental; urgency=low
+
+ * New upstream release.
+
+ -- Frederic Peters <fpeters@debian.org> Wed, 23 Feb 2011 09:29:08 +0100
+
+mutter (2.91.6-1) experimental; urgency=low
+
+ [ Laurent Bigonville ]
+ * New upstream release.
+ * debian/control.in:
+ - Remove duplicate Section
+ - Drop gir1.2-mutter-2.91 Conflicts/Replaces against libmutter-private0
+ package
+ * debian/watch: Drop call to uupdate
+ * debian/mutter.lintian-overrides: Add overrides for manpages shipped
+ in mutter-common
+
+ [ Emilio Pozuelo Monfort ]
+ * debian/control.in:
+ + Update for the new gtk+ 3 package names.
+
+ -- Emilio Pozuelo Monfort <pochu@debian.org> Sat, 19 Feb 2011 15:20:42 +0000
+
+mutter (2.29.0-4) unstable; urgency=low
+
+ * Remove gir1.0-mutter-2.29 to ease the gir1.2 transition, since
+ nothing uses it.
+
+ -- Emilio Pozuelo Monfort <pochu@debian.org> Wed, 16 Feb 2011 20:34:44 +0000
+
+mutter (2.91.5-1) experimental; urgency=low
+
+ [ Emilio Pozuelo Monfort ]
+ * New upstream release.
+ + debian/control.in:
+ - Update build dependencies.
+ - Remove unneeded libgtk2.0-dev build dependency.
+ + debian/patches/02_gdk_removed_macro.patch,
+ debian/patches/03_handle_new_gtk_states.patch,
+ debian/patches/04_fix_gradient_example.patch:
+ - Removed, included upstream.
+ * debian/libmutter-private0.symbols:
+ + Add a symbols file.
+ * debian/rules:
+ + Make the shlibs always depend on the latest upstream version.
+ We have symbols file anyway, and manually bumping the shver is
+ error prone.
+
+ [ Laurent Bigonville ]
+ * debian/control: Bump Standards-Version to 3.9.1
+
+ -- Emilio Pozuelo Monfort <pochu@debian.org> Wed, 12 Jan 2011 23:06:20 +0000
+
+mutter (2.91.3-3) experimental; urgency=low
+
+ * debian/patches/02_gdk_removed_macro.patch,
+ * debian/patches/03_handle_new_gtk_states.patch,
+ * debian/patches/04_fix_gradient_example.patch:
+ - Patches from upstream git, fix the build with latest GTK+ 3.
+ * debian/control.in:
+ - Bump the libgtk3.0-dev build dependency accordingly.
+
+ -- Emilio Pozuelo Monfort <pochu@debian.org> Sat, 18 Dec 2010 23:39:24 +0000
+
+mutter (2.91.3-2) experimental; urgency=low
+
+ * Update to the new gir policy:
+ - Rename gir1.0-mutter-2.91 to gir1.2-mutter-2.91.
+ - Bump the gobject-introspection build dependency.
+ - Build depend on gir1.2 packages.
+ * debian/control.in:
+ - Fix typo, s/shlib/shlibs/.
+ * debian/rules:
+ - Remove hack to get translations in /usr/share, no longer needed.
+ - Pass the path to the typelibs to dh_girepository to get correct
+ dependencies.
+ * debian/rules,
+ debian/control.in:
+ - Use dh-autoreconf.
+ * debian/patches/90_autotools.patch,
+ debian/patches/99_ltmain_as-needed.patch:
+ - Removed, no longer needed with dh-autoreconf.
+ * debian/rules,
+ debian/copyright:
+ - Fix some metacity leftovers.
+ * debian/mutter.1,
+ debian/mutter-message.1,
+ debian/mutter-theme-viewer.1,
+ debian/mutter-window-demo.1,
+ debian/mutter-common.manpages:
+ - Removed, shipped upstream.
+
+ -- Emilio Pozuelo Monfort <pochu@debian.org> Tue, 14 Dec 2010 00:52:38 +0100
+
+mutter (2.91.3-1) experimental; urgency=low
+
+ [ Gustavo Noronha Silva ]
+ * New development release
+ * debian/control:
+ - update build-dependencies on GObject-Introspection packages
+ - build-depend on GTK+3
+
+ [ Emilio Pozuelo Monfort ]
+ * New upstream release.
+ - Rename gir1.0-mutter-2.31 to gir1.0-mutter-2.91.
+ * debian/control.in:
+ - Build depend on libjson-glib-dev and gir1.0-json-glib-1.0.
+ * debian/rules,
+ debian/control.in,
+ debian/source/format:
+ - Switch to source format 3.0 (quilt).
+ * debian/rules:
+ - Bump the shlib version.
+
+ -- Emilio Pozuelo Monfort <pochu@debian.org> Mon, 06 Dec 2010 00:59:42 +0100
+
+mutter (2.31.5-1) experimental; urgency=low
+
+ * New upstream release
+ - refreshed patches
+ - added a hack to rules to work-around the build trying to install
+ locale files to /usr/lib/locale
+ - bumped shlib minimum version to 2.31.5 (see #586124)
+
+ -- Gustavo Noronha Silva <kov@debian.org> Tue, 13 Jul 2010 11:36:29 -0300
+
+mutter (2.31.2-3) experimental; urgency=low
+
+ * debian/gir1.0-mutter-2.{29->31}.install:
+ - actually install the typelib file
+
+ -- Gustavo Noronha Silva <kov@debian.org> Mon, 31 May 2010 11:37:33 -0300
+
+mutter (2.31.2-2) experimental; urgency=low
+
+ * debian/control:
+ - fix GIR package name to account for GIR API name change
+
+ -- Gustavo Noronha Silva <kov@debian.org> Wed, 26 May 2010 15:15:34 -0300
+
+mutter (2.31.2-1) experimental; urgency=low
+
+ * New development release
+
+ -- Gustavo Noronha Silva <kov@debian.org> Wed, 26 May 2010 10:51:58 -0300
+
+mutter (2.29.1-1) experimental; urgency=low
+
+ * New development release.
+ * debian/control:
+ - build-dep on clutter >= 1.2
+
+ -- Gustavo Noronha Silva <kov@debian.org> Thu, 08 Apr 2010 20:48:38 -0300
+
+mutter (2.29.0-2) unstable; urgency=low
+
+ * debian/control:
+ - fix gir package name, because the typelib has changed its name
+
+ -- Gustavo Noronha Silva <kov@debian.org> Mon, 15 Mar 2010 17:27:59 -0300
+
+mutter (2.29.0-1) unstable; urgency=low
+
+ * New upstream development release.
+ * debian/rules:
+ - update makeshlibs argument to require >= 2.29.0
+
+ -- Gustavo Noronha Silva <kov@debian.org> Tue, 02 Mar 2010 19:19:44 -0300
+
+mutter (2.28.1~git20100129-1) unstable; urgency=low
+
+ * Upstream snapshot
+
+ -- Gustavo Noronha Silva <kov@debian.org> Fri, 29 Jan 2010 12:04:09 -0200
+
+mutter (2.28.1~git20091208-1) unstable; urgency=low
+
+ * New upstream snapshot
+
+ -- Gustavo Noronha Silva <kov@debian.org> Sat, 24 Oct 2009 13:16:53 -0200
+
+mutter (2.28.1~git20091024-1) unstable; urgency=low
+
+ * Upstream snapshot
+ * debian/control.in:
+ - fixed typo in description
+ - bump Standards-Version to 3.8.3
+
+ -- Gustavo Noronha Silva <kov@debian.org> Sat, 24 Oct 2009 12:59:03 -0200
+
+mutter (2.28.0-2) unstable; urgency=low
+
+ * debian/control.in:
+ - adapt for the new GObject introspection policy
+
+ -- Gustavo Noronha Silva <kov@debian.org> Mon, 19 Oct 2009 15:59:57 -0200
+
+mutter (2.28.0-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Gustavo Noronha Silva <kov@debian.org> Fri, 09 Oct 2009 13:23:25 -0300
+
+mutter (2.27.5-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Gustavo Noronha Silva <kov@debian.org> Wed, 30 Sep 2009 21:19:05 +0100
+
+mutter (2.27.3-2) unstable; urgency=low
+
+ [ Simon Raven <simon.raven@gmail.com> ]
+ * debian/control.in:
+ - adding missing build-dep to fix FTBFS (Closes: #544342)
+
+ [ Gustavo Noronha Silva ]
+ * debian/control.in:
+ - also add gobject-introspection, gobject-introspection-glib-2.0,
+ gobject-introspection-freedesktop, which were also missing, to
+ build-depends
+
+ -- Gustavo Noronha Silva <kov@debian.org> Sun, 30 Aug 2009 19:02:46 -0300
+
+mutter (2.27.3-1) unstable; urgency=low
+
+ [ Josselin Mouette ]
+ * Update list of copyright holders.
+
+ [ Gustavo Noronha Silva ]
+ * New upstream release
+
+ -- Gustavo Noronha Silva <kov@debian.org> Sat, 29 Aug 2009 21:53:05 -0300
+
+mutter (2.27.2-1) unstable; urgency=low
+
+ * First mutter release for Debian
+ - no ITP since this is in practice a branch of metacity
+ * debian/control.in:
+ - adapted descriptions
+ - added build-deps on gobject-introspection, and clutter >= 1.0
+ - renamed packages
+ * debian/patches/10_ignore_callbacks.patch:
+ - removed; applied upstream
+ * debian/mutter-common.install:
+ - this package no longer provides themes and gnome-control-center
+ keybindings capplet; this will come in a separate module in the
+ future, it seems, and we may want to make sure it is installed
+
+ -- Gustavo Noronha Silva <kov@debian.org> Sun, 26 Jul 2009 13:33:08 +0200
+
+metacity (1:2.26.0-3) unstable; urgency=high
+
+ * 10_ignore_callbacks.patch: stolen upstream. Fix a bug leading to
+ some callbacks being ignored. Closes: #533917.
+
+ -- Josselin Mouette <joss@debian.org> Wed, 24 Jun 2009 12:04:26 +0200
+
+metacity (1:2.26.0-2) unstable; urgency=low
+
+ * Use patchsys-quilt; build-depend on quilt.
+ * 01_Wcast-align.patch: don’t use -Wcast-align, it gives incorrect
+ warnings (errors thanks to -Werror) when some pointers are converted
+ back and forth to XPointers. Closes: #532655.
+ * 90_autotools.patch: relibtoolize the whole package.
+
+ -- Josselin Mouette <joss@debian.org> Wed, 10 Jun 2009 21:52:35 +0200
+
+metacity (1:2.26.0-1) unstable; urgency=low
+
+ [ Josselin Mouette ]
+ * Fix typo in changelog entry.
+
+ [ Loic Minier ]
+ * Let metacity suggest gnome-themes as it attempts to use the Clearlooks
+ Metacity theme by default and logs a warning when it can't be used.
+ * Let metacity suggest xdg-user-dirs as it fails creating the
+ .config/metacity sub-directory and logs a warning if .config isn't created
+ by xdg-user-dirs.
+
+ [ Josselin Mouette ]
+ * Set the team as primary maintainer. Closes: #523545.
+ * Fixup in the descriptions.
+ * New upstream release.
+ * Update build-dependencies.
+ * Bump shlibs for libmetacity-private0.
+
+ -- Josselin Mouette <joss@debian.org> Tue, 09 Jun 2009 20:36:03 +0200
+
+metacity (1:2.24.0-2) unstable; urgency=low
+
+ * Rename libmetacity0 to libmetacity-private0 because of an
+ unexpected ABI change. Closes: #510096.
+ * Remove trailing -1's in build-depends.
+ * debian/copyright: write complete list of copyright holders.
+ * Upload to unstable.
+
+ -- Josselin Mouette <joss@debian.org> Mon, 16 Feb 2009 18:03:57 +0100
+
+metacity (1:2.24.0-1) experimental; urgency=low
+
+ * New upstream release.
+ + Implements one-way maximisation. Closes: #450837.
+ + Fixes issues when disabling the compositor. Closes: #476492.
+ * Bump shlibs version to 1:2.24.0.
+ * Standards version is 3.8.0.
+ * 01_doublefree_maximize.patch: dropped, merged upstream.
+ * Install the .desktop in the metacity package.
+
+ -- Josselin Mouette <joss@debian.org> Sat, 22 Nov 2008 15:57:58 +0100
+
+metacity (1:2.22.0-2) unstable; urgency=low
+
+ [ Sven Arvidsson ]
+ * Add README.Debian, describing how to enable the compositor.
+ (Closes: #471442)
+
+ [ Josselin Mouette ]
+ * 01_doublefree_maximize.patch: stolen upstream (r3817). Fixes
+ vertical maximisation bug caused by an invalid free.
+ Closes: #452139.
+ * control.in: make metacity the first package so that it gets the
+ README.Debian.
+
+ -- Josselin Mouette <joss@debian.org> Thu, 18 Sep 2008 16:53:19 +0200
+
+metacity (1:2.22.0-1) unstable; urgency=low
+
+ [ Bradley Smith ]
+ * New upstream development release.
+
+ [ Sam Morris ]
+ * Build-depend on libxcomposite-dev for composite manager.
+
+ [ Sebastian Dröge ]
+ * New upstream stable release:
+ + debian/rules:
+ - Drop check-dist include.
+ - Update shlibs to >= 2.22.0 because of new API.
+
+ -- Sebastian Dröge <slomo@debian.org> Fri, 14 Mar 2008 13:54:19 +0100
+
+metacity (1:2.21.5-1) experimental; urgency=low
+
+ [ Riccardo Setti ]
+ * New metacity package.
+ * build with compositor extension.
+
+ [ Bradley Smith ]
+ * Update Standards Version to 3.7.3. (No changes)
+ * Add check-dist.
+
+ -- Riccardo Setti <giskard@debian.org> Thu, 20 Dec 2007 02:29:13 +0100
+
+metacity (1:2.20.1-2) UNRELEASED; urgency=low
+
+ * Let metacity-common replace metacity instead of conflicting to ease
+ upgrades.
+
+ -- Loic Minier <lool@dooz.org> Wed, 28 Nov 2007 19:00:45 +0100
+
+metacity (1:2.20.1-1) unstable; urgency=low
+
+ [ Josselin Mouette ]
+ * Recommend gnome-session | x-session-manager. Closes: #225640.
+ * Remove metacity.menu. Closes: #397645.
+
+ [ Sebastian Dröge ]
+ * New upstream bugfix release.
+
+ -- Sebastian Dröge <slomo@debian.org> Mon, 19 Nov 2007 13:57:21 +0100
+
+metacity (1:2.20.0-1) unstable; urgency=low
+
+ * New upstream release:
+ + debian/patches/01_session_tolerate_missing_file.patch,
+ debian/patches/02_fix_crash_on_session_saving.patch:
+ - Dropped, merged upstream.
+ + debian/rules:
+ - Bump shlibs to >= 2.19.5.
+ + debian/metacity-common.install:
+ - Ship keybinding stuff.
+ * debian/control.in:
+ + Drop duplicated libxinerama-dev build dependency.
+
+ -- Sebastian Dröge <slomo@debian.org> Sat, 22 Sep 2007 10:46:36 +0200
+
+metacity (1:2.18.5-1) unstable; urgency=low
+
+ * New upstream stable release; no API change.
+
+ -- Loic Minier <lool@dooz.org> Tue, 19 Jun 2007 12:07:17 +0200
+
+metacity (1:2.18.3-2) unstable; urgency=low
+
+ * 99_ltmain_as-needed.patch: make --as-needed work for the library
+ too.
+
+ -- Josselin Mouette <joss@debian.org> Wed, 06 Jun 2007 23:40:52 +0200
+
+metacity (1:2.18.3-1) unstable; urgency=low
+
+ * Drop metacity-common postinst as it was scheduled to be dropped post-etch.
+ * Rewrite metacity postinst and prerm to use safer individual if tests
+ instead of trying to list all possible args in a case; reported by
+ Lior Kaplan; closes: #421206.
+ * New upstream stable release; no API change.
+
+ -- Loic Minier <lool@dooz.org> Mon, 28 May 2007 17:48:18 +0200
+
+metacity (1:2.18.2-3) unstable; urgency=low
+
+ * New patch 02_fix_crash_on_session_saving.patch, taken from Ubuntu.
+ Fix a crash that would occur when the current session is saved and would
+ corrupt ~/.gnome2/session. Gnome bug #433253
+
+ -- Sebastian Dröge <slomo@debian.org> Thu, 26 Apr 2007 15:44:10 +0200
+
+metacity (1:2.18.2-2) unstable; urgency=low
+
+ * Add -z defs to LDFLAGS; cleanups.
+ * Upload to unstable; drop check-dist include.
+ * Add a ${misc:Depends}.
+ * Drop useless --enable-xsync=yes from configure flags.
+ * Wrap build-deps and deps.
+ * Bump dep on libgtk2.0-dev to >= 2.10.0-1.
+
+ -- Loic Minier <lool@dooz.org> Sat, 14 Apr 2007 15:12:50 +0200
+
+metacity (1:2.18.2-1) experimental; urgency=low
+
+ * New upstream stable release.
+
+ -- Loic Minier <lool@dooz.org> Mon, 09 Apr 2007 08:47:47 +0200
+
+metacity (1:2.18.1-1) experimental; urgency=low
+
+ * New upstream stable release; no API change; bug fixes and translations.
+ * Drop obsolete README.Debian; misc cleanups.
+
+ -- Loic Minier <lool@dooz.org> Sun, 08 Apr 2007 09:23:44 +0200
+
+metacity (1:2.18.0-1) experimental; urgency=low
+
+ [ Marco Cabizza ]
+ * New upstream release: not enabling compositor, too unstable, and libcm
+ seems dead upstream.
+
+ [ Riccardo Setti ]
+ * Updated debhelper compatibility to 5
+
+ [ Loic Minier ]
+ * Set LDFLAGS directly instead of via DEB_CONFIGURE_SCRIPT_ENV; build-dep on
+ cdbs >= 0.4.41.
+ * Fix metacity-common.install to list the correct dirs.
+
+ -- Loic Minier <lool@dooz.org> Mon, 26 Mar 2007 22:27:08 +0200
+
+metacity (1:2.16.5-1) experimental; urgency=low
+
+ [ Loic Minier ]
+ * Add a get-orig-source target to retrieve the upstream tarball.
+ * Include the new check-dist Makefile to prevent accidental uploads to
+ unstable; bump build-dep on gnome-pkg-tools to >= 0.10.
+
+ [ Josselin Mouette ]
+ * 01_session_tolerate_missing_file.patch: register differently to the
+ session, in order to handle gracefully the case where a session file
+ is missing on the disk (closes: #315169, #391287).
+ * New upstream release.
+
+ -- Josselin Mouette <joss@debian.org> Sun, 4 Mar 2007 10:29:40 +0100
+
+metacity (1:2.16.3-1) experimental; urgency=low
+
+ [ Marco Cabizza ]
+ * New upstream release.
+
+ [ Loic Minier ]
+ * Merge 1:2.14.5-2.
+
+ [ Josselin Mouette ]
+ * Use ${gnome:Version} and ${gnome:NextVersion} to loosen the
+ dependencies.
+ * Build-depend on gnome-pkg-tools 0.6.
+ * Call gnome-version.mk.
+ * Replace the x-dev build-dependency by x11proto-core-dev.
+
+ -- Josselin Mouette <joss@debian.org> Tue, 21 Nov 2006 20:50:05 +0100
+
+metacity (1:2.16.2-1) experimental; urgency=low
+
+ * New upstream release, with backwards incompatible changes in internal API.
+
+ -- Loic Minier <lool@dooz.org> Mon, 25 Sep 2006 17:47:56 +0200
+
+metacity (1:2.16.1-1) experimental; urgency=low
+
+ [ Loïc Minier ]
+ * Remove superfluous dh_installcatalogs call and bump cdbs build-dep to
+ >= 0.4.37, thanks Peter Eisentraut. (Closes: #361156)
+ [debian/control, debian/control.in, debian/rules]
+ * Don't mention non-existing Info documentation in the metacity and
+ metacity-message man pages, thanks Piotr Engelking. (Closes: #365450)
+ [debian/metacity.1, debian/metacity-message.1]
+ * Fix watch file.
+
+ [ Marco Cabizza ]
+ * New upstream release, target experimental:
+ - Bumping up libgtk2.0-dev build-dep to 2.10
+ * Setting myself as the maintainer.
+
+ -- Marco Cabizza <marco87@gmail.com> Wed, 13 Sep 2006 18:46:45 +0200
+
+metacity (1:2.14.5-2) unstable; urgency=low
+
+ * Remove superfluous dh_installcatalogs call and bump cdbs build-dep to
+ >= 0.4.37, thanks Peter Eisentraut. (Closes: #361156)
+ [debian/control, debian/control.in, debian/rules]
+ * Don't mention non-existing Info documentation in the metacity and
+ metacity-message man pages, thanks Piotr Engelking. (Closes: #365450)
+ [debian/metacity.1, debian/metacity-message.1]
+ * Fix watch file.
+ * Fix typo in debian/metacity-message.1; thanks Per Bojsen; closes: #397864.
+
+ -- Loic Minier <lool@dooz.org> Fri, 10 Nov 2006 09:38:49 +0100
+
+metacity (1:2.14.5-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Loic Minier <lool@dooz.org> Tue, 30 May 2006 15:47:36 +0200
+
+metacity (1:2.14.3-1) unstable; urgency=low
+
+ [ Gustavo Noronha Silva ]
+ * New upstream release.
+ + Doesn't steal focus (closes: #361273).
+
+ [ Josselin Mouette ]
+ * Make the package binNMU-safe.
+ + Build-depend on dpkg-dev 1.13.19.
+ + Use ${source:Version} and ${binary:Version}.
+ * Standards version is 3.7.2.
+ * Bump shlibs version to 2.14.
+
+ [ Loic Minier ]
+ * Stop shipping /usr/lib/*.la files in libmetacity-dev.
+ [debian/libmetacity-dev.install]
+
+ -- Josselin Mouette <joss@debian.org> Sun, 14 May 2006 23:30:56 +0200
+
+metacity (1:2.14.1-2) unstable; urgency=low
+
+ * Simple rebuild to get rid of references to Xcursor.la / Xrender.la.
+
+ -- Loic Minier <lool@dooz.org> Tue, 2 May 2006 16:45:22 +0200
+
+metacity (1:2.14.1-1) unstable; urgency=low
+
+ * New upstram version.
+ * Adds edge resistance. Closes: #191649.
+ * patches/000_raise-on-click.patch: Fixed upstream; dropped.
+
+ -- Dafydd Harries <daf@debian.org> Thu, 30 Mar 2006 19:50:23 +0100
+
+metacity (1:2.12.3-3) unstable; urgency=low
+
+ * Also explicitely remove catalogs installed by past metacity packages.
+ [debian/metacity-common.preinst]
+ * Move these clenaups to postinst.
+ [debian/metacity-common.preinst, debian/metacity-common.postinst]
+
+ -- Loic Minier <lool@dooz.org> Sun, 12 Feb 2006 16:53:48 +0100
+
+metacity (1:2.12.3-2) unstable; urgency=low
+
+ * Clean up metacity's postinst.
+ [debian/metacity.postinst]
+ * Clean up /etc/sgml/metacity.cat and .old left over by metacity.
+ [debian/metacity-common.preinst]
+
+ -- Loic Minier <lool@dooz.org> Sun, 12 Feb 2006 16:35:07 +0100
+
+metacity (1:2.12.3-1) unstable; urgency=low
+
+ * New upstream release.
+ * Update patch to support a new raise on click mode and choice of this mode
+ to apply without fuzz. Also note this patch has been rejected upstream.
+ [debian/patches/000_raise-on-click.patch]
+ * New metacity-common package holds arch-independent files and registers
+ schemas. (Closes: #218365, #234665, #240211)
+ [debian/metacity.dirs, debian/metacity-common.links,
+ debian/metacity.install, debian/control, debian/control.in,
+ debian/metacity-common.postinst, debian/metacity.catalog,
+ debian/metacity-common.manpages, debian/metacity.postrm,
+ debian/metacity-common.dirs, debian/metacity-common.install,
+ debian/metacity-common.catalog, debian/changelog,
+ debian/metacity-common.postrm, debian/rules, debian/metacity.links,
+ debian/metacity.postinst, debian/metacity.manpages]
+ * Actually ship license information.
+ [debian/copyright]
+ * Version the metacity and libmetacity dependency on metacity-common with
+ Source-Version.
+ [debian/control, debian/control.in]
+ * Install SGML catalogs with dh_installcatalogs, move them below
+ /usr/share/sgml/metacity-common, in the metacity-common package.
+ [debian/control, debian/control, debian/metacity-common.catalog,
+ debian/metacity-common.postinst, debian/metacity-common.postrm,
+ debian/metacity-common.sgmlcatalogs, debian/rules]
+ * Drop the /usr/share/metacity/dtd symlink.
+ [debian/metacity-common.links]
+ * Drop /usr/share/sgml/dtd creation.
+ [debian/metacity-common.dirs]
+ * Drop useless /usr/share/metacity from metacity-common.
+ [debian/metacity-common.install]
+ * Drop obsolete cleanup "rm -rf".
+ [debian/rules]
+ * Give .dtd installation to dh_install.
+ [debian/metacity-common.install, debian/rules]
+
+ -- Loic Minier <lool@dooz.org> Sat, 11 Feb 2006 21:10:40 +0100
+
+metacity (1:2.12.2-3) unstable; urgency=high
+
+ * Add xorg build-deps (libice-dev, libsm-dev, libx11-dev, libxext-dev,
+ libxinerama-dev, libxrandr-dev, x-dev) thanks to "xlibs-split".
+ (Closes: #347000)
+ [debian/control, debian/control.in]
+ * Relibtoolizing would get Debian's AC_PATH_XTRA, but I add a libxt-dev
+ build-dep and pass --as-needed because the patch was like uh 1.1 MB.
+ [debian/control, debian/control.in, debian/rules]
+
+ -- Loic Minier <lool@dooz.org> Mon, 9 Jan 2006 22:47:36 +0100
+
+metacity (1:2.12.2-2) unstable; urgency=low
+
+ * Upload to unstable.
+
+ -- Josselin Mouette <joss@debian.org> Sun, 8 Jan 2006 01:49:55 +0100
+
+metacity (1:2.12.2-1) experimental; urgency=low
+
+ * New upstream release.
+
+ -- Jordi Mallach <jordi@debian.org> Sun, 25 Dec 2005 23:20:10 +0100
+
+metacity (1:2.12.1-1) experimental; urgency=low
+
+ * New upstream release.
+ * watch: update for 2.12.
+ * 000_raise-on-click.patch: update to make patch apply cleanly.
+ * rules: bump shlibs for new symbols.
+
+ -- Josselin Mouette <joss@debian.org> Sun, 9 Oct 2005 16:50:22 +0200
+
+metacity (1:2.10.3-2) unstable; urgency=low
+
+ * debian/control.in:
+ - don't Build-Depends on xlibs-pic, Build-Depend on libxinerama-dev
+ (Closes: #320589).
+ * debian/patches/000_metacity-debian-xinerama-pic.patch:
+ - not useful with xorg.
+
+ -- Sebastien Bacher <seb128@debian.org> Tue, 2 Aug 2005 17:40:43 +0200
+
+metacity (1:2.10.3-1) unstable; urgency=low
+
+ * New upstream version.
+ * Bump Standards-Version to 3.6.2.
+ * Add CDBS' utils to rules.
+
+ -- Loic Minier <lool@dooz.org> Fri, 29 Jul 2005 10:56:05 +0200
+
+metacity (1:2.10.2-1) unstable; urgency=low
+
+ * New upstream version.
+
+ -- Sebastien Bacher <seb128@debian.org> Tue, 28 Jun 2005 23:09:14 +0200
+
+metacity (1:2.10.1-2) unstable; urgency=low
+
+ * Upload to unstable.
+
+ -- Jordi Mallach <jordi@debian.org> Sun, 12 Jun 2005 19:03:18 +0200
+
+metacity (1:2.10.1-1) experimental; urgency=low
+
+ * New upstream version.
+
+ -- Sebastien Bacher <seb128@debian.org> Wed, 13 Apr 2005 17:35:20 +0200
+
+metacity (1:2.10.0-1) experimental; urgency=low
+
+ * New upstream version.
+ * debian/patches/000_raise-on-click.patch:
+ - updated.
+ * debian/watch:
+ - updated.
+
+ -- Sebastien Bacher <seb128@debian.org> Fri, 8 Apr 2005 21:33:44 +0200
+
+metacity (1:2.8.8-1) unstable; urgency=low
+
+ * GNOME team upload.
+ * New upstream release.
+
+ -- Jordi Mallach <jordi@debian.org> Wed, 29 Dec 2004 17:18:05 +0100
+
+metacity (1:2.8.6-1) unstable; urgency=low
+
+ * New upstream release.
+ * Upload to unstable.
+
+ -- Sebastien Bacher <seb128@debian.org> Thu, 18 Nov 2004 13:23:27 +0100
+
+metacity (1:2.8.5-2) experimental; urgency=low
+
+ * debian/metacity.postinst:
+ - removed the static gconf registration.
+ * debian/metacity-theme-viewer.1:
+ - manpage written by Jose M. Moya" <josem@die.upm.es> (Closes: #252108).
+ * debian/metacity-window-demo.1:
+ - manpage written by Jose M. Moya" <josem@die.upm.es> (Closes: #252110).
+ * debian/metacity.manpages:
+ - updated.
+
+ -- Sebastien Bacher <seb128@debian.org> Fri, 17 Sep 2004 22:11:51 +0200
+
+metacity (1:2.8.5-1) experimental; urgency=low
+
+ * GNOME team upload.
+ * New upstream release.
+ * Sebastien Bacher:
+ - Switched to CDBS.
+ - debian/rules: converted to CDBS
+ - debian/*.files: replaced with .install files.
+ * J.H.M. Dassen (Ray):
+ - [debian/control.in] Bumped libstartup-notification0-dev as
+ configure requires 0.7.
+ * Jordi Mallach:
+ - debian/control.in: add cdbs to build-deps.
+
+ -- Jordi Mallach <jordi@debian.org> Tue, 14 Sep 2004 20:30:36 +0200
+
+metacity (1:2.8.1-4) unstable; urgency=low
+
+ * debian/rules:
+ - added a dh_gconf call.
+ * debian/metacity.postinst:
+ - removed the static schemas registration, dh_gconf handles that right.
+
+ -- Sebastien Bacher <seb128@debian.org> Fri, 6 Aug 2004 18:17:03 +0200
+
+metacity (1:2.8.1-3) unstable; urgency=low
+
+ * GNOME Team Upload.
+ * Upload in unstable.
+
+ -- Sebastien Bacher <seb128@debian.org> Wed, 26 May 2004 14:28:32 +0200
+
+metacity (1:2.8.1-2) experimental; urgency=low
+
+ * debian/patches/000_raise-on-click.patch:
+ + patch from bugzilla to choose to raise or not the window which has
+ the focus in mouse and sloppy modes. (Closes: #228768).
+ The gconf key to use is /apps/metacity/general/raise_on_click.
+ * Gnome Team Upload.
+
+ -- Sebastien Bacher <seb128@debian.org> Wed, 26 May 2004 14:19:51 +0200
+
+metacity (1:2.8.1-1) experimental; urgency=low
+
+ * New upstream release.
+ * debian/patches/000_metacity-debian-xinerama-pic.patch:
+ + updated
+ * GNOME Team Upload.
+
+ -- Sebastien Bacher <seb128@debian.org> Wed, 5 May 2004 21:17:15 +0200
+
+metacity (1:2.8.0-3) experimental; urgency=low
+
+ * GNOME team upload.
+ * debian/rules: get the epoch included in the shlib version for
+ libmetacity0.
+
+ -- Jordi Mallach <jordi@debian.org> Tue, 6 Apr 2004 14:04:36 +0200
+
+metacity (1:2.8.0-2) experimental; urgency=low
+
+ * Added Build-Depends on gnome-pkg-tools and libxml-parser-perl
+ (Closes: #240639).
+
+ -- Sebastien Bacher <seb128@debian.org> Sat, 3 Apr 2004 23:46:56 +0200
+
+metacity (1:2.8.0-1) experimental; urgency=low
+
+ * New upstream release:
+ + converts "show desktop mode" to "all windows are minimized" when
+ you open a new window (Closes: #217467).
+ + fixes bug with panel not listed before clicking on them
+ (Closes: #224054).
+ + fixes multi-tab handling (Closes: #227708).
+ + includes always on top menu entry (Closes: #204212).
+ + includes wireframes support (Closes: #184849).
+ + should fix bug with applications changing workspace
+ (Closes: #224156, #230782).
+ + switches window truncates title (Closes: #186324).
+ * debian/control.in, debian/rules:
+ + adapted for the Gnome Team.
+ * debian/patches/000_metacity-debian-xinerama-pic.patch:
+ + updated.
+ * debian/patches/001_metacity-focus.patch:
+ + removed since the changes are included in the new version.
+ * debian/watch:
+ + updated to 2.8 branch.
+
+ -- Sebastien Bacher <seb128@debian.org> Sun, 28 Mar 2004 12:26:22 +0200
+
+metacity (1:2.6.3-2) unstable; urgency=low
+
+ * debian/patches/001_metacity-focus.patch :
+ + new patch to fix focus problem with panels in mouse and sloppy modes
+ (Closes: #224858).
+ * Gnome Team Upload.
+
+ -- Sebastien Bacher <seb128@debian.org> Sun, 18 Jan 2004 19:31:49 +0100
+
+metacity (1:2.6.3-1) unstable; urgency=low
+
+ * New upstream release.
+ * Gnome Team Upload.
+
+ -- Sebastien Bacher <seb128@debian.org> Sat, 20 Dec 2003 23:17:21 +0100
+
+metacity (1:2.6.2-2) unstable; urgency=low
+
+ * debian/patches/000_metacity-debian-xinerama-pic.patch:
+ - updated to fix a link problem (Closes: #216693).
+
+ -- Sebastien Bacher <seb128@debian.org> Tue, 21 Oct 2003 13:56:24 +0200
+
+metacity (1:2.6.2-1) unstable; urgency=low
+
+ * New upstream release.
+ * debian/patches/:
+ - 000_metacity-2.4.34-usage.patch: removed.
+ - 000_metacity-debian-xinerama-pic.patch: updated.
+ - 001_metacity-2.4.55-non-weak-symbols.patch: removed.
+ * Update Build-Depends.
+ * Gnome Team Upload.
+
+ -- Sebastien Bacher <seb128@debian.org> Sat, 18 Oct 2003 19:33:23 +0200
+
+metacity (1:2.4.55-3) unstable; urgency=low
+
+ * debian/metacity.1:
+ - fixed the incorrect option. (closes: Bug#209159)
+ * debian/metacity.prerm:
+ - fixed removing alternatives issue. (closes: Bug#211502)
+
+ -- Akira TAGOH <tagoh@debian.org> Wed, 8 Oct 2003 18:44:56 +0900
+
+metacity (1:2.4.55-2) unstable; urgency=low
+
+ * debian/patches/000_metacity-debian-xinerama-pic.patch:
+ - update to fix the unnecessary library dependencies in .la.
+ (closes: Bug#195774)
+
+ -- Akira TAGOH <tagoh@debian.org> Thu, 12 Jun 2003 01:25:45 +0900
+
+metacity (1:2.4.55-1) unstable; urgency=low
+
+ * New upstream release.
+ * debian/patches/:
+ - 000_metacity-2.4.34-save-workspace.patch: removed.
+ - 001_metacity-2.4.55-non-weak-symbols.patch: updated.
+
+ -- Akira TAGOH <tagoh@debian.org> Mon, 2 Jun 2003 02:50:50 +0900
+
+metacity (1:2.4.34-3) unstable; urgency=low
+
+ * debian/control:
+ - suggests gnome-control-center instead of metacity-properties.
+ (closes: Bug#192752)
+ - bumped Standards-Version to 3.5.10.0.
+ * debian/patches/001_metacity-2.4.34-non-weak-symbols.patch:
+ - applied a backported patch to fix undefined non-weak symbols.
+ (closes: Bug#187347)
+ * debian/metacity.postinst:
+ - set a priority to 60 for x-window-manager according to the latest
+ policy.
+
+ -- Akira TAGOH <tagoh@debian.org> Mon, 19 May 2003 06:30:37 +0900
+
+metacity (1:2.4.34-2) unstable; urgency=low
+
+ * Revert to 2.4.34 to use stable release.
+ - should works now. (closes: Bug#187749, Bug#187387, Bug#187982)
+ * debian/README.Debian:
+ - described NVidia drivers issue. (closes: Bug#181056)
+ * debian/patches/:
+ - 000_metacity-2.4.34-usage.patch: applied it again.
+ - 000_metacity-2.4.34-save-workspace.patch: applied a backported patch
+ from CVS to really fix Bug#186033 in 2.4.34.
+ - 000_metacity-2.5.0-noframe-window.patch: removed.
+
+ -- Akira TAGOH <tagoh@debian.org> Mon, 14 Apr 2003 00:29:52 +0900
+
+metacity (2.5.0-2) unstable; urgency=low
+
+ * debian/patches/:
+ - 000_metacity-debian-xinerama-pic.patch:
+ use libXinerama_pic.a instead of libXinerama.a.
+ - 000_metacity-2.5.0-noframe-window.patch:
+ applied a backported patch from CVS to work no frame window.
+ (closes: Bug#187316)
+ * debian/control:
+ - requires xlibs-pic >= 4.2.1-6.
+
+ -- Akira TAGOH <tagoh@debian.org> Fri, 4 Apr 2003 04:26:49 +0900
+
+metacity (2.5.0-1) unstable; urgency=low
+
+ * New upsream release.
+ - Workspace names are saved now. (closes: Bug#186033)
+ * debian/control:
+ - bumped Standards-Version to 3.5.9.
+ - changed a section for libmetacity-dev to libdevel.
+ * debian/compat:
+ - use it instead of DH_COMPAT.
+ * debian/patches/
+ - 000_metacity-2.4.34-usage.patch: removed.
+
+ -- Akira TAGOH <tagoh@debian.org> Wed, 2 Apr 2003 00:16:38 +0900
+
+metacity (2.4.34-1) unstable; urgency=low
+
+ * New upstream release.
+ - contains a fix of 64-bit bug. so should be fixed. (closes: Bug#179698)
+ - should be fixed. (closes: Bug#177814)
+ * debian/patches/000_metacity-2.4.34-usage.patch:
+ applied to fix a typo in usage. (closes: Bug#179699)
+
+ -- Akira TAGOH <tagoh@debian.org> Fri, 7 Feb 2003 04:38:32 +0900
+
+metacity (2.4.21-2) unstable; urgency=low
+
+ * debian/control:
+ - suggests metacity-properties instead of gnome-control-center.
+ * debian/metacity.docs:
+ - moved from libmetacity0. (closes: Bug#178966)
+ * debian/metacity.postinst:
+ - run gconftool-2 with HOME=/root
+
+ -- Akira TAGOH <tagoh@debian.org> Sun, 2 Feb 2003 16:50:02 +0900
+
+metacity (2.4.21-1) unstable; urgency=low
+
+ * New upstream release.
+ * debian/patches/:
+ - 000_metacity-2.4.13-args.patch: removed, because it was merged to the
+ upstream.
+ - 000_metacity-2.4.8-properties.patch: removed.
+ * debian/control: add Suggests: gnome-control-center.
+ * debian/rules: drop --enable-config-dialog. metacity-properties is
+ obsolete. use gnome-window-properties in gnome-control-center instead of.
+
+ -- Akira TAGOH <tagoh@debian.org> Wed, 29 Jan 2003 00:39:57 +0900
+
+metacity (2.4.13-2) unstable; urgency=low
+
+ * debian/docs: add NEWS file (closes: Bug#176317)
+
+ -- Akira TAGOH <tagoh@debian.org> Tue, 14 Jan 2003 23:15:48 +0900
+
+metacity (2.4.13-1) unstable; urgency=low
+
+ * New upstream release.
+ * debian/control:
+ - updated Build-Depends.
+ - add libgtk2.0-dev to Depends for libmetacity-dev
+ * debian/rules: enable startup-notification.
+ * debian/patches/:
+ - 000_metacity-2.4.8-dont-pass-NULL.patch:
+ removed.
+ - 000_metacity-2.4.13-args.patch:
+ applied to fix the working of configure options.
+
+ -- Akira TAGOH <tagoh@debian.org> Sat, 11 Jan 2003 07:06:24 +0900
+
+metacity (2.4.8-4) unstable; urgency=low
+
+ * upstream bug was closed. so it should be fixed. (closes: Bug#152075)
+ * debian/rules: don't use dh_installwm until it will supports the
+ registration of manpage as slave.
+ * debian/metacity.postinst: runs update-alternatives. (closes: Bug#175756)
+ * debian/metacity.prerm: runs update-alternatives.
+
+ -- Akira TAGOH <tagoh@debian.org> Thu, 9 Jan 2003 03:40:15 +0900
+
+metacity (2.4.8-3) unstable; urgency=low
+
+ * debian/metacity.postinst:
+ fix the wrong registration. (closes: Bug#173789, Bug#174358)
+
+ -- Akira TAGOH <tagoh@debian.org> Fri, 27 Dec 2002 05:01:25 +0900
+
+metacity (2.4.8-2) unstable; urgency=low
+
+ * debian/patches/000_metacity-2.4.8-dont-pass-NULL.patch:
+ applied to fix the segfault at startup. (closes: Bug#173594, Bug#173604)
+
+ -- Akira TAGOH <tagoh@debian.org> Fri, 20 Dec 2002 01:08:43 +0900
+
+metacity (2.4.8-1) unstable; urgency=low
+
+ * New upstream release.
+ * debian/patches/000_metacity-2.4.3-stack.patch:
+ removed, because this release contains it.
+ * debian/control:
+ - fix description-synopsis-ends-with-full-stop.
+ - add libmetacity0 and libmetacity-dev
+ * debian/rules:
+ - install metacity-theme.dtd as a sgml catalog. (closes: Bug#170041)
+ - build with --enable-config-dialog until we upload GNOME 2.2.
+ * debian/metacity.postinst:
+ - use gconftool-2 --get-default-source to get GCONF_CONFIG_SOURCE
+ - runs update-catalog.
+ * debian/patches/000_metacity-2.4.8-properties.patch:
+ applied to fix the missing file.
+
+ -- Akira TAGOH <tagoh@debian.org> Thu, 12 Dec 2002 09:21:35 +0900
+
+metacity (2.4.3-2) unstable; urgency=low
+
+ * debian/patches/000_metacity-2.4.3-stack.patch: backported to fix the
+ random crashes. (closes: Bug#168653)
+
+ -- Akira TAGOH <tagoh@debian.org> Wed, 13 Nov 2002 00:32:14 +0900
+
+metacity (2.4.3-1) unstable; urgency=low
+
+ * New upstream release. (closes: Bug#166919)
+ * debian/rules: support noopt option for DEB_BUILD_OPTIONS.
+ * debian/control: improve a description. Thanks stephen farrell.
+
+ -- Akira TAGOH <tagoh@debian.org> Thu, 7 Nov 2002 23:16:47 +0900
+
+metacity (2.4.1-1) unstable; urgency=low
+
+ * New upstream release. (closes: Bug#160535)
+ - Should be fixed. (closes: Bug#157995)
+ * Set a priority to 40 for x-window-manager according to Bug#155680.
+ (closes: Bug#155494)
+ * debian/metacity.1: updated.
+ * debian/metacity-message.1: added.
+ * debian/control:
+ - bumped Standards-Version to 3.5.7.
+ - updated Build-Depends.
+
+ -- Akira TAGOH <tagoh@debian.org> Sat, 14 Sep 2002 20:01:35 +0900
+
+metacity (2.4.0-1) unstable; urgency=low
+
+ * New upstream release.
+ - switching the workspaces should works now. (closes: Bug#151500)
+ * debian/control: update Build-Depends for libgtk2.0-dev.
+
+ -- Akira TAGOH <tagoh@debian.org> Fri, 9 Aug 2002 02:35:15 +0900
+
+metacity (2.3.987-1) unstable; urgency=low
+
+ * New upstream release.
+ * debian/control: add libglade2-dev to Build-Depends (closes: Bug#149489)
+
+ -- Akira TAGOH <tagoh@debian.org> Tue, 11 Jun 2002 14:38:06 +0900
+
+metacity (2.3.610-1) unstable; urgency=low
+
+ * New upstream release.
+ - Should be fixed in this release. (closes: Bug#146127)
+
+ -- Akira TAGOH <tagoh@debian.org> Wed, 5 Jun 2002 19:15:41 +0900
+
+metacity (2.3.377-2) unstable; urgency=low
+
+ * debian/docs: includes theme-format.txt (closes: Bug#147644)
+
+ -- Akira TAGOH <tagoh@debian.org> Tue, 21 May 2002 19:24:00 +0900
+
+metacity (2.3.377-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Akira TAGOH <tagoh@debian.org> Tue, 21 May 2002 11:02:28 +0900
+
+metacity (2.3.233-2) unstable; urgency=low
+
+ * debian/control: fix the misleading description. (closes: Bug#145942)
+
+ -- Akira TAGOH <tagoh@debian.org> Tue, 7 May 2002 14:29:36 +0900
+
+metacity (2.3.233-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Akira TAGOH <tagoh@debian.org> Sun, 5 May 2002 03:21:05 +0900
+
+metacity (2.3.144-2) unstable; urgency=low
+
+ * debian/control: Add Provides: x-window-manager.
+
+ -- Akira TAGOH <tagoh@debian.org> Fri, 3 May 2002 07:31:17 +0900
+
+metacity (2.3.144-1) unstable; urgency=low
+
+ * New upstream release.
+ - keybindings are configurable now. (closes: Bug#144657)
+
+ -- Akira TAGOH <tagoh@debian.org> Tue, 30 Apr 2002 03:32:36 +0900
+
+metacity (2.3.89-1) unstable; urgency=low
+
+ * New upstream release.
+ * debian/scripts/vars.build: fix bashism.
+ * debian/rules: add GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=yes to install
+ rule.
+ * debian/metacity.manpages: remove metacity-restart.1 entry. this command
+ no longer exists.
+
+ -- Akira TAGOH <tagoh@debian.org> Tue, 16 Apr 2002 21:35:19 +0900
+
+metacity (2.3.55-1) unstable; urgency=low
+
+ * I have taken over from Thom.
+ * New upstream release.
+ * Build against the latest libraries (closes: Bug#139215)
+ * debian/rules:
+ - support DEB_HOST_GNU_TYPE and DEB_BUILD_GNU_TYPE.
+ - support debug and nostrip options for DEB_BUILD_OPTIONS.
+ - copying the latest config.sub and config.guess.
+
+ -- Akira TAGOH <tagoh@debian.org> Tue, 26 Mar 2002 02:18:26 +0900
+
+metacity (2.3.34-2) unstable; urgency=low
+
+ * Added build-depend on docbook-to-man (Closes: #134433)
+
+ -- Thom May <thom@debian.org> Sun, 17 Feb 2002 20:14:28 +0000
+
+metacity (2.3.34-1) unstable; urgency=low
+
+ * Initial Release. (Closes: #107181)
+
+ -- Thom May <thom@debian.org> Sun, 10 Feb 2002 12:03:22 +0000
+
--- /dev/null
+# This file is autogenerated. DO NOT EDIT!
+#
+# Modifications should be made to debian/control.in instead.
+# This file is regenerated automatically in the clean target.
+Source: mutter
+Section: x11
+Priority: optional
+Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>
+Uploaders: Jeremy Bicha <jbicha@debian.org>
+Build-Depends: debhelper (>= 11),
+ gnome-pkg-tools (>= 0.10),
+ gtk-doc-tools (>= 1.15),
+ libgtk-3-dev (>= 3.19.8),
+ libglib2.0-dev (>= 2.53.2),
+ libcanberra-gtk3-dev,
+ gobject-introspection (>= 1.41.3),
+ gsettings-desktop-schemas-dev (>= 3.21.4),
+ libgirepository1.0-dev (>= 0.9.12),
+ libjson-glib-dev (>= 0.13.2-1~),
+ libgbm-dev (>= 17.1),
+ libpango1.0-dev (>= 1.2.0),
+ libcairo2-dev (>= 1.10.0),
+ libcogl-dev,
+ libgl1-mesa-dev (>= 7.1~rc3-1~),
+ libdrm-dev (>= 2.4.83) [!hurd-any],
+ libegl1-mesa-dev (>= 17),
+ libgnome-desktop-3-dev (>= 3.27.90),
+ libgudev-1.0-dev (>= 232) [linux-any],
+ libinput-dev [linux-any],
+ libstartup-notification0-dev (>= 0.7),
+ libsystemd-dev (>= 212) [linux-any],
+ libupower-glib-dev (>= 0.99.0),
+ libwacom-dev (>= 0.13) [linux-any],
+ libxcb-randr0-dev,
+ libxcb-res0-dev,
+ libxcomposite-dev (>= 1:0.2),
+ libxi-dev (>= 2:1.6.0),
+ libxkbfile-dev,
+ libxkbcommon-x11-dev,
+ libxkbcommon-dev (>= 0.4.3),
+ libx11-xcb-dev,
+ libxfixes-dev,
+ libxdamage-dev,
+ libxcursor-dev,
+ libxt-dev,
+ libx11-dev,
+ libxinerama-dev,
+ libxext-dev,
+ libxrandr-dev,
+ libxrender-dev,
+ libsm-dev,
+ libice-dev,
+ libpam0g-dev,
+ libwayland-dev (>= 1.13.0) [linux-any],
+ wayland-protocols (>= 1.12) [linux-any],
+ xkb-data,
+ xvfb <!nocheck>,
+ xauth <!nocheck>,
+ zenity
+Standards-Version: 4.1.4
+Vcs-Git: https://salsa.debian.org/gnome-team/mutter.git
+Vcs-Browser: https://salsa.debian.org/gnome-team/mutter
+
+Package: mutter
+Architecture: any
+Depends: ${shlibs:Depends},
+ ${misc:Depends},
+ mutter-common (>= ${source:Version}),
+ gnome-settings-daemon,
+ gsettings-desktop-schemas (>= 3.21.4),
+ zenity
+Provides: x-window-manager
+Suggests: gnome-control-center (>= 1:3.25.2),
+ xdg-user-dirs
+Description: lightweight GTK+ window manager
+ Mutter is a small window manager, using GTK+ and Clutter to do
+ everything.
+ .
+ Mutter is the clutter-based evolution of Metacity, which, as the
+ author says, is a "Boring window manager for the adult in you. Many
+ window managers are like Marshmallow Froot Loops; Metacity is like
+ Cheerios."
+ .
+ This package contains the core binaries.
+
+Package: libmutter-2-0
+Section: libs
+Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Depends: ${shlibs:Depends},
+ ${misc:Depends},
+ gsettings-desktop-schemas (>= 3.15.92),
+ mutter-common (>= ${source:Version})
+Breaks: gnome-control-center (<< 1:3.25.2)
+Description: window manager library from the Mutter window manager
+ Mutter is a small window manager, using GTK+ and Clutter to do
+ everything.
+ .
+ Mutter is the clutter-based evolution of Metacity, which, as the
+ author says, is a "Boring window manager for the adult in you. Many
+ window managers are like Marshmallow Froot Loops; Metacity is like
+ Cheerios."
+ .
+ This package contains the window manager shared library, used by mutter
+ itself, and gnome-shell.
+
+Package: mutter-common
+Section: misc
+Architecture: all
+Multi-Arch: foreign
+Depends: ${misc:Depends}
+Description: shared files for the Mutter window manager
+ Mutter is a small window manager, using GTK+ and Clutter to do
+ everything.
+ .
+ Mutter is the clutter-based evolution of Metacity, which, as the
+ author says, is a "Boring window manager for the adult in you. Many
+ window managers are like Marshmallow Froot Loops; Metacity is like
+ Cheerios."
+ .
+ This package contains the shared files.
+
+Package: libmutter-2-dev
+Section: libdevel
+Architecture: any
+Multi-Arch: same
+Depends: ${misc:Depends},
+ libmutter-2-0 (= ${binary:Version}),
+ gir1.2-mutter-2 (= ${binary:Version}),
+ gsettings-desktop-schemas-dev,
+ libgtk-3-dev,
+ libcairo2-dev,
+ libglib2.0-dev,
+ libatk1.0-dev,
+ libpango1.0-dev,
+ libjson-glib-dev,
+ libegl1-mesa-dev,
+ libwayland-dev,
+ libdrm-dev,
+ libgbm-dev,
+ libinput-dev (>= 1.4),
+ libudev-dev,
+ libx11-dev,
+ libxext-dev,
+ libxdamage-dev,
+ libxcomposite-dev,
+ libxi-dev,
+ libgdk-pixbuf2.0-dev,
+ libxfixes-dev,
+ libxrandr-dev,
+ libx11-dev
+Conflicts: libmutter-0-dev, libmutter-1-dev
+Description: Development files for the Mutter window manager
+ Mutter is a small window manager, using GTK+ and Clutter to do
+ everything.
+ .
+ Mutter is the clutter-based evolution of Metacity, which, as the
+ author says, is a "Boring window manager for the adult in you. Many
+ window managers are like Marshmallow Froot Loops; Metacity is like
+ Cheerios."
+ .
+ This package contains the development files.
+
+Package: gir1.2-mutter-2
+Section: introspection
+Architecture: any
+Multi-Arch: same
+Depends: ${gir:Depends},
+ ${shlibs:Depends},
+ ${misc:Depends},
+ libmutter-2-0 (= ${binary:Version})
+Breaks: gnome-shell (<< 3.13.92~)
+Description: GObject introspection data for Mutter
+ Mutter is a small window manager, using GTK+ and Clutter to do
+ everything.
+ .
+ Mutter is the clutter-based evolution of Metacity, which, as the
+ author says, is a "Boring window manager for the adult in you. Many
+ window managers are like Marshmallow Froot Loops; Metacity is like
+ Cheerios."
+ .
+ This package contains the GObject introspection data which may be
+ used to generate dynamic bindings.
--- /dev/null
+Source: mutter
+Section: x11
+Priority: optional
+Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>
+Uploaders: @GNOME_TEAM@
+Build-Depends: debhelper (>= 11),
+ gnome-pkg-tools (>= 0.10),
+ gtk-doc-tools (>= 1.15),
+ libgtk-3-dev (>= 3.19.8),
+ libglib2.0-dev (>= 2.53.2),
+ libcanberra-gtk3-dev,
+ gobject-introspection (>= 1.41.3),
+ gsettings-desktop-schemas-dev (>= 3.21.4),
+ libgirepository1.0-dev (>= 0.9.12),
+ libjson-glib-dev (>= 0.13.2-1~),
+ libgbm-dev (>= 17.1),
+ libpango1.0-dev (>= 1.2.0),
+ libcairo2-dev (>= 1.10.0),
+ libcogl-dev,
+ libgl1-mesa-dev (>= 7.1~rc3-1~),
+ libdrm-dev (>= 2.4.83) [!hurd-any],
+ libegl1-mesa-dev (>= 17),
+ libgnome-desktop-3-dev (>= 3.27.90),
+ libgudev-1.0-dev (>= 232) [linux-any],
+ libinput-dev [linux-any],
+ libstartup-notification0-dev (>= 0.7),
+ libsystemd-dev (>= 212) [linux-any],
+ libupower-glib-dev (>= 0.99.0),
+ libwacom-dev (>= 0.13) [linux-any],
+ libxcb-randr0-dev,
+ libxcb-res0-dev,
+ libxcomposite-dev (>= 1:0.2),
+ libxi-dev (>= 2:1.6.0),
+ libxkbfile-dev,
+ libxkbcommon-x11-dev,
+ libxkbcommon-dev (>= 0.4.3),
+ libx11-xcb-dev,
+ libxfixes-dev,
+ libxdamage-dev,
+ libxcursor-dev,
+ libxt-dev,
+ libx11-dev,
+ libxinerama-dev,
+ libxext-dev,
+ libxrandr-dev,
+ libxrender-dev,
+ libsm-dev,
+ libice-dev,
+ libpam0g-dev,
+ libwayland-dev (>= 1.13.0) [linux-any],
+ wayland-protocols (>= 1.12) [linux-any],
+ xkb-data,
+ xvfb <!nocheck>,
+ xauth <!nocheck>,
+ zenity
+Standards-Version: 4.1.4
+Vcs-Git: https://salsa.debian.org/gnome-team/mutter.git
+Vcs-Browser: https://salsa.debian.org/gnome-team/mutter
+
+Package: mutter
+Architecture: any
+Depends: ${shlibs:Depends},
+ ${misc:Depends},
+ mutter-common (>= ${source:Version}),
+ gnome-settings-daemon,
+ gsettings-desktop-schemas (>= 3.21.4),
+ zenity
+Provides: x-window-manager
+Suggests: gnome-control-center (>= 1:3.25.2),
+ xdg-user-dirs
+Description: lightweight GTK+ window manager
+ Mutter is a small window manager, using GTK+ and Clutter to do
+ everything.
+ .
+ Mutter is the clutter-based evolution of Metacity, which, as the
+ author says, is a "Boring window manager for the adult in you. Many
+ window managers are like Marshmallow Froot Loops; Metacity is like
+ Cheerios."
+ .
+ This package contains the core binaries.
+
+Package: libmutter-2-0
+Section: libs
+Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Depends: ${shlibs:Depends},
+ ${misc:Depends},
+ gsettings-desktop-schemas (>= 3.15.92),
+ mutter-common (>= ${source:Version})
+Breaks: gnome-control-center (<< 1:3.25.2)
+Description: window manager library from the Mutter window manager
+ Mutter is a small window manager, using GTK+ and Clutter to do
+ everything.
+ .
+ Mutter is the clutter-based evolution of Metacity, which, as the
+ author says, is a "Boring window manager for the adult in you. Many
+ window managers are like Marshmallow Froot Loops; Metacity is like
+ Cheerios."
+ .
+ This package contains the window manager shared library, used by mutter
+ itself, and gnome-shell.
+
+Package: mutter-common
+Section: misc
+Architecture: all
+Multi-Arch: foreign
+Depends: ${misc:Depends}
+Description: shared files for the Mutter window manager
+ Mutter is a small window manager, using GTK+ and Clutter to do
+ everything.
+ .
+ Mutter is the clutter-based evolution of Metacity, which, as the
+ author says, is a "Boring window manager for the adult in you. Many
+ window managers are like Marshmallow Froot Loops; Metacity is like
+ Cheerios."
+ .
+ This package contains the shared files.
+
+Package: libmutter-2-dev
+Section: libdevel
+Architecture: any
+Multi-Arch: same
+Depends: ${misc:Depends},
+ libmutter-2-0 (= ${binary:Version}),
+ gir1.2-mutter-2 (= ${binary:Version}),
+ gsettings-desktop-schemas-dev,
+ libgtk-3-dev,
+ libcairo2-dev,
+ libglib2.0-dev,
+ libatk1.0-dev,
+ libpango1.0-dev,
+ libjson-glib-dev,
+ libegl1-mesa-dev,
+ libwayland-dev,
+ libdrm-dev,
+ libgbm-dev,
+ libinput-dev (>= 1.4),
+ libudev-dev,
+ libx11-dev,
+ libxext-dev,
+ libxdamage-dev,
+ libxcomposite-dev,
+ libxi-dev,
+ libgdk-pixbuf2.0-dev,
+ libxfixes-dev,
+ libxrandr-dev,
+ libx11-dev
+Conflicts: libmutter-0-dev, libmutter-1-dev
+Description: Development files for the Mutter window manager
+ Mutter is a small window manager, using GTK+ and Clutter to do
+ everything.
+ .
+ Mutter is the clutter-based evolution of Metacity, which, as the
+ author says, is a "Boring window manager for the adult in you. Many
+ window managers are like Marshmallow Froot Loops; Metacity is like
+ Cheerios."
+ .
+ This package contains the development files.
+
+Package: gir1.2-mutter-2
+Section: introspection
+Architecture: any
+Multi-Arch: same
+Depends: ${gir:Depends},
+ ${shlibs:Depends},
+ ${misc:Depends},
+ libmutter-2-0 (= ${binary:Version})
+Breaks: gnome-shell (<< 3.13.92~)
+Description: GObject introspection data for Mutter
+ Mutter is a small window manager, using GTK+ and Clutter to do
+ everything.
+ .
+ Mutter is the clutter-based evolution of Metacity, which, as the
+ author says, is a "Boring window manager for the adult in you. Many
+ window managers are like Marshmallow Froot Loops; Metacity is like
+ Cheerios."
+ .
+ This package contains the GObject introspection data which may be
+ used to generate dynamic bindings.
--- /dev/null
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Source: https://download.gnome.org/sources/mutter/
+
+Files:
+ *
+Copyright:
+ Copyright © 2001-2008 Havoc Pennington, Red Hat, Inc., and others
+ Copyright © 2002 The Gnome Foundation
+ Copyright © 2007 The GNOME Project
+ Copyright © 2002 Ross Burton
+ Copyright © 2004-2006 Elijah Newren
+ Copyright © 2001 Dominik Vogt, Matthias Clasen, and fvwm2 team
+ Copyright © 2003-2004 Rob Adams
+ Copyright © 2002 Sun Microsystems, Inc.
+ Copyright © 1986-1998 The Open Group
+ Copyright © 1987 Digital Equipment Corporation
+ Copyright © 2001 Anders Carlsson
+ Copyright © 2008 Thomas Thurman
+ Copyright © 1995-2000 GTK+ Team
+ Copyright © 1988 Wyse Technology, Inc.,
+ Copyright © 2008 Iain Holmes
+ Copyright © 2000-2001 Eazel, Inc.
+ Copyright © 2001 Ximian, Inc.
+ Copyright © 2002 Gaute Lindkvist
+ Copyright © 2002 James M. Cape
+ Copyright © 2002 Garrett LeSage
+ Copyright © 2002 Tuomas Kuosmanen
+ Copyright © 2002 Jorn Baayen
+ Copyright © 1997-2000 Dan Pascu and Alfredo Kojima
+ Copyright © 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
+ Copyright © 1998 Tim Janik
+ Copyright © 1999-2017 Free Software Foundation, Inc.
+ Copyright © 1995-1997 Ulrich Drepper
+ Copyright © 1994 X Consortium
+ Copyright © 2004-2008 Rodney Dawes
+ Copyright © 2004 Scott James Remnant
+ Copyright © 2002 Simos Xenitellis
+ Copyright © 2003-2006 Miloslav Trmac
+ Copyright © 2008 GNOME i18n Project for Vietnamese
+ Copyright © 2003-2006 Sharif FarsiWeb, Inc.
+ Copyright © 2003 Åsmund Skjæveland.
+ Copyright © 2005-2011 Canonical Ltd. and Rosetta Contributors
+ Copyright © 2004-2006 Adam Weinberger and the GNOME Foundation
+ Copyright © 2004 Kakilik Project
+ Copyright © Croatiann team
+ Copyright © 2007-2008 OpenedHand
+ Copyright © 2008-2017 Intel Corporation
+ Copyright © 2008 Matthew Allum
+ Copyright © 2002 Kjartan Maraas
+ Copyright © 2002 Keld simonsen
+ Copyright © 2002 Ole Laursen
+ Copyright © 2004-2005 Martin Willemoes Hansen
+ Copyright © 2006 Lasse Bang Mikkelsen
+ Copyright © 2008 Kenneth Nielsen
+ Copyright © 2011 Joe Hansen
+ Copyright © 2007-2018 Ask Hjorth Larsen
+ Copyright © 2002 Simos Xenitellis
+ Copyright © 2001-2017 Red Hat Inc
+ Copyright © 2016 Hyungwon Hwang
+ Copyright © 2001-2008 Havoc Pennington
+ Copyright © 2009 Sander Dijkhuis
+ Copyright © 2005-2007 Olivier Fourdan
+ Copyright © 2013 Keith Packard
+ Copyright © 2014 Endless Mobile
+License: GPL-2+
+
+Files:
+ cogl/*
+ src/backends/edid-parse.c
+ src/backends/meta-egl-ext.h
+ src/backends/native/meta-renderer-native.c
+Copyright:
+ 1999-2005 Brian Paul
+ 2007-2014 Intel Corporation
+ 2007-2008 OpenedHand
+ 2008 Tungsten Graphics Inc
+ 2011-2012 Collabora Ltd
+ 2007-2016 Red Hat Inc
+License: Expat
+
+Files:
+ clutter/clutter/*
+ src/backends/edid.h
+ src/core/meta-fraction.c
+ src/wayland/meta-wayland-pointer-gesture-pinch.h
+ src/wayland/meta-wayland-pointer-gesture-swipe.h
+ src/wayland/meta-wayland-pointer-gestures.h
+ src/wayland/meta-wayland-pointer.h
+ src/wayland/meta-wayland-tablet-manager.h
+ src/wayland/meta-wayland-tablet-pad-group.h
+ src/wayland/meta-wayland-tablet-pad-ring.h
+ src/wayland/meta-wayland-tablet-pad-strip.h
+ src/wayland/meta-wayland-tablet-pad.h
+ src/wayland/meta-wayland-tablet-seat.h
+ src/wayland/meta-wayland-tablet-tool.h
+ src/wayland/meta-wayland-tablet.h
+ src/wayland/meta-wayland-touch.h
+Copyright:
+ 1999-2000 Erik Walthinsen
+ 2001-2003 Sun Microsystems Inc
+ 2006-2008 OpenedHand Ltd
+ 2007-2018 Red Hat, Inc
+ 2007-2015 Intel Corporation
+ 2008-2009 Igalia, S.L.
+ 2010-2012 Inclusive Design Research Centre, OCAD University
+ 2011 Robert Bosch Car Multimedia GmbH
+ 2012-2014 Collabora Ltd
+ 2012 Bastian Winkler
+ 2013-2015 Emmanuele Bassi
+ 2014 Jonas Ådahl
+License: LGPL-2+
+
+Files:
+ cogl/cogl/cogl-list.c
+ cogl/cogl/cogl-list.h
+ src/compositor/meta-sync-ring.c
+ src/wayland/meta-wayland-data-device.c
+ src/wayland/meta-wayland-data-device.h
+ src/wayland/meta-wayland-keyboard.c
+ src/wayland/meta-wayland-keyboard.h
+ src/wayland/meta-wayland-pointer.c
+ src/wayland/meta-wayland-popup.c
+ src/wayland/meta-wayland-popup.h
+ src/wayland/meta-xwayland-selection.c
+ src/wayland/protocol/gtk-text-input.xml
+ clutter/clutter/x11/xsettings/xsettings-client.c
+ clutter/clutter/x11/xsettings/xsettings-client.h
+ clutter/clutter/x11/xsettings/xsettings-common.c
+ clutter/clutter/x11/xsettings/xsettings-common.h
+Copyright:
+ 2001-2015 Red Hat Inc
+ 2008-2011 Kristian Høgsberg
+ 2011-2013 Intel Corporation
+ 2011 NVIDIA Corporation
+License: NTP-BSD-variant
+
+Files:
+ cogl/cogl/cogl-point-in-poly.c
+Copyright:
+ 1970-2003 Wm. Randolph Franklin
+ 2011 Intel Corporation
+License: WRF-BSD-variant
+
+Files:
+ cogl/cogl-path/tesselator/dict-list.h
+ cogl/cogl-path/tesselator/dict.c
+ cogl/cogl-path/tesselator/dict.h
+ cogl/cogl-path/tesselator/geom.c
+ cogl/cogl-path/tesselator/geom.h
+ cogl/cogl-path/tesselator/mesh.c
+ cogl/cogl-path/tesselator/mesh.h
+ cogl/cogl-path/tesselator/normal.c
+ cogl/cogl-path/tesselator/normal.h
+ cogl/cogl-path/tesselator/priorityq-heap.c
+ cogl/cogl-path/tesselator/priorityq-heap.h
+ cogl/cogl-path/tesselator/priorityq-sort.h
+ cogl/cogl-path/tesselator/priorityq.c
+ cogl/cogl-path/tesselator/priorityq.h
+ cogl/cogl-path/tesselator/render.c
+ cogl/cogl-path/tesselator/render.h
+ cogl/cogl-path/tesselator/sweep.c
+ cogl/cogl-path/tesselator/sweep.h
+ cogl/cogl-path/tesselator/tess.c
+ cogl/cogl-path/tesselator/tess.h
+ cogl/cogl-path/tesselator/tesselator.h
+ cogl/cogl-path/tesselator/tessmono.c
+ cogl/cogl-path/tesselator/tessmono.h
+Copyright:
+ 1991-2000 Silicon Graphics Inc
+ 2010 Intel Corporation
+License: SGI-B-2.0
+
+Files:
+ src/x11/mutter-Xatomtype.h
+Copyright:
+ 1987-1998 The Open Group
+ 1987 Digital Equipment Corporation
+License: DEC-BSD-variant and OpenGroup-BSD-variant
+
+Files:
+ src/x11/xprops.c
+Copyright:
+ 1987-1998 The Open Group
+ 1987 Digital Equipment Corporation
+ 1998 Wyse Technology Inc
+ 2001 Havoc Pennington
+ 2002 Red Hat Inc
+License: DEC-BSD-variant and OpenGroup-BSD-variant and GPL-2+
+
+Files:
+ clutter/tests/interactive/test-rotate-zoom.c
+ clutter/tests/interactive/test-touch-events.c
+Copyright:
+ 2012 Collabora Ltd
+ 2013 Intel Corporation
+License: LGPL-2.1
+
+Files:
+ clutter/clutter/x11/clutter-xkb-a11y-x11.c
+ clutter/clutter/x11/clutter-xkb-a11y-x11.h
+ clutter/tests/conform/events-touch.c
+Copyright:
+ 2001 Ximian, Inc
+ 2007 William Jon McCann
+ 2009-2017 Red Hat, Inc
+ 2012 Collabora Ltd
+License: GPL-2+
+
+Files:
+ m4/gettext.m4
+ m4/iconv.m4
+ m4/intlmacosx.m4
+ m4/introspection.m4
+ m4/lib*.m4
+ m4/lt*.m4
+ m4/nls.m4
+ m4/po.m4
+ m4/progtest.m4
+Copyright:
+ 1995-2016 Free Software Foundation, Inc.
+ 2009 Johan Dahlin
+License: FSF-unlimited
+ This file is free software; the Free Software Foundation
+ gives unlimited permission to copy and/or distribute it,
+ with or without modifications, as long as this notice is preserved.
+Comment:
+ Files not owned by the FSF say "the author(s)" instead of
+ "the Free Software Foundation".
+
+Files:
+ m4/pkg.m4
+Copyright:
+ 2004 Scott James Remnant
+ 2012-2015 Dan Nicholson
+License: GPL-2+ with Autoconf exception
+
+License: GPL-2+
+ This package 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 2 of the License, or
+ (at your option) any later version.
+ .
+ This package 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 package; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+Comment:
+ On Debian systems, the complete text of the GNU General
+ Public License version 2 can be found in
+ /usr/share/common-licenses/GPL-2.
+
+License: GPL-2+ with Autoconf exception
+ This package 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 2 of the License, or
+ (at your option) any later version.
+ .
+ This package 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, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.
+ .
+ As a special exception to the GNU General Public License, if you
+ distribute this file as part of a program that contains a
+ configuration script generated by Autoconf, you may include it under
+ the same distribution terms that you use for the rest of that
+ program.
+Comment:
+ On Debian systems, the complete text of the GNU General
+ Public License version 2 can be found in
+ /usr/share/common-licenses/GPL-2.
+
+License: LGPL-2+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+ .
+ This library 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
+ Lesser General Public License for more details.
+ .
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ Boston, MA 02110-1301 USA
+Comment:
+ On Debian systems, the complete text of the GNU Library General
+ Public License version 2 can be found in
+ /usr/share/common-licenses/LGPL-2, and the complete text of the
+ GNU Lesser General Public License version 2.1 can be found in
+ /usr/share/common-licenses/LGPL-2.1.
+
+License: LGPL-2.1
+ This program is free software; you can redistribute it and/or modify it
+ under the terms and conditions of the GNU Lesser General Public License,
+ version 2.1, as published by the Free Software Foundation.
+ .
+ This program is distributed in the hope it will be useful, but WITHOUT ANY
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
+ more details.
+ .
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
+ Boston, MA 02111-1307, USA.
+Comment:
+ On Debian systems, the complete text of the GNU Lesser General Public
+ License version 2.1 can be found in /usr/share/common-licenses/LGPL-2.1.
+
+License: Expat
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation
+ files (the "Software"), to deal in the Software without
+ restriction, including without limitation the rights to use, copy,
+ modify, merge, publish, distribute, sublicense, and/or sell copies
+ of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+ .
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ SOFTWARE.
+
+License: NTP-BSD-variant
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that copyright
+ notice and this permission notice appear in supporting documentation, and
+ that the name of the copyright holders not be used in advertising or
+ publicity pertaining to distribution of the software without specific,
+ written prior permission. The copyright holders make no representations
+ about the suitability of this software for any purpose. It is provided "as
+ is" without express or implied warranty.
+ .
+ THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+ OF THIS SOFTWARE.
+
+License: WRF-BSD-variant
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of this software and associated documentation files (the
+ "Software"), to deal in the Software without restriction, including
+ without limitation the rights to use, copy, modify, merge, publish,
+ distribute, sublicense, and/or sell copies of the Software, and to
+ permit persons to whom the Software is furnished to do so, subject to
+ the following conditions:
+ .
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimers.
+ 2. Redistributions in binary form must reproduce the above
+ copyright notice in the documentation and/or other materials
+ provided with the distribution.
+ 3. The name of W. Randolph Franklin may not be used to endorse or
+ promote products derived from this Software without specific
+ prior written permission.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License: OpenGroup-BSD-variant
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation.
+ .
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ .
+ Except as contained in this notice, the name of The Open Group shall not be
+ used in advertising or otherwise to promote the sale, use or other dealings
+ in this Software without prior written authorization from The Open Group.
+
+License: DEC-BSD-variant
+ Permission to use, copy, modify, and distribute this software and its
+ documentation for any purpose and without fee is hereby granted,
+ provided that the above copyright notice appear in all copies and that
+ both that copyright notice and this permission notice appear in
+ supporting documentation, and that the name of Digital not be
+ used in advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+ .
+ DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+ DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+ WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+ SOFTWARE.
+
+License: SGI-B-2.0
+ Permission is hereby granted, free of charge, to any person obtaining a
+ copy of this software and associated documentation files (the "Software"),
+ to deal in the Software without restriction, including without limitation
+ the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ and/or sell copies of the Software, and to permit persons to whom the
+ Software is furnished to do so, subject to the following conditions:
+ .
+ The above copyright notice including the dates of first publication and
+ either this permission notice or a reference to
+ http://oss.sgi.com/projects/FreeB/
+ shall be included in all copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+ OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ SOFTWARE.
+ .
+ Except as contained in this notice, the name of Silicon Graphics, Inc.
+ shall not be used in advertising or otherwise to promote the sale, use or
+ other dealings in this Software without prior written authorization from
+ Silicon Graphics, Inc.
--- /dev/null
+[DEFAULT]
+pristine-tar = True
+debian-branch = debian/master
+upstream-branch = upstream/latest
+upstream-vcs-tag = %(version)s
--- /dev/null
+usr/lib/*/mutter/*.typelib
--- /dev/null
+usr/lib/*/libmutter-2.so.*
+usr/lib/*/mutter/*.so
--- /dev/null
+libmutter-2.so.0 libmutter-2-0 #MINVER#
+* Build-Depends-Package: libmutter-2-dev
+ meta_activate_session@Base 3.28.2
+ meta_activate_vt@Base 3.28.2
+ meta_actor_is_untransformed@Base 3.28.2
+ meta_actor_painting_untransformed@Base 3.28.2
+ meta_actor_vertices_are_untransformed@Base 3.28.2
+ meta_add_verbose_topic@Base 3.28.2
+ meta_backend_foreach_device_monitor@Base 3.28.2
+ meta_backend_get_client_pointer_constraint@Base 3.28.2
+ meta_backend_get_clutter_backend@Base 3.28.2
+ meta_backend_get_current_logical_monitor@Base 3.28.2
+ meta_backend_get_cursor_renderer@Base 3.28.2
+ meta_backend_get_cursor_tracker@Base 3.28.2
+ meta_backend_get_dnd@Base 3.28.2
+ meta_backend_get_egl@Base 3.28.2
+ meta_backend_get_idle_monitor@Base 3.28.2
+ meta_backend_get_input_settings@Base 3.28.2
+ meta_backend_get_keymap@Base 3.28.2
+ meta_backend_get_keymap_layout_group@Base 3.28.2
+ meta_backend_get_monitor_manager@Base 3.28.2
+ meta_backend_get_orientation_manager@Base 3.28.2
+ meta_backend_get_relative_motion_deltas@Base 3.28.2
+ meta_backend_get_renderer@Base 3.28.2
+ meta_backend_get_settings@Base 3.28.2
+ meta_backend_get_stage@Base 3.28.2
+ meta_backend_get_type@Base 3.28.2
+ meta_backend_grab_device@Base 3.28.2
+ meta_backend_lock_layout_group@Base 3.28.2
+ meta_backend_monitors_changed@Base 3.28.2
+ meta_backend_native_get_barrier_manager@Base 3.28.2
+ meta_backend_native_get_launcher@Base 3.28.2
+ meta_backend_native_get_type@Base 3.28.2
+ meta_backend_native_pause@Base 3.28.2
+ meta_backend_native_resume@Base 3.28.2
+ meta_backend_notify_keymap_changed@Base 3.28.2
+ meta_backend_notify_keymap_layout_group_changed@Base 3.28.2
+ meta_backend_set_client_pointer_constraint@Base 3.28.2
+ meta_backend_set_keymap@Base 3.28.2
+ meta_backend_set_numlock@Base 3.28.2
+ meta_backend_ungrab_device@Base 3.28.2
+ meta_backend_update_last_device@Base 3.28.2
+ meta_backend_warp_pointer@Base 3.28.2
+ meta_backend_x11_cm_get_type@Base 3.28.2
+ meta_backend_x11_get_type@Base 3.28.2
+ meta_backend_x11_get_xdisplay@Base 3.28.2
+ meta_backend_x11_get_xkb_event_base@Base 3.28.2
+ meta_backend_x11_get_xwindow@Base 3.28.2
+ meta_backend_x11_handle_event@Base 3.28.2
+ meta_backend_x11_nested_get_type@Base 3.28.2
+ meta_background_actor_get_clip_region@Base 3.28.2
+ meta_background_actor_get_type@Base 3.28.2
+ meta_background_actor_new@Base 3.28.2
+ meta_background_actor_set_background@Base 3.28.2
+ meta_background_actor_set_gradient@Base 3.28.2
+ meta_background_actor_set_monitor@Base 3.28.2
+ meta_background_actor_set_vignette@Base 3.28.2
+ meta_background_get_texture@Base 3.28.2
+ meta_background_get_type@Base 3.28.2
+ meta_background_group_get_type@Base 3.28.2
+ meta_background_group_new@Base 3.28.2
+ meta_background_image_cache_get_default@Base 3.28.2
+ meta_background_image_cache_get_type@Base 3.28.2
+ meta_background_image_cache_load@Base 3.28.2
+ meta_background_image_cache_purge@Base 3.28.2
+ meta_background_image_get_success@Base 3.28.2
+ meta_background_image_get_texture@Base 3.28.2
+ meta_background_image_get_type@Base 3.28.2
+ meta_background_image_is_loaded@Base 3.28.2
+ meta_background_new@Base 3.28.2
+ meta_background_refresh_all@Base 3.28.2
+ meta_background_set_blend@Base 3.28.2
+ meta_background_set_color@Base 3.28.2
+ meta_background_set_file@Base 3.28.2
+ meta_background_set_gradient@Base 3.28.2
+ meta_barrier_destroy@Base 3.28.2
+ meta_barrier_direction_get_type@Base 3.28.2
+ meta_barrier_event_get_type@Base 3.28.2
+ meta_barrier_event_unref@Base 3.28.2
+ meta_barrier_get_type@Base 3.28.2
+ meta_barrier_impl_get_type@Base 3.28.2
+ meta_barrier_impl_native_get_type@Base 3.28.2
+ meta_barrier_impl_native_new@Base 3.28.2
+ meta_barrier_impl_x11_get_type@Base 3.28.2
+ meta_barrier_impl_x11_new@Base 3.28.2
+ meta_barrier_is_active@Base 3.28.2
+ meta_barrier_manager_native_new@Base 3.28.2
+ meta_barrier_manager_native_process@Base 3.28.2
+ meta_barrier_release@Base 3.28.2
+ meta_begin_modal_for_plugin@Base 3.28.2
+ meta_bell_init@Base 3.28.2
+ meta_bell_notify@Base 3.28.2
+ meta_bell_notify_frame_destroy@Base 3.28.2
+ meta_bell_set_audible@Base 3.28.2
+ meta_bell_shutdown@Base 3.28.2
+ meta_border_get_allows_directions@Base 3.28.2
+ meta_border_is_blocking_directions@Base 3.28.2
+ meta_border_is_horizontal@Base 3.28.2
+ meta_border_set_allows_directions@Base 3.28.2
+ meta_bug@Base 3.28.2
+ meta_button_function_get_type@Base 3.28.2
+ meta_calculate_drm_mode_refresh_rate@Base 3.28.2
+ meta_close_dialog_default_get_type@Base 3.28.2
+ meta_close_dialog_default_new@Base 3.28.2
+ meta_close_dialog_focus@Base 3.28.2
+ meta_close_dialog_get_type@Base 3.28.2
+ meta_close_dialog_hide@Base 3.28.2
+ meta_close_dialog_is_visible@Base 3.28.2
+ meta_close_dialog_response@Base 3.28.2
+ meta_close_dialog_response_get_type@Base 3.28.2
+ meta_close_dialog_show@Base 3.28.2
+ meta_clutter_backend_native_get_stage_native@Base 3.28.2
+ meta_clutter_backend_native_get_type@Base 3.28.2
+ meta_clutter_backend_x11_get_type@Base 3.28.2
+ meta_clutter_init@Base 3.28.2
+ meta_comp_effect_get_type@Base 3.28.2
+ meta_compositor_add_window@Base 3.28.2
+ meta_compositor_create_close_dialog@Base 3.28.2
+ meta_compositor_create_inhibit_shortcuts_dialog@Base 3.28.2
+ meta_compositor_destroy@Base 3.28.2
+ meta_compositor_filter_keybinding@Base 3.28.2
+ meta_compositor_flash_screen@Base 3.28.2
+ meta_compositor_flash_window@Base 3.28.2
+ meta_compositor_hide_tile_preview@Base 3.28.2
+ meta_compositor_hide_window@Base 3.28.2
+ meta_compositor_manage@Base 3.28.2
+ meta_compositor_monotonic_time_to_server_time@Base 3.28.2
+ meta_compositor_new@Base 3.28.2
+ meta_compositor_process_event@Base 3.28.2
+ meta_compositor_queue_frame_drawn@Base 3.28.2
+ meta_compositor_remove_window@Base 3.28.2
+ meta_compositor_show_tile_preview@Base 3.28.2
+ meta_compositor_show_window@Base 3.28.2
+ meta_compositor_show_window_menu@Base 3.28.2
+ meta_compositor_show_window_menu_for_rect@Base 3.28.2
+ meta_compositor_size_change_window@Base 3.28.2
+ meta_compositor_switch_workspace@Base 3.28.2
+ meta_compositor_sync_stack@Base 3.28.2
+ meta_compositor_sync_updates_frozen@Base 3.28.2
+ meta_compositor_sync_window_geometry@Base 3.28.2
+ meta_compositor_unmanage@Base 3.28.2
+ meta_compositor_window_opacity_changed@Base 3.28.2
+ meta_compositor_window_shape_changed@Base 3.28.2
+ meta_compositor_window_surface_changed@Base 3.28.2
+ meta_core_begin_grab_op@Base 3.28.2
+ meta_core_end_grab_op@Base 3.28.2
+ meta_core_get_grab_op@Base 3.28.2
+ meta_core_grab_buttons@Base 3.28.2
+ meta_core_queue_frame_resize@Base 3.28.2
+ meta_core_set_screen_cursor@Base 3.28.2
+ meta_core_show_window_menu@Base 3.28.2
+ meta_core_show_window_menu_for_rect@Base 3.28.2
+ meta_core_toggle_maximize@Base 3.28.2
+ meta_core_toggle_maximize_horizontally@Base 3.28.2
+ meta_core_toggle_maximize_vertically@Base 3.28.2
+ meta_core_user_lower_and_unfocus@Base 3.28.2
+ meta_create_kms_crtc@Base 3.28.2
+ meta_create_kms_output@Base 3.28.2
+ meta_create_monitors_config_key_for_current_state@Base 3.28.2
+ meta_create_offscreen_window@Base 3.28.2
+ meta_create_texture@Base 3.28.2
+ meta_create_texture_pipeline@Base 3.28.2
+ meta_create_xrandr_crtc@Base 3.28.2
+ meta_create_xrandr_output@Base 3.28.2
+ meta_crtc_get_gpu@Base 3.28.2
+ meta_crtc_get_type@Base 3.28.2
+ meta_crtc_kms_apply_transform@Base 3.28.2
+ meta_crtc_kms_get_modifiers@Base 3.28.2
+ meta_crtc_kms_is_transform_handled@Base 3.28.2
+ meta_crtc_kms_set_underscan@Base 3.28.2
+ meta_crtc_mode_get_type@Base 3.28.2
+ meta_crtc_xrandr_set_config@Base 3.28.2
+ meta_cullable_cull_out@Base 3.28.2
+ meta_cullable_cull_out_children@Base 3.28.2
+ meta_cullable_get_type@Base 3.28.2
+ meta_cullable_reset_culling@Base 3.28.2
+ meta_cullable_reset_culling_children@Base 3.28.2
+ meta_cursor_create_x_cursor@Base 3.28.2
+ meta_cursor_get_type@Base 3.28.2
+ meta_cursor_renderer_calculate_rect@Base 3.28.2
+ meta_cursor_renderer_emit_painted@Base 3.28.2
+ meta_cursor_renderer_force_update@Base 3.28.2
+ meta_cursor_renderer_get_cursor@Base 3.28.2
+ meta_cursor_renderer_get_position@Base 3.28.2
+ meta_cursor_renderer_get_type@Base 3.28.2
+ meta_cursor_renderer_native_force_update@Base 3.28.2
+ meta_cursor_renderer_native_get_type@Base 3.28.2
+ meta_cursor_renderer_native_new@Base 3.28.2
+ meta_cursor_renderer_new@Base 3.28.2
+ meta_cursor_renderer_realize_cursor_from_wl_buffer@Base 3.28.2
+ meta_cursor_renderer_realize_cursor_from_xcursor@Base 3.28.2
+ meta_cursor_renderer_set_cursor@Base 3.28.2
+ meta_cursor_renderer_set_position@Base 3.28.2
+ meta_cursor_renderer_x11_get_type@Base 3.28.2
+ meta_cursor_renderer_x11_nested_get_type@Base 3.28.2
+ meta_cursor_sprite_from_theme@Base 3.28.2
+ meta_cursor_sprite_get_cogl_texture@Base 3.28.2
+ meta_cursor_sprite_get_current_frame_time@Base 3.28.2
+ meta_cursor_sprite_get_hotspot@Base 3.28.2
+ meta_cursor_sprite_get_meta_cursor@Base 3.28.2
+ meta_cursor_sprite_get_texture_scale@Base 3.28.2
+ meta_cursor_sprite_get_type@Base 3.28.2
+ meta_cursor_sprite_is_animated@Base 3.28.2
+ meta_cursor_sprite_new@Base 3.28.2
+ meta_cursor_sprite_prepare_at@Base 3.28.2
+ meta_cursor_sprite_realize_texture@Base 3.28.2
+ meta_cursor_sprite_set_texture@Base 3.28.2
+ meta_cursor_sprite_set_texture_scale@Base 3.28.2
+ meta_cursor_sprite_set_theme_scale@Base 3.28.2
+ meta_cursor_sprite_tick_frame@Base 3.28.2
+ meta_cursor_tracker_get_displayed_cursor@Base 3.28.2
+ meta_cursor_tracker_get_for_screen@Base 3.28.2
+ meta_cursor_tracker_get_hot@Base 3.28.2
+ meta_cursor_tracker_get_pointer@Base 3.28.2
+ meta_cursor_tracker_get_sprite@Base 3.28.2
+ meta_cursor_tracker_get_type@Base 3.28.2
+ meta_cursor_tracker_handle_xevent@Base 3.28.2
+ meta_cursor_tracker_set_pointer_visible@Base 3.28.2
+ meta_cursor_tracker_set_root_cursor@Base 3.28.2
+ meta_cursor_tracker_set_window_cursor@Base 3.28.2
+ meta_cursor_tracker_unset_window_cursor@Base 3.28.2
+ meta_cursor_tracker_update_position@Base 3.28.2
+ meta_dbus_display_config_call_apply_configuration@Base 3.28.2
+ meta_dbus_display_config_call_apply_configuration_finish@Base 3.28.2
+ meta_dbus_display_config_call_apply_configuration_sync@Base 3.28.2
+ meta_dbus_display_config_call_apply_monitors_config@Base 3.28.2
+ meta_dbus_display_config_call_apply_monitors_config_finish@Base 3.28.2
+ meta_dbus_display_config_call_apply_monitors_config_sync@Base 3.28.2
+ meta_dbus_display_config_call_change_backlight@Base 3.28.2
+ meta_dbus_display_config_call_change_backlight_finish@Base 3.28.2
+ meta_dbus_display_config_call_change_backlight_sync@Base 3.28.2
+ meta_dbus_display_config_call_get_crtc_gamma@Base 3.28.2
+ meta_dbus_display_config_call_get_crtc_gamma_finish@Base 3.28.2
+ meta_dbus_display_config_call_get_crtc_gamma_sync@Base 3.28.2
+ meta_dbus_display_config_call_get_current_state@Base 3.28.2
+ meta_dbus_display_config_call_get_current_state_finish@Base 3.28.2
+ meta_dbus_display_config_call_get_current_state_sync@Base 3.28.2
+ meta_dbus_display_config_call_get_resources@Base 3.28.2
+ meta_dbus_display_config_call_get_resources_finish@Base 3.28.2
+ meta_dbus_display_config_call_get_resources_sync@Base 3.28.2
+ meta_dbus_display_config_call_set_crtc_gamma@Base 3.28.2
+ meta_dbus_display_config_call_set_crtc_gamma_finish@Base 3.28.2
+ meta_dbus_display_config_call_set_crtc_gamma_sync@Base 3.28.2
+ meta_dbus_display_config_complete_apply_configuration@Base 3.28.2
+ meta_dbus_display_config_complete_apply_monitors_config@Base 3.28.2
+ meta_dbus_display_config_complete_change_backlight@Base 3.28.2
+ meta_dbus_display_config_complete_get_crtc_gamma@Base 3.28.2
+ meta_dbus_display_config_complete_get_current_state@Base 3.28.2
+ meta_dbus_display_config_complete_get_resources@Base 3.28.2
+ meta_dbus_display_config_complete_set_crtc_gamma@Base 3.28.2
+ meta_dbus_display_config_emit_monitors_changed@Base 3.28.2
+ meta_dbus_display_config_get_power_save_mode@Base 3.28.2
+ meta_dbus_display_config_get_type@Base 3.28.2
+ meta_dbus_display_config_interface_info@Base 3.28.2
+ meta_dbus_display_config_override_properties@Base 3.28.2
+ meta_dbus_display_config_proxy_get_type@Base 3.28.2
+ meta_dbus_display_config_proxy_new@Base 3.28.2
+ meta_dbus_display_config_proxy_new_finish@Base 3.28.2
+ meta_dbus_display_config_proxy_new_for_bus@Base 3.28.2
+ meta_dbus_display_config_proxy_new_for_bus_finish@Base 3.28.2
+ meta_dbus_display_config_proxy_new_for_bus_sync@Base 3.28.2
+ meta_dbus_display_config_proxy_new_sync@Base 3.28.2
+ meta_dbus_display_config_set_power_save_mode@Base 3.28.2
+ meta_dbus_display_config_skeleton_get_type@Base 3.28.2
+ meta_dbus_display_config_skeleton_new@Base 3.28.2
+ meta_dbus_idle_monitor_call_add_idle_watch@Base 3.28.2
+ meta_dbus_idle_monitor_call_add_idle_watch_finish@Base 3.28.2
+ meta_dbus_idle_monitor_call_add_idle_watch_sync@Base 3.28.2
+ meta_dbus_idle_monitor_call_add_user_active_watch@Base 3.28.2
+ meta_dbus_idle_monitor_call_add_user_active_watch_finish@Base 3.28.2
+ meta_dbus_idle_monitor_call_add_user_active_watch_sync@Base 3.28.2
+ meta_dbus_idle_monitor_call_get_idletime@Base 3.28.2
+ meta_dbus_idle_monitor_call_get_idletime_finish@Base 3.28.2
+ meta_dbus_idle_monitor_call_get_idletime_sync@Base 3.28.2
+ meta_dbus_idle_monitor_call_remove_watch@Base 3.28.2
+ meta_dbus_idle_monitor_call_remove_watch_finish@Base 3.28.2
+ meta_dbus_idle_monitor_call_remove_watch_sync@Base 3.28.2
+ meta_dbus_idle_monitor_call_reset_idletime@Base 3.28.2
+ meta_dbus_idle_monitor_call_reset_idletime_finish@Base 3.28.2
+ meta_dbus_idle_monitor_call_reset_idletime_sync@Base 3.28.2
+ meta_dbus_idle_monitor_complete_add_idle_watch@Base 3.28.2
+ meta_dbus_idle_monitor_complete_add_user_active_watch@Base 3.28.2
+ meta_dbus_idle_monitor_complete_get_idletime@Base 3.28.2
+ meta_dbus_idle_monitor_complete_remove_watch@Base 3.28.2
+ meta_dbus_idle_monitor_complete_reset_idletime@Base 3.28.2
+ meta_dbus_idle_monitor_emit_watch_fired@Base 3.28.2
+ meta_dbus_idle_monitor_get_type@Base 3.28.2
+ meta_dbus_idle_monitor_interface_info@Base 3.28.2
+ meta_dbus_idle_monitor_override_properties@Base 3.28.2
+ meta_dbus_idle_monitor_proxy_get_type@Base 3.28.2
+ meta_dbus_idle_monitor_proxy_new@Base 3.28.2
+ meta_dbus_idle_monitor_proxy_new_finish@Base 3.28.2
+ meta_dbus_idle_monitor_proxy_new_for_bus@Base 3.28.2
+ meta_dbus_idle_monitor_proxy_new_for_bus_finish@Base 3.28.2
+ meta_dbus_idle_monitor_proxy_new_for_bus_sync@Base 3.28.2
+ meta_dbus_idle_monitor_proxy_new_sync@Base 3.28.2
+ meta_dbus_idle_monitor_skeleton_get_type@Base 3.28.2
+ meta_dbus_idle_monitor_skeleton_new@Base 3.28.2
+ meta_dbus_object_get_idle_monitor@Base 3.28.2
+ meta_dbus_object_get_type@Base 3.28.2
+ meta_dbus_object_manager_client_get_proxy_type@Base 3.28.2
+ meta_dbus_object_manager_client_get_type@Base 3.28.2
+ meta_dbus_object_manager_client_new@Base 3.28.2
+ meta_dbus_object_manager_client_new_finish@Base 3.28.2
+ meta_dbus_object_manager_client_new_for_bus@Base 3.28.2
+ meta_dbus_object_manager_client_new_for_bus_finish@Base 3.28.2
+ meta_dbus_object_manager_client_new_for_bus_sync@Base 3.28.2
+ meta_dbus_object_manager_client_new_sync@Base 3.28.2
+ meta_dbus_object_peek_idle_monitor@Base 3.28.2
+ meta_dbus_object_proxy_get_type@Base 3.28.2
+ meta_dbus_object_proxy_new@Base 3.28.2
+ meta_dbus_object_skeleton_get_type@Base 3.28.2
+ meta_dbus_object_skeleton_new@Base 3.28.2
+ meta_dbus_object_skeleton_set_idle_monitor@Base 3.28.2
+ meta_debug_spew_real@Base 3.28.2
+ meta_debug_topic_get_type@Base 3.28.2
+ meta_direction_get_type@Base 3.28.2
+ meta_disable_unredirect_for_screen@Base 3.28.2
+ meta_display_accelerator_activate@Base 3.28.2
+ meta_display_add_ignored_crossing_serial@Base 3.28.2
+ meta_display_add_keybinding@Base 3.28.2
+ meta_display_begin_grab_op@Base 3.28.2
+ meta_display_cancel_touch@Base 3.28.2
+ meta_display_check_threshold_reached@Base 3.28.2
+ meta_display_cleanup_edges@Base 3.28.2
+ meta_display_clear_mouse_mode@Base 3.28.2
+ meta_display_close@Base 3.28.2
+ meta_display_create_x_cursor@Base 3.28.2
+ meta_display_decrement_focus_sentinel@Base 3.28.2
+ meta_display_describe_stack_id@Base 3.28.2
+ meta_display_end_grab_op@Base 3.28.2
+ meta_display_focus_sentinel_clear@Base 3.28.2
+ meta_display_focus_the_no_focus_window@Base 3.28.2
+ meta_display_for_x_display@Base 3.28.2
+ meta_display_free_events@Base 3.28.2
+ meta_display_free_events_x11@Base 3.28.2
+ meta_display_free_group_prop_hooks@Base 3.28.2
+ meta_display_free_window_prop_hooks@Base 3.28.2
+ meta_display_freeze_keyboard@Base 3.28.2
+ meta_display_get_compositor@Base 3.28.2
+ meta_display_get_current_time@Base 3.28.2
+ meta_display_get_current_time_roundtrip@Base 3.28.2
+ meta_display_get_damage_event_base@Base 3.28.2
+ meta_display_get_focus_window@Base 3.28.2
+ meta_display_get_gesture_tracker@Base 3.28.2
+ meta_display_get_grab_op@Base 3.28.2
+ meta_display_get_keybinding_action@Base 3.28.2
+ meta_display_get_last_user_time@Base 3.28.2
+ meta_display_get_pad_action_label@Base 3.28.2
+ meta_display_get_shape_event_base@Base 3.28.2
+ meta_display_get_tab_current@Base 3.28.2
+ meta_display_get_tab_list@Base 3.28.2
+ meta_display_get_tab_next@Base 3.28.2
+ meta_display_get_type@Base 3.28.2
+ meta_display_get_window_grab_modifiers@Base 3.28.2
+ meta_display_get_xdisplay@Base 3.28.2
+ meta_display_get_xinput_opcode@Base 3.28.2
+ meta_display_grab_accelerator@Base 3.28.2
+ meta_display_grab_focus_window_button@Base 3.28.2
+ meta_display_grab_window_buttons@Base 3.28.2
+ meta_display_has_shape@Base 3.28.2
+ meta_display_increment_event_serial@Base 3.28.2
+ meta_display_increment_focus_sentinel@Base 3.28.2
+ meta_display_init_events@Base 3.28.2
+ meta_display_init_events_x11@Base 3.28.2
+ meta_display_init_group_prop_hooks@Base 3.28.2
+ meta_display_init_keys@Base 3.28.2
+ meta_display_init_window_prop_hooks@Base 3.28.2
+ meta_display_is_pointer_emulating_sequence@Base 3.28.2
+ meta_display_list_windows@Base 3.28.2
+ meta_display_lookup_group@Base 3.28.2
+ meta_display_lookup_stack_id@Base 3.28.2
+ meta_display_lookup_stamp@Base 3.28.2
+ meta_display_lookup_sync_alarm@Base 3.28.2
+ meta_display_lookup_x_window@Base 3.28.2
+ meta_display_modifiers_accelerator_activate@Base 3.28.2
+ meta_display_notify_pad_group_switch@Base 3.28.2
+ meta_display_notify_window_created@Base 3.28.2
+ meta_display_open@Base 3.28.2
+ meta_display_overlay_key_activate@Base 3.28.2
+ meta_display_ping_window@Base 3.28.2
+ meta_display_pong_for_serial@Base 3.28.2
+ meta_display_process_barrier_xevent@Base 3.28.2
+ meta_display_queue_autoraise_callback@Base 3.28.2
+ meta_display_queue_retheme_all_windows@Base 3.28.2
+ meta_display_register_stamp@Base 3.28.2
+ meta_display_register_sync_alarm@Base 3.28.2
+ meta_display_register_wayland_window@Base 3.28.2
+ meta_display_register_x_window@Base 3.28.2
+ meta_display_remove_autoraise_callback@Base 3.28.2
+ meta_display_remove_keybinding@Base 3.28.2
+ meta_display_remove_pending_pings_for_window@Base 3.28.2
+ meta_display_request_pad_osd@Base 3.28.2
+ meta_display_request_restart@Base 3.28.2
+ meta_display_retheme_all@Base 3.28.2
+ meta_display_sanity_check_timestamps@Base 3.28.2
+ meta_display_set_alarm_filter@Base 3.28.2
+ meta_display_set_input_focus_window@Base 3.28.2
+ meta_display_set_input_focus_xwindow@Base 3.28.2
+ meta_display_show_resize_popup@Base 3.28.2
+ meta_display_show_restart_message@Base 3.28.2
+ meta_display_show_tablet_mapping_notification@Base 3.28.2
+ meta_display_shutdown_keys@Base 3.28.2
+ meta_display_sort_windows_by_stacking@Base 3.28.2
+ meta_display_stack_cmp@Base 3.28.2
+ meta_display_supports_extended_barriers@Base 3.28.2
+ meta_display_sync_wayland_input_focus@Base 3.28.2
+ meta_display_timestamp_too_old@Base 3.28.2
+ meta_display_unfreeze_keyboard@Base 3.28.2
+ meta_display_ungrab_accelerator@Base 3.28.2
+ meta_display_ungrab_focus_window_button@Base 3.28.2
+ meta_display_ungrab_keyboard@Base 3.28.2
+ meta_display_ungrab_window_buttons@Base 3.28.2
+ meta_display_unmanage_screen@Base 3.28.2
+ meta_display_unmanage_windows_for_screen@Base 3.28.2
+ meta_display_unregister_stamp@Base 3.28.2
+ meta_display_unregister_sync_alarm@Base 3.28.2
+ meta_display_unregister_wayland_window@Base 3.28.2
+ meta_display_unregister_x_window@Base 3.28.2
+ meta_display_update_active_window_hint@Base 3.28.2
+ meta_display_update_cursor@Base 3.28.2
+ meta_display_update_focus_window@Base 3.28.2
+ meta_display_windows_are_interactable@Base 3.28.2
+ meta_display_xserver_time_is_before@Base 3.28.2
+ meta_display_xwindow_is_a_no_focus_window@Base 3.28.2
+ meta_dnd_actor_drag_finish@Base 3.28.2
+ meta_dnd_actor_get_type@Base 3.28.2
+ meta_dnd_actor_new@Base 3.28.2
+ meta_dnd_get_type@Base 3.28.2
+ meta_dnd_handle_xdnd_event@Base 3.28.2
+ meta_dnd_wayland_handle_begin_modal@Base 3.28.2
+ meta_dnd_wayland_handle_end_modal@Base 3.28.2
+ meta_drm_mode_equal@Base 3.28.2
+ meta_edge_type_get_type@Base 3.28.2
+ meta_egl_choose_all_configs@Base 3.28.2
+ meta_egl_choose_first_config@Base 3.28.2
+ meta_egl_create_context@Base 3.28.2
+ meta_egl_create_image@Base 3.28.2
+ meta_egl_create_pbuffer_surface@Base 3.28.2
+ meta_egl_create_stream@Base 3.28.2
+ meta_egl_create_stream_attrib@Base 3.28.2
+ meta_egl_create_stream_producer_surface@Base 3.28.2
+ meta_egl_create_window_surface@Base 3.28.2
+ meta_egl_destroy_context@Base 3.28.2
+ meta_egl_destroy_image@Base 3.28.2
+ meta_egl_destroy_stream@Base 3.28.2
+ meta_egl_destroy_surface@Base 3.28.2
+ meta_egl_egl_device_has_extensions@Base 3.28.2
+ meta_egl_error_quark@Base 3.28.2
+ meta_egl_get_config_attrib@Base 3.28.2
+ meta_egl_get_output_layers@Base 3.28.2
+ meta_egl_get_platform_display@Base 3.28.2
+ meta_egl_get_proc_address@Base 3.28.2
+ meta_egl_get_type@Base 3.28.2
+ meta_egl_has_extensions@Base 3.28.2
+ meta_egl_initialize@Base 3.28.2
+ meta_egl_make_current@Base 3.28.2
+ meta_egl_query_device_string@Base 3.28.2
+ meta_egl_query_devices@Base 3.28.2
+ meta_egl_query_dma_buf_formats@Base 3.28.2
+ meta_egl_query_dma_buf_modifiers@Base 3.28.2
+ meta_egl_query_output_layer_attrib@Base 3.28.2
+ meta_egl_query_stream@Base 3.28.2
+ meta_egl_query_wayland_buffer@Base 3.28.2
+ meta_egl_stream_consumer_acquire@Base 3.28.2
+ meta_egl_stream_consumer_acquire_attrib@Base 3.28.2
+ meta_egl_stream_consumer_gl_texture_external@Base 3.28.2
+ meta_egl_stream_consumer_output@Base 3.28.2
+ meta_egl_swap_buffers@Base 3.28.2
+ meta_egl_terminate@Base 3.28.2
+ meta_empty_stage_input_region@Base 3.28.2
+ meta_enable_unredirect_for_screen@Base 3.28.2
+ meta_end_modal_for_plugin@Base 3.28.2
+ meta_error_trap_pop@Base 3.28.2
+ meta_error_trap_pop_with_return@Base 3.28.2
+ meta_error_trap_push@Base 3.28.2
+ meta_event_detail_to_string@Base 3.28.2
+ meta_event_mode_to_string@Base 3.28.2
+ meta_exit@Base 3.28.2
+ meta_exit_code_get_type@Base 3.28.2
+ meta_extensions_string_has_extensions_valist@Base 3.28.2
+ meta_external_binding_name_for_action@Base 3.28.2
+ meta_fatal@Base 3.28.2
+ meta_feedback_actor_get_anchor@Base 3.28.2
+ meta_feedback_actor_get_type@Base 3.28.2
+ meta_feedback_actor_new@Base 3.28.2
+ meta_feedback_actor_set_anchor@Base 3.28.2
+ meta_feedback_actor_set_position@Base 3.28.2
+ meta_feedback_actor_update@Base 3.28.2
+ meta_finish_monitors_config_migration@Base 3.28.2
+ meta_focus_stage_window@Base 3.28.2
+ meta_fraction_from_double@Base 3.28.2
+ meta_frame_borders_clear@Base 3.28.2
+ meta_frame_calc_borders@Base 3.28.2
+ meta_frame_clear_cached_borders@Base 3.28.2
+ meta_frame_flags_get_type@Base 3.28.2
+ meta_frame_get_flags@Base 3.28.2
+ meta_frame_get_frame_bounds@Base 3.28.2
+ meta_frame_get_mask@Base 3.28.2
+ meta_frame_get_xwindow@Base 3.28.2
+ meta_frame_layout_apply_scale@Base 3.28.2
+ meta_frame_queue_draw@Base 3.28.2
+ meta_frame_set_screen_cursor@Base 3.28.2
+ meta_frame_sync_to_window@Base 3.28.2
+ meta_frame_type_get_type@Base 3.28.2
+ meta_frame_type_to_string@Base 3.28.2
+ meta_frame_update_style@Base 3.28.2
+ meta_frame_update_title@Base 3.28.2
+ meta_frames_get_type@Base 3.28.2
+ meta_frames_manage_window@Base 3.28.2
+ meta_frames_new@Base 3.28.2
+ meta_free_gslist_and_elements@Base 3.28.2
+ meta_g_utf8_strndup@Base 3.28.2
+ meta_gbm_device_from_gpu@Base 3.28.2
+ meta_generate_random_id@Base 3.28.2
+ meta_gesture_tracker_get_n_current_touches@Base 3.28.2
+ meta_gesture_tracker_get_sequence_state@Base 3.28.2
+ meta_gesture_tracker_get_type@Base 3.28.2
+ meta_gesture_tracker_handle_event@Base 3.28.2
+ meta_gesture_tracker_new@Base 3.28.2
+ meta_gesture_tracker_set_sequence_state@Base 3.28.2
+ meta_get_backend@Base 3.28.2
+ meta_get_display@Base 3.28.2
+ meta_get_feedback_group_for_screen@Base 3.28.2
+ meta_get_locale_direction@Base 3.28.2
+ meta_get_option_context@Base 3.28.2
+ meta_get_overlay_window@Base 3.28.2
+ meta_get_replace_current_wm@Base 3.28.2
+ meta_get_stage_for_screen@Base 3.28.2
+ meta_get_top_window_group_for_screen@Base 3.28.2
+ meta_get_window_actors@Base 3.28.2
+ meta_get_window_group_for_screen@Base 3.28.2
+ meta_gles3_clear_error@Base 3.28.2
+ meta_gles3_ensure_loaded@Base 3.28.2
+ meta_gles3_get_table@Base 3.28.2
+ meta_gles3_get_type@Base 3.28.2
+ meta_gles3_has_extensions@Base 3.28.2
+ meta_gles3_new@Base 3.28.2
+ meta_gles3_validate@Base 3.28.2
+ meta_gpu_dummy_get_type@Base 3.28.2
+ meta_gpu_get_crtcs@Base 3.28.2
+ meta_gpu_get_modes@Base 3.28.2
+ meta_gpu_get_monitor_manager@Base 3.28.2
+ meta_gpu_get_outputs@Base 3.28.2
+ meta_gpu_get_type@Base 3.28.2
+ meta_gpu_has_hotplug_mode_update@Base 3.28.2
+ meta_gpu_kms_apply_crtc_mode@Base 3.28.2
+ meta_gpu_kms_error_quark@Base 3.28.2
+ meta_gpu_kms_flip_crtc@Base 3.28.2
+ meta_gpu_kms_get_fd@Base 3.28.2
+ meta_gpu_kms_get_file_path@Base 3.28.2
+ meta_gpu_kms_get_max_buffer_size@Base 3.28.2
+ meta_gpu_kms_get_mode_from_drm_mode@Base 3.28.2
+ meta_gpu_kms_get_type@Base 3.28.2
+ meta_gpu_kms_is_crtc_active@Base 3.28.2
+ meta_gpu_kms_new@Base 3.28.2
+ meta_gpu_kms_set_power_save_mode@Base 3.28.2
+ meta_gpu_kms_wait_for_flip@Base 3.28.2
+ meta_gpu_read_current@Base 3.28.2
+ meta_gpu_take_crtcs@Base 3.28.2
+ meta_gpu_take_modes@Base 3.28.2
+ meta_gpu_take_outputs@Base 3.28.2
+ meta_gpu_xrandr_get_max_screen_size@Base 3.28.2
+ meta_gpu_xrandr_get_resources@Base 3.28.2
+ meta_gpu_xrandr_get_type@Base 3.28.2
+ meta_gpu_xrandr_new@Base 3.28.2
+ meta_grab_op_get_type@Base 3.28.2
+ meta_grab_op_is_keyboard@Base 3.28.2
+ meta_grab_op_is_mouse@Base 3.28.2
+ meta_grab_op_is_moving@Base 3.28.2
+ meta_grab_op_is_resizing@Base 3.28.2
+ meta_gravity_to_string@Base 3.28.2
+ meta_group_get_size@Base 3.28.2
+ meta_group_get_startup_id@Base 3.28.2
+ meta_group_list_windows@Base 3.28.2
+ meta_group_property_notify@Base 3.28.2
+ meta_group_reload_properties@Base 3.28.2
+ meta_group_reload_property@Base 3.28.2
+ meta_group_update_layers@Base 3.28.2
+ meta_icon_cache_get_icon_invalidated@Base 3.28.2
+ meta_icon_cache_init@Base 3.28.2
+ meta_icon_cache_property_changed@Base 3.28.2
+ meta_idle_monitor_add_idle_watch@Base 3.28.2
+ meta_idle_monitor_add_user_active_watch@Base 3.28.2
+ meta_idle_monitor_get_core@Base 3.28.2
+ meta_idle_monitor_get_for_device@Base 3.28.2
+ meta_idle_monitor_get_idletime@Base 3.28.2
+ meta_idle_monitor_get_type@Base 3.28.2
+ meta_idle_monitor_init_dbus@Base 3.28.2
+ meta_idle_monitor_remove_watch@Base 3.28.2
+ meta_idle_monitor_reset_idletime@Base 3.28.2
+ meta_inhibit_shortcuts_dialog_default_get_type@Base 3.28.2
+ meta_inhibit_shortcuts_dialog_default_new@Base 3.28.2
+ meta_inhibit_shortcuts_dialog_get_type@Base 3.28.2
+ meta_inhibit_shortcuts_dialog_hide@Base 3.28.2
+ meta_inhibit_shortcuts_dialog_response@Base 3.28.2
+ meta_inhibit_shortcuts_dialog_response_get_type@Base 3.28.2
+ meta_inhibit_shortcuts_dialog_show@Base 3.28.2
+ meta_init@Base 3.28.2
+ meta_init_backend@Base 3.28.2
+ meta_input_device_is_trackball@Base 3.28.2
+ meta_input_settings_get_pad_action_label@Base 3.28.2
+ meta_input_settings_get_tablet_logical_monitor@Base 3.28.2
+ meta_input_settings_get_tablet_mapping@Base 3.28.2
+ meta_input_settings_get_tablet_settings@Base 3.28.2
+ meta_input_settings_get_tablet_wacom_device@Base 3.28.2
+ meta_input_settings_get_type@Base 3.28.2
+ meta_input_settings_handle_pad_event@Base 3.28.2
+ meta_input_settings_is_pad_button_grabbed@Base 3.28.2
+ meta_input_settings_native_get_type@Base 3.28.2
+ meta_input_settings_x11_get_type@Base 3.28.2
+ meta_invalidate_default_icons@Base 3.28.2
+ meta_is_debugging@Base 3.28.2
+ meta_is_restart@Base 3.28.2
+ meta_is_stage_views_enabled@Base 3.28.2
+ meta_is_stage_views_scaled@Base 3.28.2
+ meta_is_syncing@Base 3.28.2
+ meta_is_verbose@Base 3.28.2
+ meta_is_wayland_compositor@Base 3.28.2
+ meta_key_binding_action_get_type@Base 3.28.2
+ meta_key_binding_flags_get_type@Base 3.28.2
+ meta_key_binding_get_mask@Base 3.28.2
+ meta_key_binding_get_modifiers@Base 3.28.2
+ meta_key_binding_get_name@Base 3.28.2
+ meta_key_binding_get_type@Base 3.28.2
+ meta_key_binding_is_builtin@Base 3.28.2
+ meta_key_binding_is_reversed@Base 3.28.2
+ meta_keybindings_process_event@Base 3.28.2
+ meta_keybindings_set_custom_handler@Base 3.28.2
+ meta_later_add@Base 3.28.2
+ meta_later_remove@Base 3.28.2
+ meta_later_type_get_type@Base 3.28.2
+ meta_launcher_activate_session@Base 3.28.2
+ meta_launcher_activate_vt@Base 3.28.2
+ meta_launcher_close_restricted@Base 3.28.2
+ meta_launcher_free@Base 3.28.2
+ meta_launcher_get_seat_id@Base 3.28.2
+ meta_launcher_new@Base 3.28.2
+ meta_launcher_open_restricted@Base 3.28.2
+ meta_line2_intersects_with@Base 3.28.2
+ meta_locale_direction_get_type@Base 3.28.2
+ meta_logical_monitor_add_monitor@Base 3.28.2
+ meta_logical_monitor_config_free@Base 3.28.2
+ meta_logical_monitor_configs_have_monitor@Base 3.28.2
+ meta_logical_monitor_foreach_crtc@Base 3.28.2
+ meta_logical_monitor_get_layout@Base 3.28.2
+ meta_logical_monitor_get_monitors@Base 3.28.2
+ meta_logical_monitor_get_scale@Base 3.28.2
+ meta_logical_monitor_get_transform@Base 3.28.2
+ meta_logical_monitor_get_type@Base 3.28.2
+ meta_logical_monitor_has_neighbor@Base 3.28.2
+ meta_logical_monitor_is_primary@Base 3.28.2
+ meta_logical_monitor_make_primary@Base 3.28.2
+ meta_logical_monitor_new@Base 3.28.2
+ meta_logical_monitor_new_derived@Base 3.28.2
+ meta_make_border_region@Base 3.28.2
+ meta_maximize_flags_get_type@Base 3.28.2
+ meta_migrate_old_monitors_config@Base 3.28.2
+ meta_migrate_old_user_monitors_config@Base 3.28.2
+ meta_modal_options_get_type@Base 3.28.2
+ meta_module_get_plugin_type@Base 3.28.2
+ meta_module_get_type@Base 3.28.2
+ meta_monitor_calculate_crtc_pos@Base 3.28.2
+ meta_monitor_calculate_mode_scale@Base 3.28.2
+ meta_monitor_calculate_supported_scales@Base 3.28.2
+ meta_monitor_config_free@Base 3.28.2
+ meta_monitor_config_manager_assign@Base 3.28.2
+ meta_monitor_config_manager_clear_history@Base 3.28.2
+ meta_monitor_config_manager_create_fallback@Base 3.28.2
+ meta_monitor_config_manager_create_for_orientation@Base 3.28.2
+ meta_monitor_config_manager_create_for_rotate_monitor@Base 3.28.2
+ meta_monitor_config_manager_create_for_switch_config@Base 3.28.2
+ meta_monitor_config_manager_create_linear@Base 3.28.2
+ meta_monitor_config_manager_create_suggested@Base 3.28.2
+ meta_monitor_config_manager_get_current@Base 3.28.2
+ meta_monitor_config_manager_get_previous@Base 3.28.2
+ meta_monitor_config_manager_get_store@Base 3.28.2
+ meta_monitor_config_manager_get_stored@Base 3.28.2
+ meta_monitor_config_manager_get_type@Base 3.28.2
+ meta_monitor_config_manager_new@Base 3.28.2
+ meta_monitor_config_manager_pop_previous@Base 3.28.2
+ meta_monitor_config_manager_save_current@Base 3.28.2
+ meta_monitor_config_manager_set_current@Base 3.28.2
+ meta_monitor_config_store_add@Base 3.28.2
+ meta_monitor_config_store_get_config_count@Base 3.28.2
+ meta_monitor_config_store_get_monitor_manager@Base 3.28.2
+ meta_monitor_config_store_get_type@Base 3.28.2
+ meta_monitor_config_store_lookup@Base 3.28.2
+ meta_monitor_config_store_new@Base 3.28.2
+ meta_monitor_config_store_remove@Base 3.28.2
+ meta_monitor_config_store_set_custom@Base 3.28.2
+ meta_monitor_crtc_to_logical_transform@Base 3.28.2
+ meta_monitor_derive_current_mode@Base 3.28.2
+ meta_monitor_derive_layout@Base 3.28.2
+ meta_monitor_get_connector@Base 3.28.2
+ meta_monitor_get_connector_type@Base 3.28.2
+ meta_monitor_get_current_mode@Base 3.28.2
+ meta_monitor_get_current_resolution@Base 3.28.2
+ meta_monitor_get_gpu@Base 3.28.2
+ meta_monitor_get_logical_monitor@Base 3.28.2
+ meta_monitor_get_main_output@Base 3.28.2
+ meta_monitor_get_mode_from_id@Base 3.28.2
+ meta_monitor_get_mode_from_spec@Base 3.28.2
+ meta_monitor_get_modes@Base 3.28.2
+ meta_monitor_get_outputs@Base 3.28.2
+ meta_monitor_get_physical_dimensions@Base 3.28.2
+ meta_monitor_get_preferred_mode@Base 3.28.2
+ meta_monitor_get_product@Base 3.28.2
+ meta_monitor_get_serial@Base 3.28.2
+ meta_monitor_get_spec@Base 3.28.2
+ meta_monitor_get_subpixel_order@Base 3.28.2
+ meta_monitor_get_suggested_position@Base 3.28.2
+ meta_monitor_get_type@Base 3.28.2
+ meta_monitor_get_vendor@Base 3.28.2
+ meta_monitor_is_active@Base 3.28.2
+ meta_monitor_is_laptop_panel@Base 3.28.2
+ meta_monitor_is_primary@Base 3.28.2
+ meta_monitor_is_same_as@Base 3.28.2
+ meta_monitor_is_underscanning@Base 3.28.2
+ meta_monitor_logical_to_crtc_transform@Base 3.28.2
+ meta_monitor_manager_add_gpu@Base 3.28.2
+ meta_monitor_manager_calculate_monitor_mode_scale@Base 3.28.2
+ meta_monitor_manager_calculate_supported_scales@Base 3.28.2
+ meta_monitor_manager_can_switch_config@Base 3.28.2
+ meta_monitor_manager_confirm_configuration@Base 3.28.2
+ meta_monitor_manager_dummy_get_type@Base 3.28.2
+ meta_monitor_manager_ensure_configured@Base 3.28.2
+ meta_monitor_manager_get@Base 3.28.2
+ meta_monitor_manager_get_backend@Base 3.28.2
+ meta_monitor_manager_get_capabilities@Base 3.28.2
+ meta_monitor_manager_get_config_manager@Base 3.28.2
+ meta_monitor_manager_get_default_layout_mode@Base 3.28.2
+ meta_monitor_manager_get_display_configuration_timeout@Base 3.28.2
+ meta_monitor_manager_get_gpus@Base 3.28.2
+ meta_monitor_manager_get_is_builtin_display_on@Base 3.28.2
+ meta_monitor_manager_get_laptop_panel@Base 3.28.2
+ meta_monitor_manager_get_logical_monitor_at@Base 3.28.2
+ meta_monitor_manager_get_logical_monitor_from_number@Base 3.28.2
+ meta_monitor_manager_get_logical_monitor_from_rect@Base 3.28.2
+ meta_monitor_manager_get_logical_monitor_neighbor@Base 3.28.2
+ meta_monitor_manager_get_logical_monitors@Base 3.28.2
+ meta_monitor_manager_get_max_screen_size@Base 3.28.2
+ meta_monitor_manager_get_monitor_for_connector@Base 3.28.2
+ meta_monitor_manager_get_monitor_from_connector@Base 3.28.2
+ meta_monitor_manager_get_monitor_from_spec@Base 3.28.2
+ meta_monitor_manager_get_monitor_matrix@Base 3.28.2
+ meta_monitor_manager_get_monitors@Base 3.28.2
+ meta_monitor_manager_get_num_logical_monitors@Base 3.28.2
+ meta_monitor_manager_get_primary_logical_monitor@Base 3.28.2
+ meta_monitor_manager_get_primary_monitor@Base 3.28.2
+ meta_monitor_manager_get_screen_size@Base 3.28.2
+ meta_monitor_manager_get_switch_config@Base 3.28.2
+ meta_monitor_manager_get_type@Base 3.28.2
+ meta_monitor_manager_has_hotplug_mode_update@Base 3.28.2
+ meta_monitor_manager_is_headless@Base 3.28.2
+ meta_monitor_manager_is_lid_closed@Base 3.28.2
+ meta_monitor_manager_is_scale_supported@Base 3.28.2
+ meta_monitor_manager_is_transform_handled@Base 3.28.2
+ meta_monitor_manager_kms_get_primary_gpu@Base 3.28.2
+ meta_monitor_manager_kms_get_type@Base 3.28.2
+ meta_monitor_manager_kms_pause@Base 3.28.2
+ meta_monitor_manager_kms_resume@Base 3.28.2
+ meta_monitor_manager_lid_is_closed_changed@Base 3.28.2
+ meta_monitor_manager_on_hotplug@Base 3.28.2
+ meta_monitor_manager_read_current_state@Base 3.28.2
+ meta_monitor_manager_rebuild@Base 3.28.2
+ meta_monitor_manager_rebuild_derived@Base 3.28.2
+ meta_monitor_manager_rotate_monitor@Base 3.28.2
+ meta_monitor_manager_setup@Base 3.28.2
+ meta_monitor_manager_switch_config@Base 3.28.2
+ meta_monitor_manager_tiled_monitor_added@Base 3.28.2
+ meta_monitor_manager_tiled_monitor_removed@Base 3.28.2
+ meta_monitor_manager_update_logical_state@Base 3.28.2
+ meta_monitor_manager_update_logical_state_derived@Base 3.28.2
+ meta_monitor_manager_xrandr_get_type@Base 3.28.2
+ meta_monitor_manager_xrandr_get_xdisplay@Base 3.28.2
+ meta_monitor_manager_xrandr_handle_xevent@Base 3.28.2
+ meta_monitor_manager_xrandr_has_randr15@Base 3.28.2
+ meta_monitor_mode_foreach_crtc@Base 3.28.2
+ meta_monitor_mode_foreach_output@Base 3.28.2
+ meta_monitor_mode_get_flags@Base 3.28.2
+ meta_monitor_mode_get_id@Base 3.28.2
+ meta_monitor_mode_get_refresh_rate@Base 3.28.2
+ meta_monitor_mode_get_resolution@Base 3.28.2
+ meta_monitor_mode_get_spec@Base 3.28.2
+ meta_monitor_normal_get_type@Base 3.28.2
+ meta_monitor_normal_new@Base 3.28.2
+ meta_monitor_set_current_mode@Base 3.28.2
+ meta_monitor_spec_clone@Base 3.28.2
+ meta_monitor_spec_compare@Base 3.28.2
+ meta_monitor_spec_equals@Base 3.28.2
+ meta_monitor_spec_free@Base 3.28.2
+ meta_monitor_supports_underscanning@Base 3.28.2
+ meta_monitor_switch_config_type_get_type@Base 3.28.2
+ meta_monitor_tiled_get_tile_group_id@Base 3.28.2
+ meta_monitor_tiled_get_type@Base 3.28.2
+ meta_monitor_tiled_new@Base 3.28.2
+ meta_monitors_config_get_type@Base 3.28.2
+ meta_monitors_config_key_equal@Base 3.28.2
+ meta_monitors_config_key_free@Base 3.28.2
+ meta_monitors_config_key_hash@Base 3.28.2
+ meta_monitors_config_new@Base 3.28.2
+ meta_monitors_config_new_full@Base 3.28.2
+ meta_motion_direction_get_type@Base 3.28.2
+ meta_orientation_manager_get_orientation@Base 3.28.2
+ meta_orientation_manager_get_type@Base 3.28.2
+ meta_output_assign_crtc@Base 3.28.2
+ meta_output_get_assigned_crtc@Base 3.28.2
+ meta_output_get_gpu@Base 3.28.2
+ meta_output_get_type@Base 3.28.2
+ meta_output_is_laptop@Base 3.28.2
+ meta_output_kms_can_clone@Base 3.28.2
+ meta_output_kms_read_edid@Base 3.28.2
+ meta_output_kms_set_power_save_mode@Base 3.28.2
+ meta_output_kms_set_underscan@Base 3.28.2
+ meta_output_parse_edid@Base 3.28.2
+ meta_output_unassign_crtc@Base 3.28.2
+ meta_output_xrandr_apply_mode@Base 3.28.2
+ meta_output_xrandr_change_backlight@Base 3.28.2
+ meta_output_xrandr_read_edid@Base 3.28.2
+ meta_override_compositor_configuration@Base 3.28.2
+ meta_pad_action_type_get_type@Base 3.28.2
+ meta_pango_font_desc_get_text_height@Base 3.28.2
+ meta_parse_accelerator@Base 3.28.2
+ meta_parse_modifier@Base 3.28.2
+ meta_plugin_begin_modal@Base 3.28.2
+ meta_plugin_complete_display_change@Base 3.28.2
+ meta_plugin_destroy_completed@Base 3.28.2
+ meta_plugin_end_modal@Base 3.28.2
+ meta_plugin_get_info@Base 3.28.2
+ meta_plugin_get_screen@Base 3.28.2
+ meta_plugin_get_type@Base 3.28.2
+ meta_plugin_manager_confirm_display_change@Base 3.28.2
+ meta_plugin_manager_create_close_dialog@Base 3.28.2
+ meta_plugin_manager_create_inhibit_shortcuts_dialog@Base 3.28.2
+ meta_plugin_manager_event_simple@Base 3.28.2
+ meta_plugin_manager_event_size_change@Base 3.28.2
+ meta_plugin_manager_event_size_changed@Base 3.28.2
+ meta_plugin_manager_filter_keybinding@Base 3.28.2
+ meta_plugin_manager_hide_tile_preview@Base 3.28.2
+ meta_plugin_manager_load@Base 3.28.2
+ meta_plugin_manager_new@Base 3.28.2
+ meta_plugin_manager_set_plugin_type@Base 3.28.2
+ meta_plugin_manager_show_tile_preview@Base 3.28.2
+ meta_plugin_manager_show_window_menu@Base 3.28.2
+ meta_plugin_manager_show_window_menu_for_rect@Base 3.28.2
+ meta_plugin_manager_switch_workspace@Base 3.28.2
+ meta_plugin_manager_xevent_filter@Base 3.28.2
+ meta_plugin_map_completed@Base 3.28.2
+ meta_plugin_minimize_completed@Base 3.28.2
+ meta_plugin_size_change_completed@Base 3.28.2
+ meta_plugin_switch_workspace_completed@Base 3.28.2
+ meta_plugin_unminimize_completed@Base 3.28.2
+ meta_pointer_confinement_wayland_get_type@Base 3.28.2
+ meta_pointer_confinement_wayland_new@Base 3.28.2
+ meta_pointer_constraint_constrain@Base 3.28.2
+ meta_pointer_constraint_get_type@Base 3.28.2
+ meta_pointer_lock_wayland_get_type@Base 3.28.2
+ meta_pointer_lock_wayland_new@Base 3.28.2
+ meta_pop_no_msg_prefix@Base 3.28.2
+ meta_preference_get_type@Base 3.28.2
+ meta_preference_to_string@Base 3.28.2
+ meta_prefs_add_keybinding@Base 3.28.2
+ meta_prefs_add_listener@Base 3.28.2
+ meta_prefs_bell_is_audible@Base 3.28.2
+ meta_prefs_change_workspace_name@Base 3.28.2
+ meta_prefs_get_action_double_click_titlebar@Base 3.28.2
+ meta_prefs_get_action_middle_click_titlebar@Base 3.28.2
+ meta_prefs_get_action_right_click_titlebar@Base 3.28.2
+ meta_prefs_get_attach_modal_dialogs@Base 3.28.2
+ meta_prefs_get_auto_maximize@Base 3.28.2
+ meta_prefs_get_auto_raise@Base 3.28.2
+ meta_prefs_get_auto_raise_delay@Base 3.28.2
+ meta_prefs_get_button_layout@Base 3.28.2
+ meta_prefs_get_center_new_windows@Base 3.28.2
+ meta_prefs_get_cursor_size@Base 3.28.2
+ meta_prefs_get_cursor_theme@Base 3.28.2
+ meta_prefs_get_disable_workarounds@Base 3.28.2
+ meta_prefs_get_drag_threshold@Base 3.28.2
+ meta_prefs_get_draggable_border_width@Base 3.28.2
+ meta_prefs_get_dynamic_workspaces@Base 3.28.2
+ meta_prefs_get_edge_tiling@Base 3.28.2
+ meta_prefs_get_focus_change_on_pointer_rest@Base 3.28.2
+ meta_prefs_get_focus_mode@Base 3.28.2
+ meta_prefs_get_focus_new_windows@Base 3.28.2
+ meta_prefs_get_force_fullscreen@Base 3.28.2
+ meta_prefs_get_gnome_accessibility@Base 3.28.2
+ meta_prefs_get_gnome_animations@Base 3.28.2
+ meta_prefs_get_ignore_request_hide_titlebar@Base 3.28.2
+ meta_prefs_get_iso_next_group_option@Base 3.28.2
+ meta_prefs_get_keybinding_action@Base 3.28.2
+ meta_prefs_get_keybindings@Base 3.28.2
+ meta_prefs_get_mouse_button_menu@Base 3.28.2
+ meta_prefs_get_mouse_button_mods@Base 3.28.2
+ meta_prefs_get_mouse_button_resize@Base 3.28.2
+ meta_prefs_get_num_workspaces@Base 3.28.2
+ meta_prefs_get_overlay_binding@Base 3.28.2
+ meta_prefs_get_raise_on_click@Base 3.28.2
+ meta_prefs_get_show_fallback_app_menu@Base 3.28.2
+ meta_prefs_get_titlebar_font@Base 3.28.2
+ meta_prefs_get_visual_bell@Base 3.28.2
+ meta_prefs_get_visual_bell_type@Base 3.28.2
+ meta_prefs_get_workspace_name@Base 3.28.2
+ meta_prefs_get_workspaces_only_on_primary@Base 3.28.2
+ meta_prefs_init@Base 3.28.2
+ meta_prefs_override_preference_schema@Base 3.28.2
+ meta_prefs_remove_keybinding@Base 3.28.2
+ meta_prefs_remove_listener@Base 3.28.2
+ meta_prefs_set_force_fullscreen@Base 3.28.2
+ meta_prefs_set_ignore_request_hide_titlebar@Base 3.28.2
+ meta_prefs_set_num_workspaces@Base 3.28.2
+ meta_prop_free_values@Base 3.28.2
+ meta_prop_get_cardinal@Base 3.28.2
+ meta_prop_get_cardinal_list@Base 3.28.2
+ meta_prop_get_cardinal_with_atom_type@Base 3.28.2
+ meta_prop_get_latin1_string@Base 3.28.2
+ meta_prop_get_motif_hints@Base 3.28.2
+ meta_prop_get_utf8_list@Base 3.28.2
+ meta_prop_get_values@Base 3.28.2
+ meta_prop_get_window@Base 3.28.2
+ meta_prop_set_utf8_string_hint@Base 3.28.2
+ meta_push_no_msg_prefix@Base 3.28.2
+ meta_quit@Base 3.28.2
+ meta_read_icons@Base 3.28.2
+ meta_rect@Base 3.28.2
+ meta_rectangle_area@Base 3.28.2
+ meta_rectangle_clamp_to_fit_into_region@Base 3.28.2
+ meta_rectangle_clip_to_region@Base 3.28.2
+ meta_rectangle_contained_in_region@Base 3.28.2
+ meta_rectangle_contains_rect@Base 3.28.2
+ meta_rectangle_copy@Base 3.28.2
+ meta_rectangle_could_fit_in_region@Base 3.28.2
+ meta_rectangle_could_fit_rect@Base 3.28.2
+ meta_rectangle_edge_aligns@Base 3.28.2
+ meta_rectangle_edge_cmp@Base 3.28.2
+ meta_rectangle_edge_cmp_ignore_type@Base 3.28.2
+ meta_rectangle_edge_list_to_string@Base 3.28.2
+ meta_rectangle_edge_to_string@Base 3.28.2
+ meta_rectangle_equal@Base 3.28.2
+ meta_rectangle_expand_region@Base 3.28.2
+ meta_rectangle_expand_region_conditionally@Base 3.28.2
+ meta_rectangle_expand_to_avoiding_struts@Base 3.28.2
+ meta_rectangle_find_linepoint_closest_to_point@Base 3.28.2
+ meta_rectangle_find_nonintersected_monitor_edges@Base 3.28.2
+ meta_rectangle_find_onscreen_edges@Base 3.28.2
+ meta_rectangle_free@Base 3.28.2
+ meta_rectangle_free_list_and_elements@Base 3.28.2
+ meta_rectangle_get_minimal_spanning_set_for_region@Base 3.28.2
+ meta_rectangle_get_type@Base 3.28.2
+ meta_rectangle_horiz_overlap@Base 3.28.2
+ meta_rectangle_intersect@Base 3.28.2
+ meta_rectangle_is_adjecent_to@Base 3.28.2
+ meta_rectangle_overlap@Base 3.28.2
+ meta_rectangle_overlaps_with_region@Base 3.28.2
+ meta_rectangle_region_to_string@Base 3.28.2
+ meta_rectangle_remove_intersections_with_boxes_from_edges@Base 3.28.2
+ meta_rectangle_resize_with_gravity@Base 3.28.2
+ meta_rectangle_shove_into_region@Base 3.28.2
+ meta_rectangle_to_string@Base 3.28.2
+ meta_rectangle_union@Base 3.28.2
+ meta_rectangle_vert_overlap@Base 3.28.2
+ meta_region_builder_add_rectangle@Base 3.28.2
+ meta_region_builder_finish@Base 3.28.2
+ meta_region_builder_init@Base 3.28.2
+ meta_region_iterator_at_end@Base 3.28.2
+ meta_region_iterator_init@Base 3.28.2
+ meta_region_iterator_next@Base 3.28.2
+ meta_region_scale@Base 3.28.2
+ meta_register_with_session@Base 3.28.2
+ meta_remove_verbose_topic@Base 3.28.2
+ meta_renderer_create_cogl_renderer@Base 3.28.2
+ meta_renderer_get_type@Base 3.28.2
+ meta_renderer_get_views@Base 3.28.2
+ meta_renderer_native_finish_frame@Base 3.28.2
+ meta_renderer_native_get_frame_counter@Base 3.28.2
+ meta_renderer_native_get_type@Base 3.28.2
+ meta_renderer_native_gles3_blit_shared_bo@Base 3.28.2
+ meta_renderer_native_gles3_read_pixels@Base 3.28.2
+ meta_renderer_native_new@Base 3.28.2
+ meta_renderer_native_queue_modes_reset@Base 3.28.2
+ meta_renderer_native_supports_mirroring@Base 3.28.2
+ meta_renderer_rebuild_views@Base 3.28.2
+ meta_renderer_set_legacy_view@Base 3.28.2
+ meta_renderer_view_get_logical_monitor@Base 3.28.2
+ meta_renderer_view_get_transform@Base 3.28.2
+ meta_renderer_view_get_type@Base 3.28.2
+ meta_renderer_x11_cm_get_type@Base 3.28.2
+ meta_renderer_x11_get_type@Base 3.28.2
+ meta_renderer_x11_nested_ensure_legacy_view@Base 3.28.2
+ meta_renderer_x11_nested_get_type@Base 3.28.2
+ meta_resize_gravity_from_grab_op@Base 3.28.2
+ meta_restart@Base 3.28.2
+ meta_restart_finish@Base 3.28.2
+ meta_restart_init@Base 3.28.2
+ meta_retheme_all@Base 3.28.2
+ meta_run@Base 3.28.2
+ meta_screen_append_new_workspace@Base 3.28.2
+ meta_screen_apply_startup_properties@Base 3.28.2
+ meta_screen_calc_workspace_layout@Base 3.28.2
+ meta_screen_corner_get_type@Base 3.28.2
+ meta_screen_create_guard_window@Base 3.28.2
+ meta_screen_direction_get_type@Base 3.28.2
+ meta_screen_focus_default_window@Base 3.28.2
+ meta_screen_foreach_window@Base 3.28.2
+ meta_screen_free@Base 3.28.2
+ meta_screen_free_workspace_layout@Base 3.28.2
+ meta_screen_get_active_workspace@Base 3.28.2
+ meta_screen_get_active_workspace_index@Base 3.28.2
+ meta_screen_get_current_monitor@Base 3.28.2
+ meta_screen_get_display@Base 3.28.2
+ meta_screen_get_monitor_geometry@Base 3.28.2
+ meta_screen_get_monitor_in_fullscreen@Base 3.28.2
+ meta_screen_get_monitor_index_for_rect@Base 3.28.2
+ meta_screen_get_monitor_neighbor_index@Base 3.28.2
+ meta_screen_get_mouse_window@Base 3.28.2
+ meta_screen_get_n_monitors@Base 3.28.2
+ meta_screen_get_n_workspaces@Base 3.28.2
+ meta_screen_get_primary_monitor@Base 3.28.2
+ meta_screen_get_screen_number@Base 3.28.2
+ meta_screen_get_size@Base 3.28.2
+ meta_screen_get_startup_sequences@Base 3.28.2
+ meta_screen_get_type@Base 3.28.2
+ meta_screen_get_workspace_by_index@Base 3.28.2
+ meta_screen_get_workspaces@Base 3.28.2
+ meta_screen_get_xroot@Base 3.28.2
+ meta_screen_grab_keys@Base 3.28.2
+ meta_screen_handle_xevent@Base 3.28.2
+ meta_screen_hide_tile_preview@Base 3.28.2
+ meta_screen_init_workspaces@Base 3.28.2
+ meta_screen_logical_monitor_to_xinerama_index@Base 3.28.2
+ meta_screen_manage_all_windows@Base 3.28.2
+ meta_screen_minimize_all_on_active_workspace_except@Base 3.28.2
+ meta_screen_new@Base 3.28.2
+ meta_screen_override_workspace_layout@Base 3.28.2
+ meta_screen_queue_check_fullscreen@Base 3.28.2
+ meta_screen_queue_workarea_recalc@Base 3.28.2
+ meta_screen_remove_workspace@Base 3.28.2
+ meta_screen_restacked@Base 3.28.2
+ meta_screen_set_active_workspace_hint@Base 3.28.2
+ meta_screen_set_cm_selection@Base 3.28.2
+ meta_screen_set_cursor@Base 3.28.2
+ meta_screen_show_desktop@Base 3.28.2
+ meta_screen_ungrab_keys@Base 3.28.2
+ meta_screen_unshow_desktop@Base 3.28.2
+ meta_screen_update_cursor@Base 3.28.2
+ meta_screen_update_showing_desktop_hint@Base 3.28.2
+ meta_screen_update_tile_preview@Base 3.28.2
+ meta_screen_update_workspace_layout@Base 3.28.2
+ meta_screen_update_workspace_names@Base 3.28.2
+ meta_screen_workspace_switched@Base 3.28.2
+ meta_screen_xinerama_index_to_logical_monitor@Base 3.28.2
+ meta_session_init@Base 3.28.2
+ meta_set_debugging@Base 3.28.2
+ meta_set_gnome_wm_keybindings@Base 3.28.2
+ meta_set_is_wayland_compositor@Base 3.28.2
+ meta_set_normal_hints@Base 3.28.2
+ meta_set_replace_current_wm@Base 3.28.2
+ meta_set_stage_input_region@Base 3.28.2
+ meta_set_syncing@Base 3.28.2
+ meta_set_verbose@Base 3.28.2
+ meta_set_wm_name@Base 3.28.2
+ meta_settings_are_xwayland_grabs_allowed@Base 3.28.2
+ meta_settings_enable_experimental_feature@Base 3.28.2
+ meta_settings_get_font_dpi@Base 3.28.2
+ meta_settings_get_global_scaling_factor@Base 3.28.2
+ meta_settings_get_type@Base 3.28.2
+ meta_settings_get_ui_scaling_factor@Base 3.28.2
+ meta_settings_get_xwayland_grab_patterns@Base 3.28.2
+ meta_settings_is_experimental_feature_enabled@Base 3.28.2
+ meta_settings_new@Base 3.28.2
+ meta_settings_override_experimental_features@Base 3.28.2
+ meta_settings_post_init@Base 3.28.2
+ meta_settings_update_ui_scaling_factor@Base 3.28.2
+ meta_shadow_factory_get_default@Base 3.28.2
+ meta_shadow_factory_get_params@Base 3.28.2
+ meta_shadow_factory_get_shadow@Base 3.28.2
+ meta_shadow_factory_get_type@Base 3.28.2
+ meta_shadow_factory_new@Base 3.28.2
+ meta_shadow_factory_set_params@Base 3.28.2
+ meta_shadow_get_bounds@Base 3.28.2
+ meta_shadow_get_type@Base 3.28.2
+ meta_shadow_mode_get_type@Base 3.28.2
+ meta_shadow_paint@Base 3.28.2
+ meta_shadow_ref@Base 3.28.2
+ meta_shadow_unref@Base 3.28.2
+ meta_shaped_texture_get_image@Base 3.28.2
+ meta_shaped_texture_get_opaque_region@Base 3.28.2
+ meta_shaped_texture_get_texture@Base 3.28.2
+ meta_shaped_texture_get_type@Base 3.28.2
+ meta_shaped_texture_is_obscured@Base 3.28.2
+ meta_shaped_texture_new@Base 3.28.2
+ meta_shaped_texture_set_create_mipmaps@Base 3.28.2
+ meta_shaped_texture_set_fallback_size@Base 3.28.2
+ meta_shaped_texture_set_is_y_inverted@Base 3.28.2
+ meta_shaped_texture_set_mask_texture@Base 3.28.2
+ meta_shaped_texture_set_opaque_region@Base 3.28.2
+ meta_shaped_texture_set_snippet@Base 3.28.2
+ meta_shaped_texture_set_texture@Base 3.28.2
+ meta_shaped_texture_update_area@Base 3.28.2
+ meta_show_dialog@Base 3.28.2
+ meta_side_get_type@Base 3.28.2
+ meta_size_change_get_type@Base 3.28.2
+ meta_stack_add@Base 3.28.2
+ meta_stack_free@Base 3.28.2
+ meta_stack_freeze@Base 3.28.2
+ meta_stack_get_above@Base 3.28.2
+ meta_stack_get_below@Base 3.28.2
+ meta_stack_get_bottom@Base 3.28.2
+ meta_stack_get_default_focus_window@Base 3.28.2
+ meta_stack_get_default_focus_window_at_point@Base 3.28.2
+ meta_stack_get_positions@Base 3.28.2
+ meta_stack_get_top@Base 3.28.2
+ meta_stack_layer_get_type@Base 3.28.2
+ meta_stack_list_windows@Base 3.28.2
+ meta_stack_lower@Base 3.28.2
+ meta_stack_new@Base 3.28.2
+ meta_stack_raise@Base 3.28.2
+ meta_stack_remove@Base 3.28.2
+ meta_stack_set_positions@Base 3.28.2
+ meta_stack_thaw@Base 3.28.2
+ meta_stack_tracker_configure_event@Base 3.28.2
+ meta_stack_tracker_create_event@Base 3.28.2
+ meta_stack_tracker_destroy_event@Base 3.28.2
+ meta_stack_tracker_free@Base 3.28.2
+ meta_stack_tracker_get_stack@Base 3.28.2
+ meta_stack_tracker_lower@Base 3.28.2
+ meta_stack_tracker_new@Base 3.28.2
+ meta_stack_tracker_queue_sync_stack@Base 3.28.2
+ meta_stack_tracker_record_add@Base 3.28.2
+ meta_stack_tracker_record_remove@Base 3.28.2
+ meta_stack_tracker_reparent_event@Base 3.28.2
+ meta_stack_tracker_restack_at_bottom@Base 3.28.2
+ meta_stack_tracker_restack_managed@Base 3.28.2
+ meta_stack_tracker_sync_stack@Base 3.28.2
+ meta_stack_update_layer@Base 3.28.2
+ meta_stack_update_transient@Base 3.28.2
+ meta_stack_update_window_tile_matches@Base 3.28.2
+ meta_stack_windows_cmp@Base 3.28.2
+ meta_stage_create_cursor_overlay@Base 3.28.2
+ meta_stage_get_type@Base 3.28.2
+ meta_stage_is_focused@Base 3.28.2
+ meta_stage_native_get_type@Base 3.28.2
+ meta_stage_native_rebuild_views@Base 3.28.2
+ meta_stage_new@Base 3.28.2
+ meta_stage_remove_cursor_overlay@Base 3.28.2
+ meta_stage_set_active@Base 3.28.2
+ meta_stage_update_cursor_overlay@Base 3.28.2
+ meta_stage_x11_nested_get_type@Base 3.28.2
+ meta_startup_notification_get@Base 3.28.2
+ meta_startup_notification_get_sequences@Base 3.28.2
+ meta_startup_notification_get_type@Base 3.28.2
+ meta_startup_notification_handle_xevent@Base 3.28.2
+ meta_startup_notification_remove_sequence@Base 3.28.2
+ meta_startup_notification_sequence_get_type@Base 3.28.2
+ meta_startup_notification_sequence_x11_get_type@Base 3.28.2
+ meta_style_info_create_font_desc@Base 3.28.2
+ meta_style_info_ref@Base 3.28.2
+ meta_style_info_set_flags@Base 3.28.2
+ meta_style_info_unref@Base 3.28.2
+ meta_surface_actor_get_image@Base 3.28.2
+ meta_surface_actor_get_opaque_region@Base 3.28.2
+ meta_surface_actor_get_texture@Base 3.28.2
+ meta_surface_actor_get_type@Base 3.28.2
+ meta_surface_actor_get_window@Base 3.28.2
+ meta_surface_actor_is_argb32@Base 3.28.2
+ meta_surface_actor_is_obscured@Base 3.28.2
+ meta_surface_actor_is_unredirected@Base 3.28.2
+ meta_surface_actor_is_visible@Base 3.28.2
+ meta_surface_actor_pre_paint@Base 3.28.2
+ meta_surface_actor_process_damage@Base 3.28.2
+ meta_surface_actor_set_frozen@Base 3.28.2
+ meta_surface_actor_set_input_region@Base 3.28.2
+ meta_surface_actor_set_opaque_region@Base 3.28.2
+ meta_surface_actor_set_unredirected@Base 3.28.2
+ meta_surface_actor_should_unredirect@Base 3.28.2
+ meta_surface_actor_wayland_add_frame_callbacks@Base 3.28.2
+ meta_surface_actor_wayland_get_surface@Base 3.28.2
+ meta_surface_actor_wayland_get_type@Base 3.28.2
+ meta_surface_actor_wayland_new@Base 3.28.2
+ meta_surface_actor_x11_get_type@Base 3.28.2
+ meta_surface_actor_x11_new@Base 3.28.2
+ meta_surface_actor_x11_set_size@Base 3.28.2
+ meta_switch_workspace_completed@Base 3.28.2
+ meta_sync_ring_after_frame@Base 3.28.2
+ meta_sync_ring_destroy@Base 3.28.2
+ meta_sync_ring_handle_event@Base 3.28.2
+ meta_sync_ring_init@Base 3.28.2
+ meta_sync_ring_insert_wait@Base 3.28.2
+ meta_tab_list_get_type@Base 3.28.2
+ meta_tab_show_type_get_type@Base 3.28.2
+ meta_texture_rectangle_check@Base 3.28.2
+ meta_texture_tower_free@Base 3.28.2
+ meta_texture_tower_get_paint_texture@Base 3.28.2
+ meta_texture_tower_new@Base 3.28.2
+ meta_texture_tower_set_base_texture@Base 3.28.2
+ meta_texture_tower_update_area@Base 3.28.2
+ meta_theme_calc_geometry@Base 3.28.2
+ meta_theme_create_style_info@Base 3.28.2
+ meta_theme_draw_frame@Base 3.28.2
+ meta_theme_free@Base 3.28.2
+ meta_theme_get_default@Base 3.28.2
+ meta_theme_get_frame_borders@Base 3.28.2
+ meta_theme_get_frame_layout@Base 3.28.2
+ meta_theme_get_window_scaling_factor@Base 3.28.2
+ meta_theme_new@Base 3.28.2
+ meta_topic_real@Base 3.28.2
+ meta_ui_create_frame@Base 3.28.2
+ meta_ui_frame_get_borders@Base 3.28.2
+ meta_ui_frame_get_bounds@Base 3.28.2
+ meta_ui_frame_get_mask@Base 3.28.2
+ meta_ui_frame_handle_event@Base 3.28.2
+ meta_ui_frame_move_resize@Base 3.28.2
+ meta_ui_frame_queue_draw@Base 3.28.2
+ meta_ui_frame_set_title@Base 3.28.2
+ meta_ui_frame_unmanage@Base 3.28.2
+ meta_ui_frame_update_style@Base 3.28.2
+ meta_ui_free@Base 3.28.2
+ meta_ui_get_display@Base 3.28.2
+ meta_ui_get_screen_number@Base 3.28.2
+ meta_ui_init@Base 3.28.2
+ meta_ui_map_frame@Base 3.28.2
+ meta_ui_new@Base 3.28.2
+ meta_ui_theme_get_frame_borders@Base 3.28.2
+ meta_ui_unmap_frame@Base 3.28.2
+ meta_ui_window_is_dummy@Base 3.28.2
+ meta_ui_window_is_widget@Base 3.28.2
+ meta_ui_window_should_not_cause_focus@Base 3.28.2
+ meta_unsigned_long_equal@Base 3.28.2
+ meta_unsigned_long_hash@Base 3.28.2
+ meta_verbose_real@Base 3.28.2
+ meta_verify_logical_monitor_config@Base 3.28.2
+ meta_verify_monitor_config@Base 3.28.2
+ meta_verify_monitor_mode_spec@Base 3.28.2
+ meta_verify_monitor_spec@Base 3.28.2
+ meta_verify_monitors_config@Base 3.28.2
+ meta_virtual_modifier_get_type@Base 3.28.2
+ meta_warning@Base 3.28.2
+ meta_wayland_actor_surface_calculate_scale@Base 3.28.2
+ meta_wayland_actor_surface_get_type@Base 3.28.2
+ meta_wayland_actor_surface_sync_actor_state@Base 3.28.2
+ meta_wayland_buffer_attach@Base 3.28.2
+ meta_wayland_buffer_create_snippet@Base 3.28.2
+ meta_wayland_buffer_from_resource@Base 3.28.2
+ meta_wayland_buffer_get_texture@Base 3.28.2
+ meta_wayland_buffer_get_type@Base 3.28.2
+ meta_wayland_buffer_is_y_inverted@Base 3.28.2
+ meta_wayland_buffer_process_damage@Base 3.28.2
+ meta_wayland_compositor_destroy_frame_callbacks@Base 3.28.2
+ meta_wayland_compositor_flush_clients@Base 3.28.2
+ meta_wayland_compositor_get_default@Base 3.28.2
+ meta_wayland_compositor_handle_event@Base 3.28.2
+ meta_wayland_compositor_is_shortcuts_inhibited@Base 3.28.2
+ meta_wayland_compositor_paint_finished@Base 3.28.2
+ meta_wayland_compositor_repick@Base 3.28.2
+ meta_wayland_compositor_restore_shortcuts@Base 3.28.2
+ meta_wayland_compositor_set_input_focus@Base 3.28.2
+ meta_wayland_compositor_update@Base 3.28.2
+ meta_wayland_compositor_update_key_state@Base 3.28.2
+ meta_wayland_data_device_end_drag@Base 3.28.2
+ meta_wayland_data_device_get_current_grab@Base 3.28.2
+ meta_wayland_data_device_get_drag_dest_funcs@Base 3.28.2
+ meta_wayland_data_device_init@Base 3.28.2
+ meta_wayland_data_device_is_dnd_surface@Base 3.28.2
+ meta_wayland_data_device_manager_init@Base 3.28.2
+ meta_wayland_data_device_set_dnd_source@Base 3.28.2
+ meta_wayland_data_device_set_keyboard_focus@Base 3.28.2
+ meta_wayland_data_device_set_primary@Base 3.28.2
+ meta_wayland_data_device_set_selection@Base 3.28.2
+ meta_wayland_data_device_start_drag@Base 3.28.2
+ meta_wayland_data_source_add_mime_type@Base 3.28.2
+ meta_wayland_data_source_get_actions@Base 3.28.2
+ meta_wayland_data_source_get_current_action@Base 3.28.2
+ meta_wayland_data_source_get_mime_types@Base 3.28.2
+ meta_wayland_data_source_get_type@Base 3.28.2
+ meta_wayland_data_source_get_user_action@Base 3.28.2
+ meta_wayland_data_source_has_mime_type@Base 3.28.2
+ meta_wayland_data_source_has_target@Base 3.28.2
+ meta_wayland_data_source_notify_finish@Base 3.28.2
+ meta_wayland_data_source_primary_get_type@Base 3.28.2
+ meta_wayland_data_source_send@Base 3.28.2
+ meta_wayland_data_source_set_actions@Base 3.28.2
+ meta_wayland_data_source_set_current_action@Base 3.28.2
+ meta_wayland_data_source_set_has_target@Base 3.28.2
+ meta_wayland_data_source_wayland_get_type@Base 3.28.2
+ meta_wayland_data_source_xwayland_get_type@Base 3.28.2
+ meta_wayland_dma_buf_buffer_attach@Base 3.28.2
+ meta_wayland_dma_buf_buffer_get_type@Base 3.28.2
+ meta_wayland_dma_buf_from_buffer@Base 3.28.2
+ meta_wayland_dma_buf_init@Base 3.28.2
+ meta_wayland_drag_grab_get_focus@Base 3.28.2
+ meta_wayland_drag_grab_set_focus@Base 3.28.2
+ meta_wayland_drag_grab_update_feedback_actor@Base 3.28.2
+ meta_wayland_egl_stream_attach@Base 3.28.2
+ meta_wayland_egl_stream_create_snippet@Base 3.28.2
+ meta_wayland_egl_stream_create_texture@Base 3.28.2
+ meta_wayland_egl_stream_get_type@Base 3.28.2
+ meta_wayland_egl_stream_is_y_inverted@Base 3.28.2
+ meta_wayland_egl_stream_new@Base 3.28.2
+ meta_wayland_finalize@Base 3.28.2
+ meta_wayland_get_wayland_display_name@Base 3.28.2
+ meta_wayland_get_xwayland_display_name@Base 3.28.2
+ meta_wayland_gtk_shell_init@Base 3.28.2
+ meta_wayland_init@Base 3.28.2
+ meta_wayland_input_device_get_seat@Base 3.28.2
+ meta_wayland_input_device_get_type@Base 3.28.2
+ meta_wayland_input_device_next_serial@Base 3.28.2
+ meta_wayland_is_egl_stream_buffer@Base 3.28.2
+ meta_wayland_keyboard_can_popup@Base 3.28.2
+ meta_wayland_keyboard_create_new_resource@Base 3.28.2
+ meta_wayland_keyboard_disable@Base 3.28.2
+ meta_wayland_keyboard_enable@Base 3.28.2
+ meta_wayland_keyboard_end_grab@Base 3.28.2
+ meta_wayland_keyboard_get_focus_client@Base 3.28.2
+ meta_wayland_keyboard_get_type@Base 3.28.2
+ meta_wayland_keyboard_handle_event@Base 3.28.2
+ meta_wayland_keyboard_set_focus@Base 3.28.2
+ meta_wayland_keyboard_shortcuts_inhibit_init@Base 3.28.2
+ meta_wayland_keyboard_start_grab@Base 3.28.2
+ meta_wayland_keyboard_update@Base 3.28.2
+ meta_wayland_keyboard_update_key_state@Base 3.28.2
+ meta_wayland_legacy_xdg_shell_init@Base 3.28.2
+ meta_wayland_output_get_type@Base 3.28.2
+ meta_wayland_outputs_init@Base 3.28.2
+ meta_wayland_override_display_name@Base 3.28.2
+ meta_wayland_pending_state_get_type@Base 3.28.2
+ meta_wayland_pointer_broadcast_frame@Base 3.28.2
+ meta_wayland_pointer_can_grab_surface@Base 3.28.2
+ meta_wayland_pointer_can_popup@Base 3.28.2
+ meta_wayland_pointer_constraint_calculate_effective_region@Base 3.28.2
+ meta_wayland_pointer_constraint_get_seat@Base 3.28.2
+ meta_wayland_pointer_constraint_get_surface@Base 3.28.2
+ meta_wayland_pointer_constraint_get_type@Base 3.28.2
+ meta_wayland_pointer_constraints_init@Base 3.28.2
+ meta_wayland_pointer_create_new_resource@Base 3.28.2
+ meta_wayland_pointer_disable@Base 3.28.2
+ meta_wayland_pointer_enable@Base 3.28.2
+ meta_wayland_pointer_end_grab@Base 3.28.2
+ meta_wayland_pointer_end_popup_grab@Base 3.28.2
+ meta_wayland_pointer_gesture_pinch_create_new_resource@Base 3.28.2
+ meta_wayland_pointer_gesture_pinch_handle_event@Base 3.28.2
+ meta_wayland_pointer_gesture_swipe_create_new_resource@Base 3.28.2
+ meta_wayland_pointer_gesture_swipe_handle_event@Base 3.28.2
+ meta_wayland_pointer_gestures_init@Base 3.28.2
+ meta_wayland_pointer_get_pointer_client@Base 3.28.2
+ meta_wayland_pointer_get_relative_coordinates@Base 3.28.2
+ meta_wayland_pointer_get_seat@Base 3.28.2
+ meta_wayland_pointer_get_top_popup@Base 3.28.2
+ meta_wayland_pointer_get_type@Base 3.28.2
+ meta_wayland_pointer_grab_is_popup_grab@Base 3.28.2
+ meta_wayland_pointer_handle_event@Base 3.28.2
+ meta_wayland_pointer_repick@Base 3.28.2
+ meta_wayland_pointer_send_button@Base 3.28.2
+ meta_wayland_pointer_send_motion@Base 3.28.2
+ meta_wayland_pointer_send_relative_motion@Base 3.28.2
+ meta_wayland_pointer_set_focus@Base 3.28.2
+ meta_wayland_pointer_start_grab@Base 3.28.2
+ meta_wayland_pointer_start_popup_grab@Base 3.28.2
+ meta_wayland_pointer_unbind_pointer_client_resource@Base 3.28.2
+ meta_wayland_pointer_update@Base 3.28.2
+ meta_wayland_pointer_update_cursor_surface@Base 3.28.2
+ meta_wayland_popup_create@Base 3.28.2
+ meta_wayland_popup_destroy@Base 3.28.2
+ meta_wayland_popup_dismiss@Base 3.28.2
+ meta_wayland_popup_get_top_popup@Base 3.28.2
+ meta_wayland_popup_grab_create@Base 3.28.2
+ meta_wayland_popup_grab_destroy@Base 3.28.2
+ meta_wayland_popup_grab_get_top_popup@Base 3.28.2
+ meta_wayland_popup_surface_get_type@Base 3.28.2
+ meta_wayland_pre_clutter_init@Base 3.28.2
+ meta_wayland_region_create@Base 3.28.2
+ meta_wayland_region_peek_cairo_region@Base 3.28.2
+ meta_wayland_relative_pointer_init@Base 3.28.2
+ meta_wayland_seat_can_popup@Base 3.28.2
+ meta_wayland_seat_free@Base 3.28.2
+ meta_wayland_seat_get_grab_info@Base 3.28.2
+ meta_wayland_seat_handle_event@Base 3.28.2
+ meta_wayland_seat_has_keyboard@Base 3.28.2
+ meta_wayland_seat_has_pointer@Base 3.28.2
+ meta_wayland_seat_has_touch@Base 3.28.2
+ meta_wayland_seat_init@Base 3.28.2
+ meta_wayland_seat_repick@Base 3.28.2
+ meta_wayland_seat_set_input_focus@Base 3.28.2
+ meta_wayland_seat_update@Base 3.28.2
+ meta_wayland_shell_init@Base 3.28.2
+ meta_wayland_shell_surface_calculate_geometry@Base 3.28.2
+ meta_wayland_shell_surface_close@Base 3.28.2
+ meta_wayland_shell_surface_configure@Base 3.28.2
+ meta_wayland_shell_surface_get_type@Base 3.28.2
+ meta_wayland_shell_surface_managed@Base 3.28.2
+ meta_wayland_shell_surface_ping@Base 3.28.2
+ meta_wayland_shell_surface_set_window@Base 3.28.2
+ meta_wayland_subsurface_get_type@Base 3.28.2
+ meta_wayland_subsurface_parent_state_applied@Base 3.28.2
+ meta_wayland_subsurface_union_geometry@Base 3.28.2
+ meta_wayland_subsurfaces_init@Base 3.28.2
+ meta_wayland_surface_apply_pending_state@Base 3.28.2
+ meta_wayland_surface_assign_role@Base 3.28.2
+ meta_wayland_surface_begin_grab_op@Base 3.28.2
+ meta_wayland_surface_calculate_input_region@Base 3.28.2
+ meta_wayland_surface_cancel_inhibit_shortcuts_dialog@Base 3.28.2
+ meta_wayland_surface_clear_surface_actor@Base 3.28.2
+ meta_wayland_surface_configure_notify@Base 3.28.2
+ meta_wayland_surface_create@Base 3.28.2
+ meta_wayland_surface_create_surface_actor@Base 3.28.2
+ meta_wayland_surface_delete@Base 3.28.2
+ meta_wayland_surface_destroy_window@Base 3.28.2
+ meta_wayland_surface_drag_dest_drop@Base 3.28.2
+ meta_wayland_surface_drag_dest_focus_in@Base 3.28.2
+ meta_wayland_surface_drag_dest_focus_out@Base 3.28.2
+ meta_wayland_surface_drag_dest_motion@Base 3.28.2
+ meta_wayland_surface_drag_dest_update@Base 3.28.2
+ meta_wayland_surface_get_absolute_coordinates@Base 3.28.2
+ meta_wayland_surface_get_buffer@Base 3.28.2
+ meta_wayland_surface_get_relative_coordinates@Base 3.28.2
+ meta_wayland_surface_get_toplevel@Base 3.28.2
+ meta_wayland_surface_get_toplevel_window@Base 3.28.2
+ meta_wayland_surface_get_type@Base 3.28.2
+ meta_wayland_surface_inhibit_shortcuts@Base 3.28.2
+ meta_wayland_surface_inhibit_shortcuts_dialog_init@Base 3.28.2
+ meta_wayland_surface_is_effectively_synchronized@Base 3.28.2
+ meta_wayland_surface_is_shortcuts_inhibited@Base 3.28.2
+ meta_wayland_surface_ping@Base 3.28.2
+ meta_wayland_surface_queue_pending_frame_callbacks@Base 3.28.2
+ meta_wayland_surface_queue_pending_state_frame_callbacks@Base 3.28.2
+ meta_wayland_surface_ref_buffer_use_count@Base 3.28.2
+ meta_wayland_surface_restore_shortcuts@Base 3.28.2
+ meta_wayland_surface_role_cursor_get_hotspot@Base 3.28.2
+ meta_wayland_surface_role_cursor_get_renderer@Base 3.28.2
+ meta_wayland_surface_role_cursor_get_sprite@Base 3.28.2
+ meta_wayland_surface_role_cursor_get_type@Base 3.28.2
+ meta_wayland_surface_role_cursor_set_hotspot@Base 3.28.2
+ meta_wayland_surface_role_cursor_set_renderer@Base 3.28.2
+ meta_wayland_surface_role_dnd_get_type@Base 3.28.2
+ meta_wayland_surface_role_get_surface@Base 3.28.2
+ meta_wayland_surface_role_get_type@Base 3.28.2
+ meta_wayland_surface_role_tablet_cursor_get_type@Base 3.28.2
+ meta_wayland_surface_role_xwayland_get_type@Base 3.28.2
+ meta_wayland_surface_set_window@Base 3.28.2
+ meta_wayland_surface_show_inhibit_shortcuts_dialog@Base 3.28.2
+ meta_wayland_surface_unref_buffer_use_count@Base 3.28.2
+ meta_wayland_surface_update_outputs@Base 3.28.2
+ meta_wayland_surface_window_managed@Base 3.28.2
+ meta_wayland_tablet_create_new_resource@Base 3.28.2
+ meta_wayland_tablet_free@Base 3.28.2
+ meta_wayland_tablet_lookup_resource@Base 3.28.2
+ meta_wayland_tablet_manager_consumes_event@Base 3.28.2
+ meta_wayland_tablet_manager_ensure_seat@Base 3.28.2
+ meta_wayland_tablet_manager_free@Base 3.28.2
+ meta_wayland_tablet_manager_handle_event@Base 3.28.2
+ meta_wayland_tablet_manager_init@Base 3.28.2
+ meta_wayland_tablet_manager_update@Base 3.28.2
+ meta_wayland_tablet_manager_update_cursor_position@Base 3.28.2
+ meta_wayland_tablet_new@Base 3.28.2
+ meta_wayland_tablet_notify@Base 3.28.2
+ meta_wayland_tablet_pad_create_new_resource@Base 3.28.2
+ meta_wayland_tablet_pad_free@Base 3.28.2
+ meta_wayland_tablet_pad_get_label@Base 3.28.2
+ meta_wayland_tablet_pad_group_create_new_resource@Base 3.28.2
+ meta_wayland_tablet_pad_group_free@Base 3.28.2
+ meta_wayland_tablet_pad_group_handle_event@Base 3.28.2
+ meta_wayland_tablet_pad_group_has_button@Base 3.28.2
+ meta_wayland_tablet_pad_group_is_mode_switch_button@Base 3.28.2
+ meta_wayland_tablet_pad_group_lookup_resource@Base 3.28.2
+ meta_wayland_tablet_pad_group_new@Base 3.28.2
+ meta_wayland_tablet_pad_group_notify@Base 3.28.2
+ meta_wayland_tablet_pad_group_sync_focus@Base 3.28.2
+ meta_wayland_tablet_pad_group_update@Base 3.28.2
+ meta_wayland_tablet_pad_handle_event@Base 3.28.2
+ meta_wayland_tablet_pad_lookup_resource@Base 3.28.2
+ meta_wayland_tablet_pad_new@Base 3.28.2
+ meta_wayland_tablet_pad_notify@Base 3.28.2
+ meta_wayland_tablet_pad_ring_create_new_resource@Base 3.28.2
+ meta_wayland_tablet_pad_ring_free@Base 3.28.2
+ meta_wayland_tablet_pad_ring_handle_event@Base 3.28.2
+ meta_wayland_tablet_pad_ring_new@Base 3.28.2
+ meta_wayland_tablet_pad_ring_set_group@Base 3.28.2
+ meta_wayland_tablet_pad_ring_sync_focus@Base 3.28.2
+ meta_wayland_tablet_pad_set_focus@Base 3.28.2
+ meta_wayland_tablet_pad_strip_create_new_resource@Base 3.28.2
+ meta_wayland_tablet_pad_strip_free@Base 3.28.2
+ meta_wayland_tablet_pad_strip_handle_event@Base 3.28.2
+ meta_wayland_tablet_pad_strip_new@Base 3.28.2
+ meta_wayland_tablet_pad_strip_set_group@Base 3.28.2
+ meta_wayland_tablet_pad_strip_sync_focus@Base 3.28.2
+ meta_wayland_tablet_pad_update@Base 3.28.2
+ meta_wayland_tablet_seat_create_new_resource@Base 3.28.2
+ meta_wayland_tablet_seat_free@Base 3.28.2
+ meta_wayland_tablet_seat_handle_event@Base 3.28.2
+ meta_wayland_tablet_seat_lookup_pad@Base 3.28.2
+ meta_wayland_tablet_seat_lookup_paired_pads@Base 3.28.2
+ meta_wayland_tablet_seat_lookup_paired_tablet@Base 3.28.2
+ meta_wayland_tablet_seat_lookup_resource@Base 3.28.2
+ meta_wayland_tablet_seat_lookup_tablet@Base 3.28.2
+ meta_wayland_tablet_seat_lookup_tool@Base 3.28.2
+ meta_wayland_tablet_seat_new@Base 3.28.2
+ meta_wayland_tablet_seat_notify_tool@Base 3.28.2
+ meta_wayland_tablet_seat_set_pad_focus@Base 3.28.2
+ meta_wayland_tablet_seat_update@Base 3.28.2
+ meta_wayland_tablet_tool_can_grab_surface@Base 3.28.2
+ meta_wayland_tablet_tool_create_new_resource@Base 3.28.2
+ meta_wayland_tablet_tool_free@Base 3.28.2
+ meta_wayland_tablet_tool_handle_event@Base 3.28.2
+ meta_wayland_tablet_tool_lookup_resource@Base 3.28.2
+ meta_wayland_tablet_tool_new@Base 3.28.2
+ meta_wayland_tablet_tool_set_cursor_position@Base 3.28.2
+ meta_wayland_tablet_tool_update@Base 3.28.2
+ meta_wayland_text_input_destroy@Base 3.28.2
+ meta_wayland_text_input_focus_get_type@Base 3.28.2
+ meta_wayland_text_input_handle_event@Base 3.28.2
+ meta_wayland_text_input_init@Base 3.28.2
+ meta_wayland_text_input_new@Base 3.28.2
+ meta_wayland_text_input_set_focus@Base 3.28.2
+ meta_wayland_touch_can_popup@Base 3.28.2
+ meta_wayland_touch_cancel@Base 3.28.2
+ meta_wayland_touch_create_new_resource@Base 3.28.2
+ meta_wayland_touch_disable@Base 3.28.2
+ meta_wayland_touch_enable@Base 3.28.2
+ meta_wayland_touch_find_grab_sequence@Base 3.28.2
+ meta_wayland_touch_get_press_coords@Base 3.28.2
+ meta_wayland_touch_get_type@Base 3.28.2
+ meta_wayland_touch_handle_event@Base 3.28.2
+ meta_wayland_touch_update@Base 3.28.2
+ meta_wayland_wl_shell_init@Base 3.28.2
+ meta_wayland_wl_shell_surface_get_type@Base 3.28.2
+ meta_wayland_xdg_foreign_init@Base 3.28.2
+ meta_wayland_xdg_popup_get_type@Base 3.28.2
+ meta_wayland_xdg_shell_init@Base 3.28.2
+ meta_wayland_xdg_surface_get_type@Base 3.28.2
+ meta_wayland_xdg_toplevel_get_type@Base 3.28.2
+ meta_wayland_zxdg_popup_v6_get_type@Base 3.28.2
+ meta_wayland_zxdg_surface_v6_get_type@Base 3.28.2
+ meta_wayland_zxdg_toplevel_v6_get_type@Base 3.28.2
+ meta_window_activate@Base 3.28.2
+ meta_window_activate_full@Base 3.28.2
+ meta_window_activate_with_workspace@Base 3.28.2
+ meta_window_actor_effect_completed@Base 3.28.2
+ meta_window_actor_effect_in_progress@Base 3.28.2
+ meta_window_actor_frame_complete@Base 3.28.2
+ meta_window_actor_from_window@Base 3.28.2
+ meta_window_actor_get_meta_window@Base 3.28.2
+ meta_window_actor_get_shape_bounds@Base 3.28.2
+ meta_window_actor_get_surface@Base 3.28.2
+ meta_window_actor_get_texture@Base 3.28.2
+ meta_window_actor_get_type@Base 3.28.2
+ meta_window_actor_hide@Base 3.28.2
+ meta_window_actor_invalidate_shadow@Base 3.28.2
+ meta_window_actor_is_destroyed@Base 3.28.2
+ meta_window_actor_new@Base 3.28.2
+ meta_window_actor_post_paint@Base 3.28.2
+ meta_window_actor_pre_paint@Base 3.28.2
+ meta_window_actor_process_x11_damage@Base 3.28.2
+ meta_window_actor_queue_destroy@Base 3.28.2
+ meta_window_actor_queue_frame_drawn@Base 3.28.2
+ meta_window_actor_set_unredirected@Base 3.28.2
+ meta_window_actor_should_unredirect@Base 3.28.2
+ meta_window_actor_show@Base 3.28.2
+ meta_window_actor_size_change@Base 3.28.2
+ meta_window_actor_sync_actor_geometry@Base 3.28.2
+ meta_window_actor_sync_updates_frozen@Base 3.28.2
+ meta_window_actor_sync_visibility@Base 3.28.2
+ meta_window_actor_update_opacity@Base 3.28.2
+ meta_window_actor_update_shape@Base 3.28.2
+ meta_window_actor_update_surface@Base 3.28.2
+ meta_window_allows_move@Base 3.28.2
+ meta_window_allows_resize@Base 3.28.2
+ meta_window_appears_focused@Base 3.28.2
+ meta_window_begin_grab_op@Base 3.28.2
+ meta_window_calculate_main_logical_monitor@Base 3.28.2
+ meta_window_can_close@Base 3.28.2
+ meta_window_can_maximize@Base 3.28.2
+ meta_window_can_minimize@Base 3.28.2
+ meta_window_can_shade@Base 3.28.2
+ meta_window_can_tile_side_by_side@Base 3.28.2
+ meta_window_change_workspace@Base 3.28.2
+ meta_window_change_workspace_by_index@Base 3.28.2
+ meta_window_check_alive@Base 3.28.2
+ meta_window_client_rect_to_frame_rect@Base 3.28.2
+ meta_window_client_type_get_type@Base 3.28.2
+ meta_window_compute_group@Base 3.28.2
+ meta_window_compute_tile_match@Base 3.28.2
+ meta_window_constrain@Base 3.28.2
+ meta_window_current_workspace_changed@Base 3.28.2
+ meta_window_delete@Base 3.28.2
+ meta_window_destroy_frame@Base 3.28.2
+ meta_window_edge_resistance_for_move@Base 3.28.2
+ meta_window_edge_resistance_for_resize@Base 3.28.2
+ meta_window_emit_size_changed@Base 3.28.2
+ meta_window_ensure_frame@Base 3.28.2
+ meta_window_find_root_ancestor@Base 3.28.2
+ meta_window_focus@Base 3.28.2
+ meta_window_force_placement@Base 3.28.2
+ meta_window_force_restore_shortcuts@Base 3.28.2
+ meta_window_foreach_ancestor@Base 3.28.2
+ meta_window_foreach_transient@Base 3.28.2
+ meta_window_frame_rect_to_client_rect@Base 3.28.2
+ meta_window_frame_size_changed@Base 3.28.2
+ meta_window_free_delete_dialog@Base 3.28.2
+ meta_window_get_buffer_rect@Base 3.28.2
+ meta_window_get_client_area_rect@Base 3.28.2
+ meta_window_get_client_machine@Base 3.28.2
+ meta_window_get_client_pid@Base 3.28.2
+ meta_window_get_compositor_private@Base 3.28.2
+ meta_window_get_current_tile_monitor_number@Base 3.28.2
+ meta_window_get_description@Base 3.28.2
+ meta_window_get_display@Base 3.28.2
+ meta_window_get_frame@Base 3.28.2
+ meta_window_get_frame_bounds@Base 3.28.2
+ meta_window_get_frame_rect@Base 3.28.2
+ meta_window_get_frame_type@Base 3.28.2
+ meta_window_get_gravity_position@Base 3.28.2
+ meta_window_get_group@Base 3.28.2
+ meta_window_get_gtk_app_menu_object_path@Base 3.28.2
+ meta_window_get_gtk_application_id@Base 3.28.2
+ meta_window_get_gtk_application_object_path@Base 3.28.2
+ meta_window_get_gtk_menubar_object_path@Base 3.28.2
+ meta_window_get_gtk_theme_variant@Base 3.28.2
+ meta_window_get_gtk_unique_bus_name@Base 3.28.2
+ meta_window_get_gtk_window_object_path@Base 3.28.2
+ meta_window_get_icon_geometry@Base 3.28.2
+ meta_window_get_layer@Base 3.28.2
+ meta_window_get_main_logical_monitor@Base 3.28.2
+ meta_window_get_maximized@Base 3.28.2
+ meta_window_get_monitor@Base 3.28.2
+ meta_window_get_mutter_hints@Base 3.28.2
+ meta_window_get_pid@Base 3.28.2
+ meta_window_get_placement_rule@Base 3.28.2
+ meta_window_get_role@Base 3.28.2
+ meta_window_get_sandboxed_app_id@Base 3.28.2
+ meta_window_get_screen@Base 3.28.2
+ meta_window_get_session_geometry@Base 3.28.2
+ meta_window_get_stable_sequence@Base 3.28.2
+ meta_window_get_startup_id@Base 3.28.2
+ meta_window_get_tile_area@Base 3.28.2
+ meta_window_get_tile_match@Base 3.28.2
+ meta_window_get_title@Base 3.28.2
+ meta_window_get_titlebar_rect@Base 3.28.2
+ meta_window_get_transient_for@Base 3.28.2
+ meta_window_get_type@Base 3.28.2
+ meta_window_get_user_time@Base 3.28.2
+ meta_window_get_window_type@Base 3.28.2
+ meta_window_get_wm_class@Base 3.28.2
+ meta_window_get_wm_class_instance@Base 3.28.2
+ meta_window_get_work_area_all_monitors@Base 3.28.2
+ meta_window_get_work_area_current_monitor@Base 3.28.2
+ meta_window_get_work_area_for_logical_monitor@Base 3.28.2
+ meta_window_get_work_area_for_monitor@Base 3.28.2
+ meta_window_get_workspace@Base 3.28.2
+ meta_window_get_workspaces@Base 3.28.2
+ meta_window_get_xwindow@Base 3.28.2
+ meta_window_grab_all_keys@Base 3.28.2
+ meta_window_grab_keys@Base 3.28.2
+ meta_window_grab_op_began@Base 3.28.2
+ meta_window_grab_op_ended@Base 3.28.2
+ meta_window_group_get_type@Base 3.28.2
+ meta_window_group_leader_changed@Base 3.28.2
+ meta_window_group_new@Base 3.28.2
+ meta_window_handle_enter@Base 3.28.2
+ meta_window_handle_leave@Base 3.28.2
+ meta_window_handle_mouse_grab_op_event@Base 3.28.2
+ meta_window_handle_ungrabbed_event@Base 3.28.2
+ meta_window_has_focus@Base 3.28.2
+ meta_window_has_fullscreen_monitors@Base 3.28.2
+ meta_window_has_pointer@Base 3.28.2
+ meta_window_is_above@Base 3.28.2
+ meta_window_is_always_on_all_workspaces@Base 3.28.2
+ meta_window_is_ancestor_of_transient@Base 3.28.2
+ meta_window_is_attached_dialog@Base 3.28.2
+ meta_window_is_client_decorated@Base 3.28.2
+ meta_window_is_fullscreen@Base 3.28.2
+ meta_window_is_hidden@Base 3.28.2
+ meta_window_is_in_stack@Base 3.28.2
+ meta_window_is_monitor_sized@Base 3.28.2
+ meta_window_is_on_all_workspaces@Base 3.28.2
+ meta_window_is_on_primary_monitor@Base 3.28.2
+ meta_window_is_override_redirect@Base 3.28.2
+ meta_window_is_remote@Base 3.28.2
+ meta_window_is_screen_sized@Base 3.28.2
+ meta_window_is_shaded@Base 3.28.2
+ meta_window_is_skip_taskbar@Base 3.28.2
+ meta_window_is_stackable@Base 3.28.2
+ meta_window_kill@Base 3.28.2
+ meta_window_load_initial_properties@Base 3.28.2
+ meta_window_located_on_workspace@Base 3.28.2
+ meta_window_lookup_saved_state@Base 3.28.2
+ meta_window_lower@Base 3.28.2
+ meta_window_make_above@Base 3.28.2
+ meta_window_make_fullscreen@Base 3.28.2
+ meta_window_make_fullscreen_internal@Base 3.28.2
+ meta_window_maximize@Base 3.28.2
+ meta_window_maximize_internal@Base 3.28.2
+ meta_window_menu_type_get_type@Base 3.28.2
+ meta_window_minimize@Base 3.28.2
+ meta_window_move_frame@Base 3.28.2
+ meta_window_move_resize_frame@Base 3.28.2
+ meta_window_move_resize_internal@Base 3.28.2
+ meta_window_move_to_monitor@Base 3.28.2
+ meta_window_on_all_workspaces_changed@Base 3.28.2
+ meta_window_place@Base 3.28.2
+ meta_window_place_with_placement_rule@Base 3.28.2
+ meta_window_process_placement@Base 3.28.2
+ meta_window_queue@Base 3.28.2
+ meta_window_raise@Base 3.28.2
+ meta_window_recalc_features@Base 3.28.2
+ meta_window_release_saved_state@Base 3.28.2
+ meta_window_reload_property_from_xwindow@Base 3.28.2
+ meta_window_requested_bypass_compositor@Base 3.28.2
+ meta_window_requested_dont_bypass_compositor@Base 3.28.2
+ meta_window_resize_frame_with_gravity@Base 3.28.2
+ meta_window_restore_tile@Base 3.28.2
+ meta_window_same_application@Base 3.28.2
+ meta_window_set_alive@Base 3.28.2
+ meta_window_set_compositor_private@Base 3.28.2
+ meta_window_set_demands_attention@Base 3.28.2
+ meta_window_set_focused_internal@Base 3.28.2
+ meta_window_set_gtk_dbus_properties@Base 3.28.2
+ meta_window_set_icon_geometry@Base 3.28.2
+ meta_window_set_opacity@Base 3.28.2
+ meta_window_set_stack_position@Base 3.28.2
+ meta_window_set_title@Base 3.28.2
+ meta_window_set_transient_for@Base 3.28.2
+ meta_window_set_type@Base 3.28.2
+ meta_window_set_urgent@Base 3.28.2
+ meta_window_set_user_time@Base 3.28.2
+ meta_window_set_wm_class@Base 3.28.2
+ meta_window_shade@Base 3.28.2
+ meta_window_shape_equal@Base 3.28.2
+ meta_window_shape_get_borders@Base 3.28.2
+ meta_window_shape_get_type@Base 3.28.2
+ meta_window_shape_hash@Base 3.28.2
+ meta_window_shape_new@Base 3.28.2
+ meta_window_shape_ref@Base 3.28.2
+ meta_window_shape_to_region@Base 3.28.2
+ meta_window_shape_unref@Base 3.28.2
+ meta_window_shortcuts_inhibited@Base 3.28.2
+ meta_window_should_attach_to_parent@Base 3.28.2
+ meta_window_should_be_showing@Base 3.28.2
+ meta_window_shove_titlebar_onscreen@Base 3.28.2
+ meta_window_show_menu@Base 3.28.2
+ meta_window_show_menu_for_rect@Base 3.28.2
+ meta_window_showing_on_its_workspace@Base 3.28.2
+ meta_window_shutdown_group@Base 3.28.2
+ meta_window_stack_just_above@Base 3.28.2
+ meta_window_stack_just_below@Base 3.28.2
+ meta_window_stick@Base 3.28.2
+ meta_window_tile@Base 3.28.2
+ meta_window_titlebar_is_onscreen@Base 3.28.2
+ meta_window_type_get_type@Base 3.28.2
+ meta_window_ungrab_all_keys@Base 3.28.2
+ meta_window_ungrab_keys@Base 3.28.2
+ meta_window_unmake_above@Base 3.28.2
+ meta_window_unmake_fullscreen@Base 3.28.2
+ meta_window_unmanage@Base 3.28.2
+ meta_window_unmaximize@Base 3.28.2
+ meta_window_unminimize@Base 3.28.2
+ meta_window_unset_demands_attention@Base 3.28.2
+ meta_window_unshade@Base 3.28.2
+ meta_window_unstick@Base 3.28.2
+ meta_window_update_for_monitors_changed@Base 3.28.2
+ meta_window_update_fullscreen_monitors@Base 3.28.2
+ meta_window_update_keyboard_move@Base 3.28.2
+ meta_window_update_keyboard_resize@Base 3.28.2
+ meta_window_update_layer@Base 3.28.2
+ meta_window_update_monitor@Base 3.28.2
+ meta_window_update_resize@Base 3.28.2
+ meta_window_update_struts@Base 3.28.2
+ meta_window_updates_are_frozen@Base 3.28.2
+ meta_window_wayland_get_geometry_scale@Base 3.28.2
+ meta_window_wayland_get_max_size@Base 3.28.2
+ meta_window_wayland_get_min_size@Base 3.28.2
+ meta_window_wayland_get_type@Base 3.28.2
+ meta_window_wayland_move_resize@Base 3.28.2
+ meta_window_wayland_needs_move_resize@Base 3.28.2
+ meta_window_wayland_new@Base 3.28.2
+ meta_window_wayland_place_relative_to@Base 3.28.2
+ meta_window_wayland_set_max_size@Base 3.28.2
+ meta_window_wayland_set_min_size@Base 3.28.2
+ meta_window_x11_client_message@Base 3.28.2
+ meta_window_x11_configure_notify@Base 3.28.2
+ meta_window_x11_configure_request@Base 3.28.2
+ meta_window_x11_create_sync_request_alarm@Base 3.28.2
+ meta_window_x11_destroy_sync_request_alarm@Base 3.28.2
+ meta_window_x11_get_toplevel_xwindow@Base 3.28.2
+ meta_window_x11_get_type@Base 3.28.2
+ meta_window_x11_new@Base 3.28.2
+ meta_window_x11_property_notify@Base 3.28.2
+ meta_window_x11_recalc_window_type@Base 3.28.2
+ meta_window_x11_set_allowed_actions_hint@Base 3.28.2
+ meta_window_x11_set_net_wm_state@Base 3.28.2
+ meta_window_x11_set_wm_state@Base 3.28.2
+ meta_window_x11_update_input_region@Base 3.28.2
+ meta_window_x11_update_shape_region@Base 3.28.2
+ meta_window_x11_update_sync_request_counter@Base 3.28.2
+ meta_window_xwayland_get_type@Base 3.28.2
+ meta_workspace_activate@Base 3.28.2
+ meta_workspace_activate_with_focus@Base 3.28.2
+ meta_workspace_add_window@Base 3.28.2
+ meta_workspace_focus_default_window@Base 3.28.2
+ meta_workspace_get_name@Base 3.28.2
+ meta_workspace_get_neighbor@Base 3.28.2
+ meta_workspace_get_onmonitor_region@Base 3.28.2
+ meta_workspace_get_onscreen_region@Base 3.28.2
+ meta_workspace_get_screen@Base 3.28.2
+ meta_workspace_get_type@Base 3.28.2
+ meta_workspace_get_work_area_all_monitors@Base 3.28.2
+ meta_workspace_get_work_area_for_logical_monitor@Base 3.28.2
+ meta_workspace_get_work_area_for_monitor@Base 3.28.2
+ meta_workspace_index@Base 3.28.2
+ meta_workspace_index_changed@Base 3.28.2
+ meta_workspace_invalidate_work_area@Base 3.28.2
+ meta_workspace_list_windows@Base 3.28.2
+ meta_workspace_new@Base 3.28.2
+ meta_workspace_queue_calc_showing@Base 3.28.2
+ meta_workspace_relocate_windows@Base 3.28.2
+ meta_workspace_remove@Base 3.28.2
+ meta_workspace_remove_window@Base 3.28.2
+ meta_workspace_set_builtin_struts@Base 3.28.2
+ meta_xwayland_complete_init@Base 3.28.2
+ meta_xwayland_grab_keyboard_init@Base 3.28.2
+ meta_xwayland_handle_wl_surface_id@Base 3.28.2
+ meta_xwayland_init_selection@Base 3.28.2
+ meta_xwayland_is_xwayland_surface@Base 3.28.2
+ meta_xwayland_selection_get_drag_dest_funcs@Base 3.28.2
+ meta_xwayland_selection_handle_event@Base 3.28.2
+ meta_xwayland_shutdown_selection@Base 3.28.2
+ meta_xwayland_start@Base 3.28.2
+ meta_xwayland_stop@Base 3.28.2
--- /dev/null
+usr/include
+usr/lib/*/lib*.so
+usr/lib/*/pkgconfig/*.pc
+usr/lib/*/mutter/*.gir
--- /dev/null
+usr/share/GConf
+usr/share/glib-2.0
+usr/share/locale
+usr/share/man
+usr/share/gnome-control-center
--- /dev/null
+usr/bin
+usr/lib/mutter/mutter-restart-helper
+usr/lib/*/mutter/plugins
+usr/share/applications
--- /dev/null
+#!/bin/sh
+
+set -e
+
+action="$1"
+
+if [ "$action" = configure ]; then
+ # register the alternatives of x-window-manager manually
+ # because dh_installwm doesn't register manpage as slave yet.
+ update-alternatives --install /usr/bin/x-window-manager \
+ x-window-manager /usr/bin/mutter 60 \
+ --slave /usr/share/man/man1/x-window-manager.1.gz \
+ x-window-manager.1.gz /usr/share/man/man1/mutter.1.gz
+fi
+
+#DEBHELPER#
--- /dev/null
+#!/bin/sh
+
+set -e
+
+action="$1"
+
+if [ "$action" = remove ]; then
+ update-alternatives --remove x-window-manager \
+ /usr/bin/mutter
+fi
+
+#DEBHELPER#
--- /dev/null
+From: =?utf-8?q?Jonas_=C3=85dahl?= <jadahl@gmail.com>
+Date: Fri, 3 Nov 2017 04:27:57 -0600
+Subject: backends: Add logical monitor -> monitor -> output -> crtc ref chain
+
+Make it so that each logical monitor has a reference to all the
+monitors that are assigned to it.
+
+All monitors has a reference to each output that belongs to it.
+
+Each output has a reference to any CRTC it has been assigned.
+
+Bug: https://bugzilla.gnome.org/show_bug.cgi?id=786929
+Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/1703668
+Forwarded: yes, https://gitlab.gnome.org/GNOME/mutter/merge_requests/81
+Applied-upstream: 3.28.3, commit:fe1616668e9d82e87f6c518b3b4bacff3afefdf7
+---
+ src/backends/meta-logical-monitor.c | 14 +++++++++-----
+ src/backends/meta-monitor.c | 22 +++++++++++++++++++---
+ src/backends/meta-output.c | 16 ++++++++++++++--
+ 3 files changed, 42 insertions(+), 10 deletions(-)
+
+diff --git a/src/backends/meta-logical-monitor.c b/src/backends/meta-logical-monitor.c
+index 3f69868..693c83d 100644
+--- a/src/backends/meta-logical-monitor.c
++++ b/src/backends/meta-logical-monitor.c
+@@ -146,7 +146,7 @@ meta_logical_monitor_add_monitor (MetaLogicalMonitor *logical_monitor,
+
+ is_presentation = logical_monitor->is_presentation;
+ logical_monitor->monitors = g_list_append (logical_monitor->monitors,
+- monitor);
++ g_object_ref (monitor));
+
+ for (l = logical_monitor->monitors; l; l = l->next)
+ {
+@@ -257,13 +257,17 @@ meta_logical_monitor_init (MetaLogicalMonitor *logical_monitor)
+ }
+
+ static void
+-meta_logical_monitor_finalize (GObject *object)
++meta_logical_monitor_dispose (GObject *object)
+ {
+ MetaLogicalMonitor *logical_monitor = META_LOGICAL_MONITOR (object);
+
+- g_list_free (logical_monitor->monitors);
++ if (logical_monitor->monitors)
++ {
++ g_list_free_full (logical_monitor->monitors, g_object_unref);
++ logical_monitor->monitors = NULL;
++ }
+
+- G_OBJECT_CLASS (meta_logical_monitor_parent_class)->finalize (object);
++ G_OBJECT_CLASS (meta_logical_monitor_parent_class)->dispose (object);
+ }
+
+ static void
+@@ -271,7 +275,7 @@ meta_logical_monitor_class_init (MetaLogicalMonitorClass *klass)
+ {
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
+
+- object_class->finalize = meta_logical_monitor_finalize;
++ object_class->dispose = meta_logical_monitor_dispose;
+ }
+
+ gboolean
+diff --git a/src/backends/meta-monitor.c b/src/backends/meta-monitor.c
+index 1e1af39..9833066 100644
+--- a/src/backends/meta-monitor.c
++++ b/src/backends/meta-monitor.c
+@@ -387,6 +387,21 @@ meta_monitor_crtc_to_logical_transform (MetaMonitor *monitor,
+ return new_transform;
+ }
+
++static void
++meta_monitor_dispose (GObject *object)
++{
++ MetaMonitor *monitor = META_MONITOR (object);
++ MetaMonitorPrivate *priv = meta_monitor_get_instance_private (monitor);
++
++ if (priv->outputs)
++ {
++ g_list_free_full (priv->outputs, g_object_unref);
++ priv->outputs = NULL;
++ }
++
++ G_OBJECT_CLASS (meta_monitor_parent_class)->dispose (object);
++}
++
+ static void
+ meta_monitor_finalize (GObject *object)
+ {
+@@ -395,7 +410,6 @@ meta_monitor_finalize (GObject *object)
+
+ g_hash_table_destroy (priv->mode_ids);
+ g_list_free_full (priv->modes, (GDestroyNotify) meta_monitor_mode_free);
+- g_clear_pointer (&priv->outputs, g_list_free);
+ meta_monitor_spec_free (priv->spec);
+
+ G_OBJECT_CLASS (meta_monitor_parent_class)->finalize (object);
+@@ -414,6 +428,7 @@ meta_monitor_class_init (MetaMonitorClass *klass)
+ {
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
+
++ object_class->dispose = meta_monitor_dispose;
+ object_class->finalize = meta_monitor_finalize;
+ }
+
+@@ -550,7 +565,7 @@ meta_monitor_normal_new (MetaGpu *gpu,
+
+ monitor_priv->gpu = gpu;
+
+- monitor_priv->outputs = g_list_append (NULL, output);
++ monitor_priv->outputs = g_list_append (NULL, g_object_ref (output));
+ monitor_priv->winsys_id = output->winsys_id;
+ meta_monitor_generate_spec (monitor);
+
+@@ -665,7 +680,8 @@ add_tiled_monitor_outputs (MetaGpu *gpu,
+ g_warn_if_fail (output->subpixel_order ==
+ monitor_tiled->origin_output->subpixel_order);
+
+- monitor_priv->outputs = g_list_append (monitor_priv->outputs, output);
++ monitor_priv->outputs = g_list_append (monitor_priv->outputs,
++ g_object_ref (output));
+ }
+ }
+
+diff --git a/src/backends/meta-output.c b/src/backends/meta-output.c
+index b5ecccd..2139a17 100644
+--- a/src/backends/meta-output.c
++++ b/src/backends/meta-output.c
+@@ -43,7 +43,7 @@ meta_output_assign_crtc (MetaOutput *output,
+
+ g_assert (crtc);
+
+- priv->crtc = crtc;
++ g_set_object (&priv->crtc, crtc);
+ }
+
+ void
+@@ -51,7 +51,7 @@ meta_output_unassign_crtc (MetaOutput *output)
+ {
+ MetaOutputPrivate *priv = meta_output_get_instance_private (output);
+
+- priv->crtc = NULL;
++ g_clear_object (&priv->crtc);
+ }
+
+ MetaCrtc *
+@@ -62,6 +62,17 @@ meta_output_get_assigned_crtc (MetaOutput *output)
+ return priv->crtc;
+ }
+
++static void
++meta_output_dispose (GObject *object)
++{
++ MetaOutput *output = META_OUTPUT (object);
++ MetaOutputPrivate *priv = meta_output_get_instance_private (output);
++
++ g_clear_object (&priv->crtc);
++
++ G_OBJECT_CLASS (meta_output_parent_class)->dispose (object);
++}
++
+ static void
+ meta_output_finalize (GObject *object)
+ {
+@@ -91,5 +102,6 @@ meta_output_class_init (MetaOutputClass *klass)
+ {
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
+
++ object_class->dispose = meta_output_dispose;
+ object_class->finalize = meta_output_finalize;
+ }
--- /dev/null
+From: =?utf-8?q?Jonas_=C3=85dahl?= <jadahl@gmail.com>
+Date: Fri, 3 Nov 2017 04:25:30 -0600
+Subject: backends: Move MetaOutput::crtc field into private struct
+
+No functional changes. This is only done so that changes to reference
+counting can done more reliably.
+
+Bug: https://bugzilla.gnome.org/show_bug.cgi?id=786929
+Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/1703668
+Forwarded: yes, https://gitlab.gnome.org/GNOME/mutter/merge_requests/81
+Applied-upstream: 3.28.3, commit:7d01aec48da979f4fdad3c5f586fd0fd340d9325
+---
+ src/backends/meta-logical-monitor.c | 13 +++---
+ src/backends/meta-monitor-manager-dummy.c | 4 +-
+ src/backends/meta-monitor-manager.c | 11 ++---
+ src/backends/meta-monitor.c | 48 ++++++++++++++--------
+ src/backends/meta-output.c | 35 +++++++++++++++-
+ src/backends/meta-output.h | 10 +++--
+ src/backends/native/meta-cursor-renderer-native.c | 10 +++--
+ src/backends/native/meta-gpu-kms.c | 8 +++-
+ src/backends/native/meta-monitor-manager-kms.c | 4 +-
+ src/backends/native/meta-output-kms.c | 12 +++---
+ src/backends/native/meta-renderer-native.c | 16 ++++----
+ src/backends/x11/meta-monitor-manager-xrandr.c | 15 ++++---
+ src/backends/x11/meta-output-xrandr.c | 11 +++--
+ src/backends/x11/meta-stage-x11-nested.c | 4 +-
+ src/backends/x11/nested/meta-renderer-x11-nested.c | 14 +++----
+ src/tests/meta-monitor-manager-test.c | 4 +-
+ src/tests/monitor-unit-tests.c | 18 ++++----
+ 17 files changed, 154 insertions(+), 83 deletions(-)
+
+diff --git a/src/backends/meta-logical-monitor.c b/src/backends/meta-logical-monitor.c
+index d2faa0f..3f69868 100644
+--- a/src/backends/meta-logical-monitor.c
++++ b/src/backends/meta-logical-monitor.c
+@@ -100,11 +100,12 @@ static MetaMonitorTransform
+ derive_monitor_transform (MetaMonitor *monitor)
+ {
+ MetaOutput *main_output;
++ MetaMonitorTransform transform;
+
+ main_output = meta_monitor_get_main_output (monitor);
++ transform = meta_output_get_assigned_crtc (main_output)->transform;
+
+- return meta_monitor_crtc_to_logical_transform (monitor,
+- main_output->crtc->transform);
++ return meta_monitor_crtc_to_logical_transform (monitor, transform);
+ }
+
+ MetaLogicalMonitor *
+@@ -157,10 +158,12 @@ meta_logical_monitor_add_monitor (MetaLogicalMonitor *logical_monitor,
+ for (l_output = outputs; l_output; l_output = l_output->next)
+ {
+ MetaOutput *output = l_output->data;
++ MetaCrtc *crtc;
+
+ is_presentation = is_presentation && output->is_presentation;
+- if (output->crtc)
+- output->crtc->logical_monitor = logical_monitor;
++ crtc = meta_output_get_assigned_crtc (output);
++ if (crtc)
++ crtc->logical_monitor = logical_monitor;
+ }
+ }
+
+@@ -220,7 +223,7 @@ foreach_crtc (MetaMonitor *monitor,
+ ForeachCrtcData *data = user_data;
+
+ data->func (data->logical_monitor,
+- monitor_crtc_mode->output->crtc,
++ meta_output_get_assigned_crtc (monitor_crtc_mode->output),
+ data->user_data);
+
+ return TRUE;
+diff --git a/src/backends/meta-monitor-manager-dummy.c b/src/backends/meta-monitor-manager-dummy.c
+index f81349e..fe49487 100644
+--- a/src/backends/meta-monitor-manager-dummy.c
++++ b/src/backends/meta-monitor-manager-dummy.c
+@@ -486,7 +486,7 @@ apply_crtc_assignments (MetaMonitorManager *manager,
+ output = ((MetaOutput**)crtc_info->outputs->pdata)[j];
+
+ output->is_dirty = TRUE;
+- output->crtc = crtc;
++ meta_output_assign_crtc (output, crtc);
+ }
+ }
+ }
+@@ -531,7 +531,7 @@ apply_crtc_assignments (MetaMonitorManager *manager,
+ continue;
+ }
+
+- output->crtc = NULL;
++ meta_output_unassign_crtc (output);
+ output->is_primary = FALSE;
+ }
+ }
+diff --git a/src/backends/meta-monitor-manager.c b/src/backends/meta-monitor-manager.c
+index 0b5e54c..6d9e2ad 100644
+--- a/src/backends/meta-monitor-manager.c
++++ b/src/backends/meta-monitor-manager.c
+@@ -1041,6 +1041,7 @@ meta_monitor_manager_handle_get_resources (MetaDBusDisplayConfig *skeleton,
+ GVariantBuilder crtcs, modes, clones, properties;
+ GBytes *edid;
+ char *edid_file;
++ MetaCrtc *crtc;
+ int crtc_index;
+
+ g_variant_builder_init (&crtcs, G_VARIANT_TYPE ("au"));
+@@ -1134,8 +1135,8 @@ meta_monitor_manager_handle_get_resources (MetaDBusDisplayConfig *skeleton,
+ output->tile_info.tile_h));
+ }
+
+- crtc_index = output->crtc ? g_list_index (combined_crtcs, output->crtc)
+- : -1;
++ crtc = meta_output_get_assigned_crtc (output);
++ crtc_index = crtc ? g_list_index (combined_crtcs, crtc) : -1;
+ g_variant_builder_add (&output_builder, "(uxiausauaua{sv})",
+ i, /* ID */
+ (gint64)output->winsys_id,
+@@ -2903,11 +2904,7 @@ meta_monitor_manager_get_monitor_for_connector (MetaMonitorManager *manager,
+
+ if (meta_monitor_is_active (monitor) &&
+ g_str_equal (connector, meta_monitor_get_connector (monitor)))
+- {
+- MetaOutput *main_output = meta_monitor_get_main_output (monitor);
+-
+- return main_output->crtc->logical_monitor->number;
+- }
++ return meta_monitor_get_logical_monitor (monitor)->number;
+ }
+
+ return -1;
+diff --git a/src/backends/meta-monitor.c b/src/backends/meta-monitor.c
+index 51c7935..1e1af39 100644
+--- a/src/backends/meta-monitor.c
++++ b/src/backends/meta-monitor.c
+@@ -204,10 +204,12 @@ gboolean
+ meta_monitor_is_active (MetaMonitor *monitor)
+ {
+ MetaOutput *output;
++ MetaCrtc *crtc;
+
+ output = meta_monitor_get_main_output (monitor);
++ crtc = meta_output_get_assigned_crtc (output);
+
+- return output->crtc && output->crtc->current_mode;
++ return crtc && crtc->current_mode;
+ }
+
+ gboolean
+@@ -493,6 +495,7 @@ meta_monitor_normal_generate_modes (MetaMonitorNormal *monitor_normal)
+ for (i = 0; i < output->n_modes; i++)
+ {
+ MetaCrtcMode *crtc_mode = output->modes[i];
++ MetaCrtc *crtc;
+ MetaMonitorMode *mode;
+ gboolean replace;
+
+@@ -526,7 +529,9 @@ meta_monitor_normal_generate_modes (MetaMonitorNormal *monitor_normal)
+
+ if (crtc_mode == output->preferred_mode)
+ monitor_priv->preferred_mode = mode;
+- if (output->crtc && crtc_mode == output->crtc->current_mode)
++
++ crtc = meta_output_get_assigned_crtc (output);
++ if (crtc && crtc_mode == crtc->current_mode)
+ monitor_priv->current_mode = mode;
+ }
+ }
+@@ -568,13 +573,15 @@ meta_monitor_normal_derive_layout (MetaMonitor *monitor,
+ MetaRectangle *layout)
+ {
+ MetaOutput *output;
++ MetaCrtc *crtc;
+
+ output = meta_monitor_get_main_output (monitor);
++ crtc = meta_output_get_assigned_crtc (output);
+ *layout = (MetaRectangle) {
+- .x = output->crtc->rect.x,
+- .y = output->crtc->rect.y,
+- .width = output->crtc->rect.width,
+- .height = output->crtc->rect.height
++ .x = crtc->rect.x,
++ .y = crtc->rect.y,
++ .width = crtc->rect.width,
++ .height = crtc->rect.height
+ };
+ }
+
+@@ -764,12 +771,13 @@ is_monitor_mode_assigned (MetaMonitor *monitor,
+ {
+ MetaOutput *output = l->data;
+ MetaMonitorCrtcMode *monitor_crtc_mode = &mode->crtc_modes[i];
++ MetaCrtc *crtc;
+
++ crtc = meta_output_get_assigned_crtc (output);
+ if (monitor_crtc_mode->crtc_mode &&
+- (!output->crtc ||
+- output->crtc->current_mode != monitor_crtc_mode->crtc_mode))
++ (!crtc || crtc->current_mode != monitor_crtc_mode->crtc_mode))
+ return FALSE;
+- else if (!monitor_crtc_mode->crtc_mode && output->crtc)
++ else if (!monitor_crtc_mode->crtc_mode && crtc)
+ return FALSE;
+ }
+
+@@ -1217,14 +1225,16 @@ meta_monitor_tiled_derive_layout (MetaMonitor *monitor,
+ for (l = monitor_priv->outputs; l; l = l->next)
+ {
+ MetaOutput *output = l->data;
++ MetaCrtc *crtc;
+
+- if (!output->crtc)
++ crtc = meta_output_get_assigned_crtc (output);
++ if (!crtc)
+ continue;
+
+- min_x = MIN (output->crtc->rect.x, min_x);
+- min_y = MIN (output->crtc->rect.y, min_y);
+- max_x = MAX (output->crtc->rect.x + output->crtc->rect.width, max_x);
+- max_y = MAX (output->crtc->rect.y + output->crtc->rect.height, max_y);
++ min_x = MIN (crtc->rect.x, min_x);
++ min_y = MIN (crtc->rect.y, min_y);
++ max_x = MAX (crtc->rect.x + crtc->rect.width, max_x);
++ max_y = MAX (crtc->rect.y + crtc->rect.height, max_y);
+ }
+
+ *layout = (MetaRectangle) {
+@@ -1318,10 +1328,14 @@ meta_monitor_get_spec (MetaMonitor *monitor)
+ MetaLogicalMonitor *
+ meta_monitor_get_logical_monitor (MetaMonitor *monitor)
+ {
+- MetaOutput *output = meta_monitor_get_main_output (monitor);
++ MetaOutput *output;
++ MetaCrtc *crtc;
++
++ output = meta_monitor_get_main_output (monitor);
++ crtc = meta_output_get_assigned_crtc (output);
+
+- if (output->crtc)
+- return output->crtc->logical_monitor;
++ if (crtc)
++ return crtc->logical_monitor;
+ else
+ return NULL;
+ }
+diff --git a/src/backends/meta-output.c b/src/backends/meta-output.c
+index 62102ce..b5ecccd 100644
+--- a/src/backends/meta-output.c
++++ b/src/backends/meta-output.c
+@@ -21,7 +21,13 @@
+
+ #include "backends/meta-output.h"
+
+-G_DEFINE_TYPE (MetaOutput, meta_output, G_TYPE_OBJECT)
++typedef struct _MetaOutputPrivate
++{
++ /* The CRTC driving this output, NULL if the output is not enabled */
++ MetaCrtc *crtc;
++} MetaOutputPrivate;
++
++G_DEFINE_TYPE_WITH_PRIVATE (MetaOutput, meta_output, G_TYPE_OBJECT)
+
+ MetaGpu *
+ meta_output_get_gpu (MetaOutput *output)
+@@ -29,6 +35,33 @@ meta_output_get_gpu (MetaOutput *output)
+ return output->gpu;
+ }
+
++void
++meta_output_assign_crtc (MetaOutput *output,
++ MetaCrtc *crtc)
++{
++ MetaOutputPrivate *priv = meta_output_get_instance_private (output);
++
++ g_assert (crtc);
++
++ priv->crtc = crtc;
++}
++
++void
++meta_output_unassign_crtc (MetaOutput *output)
++{
++ MetaOutputPrivate *priv = meta_output_get_instance_private (output);
++
++ priv->crtc = NULL;
++}
++
++MetaCrtc *
++meta_output_get_assigned_crtc (MetaOutput *output)
++{
++ MetaOutputPrivate *priv = meta_output_get_instance_private (output);
++
++ return priv->crtc;
++}
++
+ static void
+ meta_output_finalize (GObject *object)
+ {
+diff --git a/src/backends/meta-output.h b/src/backends/meta-output.h
+index a63a1cd..2dc17da 100644
+--- a/src/backends/meta-output.h
++++ b/src/backends/meta-output.h
+@@ -64,9 +64,6 @@ struct _MetaOutput
+
+ MetaGpu *gpu;
+
+- /* The CRTC driving this output, NULL if the output is not enabled */
+- MetaCrtc *crtc;
+-
+ /* The low-level ID of this output, used to apply back configuration */
+ glong winsys_id;
+ char *name;
+@@ -122,4 +119,11 @@ G_DECLARE_FINAL_TYPE (MetaOutput, meta_output, META, OUTPUT, GObject)
+
+ MetaGpu * meta_output_get_gpu (MetaOutput *output);
+
++void meta_output_assign_crtc (MetaOutput *output,
++ MetaCrtc *crtc);
++
++void meta_output_unassign_crtc (MetaOutput *output);
++
++MetaCrtc * meta_output_get_assigned_crtc (MetaOutput *output);
++
+ #endif /* META_OUTPUT_H */
+diff --git a/src/backends/native/meta-cursor-renderer-native.c b/src/backends/native/meta-cursor-renderer-native.c
+index aea86df..c7326af 100644
+--- a/src/backends/native/meta-cursor-renderer-native.c
++++ b/src/backends/native/meta-cursor-renderer-native.c
+@@ -291,6 +291,7 @@ update_monitor_crtc_cursor (MetaMonitor *monitor,
+ data->in_cursor_renderer_native;
+ MetaCursorRendererNativePrivate *priv =
+ meta_cursor_renderer_native_get_instance_private (cursor_renderer_native);
++ MetaCrtc *crtc;
+ MetaMonitorTransform transform;
+ ClutterRect scaled_crtc_rect;
+ float scale;
+@@ -330,6 +331,8 @@ update_monitor_crtc_cursor (MetaMonitor *monitor,
+ },
+ };
+
++ crtc = meta_output_get_assigned_crtc (monitor_crtc_mode->output);
++
+ if (priv->has_hw_cursor &&
+ clutter_rect_intersection (&scaled_crtc_rect,
+ &data->in_local_cursor_rect,
+@@ -340,7 +343,7 @@ update_monitor_crtc_cursor (MetaMonitor *monitor,
+ float crtc_cursor_x, crtc_cursor_y;
+
+ set_crtc_cursor (data->in_cursor_renderer_native,
+- monitor_crtc_mode->output->crtc,
++ crtc,
+ data->in_cursor_sprite);
+
+ gpu_kms = META_GPU_KMS (meta_monitor_get_gpu (monitor));
+@@ -350,7 +353,7 @@ update_monitor_crtc_cursor (MetaMonitor *monitor,
+ crtc_cursor_y = (data->in_local_cursor_rect.origin.y -
+ scaled_crtc_rect.origin.y) * scale;
+ drmModeMoveCursor (kms_fd,
+- monitor_crtc_mode->output->crtc->crtc_id,
++ crtc->crtc_id,
+ roundf (crtc_cursor_x),
+ roundf (crtc_cursor_y));
+
+@@ -358,8 +361,7 @@ update_monitor_crtc_cursor (MetaMonitor *monitor,
+ }
+ else
+ {
+- set_crtc_cursor (data->in_cursor_renderer_native,
+- monitor_crtc_mode->output->crtc, NULL);
++ set_crtc_cursor (data->in_cursor_renderer_native, crtc, NULL);
+ }
+
+ return TRUE;
+diff --git a/src/backends/native/meta-gpu-kms.c b/src/backends/native/meta-gpu-kms.c
+index b33389d..613a607 100644
+--- a/src/backends/native/meta-gpu-kms.c
++++ b/src/backends/native/meta-gpu-kms.c
+@@ -105,8 +105,10 @@ get_crtc_drm_connectors (MetaGpu *gpu,
+ for (l = meta_gpu_get_outputs (gpu); l; l = l->next)
+ {
+ MetaOutput *output = l->data;
++ MetaCrtc *assigned_crtc;
+
+- if (output->crtc == crtc)
++ assigned_crtc = meta_output_get_assigned_crtc (output);
++ if (assigned_crtc == crtc)
+ g_array_append_val (connectors_array, output->winsys_id);
+ }
+
+@@ -186,8 +188,10 @@ meta_gpu_kms_is_crtc_active (MetaGpuKms *gpu_kms,
+ for (l = meta_gpu_get_outputs (gpu); l; l = l->next)
+ {
+ MetaOutput *output = l->data;
++ MetaCrtc *assigned_crtc;
+
+- if (output->crtc == crtc)
++ assigned_crtc = meta_output_get_assigned_crtc (output);
++ if (assigned_crtc == crtc)
+ {
+ connected_crtc_found = TRUE;
+ break;
+diff --git a/src/backends/native/meta-monitor-manager-kms.c b/src/backends/native/meta-monitor-manager-kms.c
+index 1a2eaec..d8e7b84 100644
+--- a/src/backends/native/meta-monitor-manager-kms.c
++++ b/src/backends/native/meta-monitor-manager-kms.c
+@@ -188,7 +188,7 @@ apply_crtc_assignments (MetaMonitorManager *manager,
+ MetaOutput *output = g_ptr_array_index (crtc_info->outputs, j);
+
+ output->is_dirty = TRUE;
+- output->crtc = crtc;
++ meta_output_assign_crtc (output, crtc);
+ }
+ }
+
+@@ -249,7 +249,7 @@ apply_crtc_assignments (MetaMonitorManager *manager,
+ continue;
+ }
+
+- output->crtc = NULL;
++ meta_output_unassign_crtc (output);
+ output->is_primary = FALSE;
+ }
+ }
+diff --git a/src/backends/native/meta-output-kms.c b/src/backends/native/meta-output-kms.c
+index 5668be5..f33f65d 100644
+--- a/src/backends/native/meta-output-kms.c
++++ b/src/backends/native/meta-output-kms.c
+@@ -64,11 +64,13 @@ typedef struct _MetaOutputKms
+ void
+ meta_output_kms_set_underscan (MetaOutput *output)
+ {
+- if (!output->crtc)
++ MetaCrtc *crtc;
++
++ crtc = meta_output_get_assigned_crtc (output);
++ if (!crtc)
+ return;
+
+- meta_crtc_kms_set_underscan (output->crtc,
+- output->is_underscanning);
++ meta_crtc_kms_set_underscan (crtc, output->is_underscanning);
+ }
+
+ void
+@@ -600,14 +602,14 @@ meta_create_kms_output (MetaGpuKms *gpu_kms,
+
+ if (crtc->crtc_id == output_kms->current_encoder->crtc_id)
+ {
+- output->crtc = crtc;
++ meta_output_assign_crtc (output, crtc);
+ break;
+ }
+ }
+ }
+ else
+ {
+- output->crtc = NULL;
++ meta_output_unassign_crtc (output);
+ }
+
+ if (old_output)
+diff --git a/src/backends/native/meta-renderer-native.c b/src/backends/native/meta-renderer-native.c
+index cb8e03a..fc6b223 100644
+--- a/src/backends/native/meta-renderer-native.c
++++ b/src/backends/native/meta-renderer-native.c
+@@ -2089,6 +2089,7 @@ meta_renderer_native_create_surface_egl_device (CoglOnscreen *onscreen,
+ EGLDisplay egl_display = renderer_gpu_data->egl_display;
+ MetaMonitor *monitor;
+ MetaOutput *output;
++ MetaCrtc *crtc;
+ EGLConfig egl_config;
+ EGLStreamKHR egl_stream;
+ EGLSurface egl_surface;
+@@ -2112,6 +2113,7 @@ meta_renderer_native_create_surface_egl_device (CoglOnscreen *onscreen,
+
+ monitor = meta_logical_monitor_get_monitors (logical_monitor)->data;
+ output = meta_monitor_get_main_output (monitor);
++ crtc = meta_output_get_assigned_crtc (output);
+
+ /*
+ * An "logical_monitor" may have multiple outputs/crtcs in case its tiled,
+@@ -2119,7 +2121,7 @@ meta_renderer_native_create_surface_egl_device (CoglOnscreen *onscreen,
+ * lets pass the first one.
+ */
+ output_attribs[0] = EGL_DRM_CRTC_EXT;
+- output_attribs[1] = output->crtc->crtc_id;
++ output_attribs[1] = crtc->crtc_id;
+ output_attribs[2] = EGL_NONE;
+
+ if (!meta_egl_get_output_layers (egl, egl_display,
+@@ -2717,12 +2719,10 @@ calculate_view_transform (MetaMonitorManager *monitor_manager,
+ {
+ MetaMonitor *main_monitor;
+ MetaOutput *main_output;
+- MetaMonitorTransform crtc_transform;
++ MetaCrtc *crtc;
+ main_monitor = meta_logical_monitor_get_monitors (logical_monitor)->data;
+ main_output = meta_monitor_get_main_output (main_monitor);
+- crtc_transform =
+- meta_monitor_logical_to_crtc_transform (main_monitor,
+- logical_monitor->transform);
++ crtc = meta_output_get_assigned_crtc (main_output);
+
+ /*
+ * Pick any monitor and output and check; all CRTCs of a logical monitor will
+@@ -2730,11 +2730,11 @@ calculate_view_transform (MetaMonitorManager *monitor_manager,
+ */
+
+ if (meta_monitor_manager_is_transform_handled (monitor_manager,
+- main_output->crtc,
+- crtc_transform))
++ crtc,
++ crtc->transform))
+ return META_MONITOR_TRANSFORM_NORMAL;
+ else
+- return crtc_transform;
++ return crtc->transform;
+ }
+
+ static MetaRendererView *
+diff --git a/src/backends/x11/meta-monitor-manager-xrandr.c b/src/backends/x11/meta-monitor-manager-xrandr.c
+index dbe3e4e..e438d8f 100644
+--- a/src/backends/x11/meta-monitor-manager-xrandr.c
++++ b/src/backends/x11/meta-monitor-manager-xrandr.c
+@@ -225,8 +225,10 @@ is_crtc_assignment_changed (MetaCrtc *crtc,
+ for (j = 0; j < crtc_info->outputs->len; j++)
+ {
+ MetaOutput *output = ((MetaOutput**) crtc_info->outputs->pdata)[j];
++ MetaCrtc *assigned_crtc;
+
+- if (output->crtc != crtc)
++ assigned_crtc = meta_output_get_assigned_crtc (output);
++ if (assigned_crtc != crtc)
+ return TRUE;
+ }
+
+@@ -243,6 +245,7 @@ is_output_assignment_changed (MetaOutput *output,
+ MetaOutputInfo **output_infos,
+ unsigned int n_output_infos)
+ {
++ MetaCrtc *assigned_crtc;
+ gboolean output_is_found = FALSE;
+ unsigned int i;
+
+@@ -265,8 +268,10 @@ is_output_assignment_changed (MetaOutput *output,
+ output_is_found = TRUE;
+ }
+
++ assigned_crtc = meta_output_get_assigned_crtc (output);
++
+ if (!output_is_found)
+- return output->crtc != NULL;
++ return assigned_crtc != NULL;
+
+ for (i = 0; i < n_crtc_infos; i++)
+ {
+@@ -279,7 +284,7 @@ is_output_assignment_changed (MetaOutput *output,
+ ((MetaOutput**) crtc_info->outputs->pdata)[j];
+
+ if (crtc_info_output == output &&
+- crtc_info->crtc == output->crtc)
++ crtc_info->crtc == assigned_crtc)
+ return FALSE;
+ }
+ }
+@@ -455,7 +460,7 @@ apply_crtc_assignments (MetaMonitorManager *manager,
+ output = ((MetaOutput**)crtc_info->outputs->pdata)[j];
+
+ output->is_dirty = TRUE;
+- output->crtc = crtc;
++ meta_output_assign_crtc (output, crtc);
+
+ output_ids[j] = output->winsys_id;
+ }
+@@ -521,7 +526,7 @@ apply_crtc_assignments (MetaMonitorManager *manager,
+ continue;
+ }
+
+- output->crtc = NULL;
++ meta_output_unassign_crtc (output);
+ output->is_primary = FALSE;
+ }
+
+diff --git a/src/backends/x11/meta-output-xrandr.c b/src/backends/x11/meta-output-xrandr.c
+index 1f44cb1..515389d 100644
+--- a/src/backends/x11/meta-output-xrandr.c
++++ b/src/backends/x11/meta-output-xrandr.c
+@@ -97,10 +97,13 @@ output_set_underscanning_xrandr (MetaOutput *output,
+ * make the border configurable. */
+ if (underscanning)
+ {
++ MetaCrtc *crtc;
+ uint32_t border_value;
+
++ crtc = meta_output_get_assigned_crtc (output);
++
+ prop = XInternAtom (xdisplay, "underscan hborder", False);
+- border_value = output->crtc->current_mode->width * 0.05;
++ border_value = crtc->current_mode->width * 0.05;
+
+ xcb_randr_change_output_property (XGetXCBConnection (xdisplay),
+ (XID) output->winsys_id,
+@@ -109,7 +112,7 @@ output_set_underscanning_xrandr (MetaOutput *output,
+ 1, &border_value);
+
+ prop = XInternAtom (xdisplay, "underscan vborder", False);
+- border_value = output->crtc->current_mode->height * 0.05;
++ border_value = crtc->current_mode->height * 0.05;
+
+ xcb_randr_change_output_property (XGetXCBConnection (xdisplay),
+ (XID) output->winsys_id,
+@@ -737,14 +740,14 @@ output_get_crtcs (MetaOutput *output,
+ }
+ output->n_possible_crtcs = n_actual_crtcs;
+
+- output->crtc = NULL;
++ meta_output_unassign_crtc (output);
+ for (l = meta_gpu_get_crtcs (gpu); l; l = l->next)
+ {
+ MetaCrtc *crtc = l->data;
+
+ if ((XID) crtc->crtc_id == xrandr_output->crtc)
+ {
+- output->crtc = crtc;
++ meta_output_assign_crtc (output, crtc);
+ break;
+ }
+ }
+diff --git a/src/backends/x11/meta-stage-x11-nested.c b/src/backends/x11/meta-stage-x11-nested.c
+index 57fdabb..4cc58d6 100644
+--- a/src/backends/x11/meta-stage-x11-nested.c
++++ b/src/backends/x11/meta-stage-x11-nested.c
+@@ -113,7 +113,7 @@ draw_crtc (MetaMonitor *monitor,
+ CoglTexture *texture = data->texture;
+ MetaLogicalMonitor *logical_monitor = data->logical_monitor;
+ MetaOutput *output = monitor_crtc_mode->output;
+- MetaCrtc *crtc = output->crtc;
++ MetaCrtc *crtc;
+ MetaRendererView *renderer_view = META_RENDERER_VIEW (data->view);
+ MetaMonitorTransform view_transform;
+ MetaMonitorTransform layout_transform = META_MONITOR_TRANSFORM_NORMAL;
+@@ -129,6 +129,8 @@ draw_crtc (MetaMonitor *monitor,
+ texture_width = cogl_texture_get_width (texture);
+ texture_height = cogl_texture_get_height (texture);
+
++ crtc = meta_output_get_assigned_crtc (output);
++
+ clutter_stage_view_get_layout (data->view, &view_layout);
+ sample_x = crtc->rect.x - view_layout.x;
+ sample_y = crtc->rect.y - view_layout.y;
+diff --git a/src/backends/x11/nested/meta-renderer-x11-nested.c b/src/backends/x11/nested/meta-renderer-x11-nested.c
+index a0c26c9..8fdf46b 100644
+--- a/src/backends/x11/nested/meta-renderer-x11-nested.c
++++ b/src/backends/x11/nested/meta-renderer-x11-nested.c
+@@ -50,24 +50,22 @@ calculate_view_transform (MetaMonitorManager *monitor_manager,
+ {
+ MetaMonitor *main_monitor;
+ MetaOutput *main_output;
+- MetaMonitorTransform crtc_transform;
++ MetaCrtc *crtc;
++
+ main_monitor = meta_logical_monitor_get_monitors (logical_monitor)->data;
+ main_output = meta_monitor_get_main_output (main_monitor);
+- crtc_transform =
+- meta_monitor_logical_to_crtc_transform (main_monitor,
+- logical_monitor->transform);
+-
++ crtc = meta_output_get_assigned_crtc (main_output);
+ /*
+ * Pick any monitor and output and check; all CRTCs of a logical monitor will
+ * always have the same transform assigned to them.
+ */
+
+ if (meta_monitor_manager_is_transform_handled (monitor_manager,
+- main_output->crtc,
+- crtc_transform))
++ crtc,
++ crtc->transform))
+ return META_MONITOR_TRANSFORM_NORMAL;
+ else
+- return crtc_transform;
++ return crtc->transform;
+ }
+
+ static MetaRendererView *
+diff --git a/src/tests/meta-monitor-manager-test.c b/src/tests/meta-monitor-manager-test.c
+index 5e1c56e..953d871 100644
+--- a/src/tests/meta-monitor-manager-test.c
++++ b/src/tests/meta-monitor-manager-test.c
+@@ -209,7 +209,7 @@ apply_crtc_assignments (MetaMonitorManager *manager,
+ output = ((MetaOutput**)crtc_info->outputs->pdata)[j];
+
+ output->is_dirty = TRUE;
+- output->crtc = crtc;
++ meta_output_assign_crtc (output, crtc);
+ }
+ }
+ }
+@@ -255,7 +255,7 @@ apply_crtc_assignments (MetaMonitorManager *manager,
+ continue;
+ }
+
+- output->crtc = NULL;
++ meta_output_unassign_crtc (output);
+ output->is_primary = FALSE;
+ }
+ }
+diff --git a/src/tests/monitor-unit-tests.c b/src/tests/monitor-unit-tests.c
+index 97b1e6e..a9cb2e2 100644
+--- a/src/tests/monitor-unit-tests.c
++++ b/src/tests/monitor-unit-tests.c
+@@ -449,22 +449,24 @@ check_current_monitor_mode (MetaMonitor *monitor,
+ CheckMonitorModeData *data = user_data;
+ MetaMonitorManager *monitor_manager = data->monitor_manager;
+ MetaOutput *output;
++ MetaCrtc *crtc;
+
+ output = output_from_winsys_id (monitor_manager,
+ data->expect_crtc_mode_iter->output);
++ crtc = meta_output_get_assigned_crtc (output);
+
+ if (data->expect_crtc_mode_iter->crtc_mode == -1)
+ {
+- g_assert_null (output->crtc);
++ g_assert_null (crtc);
+ }
+ else
+ {
+ MetaLogicalMonitor *logical_monitor;
+
+- g_assert_nonnull (output->crtc);
+- g_assert (monitor_crtc_mode->crtc_mode == output->crtc->current_mode);
++ g_assert_nonnull (crtc);
++ g_assert (monitor_crtc_mode->crtc_mode == crtc->current_mode);
+
+- logical_monitor = output->crtc->logical_monitor;
++ logical_monitor = crtc->logical_monitor;
+ g_assert_nonnull (logical_monitor);
+ }
+
+@@ -553,6 +555,7 @@ check_logical_monitor (MonitorTestCase *test_case,
+ for (l_output = outputs; l_output; l_output = l_output->next)
+ {
+ MetaOutput *output = l_output->data;
++ MetaCrtc *crtc;
+
+ if (output->is_primary)
+ {
+@@ -560,8 +563,8 @@ check_logical_monitor (MonitorTestCase *test_case,
+ primary_output = output;
+ }
+
+- g_assert (!output->crtc ||
+- output->crtc->logical_monitor == logical_monitor);
++ crtc = meta_output_get_assigned_crtc (output);
++ g_assert (!crtc || crtc->logical_monitor == logical_monitor);
+ g_assert_cmpint (logical_monitor->is_presentation,
+ ==,
+ output->is_presentation);
+@@ -983,7 +986,8 @@ create_monitor_test_setup (MonitorTestCase *test_case,
+
+ output = g_object_new (META_TYPE_OUTPUT, NULL);
+
+- output->crtc = crtc;
++ if (crtc)
++ meta_output_assign_crtc (output, crtc);
+ output->winsys_id = i;
+ output->name = (is_laptop_panel ? g_strdup_printf ("eDP-%d",
+ ++n_laptop_panels)
--- /dev/null
+From: =?utf-8?q?Florian_M=C3=BCllner?= <fmuellner@gnome.org>
+Date: Thu, 20 Oct 2016 18:00:04 +0200
+Subject: gtk-shell: Work around non-working startup notifications
+
+GNOME Shell relies on the MetaScreen::startup-sequence-changed signal,
+which is tied to (lib)startup-notification and therefore X11. As a result,
+when we remove the startup sequence of a wayland client, GNOME Shell will
+not be notified about this until startup-notification's timeout is hit.
+As a temporary stop-gap, go through XWayland even for wayland clients,
+so that the signal is emitted when expected.
+
+Bug: https://bugzilla.gnome.org/show_bug.cgi?id=768531
+Applied-upstream: no
+---
+ src/wayland/meta-wayland-gtk-shell.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/src/wayland/meta-wayland-gtk-shell.c b/src/wayland/meta-wayland-gtk-shell.c
+index 0ef9b83..891109a 100644
+--- a/src/wayland/meta-wayland-gtk-shell.c
++++ b/src/wayland/meta-wayland-gtk-shell.c
+@@ -312,11 +312,21 @@ gtk_shell_set_startup_id (struct wl_client *client,
+ struct wl_resource *resource,
+ const char *startup_id)
+ {
++#if 0
+ MetaDisplay *display;
+
+ display = meta_get_display ();
+ meta_startup_notification_remove_sequence (display->startup_notification,
+ startup_id);
++#else
++ /* HACK: MetaScreen::startup-sequence-changed is currently tied to
++ (lib)startup-notification, which means it only works on X11;
++ so for now, always go through XWayland, even for wayland clients */
++ gdk_x11_display_broadcast_startup_message (gdk_display_get_default (),
++ "remove",
++ "ID", startup_id,
++ NULL);
++#endif
+ }
+
+ static void
--- /dev/null
+From: Daniel van Vugt <daniel.van.vugt@canonical.com>
+Date: Fri, 16 Feb 2018 02:50:59 -0600
+Subject: clutter: Smooth out master clock to smooth visuals
+
+Clutter's master clock was jittery because it included errors in cur_tick
+such as dispatch delays due to other sources. Dispatch could also occur up
+to 1ms early since GSource can only be timed to the millisecond. All of this
+could impact the visual smoothness of animations as they are displayed on
+the steady interval of the monitor, but spacially moving in less regular
+steps derived from the dispatch times.
+
+The simple fix is to ignore any jitter in dispatch timing. Try a little
+bit harder to use a precise interval that will better match the display
+hardware, and smoother visuals will follow.
+
+Bug: https://gitlab.gnome.org/GNOME/mutter/issues/25
+Forwarded: https://gitlab.gnome.org/GNOME/mutter/merge_requests/70
+---
+ clutter/clutter/clutter-master-clock-default.c | 134 +++++++++++++++++--------
+ 1 file changed, 93 insertions(+), 41 deletions(-)
+
+diff --git a/clutter/clutter/clutter-master-clock-default.c b/clutter/clutter/clutter-master-clock-default.c
+index 7b2df0d..97b6d13 100644
+--- a/clutter/clutter/clutter-master-clock-default.c
++++ b/clutter/clutter/clutter-master-clock-default.c
+@@ -69,8 +69,10 @@ struct _ClutterMasterClockDefault
+ /* the previous state of the clock, in usecs, used to compute the delta */
+ gint64 prev_tick;
+
++ /* the ideal frame interval in usecs (inverse of your max refresh rate) */
++ gint64 frame_interval;
++
+ #ifdef CLUTTER_ENABLE_DEBUG
+- gint64 frame_budget;
+ gint64 remaining_budget;
+ #endif
+
+@@ -264,6 +266,41 @@ master_clock_reschedule_stage_updates (ClutterMasterClockDefault *master_clock,
+ }
+ }
+
++static gint64
++estimate_next_presentation_time (ClutterMasterClockDefault *master_clock)
++{
++ gint64 frame_phase, now, now_phase, undershoot;
++
++ /* In future if this was updated from the backend's (maximum) refresh rate
++ * then that would fix: https://bugzilla.gnome.org/show_bug.cgi?id=781296
++ */
++ master_clock->frame_interval = G_USEC_PER_SEC /
++ clutter_get_default_frame_rate ();
++
++ now = g_source_get_time (master_clock->source);
++ now_phase = now % master_clock->frame_interval;
++
++ /* To be precise we would like to use:
++ * frame_phase = a_recent_hardware_presentation_time % frame_interval;
++ * where hardware_presentation_time must be using the same clock as
++ * g_source_get_time. Unfortunately they're different clocks right now
++ * so we can't.
++ * Alternatively, we could replace g_source_get_time in future with the
++ * current time in the clutter/cogl presentation clock, but that function
++ * also doesn't exist yet.
++ * Until we can get either of those, zero is fine. It just means latency
++ * will be suboptimal by half a frame on average. We still get maximum
++ * smoothness this way...
++ */
++ frame_phase = 0;
++
++ undershoot = frame_phase - now_phase;
++ if (undershoot < 0)
++ undershoot += master_clock->frame_interval;
++
++ return now + undershoot;
++}
++
+ /*
+ * master_clock_next_frame_delay:
+ * @master_clock: a #ClutterMasterClock
+@@ -276,7 +313,8 @@ master_clock_reschedule_stage_updates (ClutterMasterClockDefault *master_clock,
+ static gint
+ master_clock_next_frame_delay (ClutterMasterClockDefault *master_clock)
+ {
+- gint64 now, next;
++ gint64 now, target_presentation_time, ideal_render_start; /* timestamps */
++ gint64 ideal_prerender_time, lateness; /* deltas */
+ gint swap_delay;
+
+ if (!master_clock_is_running (master_clock))
+@@ -307,46 +345,45 @@ master_clock_next_frame_delay (ClutterMasterClockDefault *master_clock)
+ return 0;
+ }
+
+- if (master_clock->prev_tick == 0)
+- {
+- /* If we weren't previously running, then draw the next frame
+- * immediately
+- */
+- CLUTTER_NOTE (SCHEDULER, "draw the first frame immediately");
+- return 0;
+- }
+-
+- /* Otherwise, wait at least 1/frame_rate seconds since we last
+- * started a frame
+- */
+ now = g_source_get_time (master_clock->source);
+
+- next = master_clock->prev_tick;
+-
+- /* If time has gone backwards then there's no way of knowing how
+- long we should wait so let's just dispatch immediately */
+- if (now <= next)
++ /* As first preference, try to carry on smoothly from the previous frame,
++ * even if that means we start rendering frame 2 before frame 1 has been
++ * presented. This is why we ignore estimate_next_presentation_time here...
++ */
++ target_presentation_time = master_clock->prev_tick +
++ master_clock->frame_interval;
++ ideal_prerender_time = master_clock->frame_interval;
++ ideal_render_start = target_presentation_time - ideal_prerender_time;
++ lateness = now - ideal_render_start;
++
++ /* If we just woke from idle then try to improve the smoothness of the first
++ * two frames some more. Otherwise the first frame would appear too old
++ * relative to the second frame.
++ */
++ if (lateness >= master_clock->frame_interval)
+ {
+- CLUTTER_NOTE (SCHEDULER, "Time has gone backwards");
+-
+- return 0;
++ target_presentation_time = estimate_next_presentation_time (master_clock);
++ ideal_render_start = target_presentation_time - ideal_prerender_time;
++ lateness = now - ideal_render_start;
+ }
+
+- next += (1000000L / clutter_get_default_frame_rate ());
+-
+- if (next <= now)
++ if (lateness > 0)
+ {
+- CLUTTER_NOTE (SCHEDULER, "Less than %lu microsecs",
+- 1000000L / (gulong) clutter_get_default_frame_rate ());
+-
++ CLUTTER_NOTE (SCHEDULER, "No wait required. We're already late.");
+ return 0;
+ }
+ else
+ {
+- CLUTTER_NOTE (SCHEDULER, "Waiting %" G_GINT64_FORMAT " msecs",
+- (next - now) / 1000);
+-
+- return (next - now) / 1000;
++ /* We +1 here to avoid premature dispatches that would otherwise occur
++ * repeatedly during the 1ms before 'ideal_render_start'. We don't care
++ * if this makes the final dispatch 1ms late because the smoothing
++ * algorithm corrects that, and it's much better than attempting to
++ * render more frames than the hardware can physically display...
++ */
++ gint millisec_delay = -lateness / 1000 + 1;
++ CLUTTER_NOTE (SCHEDULER, "Waiting %dms", millisec_delay);
++ return millisec_delay;
+ }
+ }
+
+@@ -532,16 +569,34 @@ clutter_clock_dispatch (GSource *source,
+ ClutterMasterClockDefault *master_clock = clock_source->master_clock;
+ gboolean stages_updated = FALSE;
+ GSList *stages;
+-
+- CLUTTER_NOTE (SCHEDULER, "Master clock [tick]");
++ gint64 smooth_tick;
+
+ _clutter_threads_acquire_lock ();
+
+ /* Get the time to use for this frame */
+- master_clock->cur_tick = g_source_get_time (source);
++ smooth_tick = estimate_next_presentation_time (master_clock);
++ if (smooth_tick <= master_clock->prev_tick)
++ {
++ /* Ordinarily this will never happen. But after we fix bug 781296, it
++ * could happen in the rare case when the ideal frame_interval changes,
++ * such as video mode switching or hotplugging monitors. As such it is
++ * not considered a bug (unless it's happening without mode switching
++ * or hotplugging).
++ */
++ CLUTTER_NOTE (SCHEDULER, "Master clock [tick] was premature (skipped)");
++ _clutter_threads_release_lock ();
++ return G_SOURCE_CONTINUE;
++ }
++
++ master_clock->cur_tick = smooth_tick;
++ if (master_clock->prev_tick)
++ CLUTTER_NOTE (SCHEDULER, "Master clock [tick] %+ldus",
++ (long) (master_clock->cur_tick - master_clock->prev_tick));
++ else
++ CLUTTER_NOTE (SCHEDULER, "Master clock [tick] startup");
+
+ #ifdef CLUTTER_ENABLE_DEBUG
+- master_clock->remaining_budget = master_clock->frame_budget;
++ master_clock->remaining_budget = master_clock->frame_interval;
+ #endif
+
+ /* We need to protect ourselves against stages being destroyed during
+@@ -580,7 +635,7 @@ clutter_clock_dispatch (GSource *source,
+
+ _clutter_threads_release_lock ();
+
+- return TRUE;
++ return G_SOURCE_CONTINUE;
+ }
+
+ static void
+@@ -612,10 +667,7 @@ clutter_master_clock_default_init (ClutterMasterClockDefault *self)
+ self->idle = FALSE;
+ self->ensure_next_iteration = FALSE;
+ self->paused = FALSE;
+-
+-#ifdef CLUTTER_ENABLE_DEBUG
+- self->frame_budget = G_USEC_PER_SEC / 60;
+-#endif
++ self->frame_interval = G_USEC_PER_SEC / 60; /* Will be refined at runtime */
+
+ g_source_set_priority (source, CLUTTER_PRIORITY_REDRAW);
+ g_source_set_can_recurse (source, FALSE);
--- /dev/null
+From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= <mail@3v1n0.net>
+Date: Tue, 15 May 2018 12:09:59 +0100
+Subject: clutter-device-evdev: Get devices from main seat if no real seat is
+ set
+
+In devices such as ARM boards there could be no input devices connected on
+startup, leading to a crash when we try to process artificial events that
+could be queued (as gnome-shell does when syncing pointer).
+
+Those events still should refer to a device and, in case we don't have one
+provided by libinput we should still return the core devices defined in the
+main seat.
+
+(cherry picked from commit 3e85ac8131fc76312a2382d83df6926b88a37415)
+
+Origin: upstream, 3.28.3, commit:2a6782dc10147a5a45f90ac318ba440f21f819d6
+---
+ clutter/clutter/evdev/clutter-device-manager-evdev.c | 13 ++++---------
+ 1 file changed, 4 insertions(+), 9 deletions(-)
+
+diff --git a/clutter/clutter/evdev/clutter-device-manager-evdev.c b/clutter/clutter/evdev/clutter-device-manager-evdev.c
+index bc9549d..812ad8c 100644
+--- a/clutter/clutter/evdev/clutter-device-manager-evdev.c
++++ b/clutter/clutter/evdev/clutter-device-manager-evdev.c
+@@ -919,7 +919,6 @@ clutter_device_manager_evdev_get_device (ClutterDeviceManager *manager,
+ ClutterDeviceManagerEvdev *manager_evdev;
+ ClutterDeviceManagerEvdevPrivate *priv;
+ GSList *l;
+- GSList *device_it;
+
+ manager_evdev = CLUTTER_DEVICE_MANAGER_EVDEV (manager);
+ priv = manager_evdev->priv;
+@@ -927,17 +926,13 @@ clutter_device_manager_evdev_get_device (ClutterDeviceManager *manager,
+ for (l = priv->seats; l; l = l->next)
+ {
+ ClutterSeatEvdev *seat = l->data;
++ ClutterInputDevice *device = clutter_seat_evdev_get_device (seat, id);
+
+- for (device_it = seat->devices; device_it; device_it = device_it->next)
+- {
+- ClutterInputDevice *device = device_it->data;
+-
+- if (clutter_input_device_get_device_id (device) == id)
+- return device;
+- }
++ if (device)
++ return device;
+ }
+
+- return NULL;
++ return clutter_seat_evdev_get_device (priv->main_seat, id);
+ }
+
+ static void
--- /dev/null
+From: Olivier Fourdan <ofourdan@redhat.com>
+Date: Tue, 17 Apr 2018 14:03:12 +0200
+Subject: clutter/evdev: Don't ignore CAPS lock as modifier
+
+Mark CAPS lock as a modifier (as it should) so that when using XKB
+options to change the default behaviour of CAPS lock, the new assigned
+key can by used as a sticky key as well.
+
+(cherry picked from commit 6df2b7af556bf01f8d564b86c66c293678ab6b90)
+
+Bug: https://gitlab.gnome.org/GNOME/mutter/issues/112
+Origin: upstream, 3.28.3, commit:2dd9fc17c17cbc9b09f8a364682c5759d6539a8d
+---
+ clutter/clutter/evdev/clutter-input-device-evdev.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/clutter/clutter/evdev/clutter-input-device-evdev.c b/clutter/clutter/evdev/clutter-input-device-evdev.c
+index e5dee65..51c7e94 100644
+--- a/clutter/clutter/evdev/clutter-input-device-evdev.c
++++ b/clutter/clutter/evdev/clutter-input-device-evdev.c
+@@ -433,6 +433,8 @@ key_event_is_modifier (ClutterEvent *event)
+ case XKB_KEY_Super_R:
+ case XKB_KEY_Hyper_L:
+ case XKB_KEY_Hyper_R:
++ case XKB_KEY_Caps_Lock:
++ case XKB_KEY_Shift_Lock:
+ return TRUE;
+ default:
+ return FALSE;
+@@ -584,6 +586,12 @@ handle_stickykeys_press (ClutterEvent *event,
+ }
+
+ depressed_mods = xkb_state_serialize_mods (seat->xkb, XKB_STATE_MODS_DEPRESSED);
++ /* Ignore the lock modifier mask, that one cannot be sticky, yet the
++ * CAPS_LOCK key itself counts as a modifier as it might be remapped
++ * to some other modifier which can be sticky.
++ */
++ depressed_mods &= ~CLUTTER_LOCK_MASK;
++
+ new_latched_mask = device->stickykeys_latched_mask;
+ new_locked_mask = device->stickykeys_locked_mask;
+
--- /dev/null
+From: Olivier Fourdan <ofourdan@redhat.com>
+Date: Tue, 17 Apr 2018 13:32:21 +0200
+Subject: clutter/evdev: ignore injected events from IM
+
+Input method can inject key events, which leads to multiple reported key
+press/release events for a single user action.
+
+Ignore those events as this confuses keyboard accessibility.
+
+(cherry picked from commit c01b099dbdfee4b2a98864bc76bfa1b96a55c8fb)
+
+Origin: upstream, 3.28.3, commit:c7a38c31398871d2461b66963756816d268f524e
+---
+ clutter/clutter/evdev/clutter-input-device-evdev.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/clutter/clutter/evdev/clutter-input-device-evdev.c b/clutter/clutter/evdev/clutter-input-device-evdev.c
+index 6c52361..e5dee65 100644
+--- a/clutter/clutter/evdev/clutter-input-device-evdev.c
++++ b/clutter/clutter/evdev/clutter-input-device-evdev.c
+@@ -1122,6 +1122,10 @@ clutter_input_device_evdev_process_kbd_a11y_event (ClutterEvent *e
+ {
+ ClutterInputDeviceEvdev *device_evdev = CLUTTER_INPUT_DEVICE_EVDEV (device);
+
++ /* Ignore key events injected from IM */
++ if (event->key.flags & CLUTTER_EVENT_FLAG_INPUT_METHOD)
++ goto emit_event;
++
+ if (!device_evdev->a11y_flags & CLUTTER_A11Y_KEYBOARD_ENABLED)
+ goto emit_event;
+
--- /dev/null
+From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= <mail@3v1n0.net>
+Date: Tue, 15 May 2018 12:04:56 +0100
+Subject: clutter-seat-evdev: Add function to get device by id
+
+(cherry picked from commit 5f83d9a5c854873746a31d0cc4d118c9a6d87ddd)
+
+Origin: upstream, 3.28.3, commit:5142c8c7e721f7cff91f651178aad55a69b56df1
+---
+ clutter/clutter/evdev/clutter-seat-evdev.c | 18 ++++++++++++++++++
+ clutter/clutter/evdev/clutter-seat-evdev.h | 3 +++
+ 2 files changed, 21 insertions(+)
+
+diff --git a/clutter/clutter/evdev/clutter-seat-evdev.c b/clutter/clutter/evdev/clutter-seat-evdev.c
+index e91f367..a453b11 100644
+--- a/clutter/clutter/evdev/clutter-seat-evdev.c
++++ b/clutter/clutter/evdev/clutter-seat-evdev.c
+@@ -858,6 +858,24 @@ clutter_seat_evdev_free (ClutterSeatEvdev *seat)
+ g_free (seat);
+ }
+
++ClutterInputDevice *
++clutter_seat_evdev_get_device (ClutterSeatEvdev *seat,
++ gint id)
++{
++ ClutterInputDevice *device;
++ GSList *l;
++
++ for (l = seat->devices; l; l = l->next)
++ {
++ device = l->data;
++
++ if (clutter_input_device_get_device_id (device) == id)
++ return device;
++ }
++
++ return NULL;
++}
++
+ void
+ clutter_seat_evdev_set_stage (ClutterSeatEvdev *seat,
+ ClutterStage *stage)
+diff --git a/clutter/clutter/evdev/clutter-seat-evdev.h b/clutter/clutter/evdev/clutter-seat-evdev.h
+index 0fb89e3..4bb319b 100644
+--- a/clutter/clutter/evdev/clutter-seat-evdev.h
++++ b/clutter/clutter/evdev/clutter-seat-evdev.h
+@@ -139,6 +139,9 @@ void clutter_seat_evdev_set_libinput_seat (ClutterSeatEvdev *seat,
+
+ void clutter_seat_evdev_sync_leds (ClutterSeatEvdev *seat);
+
++ClutterInputDevice * clutter_seat_evdev_get_device (ClutterSeatEvdev *seat,
++ gint id);
++
+ ClutterTouchState * clutter_seat_evdev_acquire_touch_state (ClutterSeatEvdev *seat,
+ int device_slot);
+
--- /dev/null
+From: Sam Spilsbury <sam@endlessm.com>
+Date: Tue, 10 Oct 2017 11:39:40 -0500
+Subject: core: Return -1 if meta_window_get_monitor is called on an unmanaged
+ window
+
+As opposed to crashing. In this case, letting the caller deal with
+it is the best policy, since this is public API.
+
+Fixes #78834
+
+Forwarded: yes
+Bug: https://bugzilla.gnome.org/show_bug.cgi?id=788834
+Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/bionic/+source/gnome-shell/+bug/1724439
+---
+ src/core/window.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/src/core/window.c b/src/core/window.c
+index 743326c..441b5be 100644
+--- a/src/core/window.c
++++ b/src/core/window.c
+@@ -3750,11 +3750,16 @@ maybe_move_attached_dialog (MetaWindow *window,
+ *
+ * Gets index of the monitor that this window is on.
+ *
+- * Return Value: The index of the monitor in the screens monitor list
++ * Return Value: The index of the monitor in the screens monitor list, or -1
++ * if the window has been recently unmanaged and does not have
++ * a monitor.
+ */
+ int
+ meta_window_get_monitor (MetaWindow *window)
+ {
++ if (!window->monitor)
++ return -1;
++
+ return window->monitor->number;
+ }
+
--- /dev/null
+From: Jeremy Bicha <jbicha@ubuntu.com>
+Date: Thu, 31 Aug 2017 07:11:39 -0400
+Subject: Skip test that started failing with 3.25
+
+That way we can still benefit by running all the other tests.
+
+Bug: https://bugzilla.gnome.org/785319
+Applied-upstream: no
+---
+ clutter/tests/conform/Makefile.am | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/clutter/tests/conform/Makefile.am b/clutter/tests/conform/Makefile.am
+index bca10dc..a2b7bee 100644
+--- a/clutter/tests/conform/Makefile.am
++++ b/clutter/tests/conform/Makefile.am
+@@ -26,7 +26,6 @@ actor_tests = \
+ actor-layout \
+ actor-meta \
+ actor-offscreen-limit-max-size \
+- actor-offscreen-redirect \
+ actor-paint-opacity \
+ actor-size \
+ $(NULL)
--- /dev/null
+From: Jeremy Bicha <jbicha@ubuntu.com>
+Date: Fri, 5 May 2017 08:26:36 -0500
+Subject: Don't run failing tests
+
+That way we can still benefit by running all the other tests.
+
+Bug: https://bugzilla.gnome.org/782215
+Bug: https://bugzilla.gnome.org/753836
+Applied-upstream: no
+---
+ clutter/tests/conform/Makefile.am | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/clutter/tests/conform/Makefile.am b/clutter/tests/conform/Makefile.am
+index 9cef08b..bca10dc 100644
+--- a/clutter/tests/conform/Makefile.am
++++ b/clutter/tests/conform/Makefile.am
+@@ -28,8 +28,6 @@ actor_tests = \
+ actor-offscreen-limit-max-size \
+ actor-offscreen-redirect \
+ actor-paint-opacity \
+- actor-pick \
+- actor-shader-effect \
+ actor-size \
+ $(NULL)
+
--- /dev/null
+From: Daniel van Vugt <daniel.van.vugt@canonical.com>
+Date: Sun, 18 Mar 2018 12:56:36 -0400
+Subject: backends/x11: Support input-synaptics, if present.
+
+Add support for configuring the Xorg synaptics touchpad driver.
+
+Turns out it's very simple to support both libinput and synaptics
+simultaneously, both under the heading of XI2.
+
+Bug-Ubuntu: https://launchpad.net/bugs/1686081
+Forwarded: https://gitlab.gnome.org/GNOME/mutter/merge_requests/37
+Applied-upstream: no, rejected as not long-term sustainable
+Last-Update: 2018-03-16
+---
+ clutter/clutter/x11/clutter-device-manager-xi2.c | 15 ++-
+ src/backends/x11/meta-input-settings-x11.c | 150 ++++++++++++++++++++---
+ 2 files changed, 148 insertions(+), 17 deletions(-)
+
+diff --git a/clutter/clutter/x11/clutter-device-manager-xi2.c b/clutter/clutter/x11/clutter-device-manager-xi2.c
+index 62f5583..b22982a 100644
+--- a/clutter/clutter/x11/clutter-device-manager-xi2.c
++++ b/clutter/clutter/x11/clutter-device-manager-xi2.c
+@@ -267,8 +267,9 @@ is_touch_device (XIAnyClassInfo **classes,
+ }
+
+ static gboolean
+-is_touchpad_device (ClutterBackendX11 *backend_x11,
+- XIDeviceInfo *info)
++has_8bit_property (ClutterBackendX11 *backend_x11,
++ XIDeviceInfo *info,
++ const char *name)
+ {
+ gulong nitems, bytes_after;
+ guint32 *data = NULL;
+@@ -276,7 +277,7 @@ is_touchpad_device (ClutterBackendX11 *backend_x11,
+ Atom type;
+ Atom prop;
+
+- prop = XInternAtom (backend_x11->xdpy, "libinput Tapping Enabled", True);
++ prop = XInternAtom (backend_x11->xdpy, name, True);
+ if (prop == None)
+ return FALSE;
+
+@@ -297,6 +298,14 @@ is_touchpad_device (ClutterBackendX11 *backend_x11,
+ return TRUE;
+ }
+
++static gboolean
++is_touchpad_device (ClutterBackendX11 *backend_x11,
++ XIDeviceInfo *info)
++{
++ return has_8bit_property (backend_x11, info, "libinput Tapping Enabled") ||
++ has_8bit_property (backend_x11, info, "Synaptics Off");
++}
++
+ static gboolean
+ get_device_ids (ClutterBackendX11 *backend_x11,
+ XIDeviceInfo *info,
+diff --git a/src/backends/x11/meta-input-settings-x11.c b/src/backends/x11/meta-input-settings-x11.c
+index 9687fb3..43752df 100644
+--- a/src/backends/x11/meta-input-settings-x11.c
++++ b/src/backends/x11/meta-input-settings-x11.c
+@@ -169,8 +169,6 @@ meta_input_settings_x11_set_send_events (MetaInputSettings *settings,
+
+ available = get_property (device, "libinput Send Events Modes Available",
+ XA_INTEGER, 8, 2);
+- if (!available)
+- return;
+
+ switch (mode)
+ {
+@@ -184,6 +182,11 @@ meta_input_settings_x11_set_send_events (MetaInputSettings *settings,
+ break;
+ }
+
++ change_property (device, "Synaptics Off", XA_INTEGER, 8, &values, 1);
++
++ if (!available)
++ return;
++
+ if ((values[0] && !available[0]) || (values[1] && !available[1]))
+ g_warning ("Device '%s' does not support sendevents mode %d\n",
+ clutter_input_device_get_device_name (device), mode);
+@@ -217,11 +220,23 @@ meta_input_settings_x11_set_speed (MetaInputSettings *settings,
+ {
+ MetaBackend *backend = meta_get_backend ();
+ Display *xdisplay = meta_backend_x11_get_xdisplay (META_BACKEND_X11 (backend));
+- gfloat value = speed;
++ gfloat *accel = get_property (device, "libinput Accel Speed",
++ XInternAtom (xdisplay, "FLOAT", False), 32, 1);
+
+- change_property (device, "libinput Accel Speed",
+- XInternAtom (xdisplay, "FLOAT", False),
+- 32, &value, 1);
++ if (accel)
++ {
++ *accel = speed; /* Sounds confused, but libinput is confused. */
++ change_property (device, "libinput Accel Speed",
++ XInternAtom (xdisplay, "FLOAT", False), 32, accel, 1);
++ meta_XFree (accel);
++ }
++ else
++ {
++ gfloat scale = (speed <= -1.0) ? 1.0 : (speed + 1.0) * 12.5;
++
++ change_property (device, "Device Accel Velocity Scaling",
++ XInternAtom (xdisplay, "FLOAT", False), 32, &scale, 1);
++ }
+ }
+
+ static void
+@@ -259,6 +274,9 @@ meta_input_settings_x11_set_disable_while_typing (MetaInputSettings *settings,
+
+ change_property (device, "libinput Disable While Typing Enabled",
+ XA_INTEGER, 8, &value, 1);
++
++ change_property (device, "Synaptics Palm Detection",
++ XA_INTEGER, 8, &value, 1);
+ }
+
+ static void
+@@ -267,9 +285,13 @@ meta_input_settings_x11_set_tap_enabled (MetaInputSettings *settings,
+ gboolean enabled)
+ {
+ guchar value = (enabled) ? 1 : 0;
++ gint32 tap_time = (enabled) ? 180 : 0;
+
+ change_property (device, "libinput Tapping Enabled",
+ XA_INTEGER, 8, &value, 1);
++
++ change_property (device, "Synaptics Tap Time",
++ XA_INTEGER, 32, &tap_time, 1);
+ }
+
+ static void
+@@ -281,6 +303,9 @@ meta_input_settings_x11_set_tap_and_drag_enabled (MetaInputSettings *settings,
+
+ change_property (device, "libinput Tapping Drag Enabled",
+ XA_INTEGER, 8, &value, 1);
++
++ change_property (device, "Synaptics Gestures",
++ XA_INTEGER, 8, &value, 1);
+ }
+
+ static void
+@@ -288,10 +313,22 @@ meta_input_settings_x11_set_invert_scroll (MetaInputSettings *settings,
+ ClutterInputDevice *device,
+ gboolean inverted)
+ {
+- guchar value = (inverted) ? 1 : 0;
++ gint32 *scroll_dist = get_property (device, "Synaptics Scrolling Distance",
++ XA_INTEGER, 32, 2);
++ if (scroll_dist)
++ {
++ scroll_dist[0] = inverted ? -ABS (scroll_dist[0]) : ABS (scroll_dist[0]);
++ change_property (device, "Synaptics Scrolling Distance",
++ XA_INTEGER, 32, scroll_dist, 2);
++ meta_XFree (scroll_dist);
++ }
++ else
++ {
++ guchar value = (inverted) ? 1 : 0;
+
+- change_property (device, "libinput Natural Scrolling Enabled",
+- XA_INTEGER, 8, &value, 1);
++ change_property (device, "libinput Natural Scrolling Enabled",
++ XA_INTEGER, 8, &value, 1);
++ }
+ }
+
+ static void
+@@ -303,6 +340,16 @@ meta_input_settings_x11_set_edge_scroll (MetaInputSettings *settings,
+ guchar *current = NULL;
+ guchar *available = NULL;
+
++ current = get_property (device, "Synaptics Edge Scrolling",
++ XA_INTEGER, 8, 3);
++ if (current)
++ {
++ current[0] = current[1] = !!edge_scroll_enabled;
++ change_property (device, "Synaptics Edge Scrolling",
++ XA_INTEGER, 8, current, 3);
++ goto out;
++ }
++
+ available = get_property (device, "libinput Scroll Methods Available",
+ XA_INTEGER, 8, SCROLL_METHOD_NUM_FIELDS);
+ if (!available || !available[SCROLL_METHOD_FIELD_EDGE])
+@@ -332,6 +379,16 @@ meta_input_settings_x11_set_two_finger_scroll (MetaInputSettings *set
+ guchar *current = NULL;
+ guchar *available = NULL;
+
++ current = get_property (device, "Synaptics Two-Finger Scrolling",
++ XA_INTEGER, 8, 2);
++ if (current)
++ {
++ current[0] = current[1] = !!two_finger_scroll_enabled;
++ change_property (device, "Synaptics Two-Finger Scrolling",
++ XA_INTEGER, 8, current, 2);
++ goto out;
++ }
++
+ available = get_property (device, "libinput Scroll Methods Available",
+ XA_INTEGER, 8, SCROLL_METHOD_NUM_FIELDS);
+ if (!available || !available[SCROLL_METHOD_FIELD_2FG])
+@@ -359,10 +416,19 @@ meta_input_settings_x11_has_two_finger_scroll (MetaInputSettings *settings,
+ guchar *available = NULL;
+ gboolean has_two_finger = TRUE;
+
+- available = get_property (device, "libinput Scroll Methods Available",
+- XA_INTEGER, 8, SCROLL_METHOD_NUM_FIELDS);
+- if (!available || !available[SCROLL_METHOD_FIELD_2FG])
+- has_two_finger = FALSE;
++ available = get_property (device, "Synaptics Two-Finger Scrolling",
++ XA_INTEGER, 8, 2);
++ if (available)
++ {
++ has_two_finger = available[0] || available[1];
++ }
++ else
++ {
++ available = get_property (device, "libinput Scroll Methods Available",
++ XA_INTEGER, 8, SCROLL_METHOD_NUM_FIELDS);
++ if (!available || !available[SCROLL_METHOD_FIELD_2FG])
++ has_two_finger = FALSE;
++ }
+
+ meta_XFree (available);
+ return has_two_finger;
+@@ -377,6 +443,58 @@ meta_input_settings_x11_set_scroll_button (MetaInputSettings *settings,
+ XA_INTEGER, 32, &button, 1);
+ }
+
++static void
++meta_input_settings_x11_set_click_method_synaptics (MetaInputSettings *settings,
++ ClutterInputDevice *device,
++ GDesktopTouchpadClickMethod mode)
++{
++ /* { RT corner, RB, LT, LB, 1 finger, 2 fingers, 3 fingers } */
++ guchar tap_action_default[7] = { 2, 3, 0, 0, 1, 3, 0 };
++ guchar tap_action_areas[7] = { 2, 3, 0, 0, 1, 0, 0 };
++ guchar tap_action_fingers[7] = { 0, 0, 0, 0, 1, 3, 2 };
++ guchar tap_action_none[7] = { 0, 0, 0, 0, 1, 0, 0 };
++ guchar *tap_action = tap_action_default;
++
++ /* TODO On startup save the default value of 'Synaptics Soft Button Areas',
++ but save it where? */
++ gint32 zero_button_areas[8] = { 0, 0, 0, 0, 0, 0, 0, 0 };
++ gint32 *button_areas_known = NULL;
++
++ switch (mode)
++ {
++ case G_DESKTOP_TOUCHPAD_CLICK_METHOD_DEFAULT:
++ tap_action = tap_action_default;
++ /* Doing nothing right now will give the correct default, unless changed
++ during the session */
++ break;
++ case G_DESKTOP_TOUCHPAD_CLICK_METHOD_NONE:
++ tap_action = tap_action_none;
++ button_areas_known = zero_button_areas;
++ break;
++ case G_DESKTOP_TOUCHPAD_CLICK_METHOD_AREAS:
++ tap_action = tap_action_areas;
++ /* Doing nothing right now will give the correct default, unless changed
++ during the session */
++ break;
++ case G_DESKTOP_TOUCHPAD_CLICK_METHOD_FINGERS:
++ tap_action = tap_action_fingers;
++ button_areas_known = zero_button_areas;
++ break;
++ default:
++ g_assert_not_reached ();
++ return;
++ }
++
++ change_property (device, "Synaptics Tap Action",
++ XA_INTEGER, 8, tap_action, 7);
++ change_property (device, "Synaptics Click Action",
++ XA_INTEGER, 8, tap_action + 4, 3);
++
++ if (button_areas_known)
++ change_property (device, "Synaptics Soft Button Areas",
++ XA_INTEGER, 32, button_areas_known, 8);
++}
++
+ static void
+ meta_input_settings_x11_set_click_method (MetaInputSettings *settings,
+ ClutterInputDevice *device,
+@@ -388,7 +506,11 @@ meta_input_settings_x11_set_click_method (MetaInputSettings *settings,
+ available = get_property (device, "libinput Click Methods Available",
+ XA_INTEGER, 8, 2);
+ if (!available)
+- return;
++ {
++ meta_input_settings_x11_set_click_method_synaptics (settings, device,
++ mode);
++ return;
++ }
+
+ switch (mode)
+ {
--- /dev/null
+From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= <mail@3v1n0.net>
+Date: Thu, 17 May 2018 00:53:48 +0100
+Subject: device-manager-evdev: Add main seat to seats by default
+
+Treat the main seat as other seats, so we don't have to handle it differently
+in specific places. This was already the case before when a real device
+was plugged before the startup, but not applied when hotplugging a device.
+
+(cherry picked from commit 15f41c9f68abfbb5408205a45f9f578e2ff5ee86)
+
+Origin: upstream, 3.28.3, commit:e73b321c2ed4be6fe2a317d65bdb24238a427c4f
+---
+ clutter/clutter/evdev/clutter-device-manager-evdev.c | 14 ++++++--------
+ 1 file changed, 6 insertions(+), 8 deletions(-)
+
+diff --git a/clutter/clutter/evdev/clutter-device-manager-evdev.c b/clutter/clutter/evdev/clutter-device-manager-evdev.c
+index a481b75..f2aeda6 100644
+--- a/clutter/clutter/evdev/clutter-device-manager-evdev.c
++++ b/clutter/clutter/evdev/clutter-device-manager-evdev.c
+@@ -793,10 +793,12 @@ evdev_add_device (ClutterDeviceManagerEvdev *manager_evdev,
+ if (priv->main_seat->libinput_seat == NULL)
+ seat = priv->main_seat;
+ else
+- seat = clutter_seat_evdev_new (manager_evdev);
++ {
++ seat = clutter_seat_evdev_new (manager_evdev);
++ priv->seats = g_slist_append (priv->seats, seat);
++ }
+
+ clutter_seat_evdev_set_libinput_seat (seat, libinput_seat);
+- priv->seats = g_slist_append (priv->seats, seat);
+ }
+
+ device = _clutter_input_device_evdev_new (manager, seat, libinput_device);
+@@ -932,7 +934,7 @@ clutter_device_manager_evdev_get_device (ClutterDeviceManager *manager,
+ return device;
+ }
+
+- return clutter_seat_evdev_get_device (priv->main_seat, id);
++ return NULL;
+ }
+
+ static void
+@@ -1962,6 +1964,7 @@ clutter_device_manager_evdev_constructed (GObject *gobject)
+ xkb_context_unref (ctx);
+
+ priv->main_seat = clutter_seat_evdev_new (manager_evdev);
++ priv->seats = g_slist_append (priv->seats, priv->main_seat);
+
+ dispatch_libinput (manager_evdev);
+
+@@ -2010,7 +2013,6 @@ clutter_device_manager_evdev_finalize (GObject *object)
+ manager_evdev = CLUTTER_DEVICE_MANAGER_EVDEV (object);
+ priv = manager_evdev->priv;
+
+- clutter_seat_evdev_free (priv->main_seat);
+ g_slist_free_full (priv->seats, (GDestroyNotify) clutter_seat_evdev_free);
+ g_slist_free (priv->devices);
+
+@@ -2071,8 +2073,6 @@ clutter_device_manager_evdev_stage_added_cb (ClutterStageManager *manager,
+ priv->stage = stage;
+
+ /* Set the stage of any devices that don't already have a stage */
+- clutter_seat_evdev_set_stage (priv->main_seat, stage);
+-
+ for (l = priv->seats; l; l = l->next)
+ {
+ ClutterSeatEvdev *seat = l->data;
+@@ -2098,8 +2098,6 @@ clutter_device_manager_evdev_stage_removed_cb (ClutterStageManager *manager,
+
+ /* Remove the stage of any input devices that were pointing to this
+ stage so we don't send events to invalid stages */
+- clutter_seat_evdev_set_stage (priv->main_seat, NULL);
+-
+ for (l = priv->seats; l; l = l->next)
+ {
+ ClutterSeatEvdev *seat = l->data;
--- /dev/null
+From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= <mail@3v1n0.net>
+Date: Thu, 17 May 2018 00:23:26 +0100
+Subject: device-manager-evdev: Free the main seat on finalize
+
+(cherry picked from commit 2a38601b4211f9b1dedd45261a040e51de13b838)
+
+Origin: upstream, 3.28.3, commit:b6dc2052c3e64b9b51ff4d15eb280d2b84b4b200
+---
+ clutter/clutter/evdev/clutter-device-manager-evdev.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/clutter/clutter/evdev/clutter-device-manager-evdev.c b/clutter/clutter/evdev/clutter-device-manager-evdev.c
+index b830dd5..a481b75 100644
+--- a/clutter/clutter/evdev/clutter-device-manager-evdev.c
++++ b/clutter/clutter/evdev/clutter-device-manager-evdev.c
+@@ -2010,6 +2010,7 @@ clutter_device_manager_evdev_finalize (GObject *object)
+ manager_evdev = CLUTTER_DEVICE_MANAGER_EVDEV (object);
+ priv = manager_evdev->priv;
+
++ clutter_seat_evdev_free (priv->main_seat);
+ g_slist_free_full (priv->seats, (GDestroyNotify) clutter_seat_evdev_free);
+ g_slist_free (priv->devices);
+
--- /dev/null
+From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= <mail@3v1n0.net>
+Date: Wed, 16 May 2018 11:55:15 +0100
+Subject: device-manager-evdev: Set and unset the stage for the main seat too
+
+When no input devices are available on startup the device manager might be fast
+enough to be constructed so that no default stage is set yet, and thus when
+main seat virtual devices are created they won't have a proper stage set.
+If then we plug a real device, the events that an input manager could generate
+won't be associated to any stage and thus won't be processed.
+
+We need then ensure that when we update the stage for the device manager we
+(un)associate it also to the main seat devices.
+
+(cherry picked from commit d7bdc1591fba5353b23a28ebf676da0e7b58c84e)
+
+Origin: upstream, 3.28.3, commit:72965aaaf0b1c6cf098a0652e14dd3eb4c1501b8
+---
+ clutter/clutter/evdev/clutter-device-manager-evdev.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/clutter/clutter/evdev/clutter-device-manager-evdev.c b/clutter/clutter/evdev/clutter-device-manager-evdev.c
+index 812ad8c..b830dd5 100644
+--- a/clutter/clutter/evdev/clutter-device-manager-evdev.c
++++ b/clutter/clutter/evdev/clutter-device-manager-evdev.c
+@@ -2070,6 +2070,8 @@ clutter_device_manager_evdev_stage_added_cb (ClutterStageManager *manager,
+ priv->stage = stage;
+
+ /* Set the stage of any devices that don't already have a stage */
++ clutter_seat_evdev_set_stage (priv->main_seat, stage);
++
+ for (l = priv->seats; l; l = l->next)
+ {
+ ClutterSeatEvdev *seat = l->data;
+@@ -2095,6 +2097,8 @@ clutter_device_manager_evdev_stage_removed_cb (ClutterStageManager *manager,
+
+ /* Remove the stage of any input devices that were pointing to this
+ stage so we don't send events to invalid stages */
++ clutter_seat_evdev_set_stage (priv->main_seat, NULL);
++
+ for (l = priv->seats; l; l = l->next)
+ {
+ ClutterSeatEvdev *seat = l->data;
--- /dev/null
+From: Olivier Fourdan <ofourdan@redhat.com>
+Date: Tue, 22 May 2018 11:23:13 +0200
+Subject: frames: Allow for unknown mouse buttons
+
+Commit 47131b1d ("frames: Handle touch events") introduced an assert to
+make sure that all mouse button actions are handled in mutter.
+
+However, mice can have a more than 5 buttons, so simply ignore the
+"other" actions instead of aborting.
+
+(cherry picked from commit 473bf38753221dc0002fae309d2f3f217e96c5f5)
+
+Bug: https://gitlab.gnome.org/GNOME/mutter/issues/160
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=899181
+Origin: upstream, 3.28.3, commit:1a3f9a33234f8406ffcaa150df542b73715910f4
+---
+ src/ui/frames.c | 15 +++++++++++----
+ 1 file changed, 11 insertions(+), 4 deletions(-)
+
+diff --git a/src/ui/frames.c b/src/ui/frames.c
+index 850f285..6d7b999 100644
+--- a/src/ui/frames.c
++++ b/src/ui/frames.c
+@@ -75,7 +75,8 @@ enum {
+ META_ACTION_CLICK,
+ META_ACTION_RIGHT_CLICK,
+ META_ACTION_MIDDLE_CLICK,
+- META_ACTION_DOUBLE_CLICK
++ META_ACTION_DOUBLE_CLICK,
++ META_ACTION_IGNORE
+ };
+
+ static GObject *
+@@ -974,6 +975,10 @@ get_action (const ClutterEvent *event)
+ return META_ACTION_RIGHT_CLICK;
+ case CLUTTER_BUTTON_MIDDLE:
+ return META_ACTION_MIDDLE_CLICK;
++ default:
++ meta_verbose ("No action triggered for button %u %s\n",
++ event->button.button,
++ (event->type == CLUTTER_BUTTON_PRESS) ? "press" : "release");
+ }
+ }
+ else if (event->type == CLUTTER_TOUCH_BEGIN ||
+@@ -983,7 +988,7 @@ get_action (const ClutterEvent *event)
+ return META_ACTION_CLICK;
+ }
+
+- g_assert_not_reached ();
++ return META_ACTION_IGNORE;
+ }
+
+ static uint32_t
+@@ -1115,13 +1120,15 @@ handle_press_event (MetaUIFrame *frame,
+ g_assert (event->type == CLUTTER_BUTTON_PRESS ||
+ event->type == CLUTTER_TOUCH_BEGIN);
+
++ action = get_action (event);
++ if (action == META_ACTION_IGNORE)
++ return FALSE;
++
+ display = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());
+
+ evtime = clutter_event_get_time (event);
+ clutter_event_get_coords (event, &x, &y);
+ control = get_control (frame, x, y);
+- action = get_action (event);
+-
+ /* don't do the rest of this if on client area */
+ if (control == META_FRAME_CONTROL_CLIENT_AREA)
+ return FALSE; /* not on the frame, just passed through from client */
--- /dev/null
+From: Carlos Garnacho <carlosg@gnome.org>
+Date: Sun, 15 Apr 2018 16:26:32 +0200
+Subject: frames: Handle touch events
+
+This is just done on wayland as it'll break horribly on X11, we let
+this happen through pointer emulated events in XISelectEvents evmask
+instead.
+
+Some things had to be made slightly more generic to accomodate touch
+events. The MetaFrames shall lock onto a single touch at a time, we
+don't allow crazy stuff like multi-window drag nor multi-edge resizes.
+
+Bug: https://bugzilla.gnome.org/show_bug.cgi?id=770185
+Origin: upstream, 3.28.3, commit:47131b1dadc1a9b7afe9a22740ab69ce97fb02d6
+---
+ src/ui/frames.c | 164 ++++++++++++++++++++++++++++++++++++++++++++++----------
+ src/ui/frames.h | 2 +
+ 2 files changed, 137 insertions(+), 29 deletions(-)
+
+diff --git a/src/ui/frames.c b/src/ui/frames.c
+index 577e4b2..850f285 100644
+--- a/src/ui/frames.c
++++ b/src/ui/frames.c
+@@ -71,6 +71,13 @@ static MetaFrameControl get_control (MetaUIFrame *frame,
+
+ G_DEFINE_TYPE (MetaFrames, meta_frames, GTK_TYPE_WINDOW);
+
++enum {
++ META_ACTION_CLICK,
++ META_ACTION_RIGHT_CLICK,
++ META_ACTION_MIDDLE_CLICK,
++ META_ACTION_DOUBLE_CLICK
++};
++
+ static GObject *
+ meta_frames_constructor (GType gtype,
+ guint n_properties,
+@@ -748,8 +755,11 @@ meta_frame_titlebar_event (MetaUIFrame *frame,
+ {
+ MetaFrameFlags flags;
+ Display *display;
+- guint32 evtime;
+- gfloat x, y;
++ uint32_t evtime;
++ float x, y;
++
++ g_assert (event->type == CLUTTER_BUTTON_PRESS ||
++ event->type == CLUTTER_TOUCH_BEGIN);
+
+ display = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());
+
+@@ -884,6 +894,8 @@ meta_frames_try_grab_op (MetaUIFrame *frame,
+ frames->grab_x = grab_x;
+ frames->grab_y = grab_y;
+ }
++ else
++ frames->grab_touch = NULL;
+
+ return ret;
+ }
+@@ -894,6 +906,7 @@ meta_frames_retry_grab_op (MetaFrames *frames,
+ {
+ Display *display;
+ MetaGrabOp op;
++ gboolean ret;
+
+ if (frames->current_grab_op == META_GRAB_OP_NONE)
+ return TRUE;
+@@ -902,16 +915,20 @@ meta_frames_retry_grab_op (MetaFrames *frames,
+ frames->current_grab_op = META_GRAB_OP_NONE;
+ display = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());
+
+- return meta_core_begin_grab_op (display,
+- frames->grab_frame->xwindow,
+- op,
+- FALSE,
+- TRUE,
+- frames->grab_frame->grab_button,
+- 0,
+- time,
+- frames->grab_x,
+- frames->grab_y);
++ ret = meta_core_begin_grab_op (display,
++ frames->grab_frame->xwindow,
++ op,
++ FALSE,
++ TRUE,
++ frames->grab_frame->grab_button,
++ 0,
++ time,
++ frames->grab_x,
++ frames->grab_y);
++ if (ret)
++ frames->grab_touch = NULL;
++
++ return ret;
+ }
+
+ static MetaGrabOp
+@@ -940,18 +957,60 @@ grab_op_from_resize_control (MetaFrameControl control)
+ }
+ }
+
++static guint
++get_action (const ClutterEvent *event)
++{
++ if (event->type == CLUTTER_BUTTON_PRESS ||
++ event->type == CLUTTER_BUTTON_RELEASE)
++ {
++ switch (event->button.button)
++ {
++ case CLUTTER_BUTTON_PRIMARY:
++ if (clutter_event_get_click_count (event) == 2)
++ return META_ACTION_DOUBLE_CLICK;
++ else
++ return META_ACTION_CLICK;
++ case CLUTTER_BUTTON_SECONDARY:
++ return META_ACTION_RIGHT_CLICK;
++ case CLUTTER_BUTTON_MIDDLE:
++ return META_ACTION_MIDDLE_CLICK;
++ }
++ }
++ else if (event->type == CLUTTER_TOUCH_BEGIN ||
++ event->type == CLUTTER_TOUCH_UPDATE ||
++ event->type == CLUTTER_TOUCH_END)
++ {
++ return META_ACTION_CLICK;
++ }
++
++ g_assert_not_reached ();
++}
++
++static uint32_t
++get_button_number (const ClutterEvent *event)
++{
++ if (event->type == CLUTTER_TOUCH_BEGIN ||
++ event->type == CLUTTER_TOUCH_UPDATE ||
++ event->type == CLUTTER_TOUCH_END)
++ return -1;
++ else if (event->type == CLUTTER_BUTTON_PRESS ||
++ event->type == CLUTTER_BUTTON_RELEASE)
++ return clutter_event_get_button (event);
++
++ g_assert_not_reached ();
++}
++
+ static gboolean
+ meta_frame_left_click_event (MetaUIFrame *frame,
+ const ClutterEvent *event)
+ {
+ Display *display = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());
+ MetaFrameControl control;
+- guint32 evtime, button;
++ guint32 evtime;
+ gfloat x, y;
+
+ evtime = clutter_event_get_time (event);
+ clutter_event_get_coords (event, &x, &y);
+- button = clutter_event_get_button (event);
+ control = get_control (frame, x, y);
+
+ switch (control)
+@@ -962,7 +1021,7 @@ meta_frame_left_click_event (MetaUIFrame *frame,
+ case META_FRAME_CONTROL_DELETE:
+ case META_FRAME_CONTROL_MENU:
+ case META_FRAME_CONTROL_APPMENU:
+- frame->grab_button = button;
++ frame->grab_button = get_button_number (event);
+ frame->button_state = META_BUTTON_STATE_PRESSED;
+ frame->prelit_control = control;
+ redraw_control (frame, control);
+@@ -1050,21 +1109,24 @@ handle_press_event (MetaUIFrame *frame,
+ {
+ MetaFrameControl control;
+ Display *display;
+- guint evtime, button;
+- gfloat x, y;
++ uint32_t evtime, action;
++ float x, y;
++
++ g_assert (event->type == CLUTTER_BUTTON_PRESS ||
++ event->type == CLUTTER_TOUCH_BEGIN);
+
+ display = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());
+
+ evtime = clutter_event_get_time (event);
+ clutter_event_get_coords (event, &x, &y);
+ control = get_control (frame, x, y);
+- button = clutter_event_get_button (event);
++ action = get_action (event);
+
+ /* don't do the rest of this if on client area */
+ if (control == META_FRAME_CONTROL_CLIENT_AREA)
+ return FALSE; /* not on the frame, just passed through from client */
+
+- if (button == 1 &&
++ if (action == META_ACTION_CLICK &&
+ !(control == META_FRAME_CONTROL_MINIMIZE ||
+ control == META_FRAME_CONTROL_DELETE ||
+ control == META_FRAME_CONTROL_MAXIMIZE))
+@@ -1079,8 +1141,7 @@ handle_press_event (MetaUIFrame *frame,
+ * if we double click the titlebar.
+ */
+ if (control == META_FRAME_CONTROL_TITLE &&
+- button == 1 &&
+- clutter_event_get_click_count (event) == 2)
++ action == META_ACTION_DOUBLE_CLICK)
+ {
+ meta_core_end_grab_op (display, evtime);
+ return meta_frame_double_click_event (frame, event);
+@@ -1089,15 +1150,15 @@ handle_press_event (MetaUIFrame *frame,
+ if (meta_core_get_grab_op (display) != META_GRAB_OP_NONE)
+ return FALSE; /* already up to something */
+
+- frame->grab_button = button;
++ frame->grab_button = get_button_number (event);
+
+- switch (button)
++ switch (action)
+ {
+- case 1:
++ case META_ACTION_CLICK:
+ return meta_frame_left_click_event (frame, event);
+- case 2:
++ case META_ACTION_MIDDLE_CLICK:
+ return meta_frame_middle_click_event (frame, (ClutterButtonEvent *) event);
+- case 3:
++ case META_ACTION_RIGHT_CLICK:
+ return meta_frame_right_click_event (frame, (ClutterButtonEvent *) event);
+ default:
+ return FALSE;
+@@ -1112,9 +1173,12 @@ handle_release_event (MetaUIFrame *frame,
+ guint32 evtime, button;
+ gfloat x, y;
+
++ g_assert (event->type == CLUTTER_BUTTON_RELEASE ||
++ event->type == CLUTTER_TOUCH_END);
++
+ evtime = clutter_event_get_time (event);
+ clutter_event_get_coords (event, &x, &y);
+- button = clutter_event_get_button (event);
++ button = get_button_number (event);
+
+ frame->frames->current_grab_op = META_GRAB_OP_NONE;
+ meta_core_end_grab_op (display, evtime);
+@@ -1265,6 +1329,9 @@ handle_motion_event (MetaUIFrame *frame,
+ guint32 evtime;
+ gfloat x, y;
+
++ g_assert (event->type == CLUTTER_MOTION ||
++ event->type == CLUTTER_TOUCH_UPDATE);
++
+ modifiers = clutter_event_get_state (event);
+ evtime = clutter_event_get_time (event);
+ clutter_event_get_coords (event, &x, &y);
+@@ -1286,8 +1353,10 @@ handle_motion_event (MetaUIFrame *frame,
+ meta_ui_frame_update_prelit_control (frame, control);
+ }
+
+- if ((modifiers & CLUTTER_BUTTON1_MASK) &&
+- frames->current_grab_op != META_GRAB_OP_NONE)
++ if (frames->current_grab_op != META_GRAB_OP_NONE &&
++ (event->type == CLUTTER_TOUCH_UPDATE ||
++ (event->type == CLUTTER_MOTION &&
++ (modifiers & CLUTTER_BUTTON1_MASK))))
+ meta_frames_retry_grab_op (frames, evtime);
+
+ return TRUE;
+@@ -1542,13 +1611,50 @@ gboolean
+ meta_ui_frame_handle_event (MetaUIFrame *frame,
+ const ClutterEvent *event)
+ {
++ if (event->type == CLUTTER_TOUCH_BEGIN ||
++ event->type == CLUTTER_TOUCH_UPDATE ||
++ event->type == CLUTTER_TOUCH_END)
++ {
++ ClutterEventSequence *sequence;
++ MetaFrames *frames = frame->frames;
++
++ /* In X11, mutter sets up passive touch grabs which basically
++ * means we handle those events twice (once through the passive
++ * grab, and then through XISelectEvents).
++ *
++ * Receiving touch events here means we are going through the
++ * former, but passive grabs are exclusively for gesture
++ * recognition purposes.
++ *
++ * We do actually want this to happen though the regular event
++ * selection paths to avoid breaking internal state, which means
++ * we will get pointer events, because we don't select for XI_Touch*.
++ */
++ if (!meta_is_wayland_compositor ())
++ return FALSE;
++
++ sequence = clutter_event_get_event_sequence (event);
++
++ /* Lock onto a single touch */
++ if (frames->grab_touch && frames->grab_touch != sequence)
++ return FALSE;
++
++ if (event->type == CLUTTER_TOUCH_BEGIN)
++ frames->grab_touch = sequence;
++ else if (event->type == CLUTTER_TOUCH_END)
++ frames->grab_touch = NULL;
++ }
++
+ switch (event->any.type)
+ {
+ case CLUTTER_BUTTON_PRESS:
++ case CLUTTER_TOUCH_BEGIN:
+ return handle_press_event (frame, event);
+ case CLUTTER_BUTTON_RELEASE:
++ case CLUTTER_TOUCH_END:
+ return handle_release_event (frame, event);
+ case CLUTTER_MOTION:
++ case CLUTTER_TOUCH_UPDATE:
+ return handle_motion_event (frame, event);
+ case CLUTTER_ENTER:
+ return handle_enter_notify_event (frame, (ClutterCrossingEvent *) event);
+diff --git a/src/ui/frames.h b/src/ui/frames.h
+index d9aaae2..397f350 100644
+--- a/src/ui/frames.h
++++ b/src/ui/frames.h
+@@ -99,6 +99,8 @@ struct _MetaFrames
+ guint grab_button;
+ gdouble grab_x;
+ gdouble grab_y;
++
++ ClutterEventSequence *grab_touch;
+ };
+
+ struct _MetaFramesClass
--- /dev/null
+From: Carlos Garnacho <carlosg@gnome.org>
+Date: Sun, 15 Apr 2018 15:45:02 +0200
+Subject: frames: Make 1st button/motion handlers take generic events
+
+This will ease handling of touch events through these same handlers.
+
+Bug: https://bugzilla.gnome.org/show_bug.cgi?id=770185
+Origin: upstream, 3.28.3, commit:51c0130645961e923b0e138adaf371086a0ea4b3
+---
+ src/ui/frames.c | 128 ++++++++++++++++++++++++++++++++++----------------------
+ 1 file changed, 77 insertions(+), 51 deletions(-)
+
+diff --git a/src/ui/frames.c b/src/ui/frames.c
+index ef7e7df..577e4b2 100644
+--- a/src/ui/frames.c
++++ b/src/ui/frames.c
+@@ -742,17 +742,22 @@ redraw_control (MetaUIFrame *frame,
+ }
+
+ static gboolean
+-meta_frame_titlebar_event (MetaUIFrame *frame,
+- ClutterButtonEvent *event,
+- int action)
++meta_frame_titlebar_event (MetaUIFrame *frame,
++ const ClutterEvent *event,
++ int action)
+ {
+ MetaFrameFlags flags;
+ Display *display;
++ guint32 evtime;
++ gfloat x, y;
+
+ display = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());
+
+ flags = meta_frame_get_flags (frame->meta_window->frame);
+
++ evtime = clutter_event_get_time (event);
++ clutter_event_get_coords (event, &x, &y);
++
+ switch (action)
+ {
+ case G_DESKTOP_TITLEBAR_ACTION_TOGGLE_SHADE:
+@@ -760,9 +765,9 @@ meta_frame_titlebar_event (MetaUIFrame *frame,
+ if (flags & META_FRAME_ALLOWS_SHADE)
+ {
+ if (flags & META_FRAME_SHADED)
+- meta_window_unshade (frame->meta_window, event->time);
++ meta_window_unshade (frame->meta_window, evtime);
+ else
+- meta_window_shade (frame->meta_window, event->time);
++ meta_window_shade (frame->meta_window, evtime);
+ }
+ }
+ break;
+@@ -808,16 +813,14 @@ meta_frame_titlebar_event (MetaUIFrame *frame,
+ case G_DESKTOP_TITLEBAR_ACTION_LOWER:
+ meta_core_user_lower_and_unfocus (display,
+ frame->xwindow,
+- event->time);
++ evtime);
+ break;
+
+ case G_DESKTOP_TITLEBAR_ACTION_MENU:
+ meta_core_show_window_menu (display,
+ frame->xwindow,
+ META_WINDOW_MENU_WM,
+- event->x,
+- event->y,
+- event->time);
++ x, y, evtime);
+ break;
+ }
+
+@@ -825,8 +828,8 @@ meta_frame_titlebar_event (MetaUIFrame *frame,
+ }
+
+ static gboolean
+-meta_frame_double_click_event (MetaUIFrame *frame,
+- ClutterButtonEvent *event)
++meta_frame_double_click_event (MetaUIFrame *frame,
++ const ClutterEvent *event)
+ {
+ int action = meta_prefs_get_action_double_click_titlebar ();
+
+@@ -839,7 +842,8 @@ meta_frame_middle_click_event (MetaUIFrame *frame,
+ {
+ int action = meta_prefs_get_action_middle_click_titlebar();
+
+- return meta_frame_titlebar_event (frame, event, action);
++ return meta_frame_titlebar_event (frame, (const ClutterEvent *) event,
++ action);
+ }
+
+ static gboolean
+@@ -848,7 +852,8 @@ meta_frame_right_click_event (MetaUIFrame *frame,
+ {
+ int action = meta_prefs_get_action_right_click_titlebar();
+
+- return meta_frame_titlebar_event (frame, event, action);
++ return meta_frame_titlebar_event (frame, (const ClutterEvent *) event,
++ action);
+ }
+
+ static gboolean
+@@ -936,11 +941,18 @@ grab_op_from_resize_control (MetaFrameControl control)
+ }
+
+ static gboolean
+-meta_frame_left_click_event (MetaUIFrame *frame,
+- ClutterButtonEvent *event)
++meta_frame_left_click_event (MetaUIFrame *frame,
++ const ClutterEvent *event)
+ {
+ Display *display = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());
+- MetaFrameControl control = get_control (frame, event->x, event->y);
++ MetaFrameControl control;
++ guint32 evtime, button;
++ gfloat x, y;
++
++ evtime = clutter_event_get_time (event);
++ clutter_event_get_coords (event, &x, &y);
++ button = clutter_event_get_button (event);
++ control = get_control (frame, x, y);
+
+ switch (control)
+ {
+@@ -950,7 +962,7 @@ meta_frame_left_click_event (MetaUIFrame *frame,
+ case META_FRAME_CONTROL_DELETE:
+ case META_FRAME_CONTROL_MENU:
+ case META_FRAME_CONTROL_APPMENU:
+- frame->grab_button = event->button;
++ frame->grab_button = button;
+ frame->button_state = META_BUTTON_STATE_PRESSED;
+ frame->prelit_control = control;
+ redraw_control (frame, control);
+@@ -987,13 +999,12 @@ meta_frame_left_click_event (MetaUIFrame *frame,
+ frame->xwindow,
+ menu,
+ &root_rect,
+- event->time);
++ evtime);
+ }
+ else
+ {
+ meta_frames_try_grab_op (frame, META_GRAB_OP_FRAME_BUTTON,
+- event->x, event->y,
+- event->time);
++ x, y, evtime);
+ }
+
+ return TRUE;
+@@ -1007,8 +1018,7 @@ meta_frame_left_click_event (MetaUIFrame *frame,
+ case META_FRAME_CONTROL_RESIZE_W:
+ meta_frames_try_grab_op (frame,
+ grab_op_from_resize_control (control),
+- event->x, event->y,
+- event->time);
++ x, y, evtime);
+
+ return TRUE;
+ case META_FRAME_CONTROL_TITLE:
+@@ -1019,8 +1029,7 @@ meta_frame_left_click_event (MetaUIFrame *frame,
+ {
+ meta_frames_try_grab_op (frame,
+ META_GRAB_OP_MOVING,
+- event->x, event->y,
+- event->time);
++ x, y, evtime);
+ }
+ }
+
+@@ -1036,21 +1045,26 @@ meta_frame_left_click_event (MetaUIFrame *frame,
+ }
+
+ static gboolean
+-handle_button_press_event (MetaUIFrame *frame,
+- ClutterButtonEvent *event)
++handle_press_event (MetaUIFrame *frame,
++ const ClutterEvent *event)
+ {
+ MetaFrameControl control;
+ Display *display;
++ guint evtime, button;
++ gfloat x, y;
+
+ display = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());
+
+- control = get_control (frame, event->x, event->y);
++ evtime = clutter_event_get_time (event);
++ clutter_event_get_coords (event, &x, &y);
++ control = get_control (frame, x, y);
++ button = clutter_event_get_button (event);
+
+ /* don't do the rest of this if on client area */
+ if (control == META_FRAME_CONTROL_CLIENT_AREA)
+ return FALSE; /* not on the frame, just passed through from client */
+
+- if (event->button == 1 &&
++ if (button == 1 &&
+ !(control == META_FRAME_CONTROL_MINIMIZE ||
+ control == META_FRAME_CONTROL_DELETE ||
+ control == META_FRAME_CONTROL_MAXIMIZE))
+@@ -1058,52 +1072,58 @@ handle_button_press_event (MetaUIFrame *frame,
+ meta_topic (META_DEBUG_FOCUS,
+ "Focusing window with frame 0x%lx due to button 1 press\n",
+ frame->xwindow);
+- meta_window_focus (frame->meta_window, event->time);
++ meta_window_focus (frame->meta_window, evtime);
+ }
+
+ /* We want to shade even if we have a GrabOp, since we'll have a move grab
+ * if we double click the titlebar.
+ */
+ if (control == META_FRAME_CONTROL_TITLE &&
+- event->button == 1 &&
+- event->click_count == 2)
++ button == 1 &&
++ clutter_event_get_click_count (event) == 2)
+ {
+- meta_core_end_grab_op (display, event->time);
++ meta_core_end_grab_op (display, evtime);
+ return meta_frame_double_click_event (frame, event);
+ }
+
+ if (meta_core_get_grab_op (display) != META_GRAB_OP_NONE)
+ return FALSE; /* already up to something */
+
+- frame->grab_button = event->button;
++ frame->grab_button = button;
+
+- switch (event->button)
++ switch (button)
+ {
+ case 1:
+ return meta_frame_left_click_event (frame, event);
+ case 2:
+- return meta_frame_middle_click_event (frame, event);
++ return meta_frame_middle_click_event (frame, (ClutterButtonEvent *) event);
+ case 3:
+- return meta_frame_right_click_event (frame, event);
++ return meta_frame_right_click_event (frame, (ClutterButtonEvent *) event);
+ default:
+ return FALSE;
+ }
+ }
+
+ static gboolean
+-handle_button_release_event (MetaUIFrame *frame,
+- ClutterButtonEvent *event)
++handle_release_event (MetaUIFrame *frame,
++ const ClutterEvent *event)
+ {
+ Display *display = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());
++ guint32 evtime, button;
++ gfloat x, y;
++
++ evtime = clutter_event_get_time (event);
++ clutter_event_get_coords (event, &x, &y);
++ button = clutter_event_get_button (event);
+
+ frame->frames->current_grab_op = META_GRAB_OP_NONE;
+- meta_core_end_grab_op (display, event->time);
++ meta_core_end_grab_op (display, evtime);
+
+ /* We only handle the releases we handled the presses for (things
+ * involving frame controls). Window ops that don't require a
+ * frame are handled in the Xlib part of the code, display.c/window.c
+ */
+- if (((int) event->button) == frame->grab_button &&
++ if (((int) button) == frame->grab_button &&
+ frame->button_state == META_BUTTON_STATE_PRESSED)
+ {
+ switch (frame->prelit_control)
+@@ -1113,7 +1133,7 @@ handle_button_release_event (MetaUIFrame *frame,
+ break;
+ case META_FRAME_CONTROL_MAXIMIZE:
+ /* Focus the window on the maximize */
+- meta_window_focus (frame->meta_window, event->time);
++ meta_window_focus (frame->meta_window, evtime);
+ if (meta_prefs_get_raise_on_click ())
+ meta_window_raise (frame->meta_window);
+ meta_window_maximize (frame->meta_window, META_MAXIMIZE_BOTH);
+@@ -1124,7 +1144,7 @@ handle_button_release_event (MetaUIFrame *frame,
+ meta_window_unmaximize (frame->meta_window, META_MAXIMIZE_BOTH);
+ break;
+ case META_FRAME_CONTROL_DELETE:
+- meta_window_delete (frame->meta_window, event->time);
++ meta_window_delete (frame->meta_window, evtime);
+ break;
+ default:
+ break;
+@@ -1135,7 +1155,7 @@ handle_button_release_event (MetaUIFrame *frame,
+ * prelit so to let the user know that it can now be pressed.
+ * :)
+ */
+- MetaFrameControl control = get_control (frame, event->x, event->y);
++ MetaFrameControl control = get_control (frame, x, y);
+ meta_ui_frame_update_prelit_control (frame, control);
+ }
+
+@@ -1236,13 +1256,19 @@ meta_ui_frame_update_prelit_control (MetaUIFrame *frame,
+ }
+
+ static gboolean
+-handle_motion_notify_event (MetaUIFrame *frame,
+- ClutterMotionEvent *event)
++handle_motion_event (MetaUIFrame *frame,
++ const ClutterEvent *event)
+ {
+ MetaFrames *frames = frame->frames;
+ MetaFrameControl control;
++ ClutterModifierType modifiers;
++ guint32 evtime;
++ gfloat x, y;
+
+- control = get_control (frame, event->x, event->y);
++ modifiers = clutter_event_get_state (event);
++ evtime = clutter_event_get_time (event);
++ clutter_event_get_coords (event, &x, &y);
++ control = get_control (frame, x, y);
+
+ if (frame->button_state == META_BUTTON_STATE_PRESSED)
+ {
+@@ -1260,9 +1286,9 @@ handle_motion_notify_event (MetaUIFrame *frame,
+ meta_ui_frame_update_prelit_control (frame, control);
+ }
+
+- if ((event->modifier_state & CLUTTER_BUTTON1_MASK) &&
++ if ((modifiers & CLUTTER_BUTTON1_MASK) &&
+ frames->current_grab_op != META_GRAB_OP_NONE)
+- meta_frames_retry_grab_op (frames, event->time);
++ meta_frames_retry_grab_op (frames, evtime);
+
+ return TRUE;
+ }
+@@ -1519,11 +1545,11 @@ meta_ui_frame_handle_event (MetaUIFrame *frame,
+ switch (event->any.type)
+ {
+ case CLUTTER_BUTTON_PRESS:
+- return handle_button_press_event (frame, (ClutterButtonEvent *) event);
++ return handle_press_event (frame, event);
+ case CLUTTER_BUTTON_RELEASE:
+- return handle_button_release_event (frame, (ClutterButtonEvent *) event);
++ return handle_release_event (frame, event);
+ case CLUTTER_MOTION:
+- return handle_motion_notify_event (frame, (ClutterMotionEvent *) event);
++ return handle_motion_event (frame, event);
+ case CLUTTER_ENTER:
+ return handle_enter_notify_event (frame, (ClutterCrossingEvent *) event);
+ case CLUTTER_LEAVE:
--- /dev/null
+From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= <mail@3v1n0.net>
+Date: Tue, 8 May 2018 22:36:33 +0100
+Subject: renderer-native: Don't crash if the FB surface can't be locked
+
+(cherry picked from commit 0332b7394e56f71c15692663ab05f8c84a4b9eff)
+
+Origin: upstream, 3.28.3, commit:a41d84db00b3105dc630d91707c0f5dd888394ec
+---
+ src/backends/native/meta-renderer-native.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/src/backends/native/meta-renderer-native.c b/src/backends/native/meta-renderer-native.c
+index 2571cac..cb8e03a 100644
+--- a/src/backends/native/meta-renderer-native.c
++++ b/src/backends/native/meta-renderer-native.c
+@@ -1601,6 +1601,12 @@ gbm_get_next_fb_id (MetaGpuKms *gpu_kms,
+ /* Now we need to set the CRTC to whatever is the front buffer */
+ next_bo = gbm_surface_lock_front_buffer (gbm_surface);
+
++ if (!next_bo)
++ {
++ g_error ("Impossible to lock surface front buffer: %m");
++ return FALSE;
++ }
++
+ for (i = 0; i < gbm_bo_get_plane_count (next_bo); i++)
+ {
+ strides[i] = gbm_bo_get_stride_for_plane (next_bo, i);
--- /dev/null
+wayland-Use-cursor-position-in-logical-monitor.patch
+clutter-evdev-ignore-injected-events-from-IM.patch
+clutter-evdev-Don-t-ignore-CAPS-lock-as-modifier.patch
+frames-Make-1st-button-motion-handlers-take-generic-event.patch
+frames-Handle-touch-events.patch
+wayland-Compare-geometries-after-chaining-up.patch
+window-actor-add-new-signal-effects-completed.patch
+wayland-update-enter-leave-output-after-effects.patch
+frames-Allow-for-unknown-mouse-buttons.patch
+wayland-Don-t-reset-input-focus-on-text-commit.patch
+clutter-seat-evdev-Add-function-to-get-device-by-id.patch
+clutter-device-evdev-Get-devices-from-main-seat-if-no-rea.patch
+device-manager-evdev-Set-and-unset-the-stage-for-the-main.patch
+device-manager-evdev-Free-the-main-seat-on-finalize.patch
+device-manager-evdev-Add-main-seat-to-seats-by-default.patch
+renderer-native-Don-t-crash-if-the-FB-surface-can-t-be-lo.patch
+backends-Move-MetaOutput-crtc-field-into-private-struct.patch
+backends-Add-logical-monitor-monitor-output-crtc-ref-chai.patch
+theme-use-gtk_render_icon_suface-to-paint-button-icon.patch
+theme-load-icons-as-Gtk-does-with-fallback-and-RTL-suppor.patch
+clutter-Smooth-out-master-clock-to-smooth-visuals.patch
+core-Return-1-if-meta_window_get_monitor-is-called-on-an-.patch
+bgo768531_workaround-startup-notifications.patch
+debian/synaptics-support.patch
+debian/skip-failing-tests.patch
+debian/skip-failing-tests-325.patch
--- /dev/null
+From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= <mail@3v1n0.net>
+Date: Fri, 30 Mar 2018 15:17:39 -0600
+Subject: theme: load icons as Gtk does with fallback and RTL support
+
+Forwarded: yes, https://gitlab.gnome.org/GNOME/mutter/merge_requests/62
+---
+ src/ui/theme.c | 36 ++++++++++++++++++++++++++++--------
+ 1 file changed, 28 insertions(+), 8 deletions(-)
+
+diff --git a/src/ui/theme.c b/src/ui/theme.c
+index c88ae54..7a77078 100644
+--- a/src/ui/theme.c
++++ b/src/ui/theme.c
+@@ -878,14 +878,34 @@ meta_frame_layout_draw_with_style (MetaFrameLayout *layout,
+
+ if (icon_name)
+ {
+- GtkIconTheme *theme = gtk_icon_theme_get_default ();
+- GtkIconInfo *info;
+- GdkPixbuf *pixbuf;
+-
+- info = gtk_icon_theme_lookup_icon_for_scale (theme, icon_name,
+- layout->icon_size, scale, 0);
+- pixbuf = gtk_icon_info_load_symbolic_for_context (info, style, NULL, NULL);
+- surface = gdk_cairo_surface_create_from_pixbuf (pixbuf, scale, NULL);
++ g_autoptr (GIcon) icon = NULL;
++ g_autoptr (GtkIconInfo) info = NULL;
++ g_autoptr (GdkPixbuf) pixbuf = NULL;
++ GtkIconTheme *theme;
++ int flags;
++
++ theme = gtk_icon_theme_get_default ();
++
++ /* This can't be exactly like Gtk does as some -gtk-* css
++ * properties that are used for setting the loading flags
++ * are not accessible from here */
++ flags = GTK_ICON_LOOKUP_USE_BUILTIN;
++ flags |= (meta_get_locale_direction () == META_LOCALE_DIRECTION_LTR) ?
++ GTK_ICON_LOOKUP_DIR_LTR : GTK_ICON_LOOKUP_DIR_RTL;
++
++ icon = g_themed_icon_new_with_default_fallbacks (icon_name);
++ info = gtk_icon_theme_lookup_by_gicon_for_scale (theme, icon,
++ layout->icon_size,
++ scale, flags);
++ if (gtk_icon_info_is_symbolic (info))
++ pixbuf = gtk_icon_info_load_symbolic_for_context (info, style,
++ NULL, NULL);
++ else
++ pixbuf = gtk_icon_info_load_icon (info, NULL);
++
++ if (pixbuf)
++ surface = gdk_cairo_surface_create_from_pixbuf (pixbuf, scale,
++ NULL);
+ }
+
+ if (surface)
--- /dev/null
+From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= <mail@3v1n0.net>
+Date: Fri, 30 Mar 2018 14:13:41 -0600
+Subject: theme: use gtk_render_icon_suface to paint button icon
+
+This will properly take care of the icon transformations
+and of the shadow.
+
+Fixes #100
+
+Bug: https://gitlab.gnome.org/GNOME/mutter/issues/100
+Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/1764558
+Forwarded: yes, https://gitlab.gnome.org/GNOME/mutter/merge_requests/62
+---
+ src/ui/theme.c | 18 ++++--------------
+ 1 file changed, 4 insertions(+), 14 deletions(-)
+
+diff --git a/src/ui/theme.c b/src/ui/theme.c
+index c0bb9b6..c88ae54 100644
+--- a/src/ui/theme.c
++++ b/src/ui/theme.c
+@@ -890,21 +890,11 @@ meta_frame_layout_draw_with_style (MetaFrameLayout *layout,
+
+ if (surface)
+ {
+- float width, height;
+- int x, y;
+-
+- width = cairo_image_surface_get_width (surface) / scale;
+- height = cairo_image_surface_get_height (surface) / scale;
+- x = button_rect.x + (button_rect.width - layout->icon_size) / 2;
+- y = button_rect.y + (button_rect.height - layout->icon_size) / 2;
+-
+- cairo_translate (cr, x, y);
+- cairo_scale (cr,
+- layout->icon_size / width,
+- layout->icon_size / height);
+- cairo_set_source_surface (cr, surface, 0, 0);
+- cairo_paint (cr);
++ double x, y;
++ x = button_rect.x + (button_rect.width - layout->icon_size) / 2.0;
++ y = button_rect.y + (button_rect.height - layout->icon_size) / 2.0;
+
++ gtk_render_icon_surface (style, cr, surface, x, y);
+ cairo_surface_destroy (surface);
+ }
+ }
--- /dev/null
+From: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
+Date: Thu, 17 May 2018 17:46:05 -0300
+Subject: wayland: Compare geometries after chaining up
+
+After 20176d03, the Wayland backend only synchronizes with the
+compositor after a geometry was set, and it was different from
+the current geometry.
+
+That commit was mistakenly comparing the geometry before chaining
+up, which would yield a false negative on the case where the
+client didn't call set_geometry() before commit().
+
+Fix that by caching the old geometry locally, chain up (and thus
+apply the new geometry rectangle), then comparing the old and
+current geometry rectangles.
+
+(cherry picked from commit cf734999fb9e342811896f70f7c1f415462728a7)
+
+Bug: https://gitlab.gnome.org/GNOME/mutter/issues/150
+Origin: upstream, 3.28.3, commit:9d4c7e4e75fc7d03254b2051eb088f216fe36da8
+---
+ src/wayland/meta-wayland-legacy-xdg-shell.c | 18 ++++--------------
+ src/wayland/meta-wayland-xdg-shell.c | 19 ++++---------------
+ 2 files changed, 8 insertions(+), 29 deletions(-)
+
+diff --git a/src/wayland/meta-wayland-legacy-xdg-shell.c b/src/wayland/meta-wayland-legacy-xdg-shell.c
+index cfc0dfe..e871be9 100644
+--- a/src/wayland/meta-wayland-legacy-xdg-shell.c
++++ b/src/wayland/meta-wayland-legacy-xdg-shell.c
+@@ -585,17 +585,6 @@ is_new_size_hints_valid (MetaWindow *window,
+ (new_max_height == 0 || new_min_height <= new_max_height));
+ }
+
+-static inline gboolean
+-did_geometry_change (MetaWaylandZxdgSurfaceV6 *xdg_surface,
+- MetaWaylandPendingState *pending)
+-{
+- MetaWaylandZxdgSurfaceV6Private *priv =
+- meta_wayland_zxdg_surface_v6_get_instance_private (xdg_surface);
+-
+- return pending->has_new_geometry &&
+- !meta_rectangle_equal (&priv->geometry, &pending->new_geometry);
+-}
+-
+ static void
+ meta_wayland_zxdg_toplevel_v6_commit (MetaWaylandSurfaceRole *surface_role,
+ MetaWaylandPendingState *pending)
+@@ -611,11 +600,10 @@ meta_wayland_zxdg_toplevel_v6_commit (MetaWaylandSurfaceRole *surface_role,
+ meta_wayland_surface_role_get_surface (surface_role);
+ MetaWindow *window = surface->window;
+ MetaRectangle window_geometry;
++ MetaRectangle old_geometry;
+ gboolean geometry_changed;
+
+- /* This check must happen before chaining up, otherwise the new geometry
+- * is applied and it'll always return FALSE. */
+- geometry_changed = did_geometry_change (xdg_surface, pending);
++ old_geometry = xdg_surface_priv->geometry;
+
+ surface_role_class =
+ META_WAYLAND_SURFACE_ROLE_CLASS (meta_wayland_zxdg_toplevel_v6_parent_class);
+@@ -634,6 +622,8 @@ meta_wayland_zxdg_toplevel_v6_commit (MetaWaylandSurfaceRole *surface_role,
+ if (!window)
+ return;
+
++ geometry_changed = !meta_rectangle_equal (&old_geometry, &xdg_surface_priv->geometry);
++
+ if (geometry_changed || meta_window_wayland_needs_move_resize (window))
+ {
+ window_geometry =
+diff --git a/src/wayland/meta-wayland-xdg-shell.c b/src/wayland/meta-wayland-xdg-shell.c
+index 260710b..2b1a71b 100644
+--- a/src/wayland/meta-wayland-xdg-shell.c
++++ b/src/wayland/meta-wayland-xdg-shell.c
+@@ -608,17 +608,6 @@ is_new_size_hints_valid (MetaWindow *window,
+ (new_max_height == 0 || new_min_height <= new_max_height));
+ }
+
+-static inline gboolean
+-did_geometry_change (MetaWaylandXdgSurface *xdg_surface,
+- MetaWaylandPendingState *pending)
+-{
+- MetaWaylandXdgSurfacePrivate *priv =
+- meta_wayland_xdg_surface_get_instance_private (xdg_surface);
+-
+- return pending->has_new_geometry &&
+- !meta_rectangle_equal (&priv->geometry, &pending->new_geometry);
+-}
+-
+ static void
+ meta_wayland_xdg_toplevel_commit (MetaWaylandSurfaceRole *surface_role,
+ MetaWaylandPendingState *pending)
+@@ -632,6 +621,7 @@ meta_wayland_xdg_toplevel_commit (MetaWaylandSurfaceRole *surface_role,
+ meta_wayland_surface_role_get_surface (surface_role);
+ MetaWindow *window;
+ MetaRectangle window_geometry;
++ MetaRectangle old_geometry;
+ gboolean geometry_changed;
+
+ if (!surface->buffer_ref.buffer && xdg_surface_priv->first_buffer_attached)
+@@ -641,10 +631,7 @@ meta_wayland_xdg_toplevel_commit (MetaWaylandSurfaceRole *surface_role,
+ }
+
+ window = surface->window;
+-
+- /* This check must happen before chaining up, otherwise the new geometry
+- * is applied and it'll always return FALSE. */
+- geometry_changed = did_geometry_change (xdg_surface, pending);
++ old_geometry = xdg_surface_priv->geometry;
+
+ surface_role_class =
+ META_WAYLAND_SURFACE_ROLE_CLASS (meta_wayland_xdg_toplevel_parent_class);
+@@ -659,6 +646,8 @@ meta_wayland_xdg_toplevel_commit (MetaWaylandSurfaceRole *surface_role,
+ if (!pending->newly_attached)
+ return;
+
++ geometry_changed = !meta_rectangle_equal (&old_geometry, &xdg_surface_priv->geometry);
++
+ if (geometry_changed || meta_window_wayland_needs_move_resize (window))
+ {
+ window_geometry = meta_wayland_xdg_surface_get_window_geometry (xdg_surface);
--- /dev/null
+From: Changwoo Ryu <cwryu@debian.org>
+Date: Tue, 15 May 2018 23:45:43 +0900
+Subject: wayland: Don't reset input focus on text commit
+
+Preedit text can be active even after text commit. Resetting the input
+focus will lead to unintended commit of the preedit text.
+
+Bug: https://gitlab.gnome.org/GNOME/mutter/issues/152
+Origin: upstream, 3.28.3, commit:abc7ad8e9f67a720516fb739c5dfe4b49748d423
+---
+ src/wayland/meta-wayland-text-input.c | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/src/wayland/meta-wayland-text-input.c b/src/wayland/meta-wayland-text-input.c
+index 63c1146..e05eaee 100644
+--- a/src/wayland/meta-wayland-text-input.c
++++ b/src/wayland/meta-wayland-text-input.c
+@@ -120,8 +120,6 @@ meta_wayland_text_input_focus_commit_text (ClutterInputFocus *focus,
+ gtk_text_input_send_preedit_string (resource, NULL, 0);
+ gtk_text_input_send_commit_string (resource, text);
+ }
+-
+- clutter_input_focus_reset (focus);
+ }
+
+ static void
--- /dev/null
+From: Olivier Fourdan <ofourdan@redhat.com>
+Date: Fri, 23 Mar 2018 13:05:12 +0100
+Subject: wayland: Use cursor position in logical monitor
+
+When using two monitors size by side with different scales, once the
+cursor moves from one output to another one, its size changes based on
+the scale of the given output.
+
+Changing the size of the cursor can cause the cursor area to change
+output again if the hotspot is not exactly at the top left corner of the
+area, causing the texture of the cursor to change, which will trigger
+another output change, so on and so forth causing continuous surface
+enter/leave event which flood the clients and eventually kill them.
+
+Change the logic to use only the actual cursor position to determine if
+its on the given logical monitor, so that it remains immune to scale
+changes induced by output scale differences.
+
+(cherry picked from commit 67917db45f96befb777e5f331a775ea3c2b53012)
+
+Bug: https://gitlab.gnome.org/GNOME/mutter/issues/83
+Origin: upstream, 3.28.3, commit:7d52be02290bd92589fbea756ca3431af8e71a94
+---
+ src/backends/meta-cursor-renderer.c | 12 ++++++++++++
+ src/backends/meta-cursor-renderer.h | 1 +
+ src/wayland/meta-wayland-surface-role-cursor.c | 9 +++++----
+ 3 files changed, 18 insertions(+), 4 deletions(-)
+
+diff --git a/src/backends/meta-cursor-renderer.c b/src/backends/meta-cursor-renderer.c
+index 0bdc59c..f6470e6 100644
+--- a/src/backends/meta-cursor-renderer.c
++++ b/src/backends/meta-cursor-renderer.c
+@@ -264,6 +264,18 @@ meta_cursor_renderer_set_position (MetaCursorRenderer *renderer,
+ update_cursor (renderer, priv->displayed_cursor);
+ }
+
++ClutterPoint
++meta_cursor_renderer_get_position (MetaCursorRenderer *renderer)
++{
++ MetaCursorRendererPrivate *priv =
++ meta_cursor_renderer_get_instance_private (renderer);
++
++ return (ClutterPoint) {
++ .x = priv->current_x,
++ .y = priv->current_y
++ };
++}
++
+ MetaCursorSprite *
+ meta_cursor_renderer_get_cursor (MetaCursorRenderer *renderer)
+ {
+diff --git a/src/backends/meta-cursor-renderer.h b/src/backends/meta-cursor-renderer.h
+index 8ac0fe7..1691f44 100644
+--- a/src/backends/meta-cursor-renderer.h
++++ b/src/backends/meta-cursor-renderer.h
+@@ -62,6 +62,7 @@ void meta_cursor_renderer_set_cursor (MetaCursorRenderer *renderer,
+ void meta_cursor_renderer_set_position (MetaCursorRenderer *renderer,
+ float x,
+ float y);
++ClutterPoint meta_cursor_renderer_get_position (MetaCursorRenderer *renderer);
+ void meta_cursor_renderer_force_update (MetaCursorRenderer *renderer);
+
+ MetaCursorSprite * meta_cursor_renderer_get_cursor (MetaCursorRenderer *renderer);
+diff --git a/src/wayland/meta-wayland-surface-role-cursor.c b/src/wayland/meta-wayland-surface-role-cursor.c
+index 1c8ba94..d118a89 100644
+--- a/src/wayland/meta-wayland-surface-role-cursor.c
++++ b/src/wayland/meta-wayland-surface-role-cursor.c
+@@ -195,14 +195,15 @@ cursor_surface_role_is_on_logical_monitor (MetaWaylandSurfaceRole *role,
+ META_WAYLAND_SURFACE_ROLE_CURSOR (surface->role);
+ MetaWaylandSurfaceRoleCursorPrivate *priv =
+ meta_wayland_surface_role_cursor_get_instance_private (cursor_role);
+- ClutterRect rect;
++ ClutterPoint point;
+ ClutterRect logical_monitor_rect;
+
+- rect = meta_cursor_renderer_calculate_rect (priv->cursor_renderer,
+- priv->cursor_sprite);
+ logical_monitor_rect =
+ meta_rectangle_to_clutter_rect (&logical_monitor->rect);
+- return clutter_rect_intersection (&rect, &logical_monitor_rect, NULL);
++
++ point = meta_cursor_renderer_get_position (priv->cursor_renderer);
++
++ return clutter_rect_contains_point (&logical_monitor_rect, &point);
+ }
+
+ static void
--- /dev/null
+From: Olivier Fourdan <ofourdan@redhat.com>
+Date: Wed, 4 Apr 2018 10:15:25 +0200
+Subject: wayland: update enter/leave output after effects
+
+Compositor effects change the actor size and position, which can lead to
+inconsistent output enter/leave notifications, leaving clients' surfaces
+without any output set.
+
+Update output enter/leave notifications after all compositor effects are
+completed so that we give clients accurate output location.
+
+(cherry picked from commit 17a745bf81c24dae9c081e93ae1593e2bb81efd6)
+
+Bug: https://gitlab.gnome.org/GNOME/mutter/issues/104
+Origin: upstream, 3.28.3, commit:235c35182b54eb3a86164afa5be13ae8c520d228
+---
+ src/wayland/meta-wayland-surface.c | 18 ++++++++++++++++++
+ 1 file changed, 18 insertions(+)
+
+diff --git a/src/wayland/meta-wayland-surface.c b/src/wayland/meta-wayland-surface.c
+index 9fdad3e..899f777 100644
+--- a/src/wayland/meta-wayland-surface.c
++++ b/src/wayland/meta-wayland-surface.c
+@@ -54,6 +54,7 @@
+
+ #include "compositor/region-utils.h"
+ #include "compositor/meta-shaped-texture-private.h"
++#include "compositor/meta-window-actor-private.h"
+
+ #include "meta-surface-actor.h"
+ #include "meta-surface-actor-wayland.h"
+@@ -142,6 +143,9 @@ surface_actor_position_notify (MetaSurfaceActorWayland *surface_actor,
+ static void
+ window_position_changed (MetaWindow *window,
+ MetaWaylandSurface *surface);
++static void
++window_actor_effects_completed (MetaWindowActor *window_actor,
++ MetaWaylandSurface *surface);
+
+ static void
+ role_assignment_valist_to_properties (GType role_type,
+@@ -1138,6 +1142,9 @@ meta_wayland_surface_set_window (MetaWaylandSurface *surface,
+ g_signal_handlers_disconnect_by_func (surface->window,
+ window_position_changed,
+ surface);
++ g_signal_handlers_disconnect_by_func (meta_window_actor_from_window (surface->window),
++ window_actor_effects_completed,
++ surface);
+ }
+
+ surface->window = window;
+@@ -1154,6 +1161,10 @@ meta_wayland_surface_set_window (MetaWaylandSurface *surface,
+ "position-changed",
+ G_CALLBACK (window_position_changed),
+ surface, 0);
++ g_signal_connect_object (meta_window_actor_from_window (window),
++ "effects-completed",
++ G_CALLBACK (window_actor_effects_completed),
++ surface, 0);
+ }
+ }
+
+@@ -1255,6 +1266,13 @@ window_position_changed (MetaWindow *window,
+ meta_wayland_surface_update_outputs_recursively (surface);
+ }
+
++static void
++window_actor_effects_completed (MetaWindowActor *window_actor,
++ MetaWaylandSurface *surface)
++{
++ meta_wayland_surface_update_outputs_recursively (surface);
++}
++
+ void
+ meta_wayland_surface_create_surface_actor (MetaWaylandSurface *surface)
+ {
--- /dev/null
+From: Olivier Fourdan <ofourdan@redhat.com>
+Date: Wed, 4 Apr 2018 10:10:32 +0200
+Subject: window-actor: add new signal "effects-completed"
+
+When using plugins, the effects will affect the MetaWindowActor size
+and position.
+
+Add a new signal "effects-completed" wired to the corresponding
+MetaWindowActor which is emitted when all effects are completed so that
+derived objects can be notified when all effects are completed and use
+the actual size and position.
+
+(cherry picked from commit 85bbd82ae847eed0bba943c119a356d9493f7da2)
+
+Bug: https://gitlab.gnome.org/GNOME/mutter/issues/104
+Origin: upstream, 3.28.3, commit:e4661d7870c4ae939c72371b5c4b46d5390bfeac
+---
+ src/compositor/meta-window-actor-private.h | 1 +
+ src/compositor/meta-window-actor.c | 24 ++++++++++++++++++++++++
+ 2 files changed, 25 insertions(+)
+
+diff --git a/src/compositor/meta-window-actor-private.h b/src/compositor/meta-window-actor-private.h
+index 6b52ef5..ce5e7ea 100644
+--- a/src/compositor/meta-window-actor-private.h
++++ b/src/compositor/meta-window-actor-private.h
+@@ -58,5 +58,6 @@ void meta_window_actor_effect_completed (MetaWindowActor *actor,
+
+ MetaSurfaceActor *meta_window_actor_get_surface (MetaWindowActor *self);
+ void meta_window_actor_update_surface (MetaWindowActor *self);
++MetaWindowActor *meta_window_actor_from_window (MetaWindow *window);
+
+ #endif /* META_WINDOW_ACTOR_PRIVATE_H */
+diff --git a/src/compositor/meta-window-actor.c b/src/compositor/meta-window-actor.c
+index c67b2b7..5078624 100644
+--- a/src/compositor/meta-window-actor.c
++++ b/src/compositor/meta-window-actor.c
+@@ -142,6 +142,8 @@ struct _FrameData
+ enum
+ {
+ FIRST_FRAME,
++ EFFECTS_COMPLETED,
++
+ LAST_SIGNAL
+ };
+
+@@ -238,6 +240,21 @@ meta_window_actor_class_init (MetaWindowActorClass *klass)
+ NULL, NULL, NULL,
+ G_TYPE_NONE, 0);
+
++ /**
++ * MetaWindowActor::effects-completed:
++ * @actor: the #MetaWindowActor instance
++ *
++ * The ::effects-completed signal will be emitted once all pending compositor
++ * effects are completed.
++ */
++ signals[EFFECTS_COMPLETED] =
++ g_signal_new ("effects-completed",
++ G_TYPE_FROM_CLASS (object_class),
++ G_SIGNAL_RUN_LAST,
++ 0,
++ NULL, NULL, NULL,
++ G_TYPE_NONE, 0);
++
+ pspec = g_param_spec_object ("meta-window",
+ "MetaWindow",
+ "The displayed MetaWindow",
+@@ -1131,6 +1148,7 @@ meta_window_actor_after_effects (MetaWindowActor *self)
+ return;
+ }
+
++ g_signal_emit (self, signals[EFFECTS_COMPLETED], 0);
+ meta_window_actor_sync_visibility (self);
+ meta_window_actor_sync_actor_geometry (self, FALSE);
+ }
+@@ -2157,3 +2175,9 @@ meta_window_actor_sync_updates_frozen (MetaWindowActor *self)
+
+ meta_window_actor_set_updates_frozen (self, meta_window_updates_are_frozen (window));
+ }
++
++MetaWindowActor *
++meta_window_actor_from_window (MetaWindow *window)
++{
++ return META_WINDOW_ACTOR (meta_window_get_compositor_private (window));
++}
--- /dev/null
+#!/usr/bin/make -f
+
+export DEB_BUILD_MAINT_OPTIONS = hardening=+all
+export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
+
+%:
+ dh $@ --with gir,gnome
+
+override_dh_autoreconf:
+ dh_autoreconf --as-needed
+
+ifeq ($(DEB_HOST_ARCH_OS),linux)
+CONFFLAGS = \
+ --enable-egl-device \
+ --enable-wayland \
+ --enable-native-backend
+else
+CONFFLAGS += \
+ --disable-wayland-egl-platform \
+ --disable-wayland-egl-server \
+ --disable-kms-egl-platform \
+ --disable-wayland \
+ --disable-native-backend
+endif
+
+override_dh_auto_configure:
+ dh_auto_configure -- \
+ --libexecdir="\$${prefix}/lib/mutter" \
+ --enable-startup-notification \
+ --enable-compile-warnings \
+ $(CONFFLAGS)
+
+# See https://bugs.debian.org/874077
+# Ignore test failures on Debian and on s390x
+override_dh_auto_test:
+ifneq (,$(findstring $(DEB_HOST_ARCH),"s390x"))
+ -xvfb-run dh_auto_test
+else ifeq (yes,$(shell dpkg-vendor --derives-from Ubuntu && echo yes))
+ xvfb-run dh_auto_test
+else
+ -xvfb-run dh_auto_test
+endif
+
+override_dh_install:
+ find debian/tmp -name '*.la' -print -delete
+ dh_install
+
+override_dh_missing:
+ dh_missing --fail-missing
+
+override_dh_girepository:
+ dh_girepository /usr/lib/$(DEB_HOST_MULTIARCH)/mutter
+
+override_dh_makeshlibs:
+ dh_makeshlibs -V'libmutter-2-0 (>= 3.27.91)'
+
+override_dh_strip:
+ dh_strip --dbgsym-migration='mutter-dbg (<< 3.18.3-2~)'
+
--- /dev/null
+3.0 (quilt)
--- /dev/null
+version=4
+https://download.gnome.org/sources/@PACKAGE@/([\d\.]+[02468])/ \
+ @PACKAGE@@ANY_VERSION@\.tar\.xz