From: Marco Trevisan (Treviño) Date: Mon, 23 Apr 2018 15:46:57 +0000 (+0100) Subject: Import mutter_3.28.1-2.debian.tar.xz X-Git-Tag: archive/raspbian/3.28.1-2+rpi1^2~14^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=f50f7c201c5d18c5686b58efbc78e58b1862ef84;p=mutter.git Import mutter_3.28.1-2.debian.tar.xz [dgit import tarball mutter 3.28.1-2 mutter_3.28.1-2.debian.tar.xz] --- f50f7c201c5d18c5686b58efbc78e58b1862ef84 diff --git a/README.Debian b/README.Debian new file mode 100644 index 0000000..169b50e --- /dev/null +++ b/README.Debian @@ -0,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 --git a/changelog b/changelog new file mode 100644 index 0000000..37a0362 --- /dev/null +++ b/changelog @@ -0,0 +1,2433 @@ +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 --git a/compat b/compat new file mode 100644 index 0000000..b4de394 --- /dev/null +++ b/compat @@ -0,0 +1 @@ +11 diff --git a/control b/control new file mode 100644 index 0000000..498aaa6 --- /dev/null +++ b/control @@ -0,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 --git a/control.in b/control.in new file mode 100644 index 0000000..f4099cb --- /dev/null +++ b/control.in @@ -0,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 --git a/copyright b/copyright new file mode 100644 index 0000000..ed9f698 --- /dev/null +++ b/copyright @@ -0,0 +1,89 @@ +This package was debianized by Thom May on +Sun, 10 Feb 2002 12:03:22 +0000. + +It was downloaded from https://download.gnome.org/sources/mutter/ + +Upstream Author: Havoc Pennington + +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-2007 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-2006 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-2009 Intel Corporation + Copyright © 2008 Matthew Allum + +License: + + 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 + +On Debian systems, the complete text of the GNU General +Public License can be found in `/usr/share/common-licenses/GPL'. + +Files: src/ui/metaaccellabel.c src/ui/metaaccellabel.h +License: + 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 + +On Debian systems, the complete text of the GNU General +Public License can be found in `/usr/share/common-licenses/LGPL'. diff --git a/gbp.conf b/gbp.conf new file mode 100644 index 0000000..e0196c4 --- /dev/null +++ b/gbp.conf @@ -0,0 +1,5 @@ +[DEFAULT] +pristine-tar = True +debian-branch = debian/master +upstream-branch = upstream/latest +upstream-vcs-tag = %(version)s diff --git a/gir1.2-mutter-2.install b/gir1.2-mutter-2.install new file mode 100644 index 0000000..c44ed04 --- /dev/null +++ b/gir1.2-mutter-2.install @@ -0,0 +1 @@ +usr/lib/*/mutter/*.typelib diff --git a/libmutter-2-0.install b/libmutter-2-0.install new file mode 100644 index 0000000..64759ea --- /dev/null +++ b/libmutter-2-0.install @@ -0,0 +1,2 @@ +usr/lib/*/libmutter-2.so.* +usr/lib/*/mutter/*.so diff --git a/libmutter-2-dev.install b/libmutter-2-dev.install new file mode 100644 index 0000000..91a880d --- /dev/null +++ b/libmutter-2-dev.install @@ -0,0 +1,4 @@ +usr/include +usr/lib/*/lib*.so +usr/lib/*/pkgconfig/*.pc +usr/lib/*/mutter/*.gir diff --git a/mutter-common.install b/mutter-common.install new file mode 100644 index 0000000..132e43b --- /dev/null +++ b/mutter-common.install @@ -0,0 +1,5 @@ +usr/share/GConf +usr/share/glib-2.0 +usr/share/locale +usr/share/man +usr/share/gnome-control-center diff --git a/mutter.install b/mutter.install new file mode 100644 index 0000000..e38228f --- /dev/null +++ b/mutter.install @@ -0,0 +1,4 @@ +usr/bin +usr/lib/mutter/mutter-restart-helper +usr/lib/*/mutter/plugins +usr/share/applications diff --git a/mutter.postinst b/mutter.postinst new file mode 100644 index 0000000..0dc0097 --- /dev/null +++ b/mutter.postinst @@ -0,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 --git a/mutter.prerm b/mutter.prerm new file mode 100644 index 0000000..8256c42 --- /dev/null +++ b/mutter.prerm @@ -0,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 --git a/patches/backends-Add-logical-monitor-monitor-output-crtc-ref-chai.patch b/patches/backends-Add-logical-monitor-monitor-output-crtc-ref-chai.patch new file mode 100644 index 0000000..6580869 --- /dev/null +++ b/patches/backends-Add-logical-monitor-monitor-output-crtc-ref-chai.patch @@ -0,0 +1,173 @@ +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 + +Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/1703668 +Bug-GNOME: https://bugzilla.gnome.org/show_bug.cgi?id=786929 +Forwarded: yes, https://gitlab.gnome.org/GNOME/mutter/merge_requests/81 + +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. + +https://bugzilla.gnome.org/show_bug.cgi?id=786929 +--- + 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 9e14d66..bc91d1d 100644 +--- a/src/backends/meta-logical-monitor.c ++++ b/src/backends/meta-logical-monitor.c +@@ -144,7 +144,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) + { +@@ -255,13 +255,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 +@@ -269,7 +273,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 +@@ -388,6 +388,21 @@ meta_monitor_crtc_to_logical_transform (MetaMonitor *monitor, + } + + 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) + { + MetaMonitor *monitor = META_MONITOR (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 * +@@ -63,6 +63,17 @@ meta_output_get_assigned_crtc (MetaOutput *output) + } + + 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) + { + MetaOutput *output = META_OUTPUT (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 --git a/patches/backends-Move-MetaOutput-crtc-field-into-private-struct.patch b/patches/backends-Move-MetaOutput-crtc-field-into-private-struct.patch new file mode 100644 index 0000000..a7f5014 --- /dev/null +++ b/patches/backends-Move-MetaOutput-crtc-field-into-private-struct.patch @@ -0,0 +1,766 @@ +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 + +Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/1703668 +Bug-GNOME: https://bugzilla.gnome.org/show_bug.cgi?id=786929 +Forwarded: yes, https://gitlab.gnome.org/GNOME/mutter/merge_requests/81 + +No functional changes. This is only done so that changes to reference +counting can done more reliably. + +https://bugzilla.gnome.org/show_bug.cgi?id=786929 +--- + src/backends/meta-logical-monitor.c | 11 ++--- + 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, 152 insertions(+), 83 deletions(-) + +diff --git a/src/backends/meta-logical-monitor.c b/src/backends/meta-logical-monitor.c +index d2faa0f..9e14d66 100644 +--- a/src/backends/meta-logical-monitor.c ++++ b/src/backends/meta-logical-monitor.c +@@ -103,8 +103,7 @@ derive_monitor_transform (MetaMonitor *monitor) + + main_output = meta_monitor_get_main_output (monitor); + +- return meta_monitor_crtc_to_logical_transform (monitor, +- main_output->crtc->transform); ++ return meta_output_get_assigned_crtc (main_output)->transform; + } + + MetaLogicalMonitor * +@@ -157,10 +156,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 +221,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 e952e4f..1b088dd 100644 +--- a/src/backends/meta-monitor-manager.c ++++ b/src/backends/meta-monitor-manager.c +@@ -1038,6 +1038,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")); +@@ -1131,8 +1132,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, +@@ -2894,11 +2895,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 c9c3b2e..90c75f0 100644 +--- a/src/backends/native/meta-renderer-native.c ++++ b/src/backends/native/meta-renderer-native.c +@@ -2088,6 +2088,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; +@@ -2111,6 +2112,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, +@@ -2118,7 +2120,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, +@@ -2716,12 +2718,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 +@@ -2729,11 +2729,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 --git a/patches/bgo768531_workaround-startup-notifications.patch b/patches/bgo768531_workaround-startup-notifications.patch new file mode 100644 index 0000000..ab68a43 --- /dev/null +++ b/patches/bgo768531_workaround-startup-notifications.patch @@ -0,0 +1,43 @@ +From: =?utf-8?q?Florian_M=C3=BCllner?= +Date: Thu, 20 Oct 2016 18:00:04 +0200 +Subject: [PATCH] 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 --git a/patches/clutter-Smooth-out-master-clock-to-smooth-visuals.patch b/patches/clutter-Smooth-out-master-clock-to-smooth-visuals.patch new file mode 100644 index 0000000..956cd93 --- /dev/null +++ b/patches/clutter-Smooth-out-master-clock-to-smooth-visuals.patch @@ -0,0 +1,227 @@ +From: Daniel van Vugt +Date: Fri, 16 Feb 2018 02:50:59 -0600 +Subject: clutter: Smooth out master clock to smooth visuals + +Bug-GNOME: https://gitlab.gnome.org/GNOME/mutter/issues/25 +Forwarded, yes: https://gitlab.gnome.org/GNOME/mutter/merge_requests/70 + +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. + +https://gitlab.gnome.org/GNOME/mutter/issues/25 +--- + 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 --git a/patches/core-Return-1-if-meta_window_get_monitor-is-called-on-an-.patch b/patches/core-Return-1-if-meta_window_get_monitor-is-called-on-an-.patch new file mode 100644 index 0000000..0d52caf --- /dev/null +++ b/patches/core-Return-1-if-meta_window_get_monitor-is-called-on-an-.patch @@ -0,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 + +Forwarded: yes +Bug-GNOME: https://bugzilla.gnome.org/show_bug.cgi?id=788834 +Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/bionic/+source/gnome-shell/+bug/1724439 + +As opposed to crashing. In this case, letting the caller deal with +it is the best policy, since this is public API. + +Fixes #78834 +--- + 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 86f9d69..b1dcd80 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 --git a/patches/series b/patches/series new file mode 100644 index 0000000..a7be9b0 --- /dev/null +++ b/patches/series @@ -0,0 +1,14 @@ +bgo768531_workaround-startup-notifications.patch +skip-failing-tests.patch +skip-failing-tests-325.patch +synaptics-support.patch +theme-frames-Use-surface-device-scale-instead-of-cairo_sc.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 +backends-Move-MetaOutput-crtc-field-into-private-struct.patch +backends-Add-logical-monitor-monitor-output-crtc-ref-chai.patch +# Cherry picked from upstream +xwayland-use-g_autoptr-for-GError-in-xserver_died.patch +xwayland-Don-t-abort-if-Xwayland-crashes.patch diff --git a/patches/skip-failing-tests-325.patch b/patches/skip-failing-tests-325.patch new file mode 100644 index 0000000..a443ddf --- /dev/null +++ b/patches/skip-failing-tests-325.patch @@ -0,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 --git a/patches/skip-failing-tests.patch b/patches/skip-failing-tests.patch new file mode 100644 index 0000000..68cdca6 --- /dev/null +++ b/patches/skip-failing-tests.patch @@ -0,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 --git a/patches/synaptics-support.patch b/patches/synaptics-support.patch new file mode 100644 index 0000000..4e6c2e2 --- /dev/null +++ b/patches/synaptics-support.patch @@ -0,0 +1,300 @@ +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 +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 --git a/patches/theme-frames-Use-surface-device-scale-instead-of-cairo_sc.patch b/patches/theme-frames-Use-surface-device-scale-instead-of-cairo_sc.patch new file mode 100644 index 0000000..52a9d8f --- /dev/null +++ b/patches/theme-frames-Use-surface-device-scale-instead-of-cairo_sc.patch @@ -0,0 +1,98 @@ +From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= +Date: Fri, 30 Mar 2018 12:57:50 -0600 +Subject: theme, frames: Use surface device scale instead of cairo_scale + +Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/1764554 +Bug-GNOME: https://gitlab.gnome.org/GNOME/mutter/issues/99 +Forwarded: yes, https://gitlab.gnome.org/GNOME/mutter/merge_requests/61 + +Gtk now is caching the themed cairo surfaces, then as per +commit gtk@e36b629c the surface device scale is used to figure +out the current paint scaling. + +Without this when using background-image's for window buttons +the -gtk-scaled icons isn't properly resized. + +Fixes #99 +--- + src/ui/frames.c | 12 ++++++++++-- + src/ui/theme.c | 14 ++++++++++++-- + 2 files changed, 22 insertions(+), 4 deletions(-) + +diff --git a/src/ui/frames.c b/src/ui/frames.c +index 129a9e5..ef7e7df 100644 +--- a/src/ui/frames.c ++++ b/src/ui/frames.c +@@ -1330,7 +1330,9 @@ meta_ui_frame_get_mask (MetaUIFrame *frame, + MetaFrameBorders borders; + MetaFrameFlags flags; + MetaRectangle frame_rect; +- int scale = meta_theme_get_window_scaling_factor (); ++ cairo_surface_t *surface; ++ double xscale, yscale; ++ int scale; + + meta_window_get_frame_rect (frame->meta_window, &frame_rect); + +@@ -1340,7 +1342,11 @@ meta_ui_frame_get_mask (MetaUIFrame *frame, + meta_ui_frame_get_borders (frame, &borders); + + /* See comment in meta_frame_layout_draw_with_style() for details on HiDPI handling */ +- cairo_scale (cr, scale, scale); ++ scale = meta_theme_get_window_scaling_factor (); ++ surface = cairo_get_target (cr); ++ cairo_surface_get_device_scale (surface, &xscale, &yscale); ++ cairo_surface_set_device_scale (surface, scale, scale); ++ + gtk_render_background (frame->style_info->styles[META_STYLE_ELEMENT_FRAME], cr, + borders.invisible.left / scale, + borders.invisible.top / scale, +@@ -1349,6 +1355,8 @@ meta_ui_frame_get_mask (MetaUIFrame *frame, + borders.invisible.left / scale, + borders.invisible.top / scale, + frame_rect.width / scale, borders.total.top / scale); ++ ++ cairo_surface_set_device_scale (surface, xscale, yscale); + } + + /* XXX -- this is disgusting. Find a better approach here. +diff --git a/src/ui/theme.c b/src/ui/theme.c +index b909d9b..c0bb9b6 100644 +--- a/src/ui/theme.c ++++ b/src/ui/theme.c +@@ -736,7 +736,9 @@ meta_frame_layout_draw_with_style (MetaFrameLayout *layout, + GdkRectangle titlebar_rect; + GdkRectangle button_rect; + const MetaFrameBorders *borders; +- int scale = meta_theme_get_window_scaling_factor (); ++ cairo_surface_t *frame_surface; ++ double xscale, yscale; ++ int scale; + + /* We opt out of GTK+/Clutter's HiDPI handling, so we have to do the scaling + * ourselves; the nitty-gritty is a bit confusing, so here is an overview: +@@ -748,8 +750,14 @@ meta_frame_layout_draw_with_style (MetaFrameLayout *layout, + * - for drawing, we scale the canvas to have GTK+ render elements (borders, + * radii, ...) at the correct scale - as a result, we have to "unscale" + * the geometry again to not apply the scaling twice ++ * - As per commit e36b629c GTK expects the device scale to be set and match ++ * the final scaling or the surface caching won't take this in account ++ * breaking -gtk-scaled items. + */ +- cairo_scale (cr, scale, scale); ++ scale = meta_theme_get_window_scaling_factor (); ++ frame_surface = cairo_get_target (cr); ++ cairo_surface_get_device_scale (frame_surface, &xscale, &yscale); ++ cairo_surface_set_device_scale (frame_surface, scale, scale); + + borders = &fgeom->borders; + +@@ -905,6 +913,8 @@ meta_frame_layout_draw_with_style (MetaFrameLayout *layout, + gtk_style_context_remove_class (style, button_class); + gtk_style_context_set_state (style, state); + } ++ ++ cairo_surface_set_device_scale (frame_surface, xscale, yscale); + } + + /** diff --git a/patches/theme-load-icons-as-Gtk-does-with-fallback-and-RTL-suppor.patch b/patches/theme-load-icons-as-Gtk-does-with-fallback-and-RTL-suppor.patch new file mode 100644 index 0000000..48608d7 --- /dev/null +++ b/patches/theme-load-icons-as-Gtk-does-with-fallback-and-RTL-suppor.patch @@ -0,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 --git a/patches/theme-use-gtk_render_icon_suface-to-paint-button-icon.patch b/patches/theme-use-gtk_render_icon_suface-to-paint-button-icon.patch new file mode 100644 index 0000000..8048e24 --- /dev/null +++ b/patches/theme-use-gtk_render_icon_suface-to-paint-button-icon.patch @@ -0,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 + +Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/1764558 +Bug-GNOME: https://gitlab.gnome.org/GNOME/mutter/issues/100 +Forwarded: yes, https://gitlab.gnome.org/GNOME/mutter/merge_requests/62 + +This will properly take care of the icon transformations +and of the shadow. + +Fixes #100 +--- + 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 --git a/patches/xwayland-Don-t-abort-if-Xwayland-crashes.patch b/patches/xwayland-Don-t-abort-if-Xwayland-crashes.patch new file mode 100644 index 0000000..5f4e3ba --- /dev/null +++ b/patches/xwayland-Don-t-abort-if-Xwayland-crashes.patch @@ -0,0 +1,71 @@ +From: Ray Strode +Date: Thu, 12 Apr 2018 13:06:01 -0500 +Subject: xwayland: Don't abort if Xwayland crashes + +Right now if Xwayland crashes, we crash, too. + +On some level that makes sense, since we're supposed to control the +lifecycle of Xwayland, and by it crashing we've lost that control. + +But practically speaking, the knock-on crash adds noise to the logs, +bug trackers, and retrace servers that only makes debugging harder. +And the crash isn't something mutter can "fix", since it's +ultimately from a bug in Xwayland anyway. + +This commit makes mutter exit instead of crash if Xwayland goes away +unexpectedly. + +Origin: https://gitlab.gnome.org/GNOME/mutter/commit/2d80fd0 +--- + src/wayland/meta-xwayland.c | 17 ++++++++++++----- + 1 file changed, 12 insertions(+), 5 deletions(-) + +diff --git a/src/wayland/meta-xwayland.c b/src/wayland/meta-xwayland.c +index 7749976..c3baaff 100644 +--- a/src/wayland/meta-xwayland.c ++++ b/src/wayland/meta-xwayland.c +@@ -26,6 +26,8 @@ + #include "meta-xwayland.h" + #include "meta-xwayland-private.h" + ++#include ++ + #include + #include + #include +@@ -397,25 +399,30 @@ xserver_died (GObject *source, + + if (!g_subprocess_wait_finish (proc, result, &error)) + { +- if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED)) +- g_error ("Failed to finish waiting for Xwayland: %s", error->message); ++ if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED)) ++ return; ++ ++ g_warning ("Failed to finish waiting for Xwayland: %s", error->message); + } + else if (!g_subprocess_get_successful (proc)) +- g_error ("X Wayland crashed; aborting"); ++ g_warning ("X Wayland crashed; exiting"); + else + { + /* For now we simply abort if we see the server exit. + * + * In the future X will only be loaded lazily for legacy X support + * but for now it's a hard requirement. */ +- g_error ("Spurious exit of X Wayland server"); ++ g_warning ("Spurious exit of X Wayland server"); + } ++ ++ meta_exit (META_EXIT_ERROR); + } + + static int + x_io_error (Display *display) + { +- g_error ("Connection to xwayland lost"); ++ g_warning ("Connection to xwayland lost"); ++ meta_exit (META_EXIT_ERROR); + + return 0; + } diff --git a/patches/xwayland-use-g_autoptr-for-GError-in-xserver_died.patch b/patches/xwayland-use-g_autoptr-for-GError-in-xserver_died.patch new file mode 100644 index 0000000..800ff35 --- /dev/null +++ b/patches/xwayland-use-g_autoptr-for-GError-in-xserver_died.patch @@ -0,0 +1,35 @@ +From: Ray Strode +Date: Thu, 12 Apr 2018 13:03:03 -0500 +Subject: xwayland: use g_autoptr for GError in xserver_died + +Right now we explicitly g_clear_error any error we find, but that +makes it tricky to return early from the function, which a +subsequent commit will want to to do. + +This commit switches GError to use g_autoptr so the error clearing +happens automatically. + +Origin: https://gitlab.gnome.org/GNOME/mutter/commit/bb65854 +--- + src/wayland/meta-xwayland.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/src/wayland/meta-xwayland.c b/src/wayland/meta-xwayland.c +index 4a7c8ff..7749976 100644 +--- a/src/wayland/meta-xwayland.c ++++ b/src/wayland/meta-xwayland.c +@@ -393,13 +393,12 @@ xserver_died (GObject *source, + gpointer user_data) + { + GSubprocess *proc = G_SUBPROCESS (source); +- GError *error = NULL; ++ g_autoptr (GError) error = NULL; + + if (!g_subprocess_wait_finish (proc, result, &error)) + { + if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED)) + g_error ("Failed to finish waiting for Xwayland: %s", error->message); +- g_clear_error (&error); + } + else if (!g_subprocess_get_successful (proc)) + g_error ("X Wayland crashed; aborting"); diff --git a/rules b/rules new file mode 100755 index 0000000..fffd803 --- /dev/null +++ b/rules @@ -0,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 --git a/source/format b/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/watch b/watch new file mode 100644 index 0000000..ac38817 --- /dev/null +++ b/watch @@ -0,0 +1,3 @@ +version=4 +https://download.gnome.org/sources/@PACKAGE@/([\d\.]+[02468])/ \ + @PACKAGE@@ANY_VERSION@\.tar\.xz