From: Simon McVittie Date: Sun, 8 Jul 2018 10:32:56 +0000 (+0100) Subject: mutter (3.28.2-3) unstable; urgency=medium X-Git-Tag: archive/raspbian/3.28.2-3+rpi1^2~27 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=0ab1d5c0183943566c45608b62339bc9e0af1de5;p=mutter.git 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) [dgit import unpatched mutter 3.28.2-3] --- 0ab1d5c0183943566c45608b62339bc9e0af1de5 diff --cc debian/README.Debian index 0000000,0000000..169b50e new file mode 100644 --- /dev/null +++ b/debian/README.Debian @@@ -1,0 -1,0 +1,17 @@@ ++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 , Sun, 26 Jul 2009 13:14:57 +0200 diff --cc debian/changelog index 0000000,0000000..609ac74 new file mode 100644 --- /dev/null +++ b/debian/changelog @@@ -1,0 -1,0 +1,2496 @@@ ++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 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 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 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) 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 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 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 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 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 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 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 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 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 Mon, 16 Oct 2017 20:17:15 -0400 ++ ++mutter (3.26.1-4) unstable; urgency=medium ++ ++ * Release to unstable ++ ++ -- Jeremy Bicha 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 Sun, 17 Apr 2016 00:06:56 +0200 ++ ++mutter (3.20.0-1) experimental; urgency=medium ++ ++ * New upstream release. ++ ++ -- Andreas Henriksson 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 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 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 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 Thu, 03 Mar 2016 18:48:49 +0100 ++ ++mutter (3.18.2-1) unstable; urgency=medium ++ ++ * New upstream release. ++ ++ -- Michael Biebl 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 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 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 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 Sat, 29 Aug 2015 11:03:17 +0200 ++ ++mutter (3.16.3-1) unstable; urgency=medium ++ ++ * New upstream release. ++ * Refresh patches. ++ ++ -- Michael Biebl 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 Tue, 30 Jun 2015 19:42:14 +0200 ++ ++mutter (3.16.2-2) unstable; urgency=medium ++ ++ * Upload to unstable. ++ ++ -- Emilio Pozuelo Monfort 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 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 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 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 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 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 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 Mon, 22 Sep 2014 21:02:55 +0200 ++ ++mutter (3.13.92-1) unstable; urgency=medium ++ ++ * New upstream release candidate. ++ ++ -- Andreas Henriksson 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 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 Sat, 02 Aug 2014 17:55:13 +0200 ++ ++mutter (3.12.2-2) unstable; urgency=medium ++ ++ * Upload to unstable. ++ ++ -- Andreas Henriksson 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 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 Sat, 26 Apr 2014 19:38:07 +0200 ++ ++mutter (3.12.1-1) unstable; urgency=medium ++ ++ * New upstream release ++ ++ -- Sjoerd Simons 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 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 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 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 Fri, 01 Nov 2013 22:34:51 +0100 ++ ++mutter (3.8.4-2) unstable; urgency=low ++ ++ * Upload to unstable. ++ ++ -- Emilio Pozuelo Monfort 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 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 Sat, 08 Jun 2013 18:09:14 +0200 ++ ++mutter (3.8.2-1) experimental; urgency=low ++ ++ * New upstream release. ++ ++ -- Emilio Pozuelo Monfort 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 Fri, 19 Apr 2013 18:57:59 +0200 ++ ++mutter (3.8.0-1) experimental; urgency=low ++ ++ * New upstream release. ++ ++ -- Emilio Pozuelo Monfort 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 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 Tue, 05 Feb 2013 20:58:05 -0500 ++ ++mutter (3.6.2-0ubuntu1) raring; urgency=low ++ ++ * New upstream release (LP: #1078155) ++ ++ -- Jeremy Bicha 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 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 Thu, 08 Nov 2012 08:37:27 -0500 ++ ++mutter (3.6.1-1) experimental; urgency=low ++ ++ * New upstream release ++ ++ -- Sjoerd Simons 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 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 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 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 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 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 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 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 Fri, 04 May 2012 21:48:47 +0200 ++ ++mutter (3.2.2-3) unstable; urgency=low ++ ++ * Upload to unstable. ++ ++ -- Michael Biebl 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 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 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 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 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 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 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 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 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 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 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 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 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 Mon, 14 Mar 2011 19:09:58 +0100 ++ ++mutter (2.91.90-1) experimental; urgency=low ++ ++ * New upstream release. ++ ++ -- Frederic Peters 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 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 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 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 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 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 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 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 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 Wed, 26 May 2010 15:15:34 -0300 ++ ++mutter (2.31.2-1) experimental; urgency=low ++ ++ * New development release ++ ++ -- Gustavo Noronha Silva 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 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 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 Tue, 02 Mar 2010 19:19:44 -0300 ++ ++mutter (2.28.1~git20100129-1) unstable; urgency=low ++ ++ * Upstream snapshot ++ ++ -- Gustavo Noronha Silva Fri, 29 Jan 2010 12:04:09 -0200 ++ ++mutter (2.28.1~git20091208-1) unstable; urgency=low ++ ++ * New upstream snapshot ++ ++ -- Gustavo Noronha Silva 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 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 Mon, 19 Oct 2009 15:59:57 -0200 ++ ++mutter (2.28.0-1) unstable; urgency=low ++ ++ * New upstream release ++ ++ -- Gustavo Noronha Silva Fri, 09 Oct 2009 13:23:25 -0300 ++ ++mutter (2.27.5-1) unstable; urgency=low ++ ++ * New upstream release ++ ++ -- Gustavo Noronha Silva Wed, 30 Sep 2009 21:19:05 +0100 ++ ++mutter (2.27.3-2) unstable; urgency=low ++ ++ [ Simon Raven ] ++ * 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 Sat, 14 Apr 2007 15:12:50 +0200 ++ ++metacity (1:2.18.2-1) experimental; urgency=low ++ ++ * New upstream stable release. ++ ++ -- Loic Minier 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 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 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 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 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 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 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 Fri, 10 Nov 2006 09:38:49 +0100 ++ ++metacity (1:2.14.5-1) unstable; urgency=low ++ ++ * New upstream release. ++ ++ -- Loic Minier 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 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 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 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 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 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 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 Mon, 9 Jan 2006 22:47:36 +0100 ++ ++metacity (1:2.12.2-2) unstable; urgency=low ++ ++ * Upload to unstable. ++ ++ -- Josselin Mouette Sun, 8 Jan 2006 01:49:55 +0100 ++ ++metacity (1:2.12.2-1) experimental; urgency=low ++ ++ * New upstream release. ++ ++ -- Jordi Mallach 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 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 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 Fri, 29 Jul 2005 10:56:05 +0200 ++ ++metacity (1:2.10.2-1) unstable; urgency=low ++ ++ * New upstream version. ++ ++ -- Sebastien Bacher Tue, 28 Jun 2005 23:09:14 +0200 ++ ++metacity (1:2.10.1-2) unstable; urgency=low ++ ++ * Upload to unstable. ++ ++ -- Jordi Mallach Sun, 12 Jun 2005 19:03:18 +0200 ++ ++metacity (1:2.10.1-1) experimental; urgency=low ++ ++ * New upstream version. ++ ++ -- Sebastien Bacher 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 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 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 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" (Closes: #252108). ++ * debian/metacity-window-demo.1: ++ - manpage written by Jose M. Moya" (Closes: #252110). ++ * debian/metacity.manpages: ++ - updated. ++ ++ -- Sebastien Bacher 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 Tue, 21 May 2002 19:24:00 +0900 ++ ++metacity (2.3.377-1) unstable; urgency=low ++ ++ * New upstream release. ++ ++ -- Akira TAGOH 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 Tue, 7 May 2002 14:29:36 +0900 ++ ++metacity (2.3.233-1) unstable; urgency=low ++ ++ * New upstream release. ++ ++ -- Akira TAGOH 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 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 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 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 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 Sun, 17 Feb 2002 20:14:28 +0000 ++ ++metacity (2.3.34-1) unstable; urgency=low ++ ++ * Initial Release. (Closes: #107181) ++ ++ -- Thom May Sun, 10 Feb 2002 12:03:22 +0000 ++ diff --cc debian/compat index 0000000,0000000..b4de394 new file mode 100644 --- /dev/null +++ b/debian/compat @@@ -1,0 -1,0 +1,1 @@@ ++11 diff --cc debian/control index 0000000,0000000..498aaa6 new file mode 100644 --- /dev/null +++ b/debian/control @@@ -1,0 -1,0 +1,184 @@@ ++# 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 ++Uploaders: Jeremy Bicha ++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 , ++ xauth , ++ 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. diff --cc debian/control.in index 0000000,0000000..f4099cb new file mode 100644 --- /dev/null +++ b/debian/control.in @@@ -1,0 -1,0 +1,180 @@@ ++Source: mutter ++Section: x11 ++Priority: optional ++Maintainer: Debian GNOME Maintainers ++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 , ++ xauth , ++ 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. diff --cc debian/copyright index 0000000,0000000..2f1bb3a new file mode 100644 --- /dev/null +++ b/debian/copyright @@@ -1,0 -1,0 +1,450 @@@ ++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. diff --cc debian/gbp.conf index 0000000,0000000..e0196c4 new file mode 100644 --- /dev/null +++ b/debian/gbp.conf @@@ -1,0 -1,0 +1,5 @@@ ++[DEFAULT] ++pristine-tar = True ++debian-branch = debian/master ++upstream-branch = upstream/latest ++upstream-vcs-tag = %(version)s diff --cc debian/gir1.2-mutter-2.install index 0000000,0000000..c44ed04 new file mode 100644 --- /dev/null +++ b/debian/gir1.2-mutter-2.install @@@ -1,0 -1,0 +1,1 @@@ ++usr/lib/*/mutter/*.typelib diff --cc debian/libmutter-2-0.install index 0000000,0000000..64759ea new file mode 100644 --- /dev/null +++ b/debian/libmutter-2-0.install @@@ -1,0 -1,0 +1,2 @@@ ++usr/lib/*/libmutter-2.so.* ++usr/lib/*/mutter/*.so diff --cc debian/libmutter-2-0.symbols index 0000000,0000000..a235437 new file mode 100644 --- /dev/null +++ b/debian/libmutter-2-0.symbols @@@ -1,0 -1,0 +1,1826 @@@ ++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 diff --cc debian/libmutter-2-dev.install index 0000000,0000000..91a880d new file mode 100644 --- /dev/null +++ b/debian/libmutter-2-dev.install @@@ -1,0 -1,0 +1,4 @@@ ++usr/include ++usr/lib/*/lib*.so ++usr/lib/*/pkgconfig/*.pc ++usr/lib/*/mutter/*.gir diff --cc debian/mutter-common.install index 0000000,0000000..132e43b new file mode 100644 --- /dev/null +++ b/debian/mutter-common.install @@@ -1,0 -1,0 +1,5 @@@ ++usr/share/GConf ++usr/share/glib-2.0 ++usr/share/locale ++usr/share/man ++usr/share/gnome-control-center diff --cc debian/mutter.install index 0000000,0000000..e38228f new file mode 100644 --- /dev/null +++ b/debian/mutter.install @@@ -1,0 -1,0 +1,4 @@@ ++usr/bin ++usr/lib/mutter/mutter-restart-helper ++usr/lib/*/mutter/plugins ++usr/share/applications diff --cc debian/mutter.postinst index 0000000,0000000..0dc0097 new file mode 100644 --- /dev/null +++ b/debian/mutter.postinst @@@ -1,0 -1,0 +1,16 @@@ ++#!/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# diff --cc debian/mutter.prerm index 0000000,0000000..8256c42 new file mode 100644 --- /dev/null +++ b/debian/mutter.prerm @@@ -1,0 -1,0 +1,12 @@@ ++#!/bin/sh ++ ++set -e ++ ++action="$1" ++ ++if [ "$action" = remove ]; then ++ update-alternatives --remove x-window-manager \ ++ /usr/bin/mutter ++fi ++ ++#DEBHELPER# diff --cc debian/patches/backends-Add-logical-monitor-monitor-output-crtc-ref-chai.patch index 0000000,0000000..2c7f254 new file mode 100644 --- /dev/null +++ b/debian/patches/backends-Add-logical-monitor-monitor-output-crtc-ref-chai.patch @@@ -1,0 -1,0 +1,172 @@@ ++From: =?utf-8?q?Jonas_=C3=85dahl?= ++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; ++ } diff --cc debian/patches/backends-Move-MetaOutput-crtc-field-into-private-struct.patch index 0000000,0000000..f160748 new file mode 100644 --- /dev/null +++ b/debian/patches/backends-Move-MetaOutput-crtc-field-into-private-struct.patch @@@ -1,0 -1,0 +1,770 @@@ ++From: =?utf-8?q?Jonas_=C3=85dahl?= ++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) diff --cc debian/patches/bgo768531_workaround-startup-notifications.patch index 0000000,0000000..bc6b697 new file mode 100644 --- /dev/null +++ b/debian/patches/bgo768531_workaround-startup-notifications.patch @@@ -1,0 -1,0 +1,43 @@@ ++From: =?utf-8?q?Florian_M=C3=BCllner?= ++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 diff --cc debian/patches/clutter-Smooth-out-master-clock-to-smooth-visuals.patch index 0000000,0000000..2239837 new file mode 100644 --- /dev/null +++ b/debian/patches/clutter-Smooth-out-master-clock-to-smooth-visuals.patch @@@ -1,0 -1,0 +1,225 @@@ ++From: Daniel van Vugt ++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); diff --cc debian/patches/clutter-device-evdev-Get-devices-from-main-seat-if-no-rea.patch index 0000000,0000000..54db58d new file mode 100644 --- /dev/null +++ b/debian/patches/clutter-device-evdev-Get-devices-from-main-seat-if-no-rea.patch @@@ -1,0 -1,0 +1,54 @@@ ++From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= ++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 diff --cc debian/patches/clutter-evdev-Don-t-ignore-CAPS-lock-as-modifier.patch index 0000000,0000000..d60918a new file mode 100644 --- /dev/null +++ b/debian/patches/clutter-evdev-Don-t-ignore-CAPS-lock-as-modifier.patch @@@ -1,0 -1,0 +1,42 @@@ ++From: Olivier Fourdan ++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; ++ diff --cc debian/patches/clutter-evdev-ignore-injected-events-from-IM.patch index 0000000,0000000..5905756 new file mode 100644 --- /dev/null +++ b/debian/patches/clutter-evdev-ignore-injected-events-from-IM.patch @@@ -1,0 -1,0 +1,31 @@@ ++From: Olivier Fourdan ++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; ++ diff --cc debian/patches/clutter-seat-evdev-Add-function-to-get-device-by-id.patch index 0000000,0000000..bc5a7a9 new file mode 100644 --- /dev/null +++ b/debian/patches/clutter-seat-evdev-Add-function-to-get-device-by-id.patch @@@ -1,0 -1,0 +1,55 @@@ ++From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= ++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); ++ diff --cc debian/patches/core-Return-1-if-meta_window_get_monitor-is-called-on-an-.patch index 0000000,0000000..b9a2eb4 new file mode 100644 --- /dev/null +++ b/debian/patches/core-Return-1-if-meta_window_get_monitor-is-called-on-an-.patch @@@ -1,0 -1,0 +1,39 @@@ ++From: Sam Spilsbury ++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; ++ } ++ diff --cc debian/patches/debian/skip-failing-tests-325.patch index 0000000,0000000..a443ddf new file mode 100644 --- /dev/null +++ b/debian/patches/debian/skip-failing-tests-325.patch @@@ -1,0 -1,0 +1,24 @@@ ++From: Jeremy Bicha ++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) diff --cc debian/patches/debian/skip-failing-tests.patch index 0000000,0000000..68cdca6 new file mode 100644 --- /dev/null +++ b/debian/patches/debian/skip-failing-tests.patch @@@ -1,0 -1,0 +1,26 @@@ ++From: Jeremy Bicha ++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) ++ diff --cc debian/patches/debian/synaptics-support.patch index 0000000,0000000..b3422bb new file mode 100644 --- /dev/null +++ b/debian/patches/debian/synaptics-support.patch @@@ -1,0 -1,0 +1,301 @@@ ++From: Daniel van Vugt ++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) ++ { diff --cc debian/patches/device-manager-evdev-Add-main-seat-to-seats-by-default.patch index 0000000,0000000..4d49aed new file mode 100644 --- /dev/null +++ b/debian/patches/device-manager-evdev-Add-main-seat-to-seats-by-default.patch @@@ -1,0 -1,0 +1,77 @@@ ++From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= ++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; diff --cc debian/patches/device-manager-evdev-Free-the-main-seat-on-finalize.patch index 0000000,0000000..c986199 new file mode 100644 --- /dev/null +++ b/debian/patches/device-manager-evdev-Free-the-main-seat-on-finalize.patch @@@ -1,0 -1,0 +1,23 @@@ ++From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= ++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); ++ diff --cc debian/patches/device-manager-evdev-Set-and-unset-the-stage-for-the-main.patch index 0000000,0000000..340647a new file mode 100644 --- /dev/null +++ b/debian/patches/device-manager-evdev-Set-and-unset-the-stage-for-the-main.patch @@@ -1,0 -1,0 +1,42 @@@ ++From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= ++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; diff --cc debian/patches/frames-Allow-for-unknown-mouse-buttons.patch index 0000000,0000000..4418f84 new file mode 100644 --- /dev/null +++ b/debian/patches/frames-Allow-for-unknown-mouse-buttons.patch @@@ -1,0 -1,0 +1,71 @@@ ++From: Olivier Fourdan ++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 */ diff --cc debian/patches/frames-Handle-touch-events.patch index 0000000,0000000..075a2d6 new file mode 100644 --- /dev/null +++ b/debian/patches/frames-Handle-touch-events.patch @@@ -1,0 -1,0 +1,332 @@@ ++From: Carlos Garnacho ++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 diff --cc debian/patches/frames-Make-1st-button-motion-handlers-take-generic-event.patch index 0000000,0000000..8edc5e8 new file mode 100644 --- /dev/null +++ b/debian/patches/frames-Make-1st-button-motion-handlers-take-generic-event.patch @@@ -1,0 -1,0 +1,350 @@@ ++From: Carlos Garnacho ++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: diff --cc debian/patches/renderer-native-Don-t-crash-if-the-FB-surface-can-t-be-lo.patch index 0000000,0000000..5c88ccc new file mode 100644 --- /dev/null +++ b/debian/patches/renderer-native-Don-t-crash-if-the-FB-surface-can-t-be-lo.patch @@@ -1,0 -1,0 +1,28 @@@ ++From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= ++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); diff --cc debian/patches/series index 0000000,0000000..8d55f60 new file mode 100644 --- /dev/null +++ b/debian/patches/series @@@ -1,0 -1,0 +1,26 @@@ ++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 diff --cc debian/patches/theme-load-icons-as-Gtk-does-with-fallback-and-RTL-suppor.patch index 0000000,0000000..48608d7 new file mode 100644 --- /dev/null +++ b/debian/patches/theme-load-icons-as-Gtk-does-with-fallback-and-RTL-suppor.patch @@@ -1,0 -1,0 +1,56 @@@ ++From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= ++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) diff --cc debian/patches/theme-use-gtk_render_icon_suface-to-paint-button-icon.patch index 0000000,0000000..02be999 new file mode 100644 --- /dev/null +++ b/debian/patches/theme-use-gtk_render_icon_suface-to-paint-button-icon.patch @@@ -1,0 -1,0 +1,46 @@@ ++From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= ++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); ++ } ++ } diff --cc debian/patches/wayland-Compare-geometries-after-chaining-up.patch index 0000000,0000000..64f2a15 new file mode 100644 --- /dev/null +++ b/debian/patches/wayland-Compare-geometries-after-chaining-up.patch @@@ -1,0 -1,0 +1,121 @@@ ++From: Georges Basile Stavracas Neto ++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); diff --cc debian/patches/wayland-Don-t-reset-input-focus-on-text-commit.patch index 0000000,0000000..2526612 new file mode 100644 --- /dev/null +++ b/debian/patches/wayland-Don-t-reset-input-focus-on-text-commit.patch @@@ -1,0 -1,0 +1,26 @@@ ++From: Changwoo Ryu ++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 diff --cc debian/patches/wayland-Use-cursor-position-in-logical-monitor.patch index 0000000,0000000..0cb0657 new file mode 100644 --- /dev/null +++ b/debian/patches/wayland-Use-cursor-position-in-logical-monitor.patch @@@ -1,0 -1,0 +1,87 @@@ ++From: Olivier Fourdan ++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 diff --cc debian/patches/wayland-update-enter-leave-output-after-effects.patch index 0000000,0000000..ad1332f new file mode 100644 --- /dev/null +++ b/debian/patches/wayland-update-enter-leave-output-after-effects.patch @@@ -1,0 -1,0 +1,76 @@@ ++From: Olivier Fourdan ++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) ++ { diff --cc debian/patches/window-actor-add-new-signal-effects-completed.patch index 0000000,0000000..b281249 new file mode 100644 --- /dev/null +++ b/debian/patches/window-actor-add-new-signal-effects-completed.patch @@@ -1,0 -1,0 +1,85 @@@ ++From: Olivier Fourdan ++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)); +++} diff --cc debian/rules index 0000000,0000000..fffd803 new file mode 100755 --- /dev/null +++ b/debian/rules @@@ -1,0 -1,0 +1,59 @@@ ++#!/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~)' ++ diff --cc debian/source/format index 0000000,0000000..163aaf8 new file mode 100644 --- /dev/null +++ b/debian/source/format @@@ -1,0 -1,0 +1,1 @@@ ++3.0 (quilt) diff --cc debian/watch index 0000000,0000000..ac38817 new file mode 100644 --- /dev/null +++ b/debian/watch @@@ -1,0 -1,0 +1,3 @@@ ++version=4 ++https://download.gnome.org/sources/@PACKAGE@/([\d\.]+[02468])/ \ ++ @PACKAGE@@ANY_VERSION@\.tar\.xz