Hello community,

here is the log from the commit of package mutter for openSUSE:Factory checked 
in at 2017-09-13 21:56:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mutter (Old)
 and      /work/SRC/openSUSE:Factory/.mutter.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "mutter"

Wed Sep 13 21:56:51 2017 rev:112 rq:523833 version:3.26.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/mutter/mutter.changes    2017-08-18 
14:58:44.413994565 +0200
+++ /work/SRC/openSUSE:Factory/.mutter.new/mutter.changes       2017-09-13 
21:57:00.553016923 +0200
@@ -1,0 +2,59 @@
+Tue Sep 12 19:33:28 UTC 2017 - [email protected]
+
+- Update to version 3.26.0:
+  + Updated translations.
+- Changes from version 3.25.92:
+  + Add screencast and remote desktop support (bgo#784199).
+  + Support running with no attached monitors (bgo#730551).
+  + Add a vertical gradient effect to background actor (bgo#786618).
+  + Misc. bug fixes: bgo#786619, bgo#786677, bgo#772218, bgo#786918,
+    bgo#760670.
+  + Updated translations.
+- Drop mutter-no-mandatory-eglGetPlatformDisplayEXT.patch and
+  mutter-new-libgudev.patch, fixed upstream.
+
+-------------------------------------------------------------------
+Thu Sep  7 18:09:43 UTC 2017 - [email protected]
+
+- Add mutter-new-libgudev.patch: Fix build with new libgudev
+  (bgo#760670).
+
+-------------------------------------------------------------------
+Thu Aug 24 07:59:06 UTC 2017 - [email protected]
+
+- Add mutter-no-mandatory-eglGetPlatformDisplayEXT.patch: egl:
+  Don't require eglGetPlatformDisplayEXT. Trying to unilaterally
+  require eglGetPlatformDisplayEXT causes problems in scenarios
+  where this method is not available. Besides, this should only be
+  required on Wayland, so we can stop requiring it always and
+  simply let the eglGetPlatformDisplay() function error accordingly
+  when needed (bgo#786619).
+
+-------------------------------------------------------------------
+Tue Aug 22 08:20:16 UTC 2017 - [email protected]
+
+- Update to version 3.25.91:
+  + Reduce memory use of suspended instances (bgo#786299).
+  + Make supported scales determination saner (bgo#786474).
+  + Fix crash on inhibit-shortcuts dialog reponse (bgo#786385).
+  + Support libinput's tag-and-drag setting (bgo#775755).
+  + Avoid overlapping keybindings with multiple layouts
+    (bgo#786408).
+  + Fix non-transformed cursor on rotated monitors (bgo#786023).
+  + Avoid unnecessary work during background painting (bgo#783512).
+  + Misc. bug fixes: bgo#691611, bgo#786300, bgo#777732,
+    bgo#786568.
+  + Updated translations.
+
+-------------------------------------------------------------------
+Mon Aug 21 12:40:17 UTC 2017 - [email protected]
+
+- Update to version 3.25.90:
+  + Add zwp_linux_dmabuf_v1 support (bgo#785262).
+  + Add (x)wayland shortcut inhibitor support (bgo#783342).
+  + Misc. bug fixes: bgo#785263, bgo#785347, bgo#767805.
+  + Updated translations.
+- Rename libmutter-0-0 subpackage to libmutter-1-0, following
+  upstreams soname change.
+
+-------------------------------------------------------------------
@@ -5,0 +65,97 @@
+
+-------------------------------------------------------------------
+Thu Jul 20 13:25:04 UTC 2017 - [email protected]
+
+- Update to version 3.25.4:
+  + Do not throttle motion events on tablet tools (bgo#783535).
+  + Handle left-handed mode on pen/eraser devices (bgo#782027).
+  + Add wl_surface.damage_buffer() support (bgo#784080).
+  + Fix crash when moving across on-adjacent monitors (bgo#783630).
+  + Fix window moving/resizing via tablet tools (bgo#777333).
+  + Support fractional monitor scaling (bgo#765011).
+  + Keep override-redirect windows stacked on top (bgo#780485).
+  + Implement tablet rings/strips configuration (bgo#782033).
+  + Support tablet wheel events on wayland (bgo#783716).
+  + Move g-s-d xrandr functionality into mutter (bgo#781906).
+  + Misc. bug fixes: bgo#783502, bgo#784009, bgo#784223,
+    bgo#784272, bgo#784402, bgo#784881, bgo#762083, bgo#784867,
+    bgo#781723.
+- Drop desktop_database_post(un) and
+  glib2_gsettings_schema_post(un) from post(un), no longer needed
+  as we have file-triggers to take care of this for us now.
+
+-------------------------------------------------------------------
+Thu Jul 20 13:25:04 UTC 2017 - [email protected]
+
+- Update to version 3.25.3:
+  + Ignore hotplug-mode-update value on startup (bgo#783073).
+  + Implement configurable monitor scales on X11 (bgo#777732).
+  + Fix handling of tiled monitors (bgo#781723).
+  + Handle multiple keycodes for keysym (bgo#781223).
+  + Consider subsurfaces when grabbing (bgo#781811).
+  + Fix logic for HiPDPI scaling of TV outputs (bgo#777347).
+  + Fix handling of left-handed mode on pen/eraser devices
+    (bgo#782027).
+  + Fix output cycling in non-display-attached tablets (bgo#782032).
+  + Fix wacom cursor offset on wayland (bgo#784009).
+  + Handle EXIF orientation of backgrounds (bgo#783125).
+  + Misc. bug fixes: bgo#772218, bgo#783161, bgo#780407,
+    bgo#783113, bgo#783293, bgo#783505, bgo#781703.
+  + Updated translations.
+
+-------------------------------------------------------------------
+Thu Jul 20 13:25:03 UTC 2017 - [email protected]
+
+- Move SLE only patches to patch number 1000 and above.
+- Rename mutter-bell.patch to mutter-SLE-bell.patch,
+  mutter-bsc984738-grab-display.patch to
+  mutter-SLE-bsc984738-grab-display.patch and
+  relax-some-constraints-on-CSD-windows-in-sle-classic.patch to
+  mutter-SLE-relax-some-constraints-on-CSD-windows.patch.
+
+-------------------------------------------------------------------
+Thu Jul 20 13:25:02 UTC 2017 - [email protected]
+
+- Update to version 3.25.2:
+  + Fix frame updates on hide-titlebar-when-maximized changes
+    (bgo#781862).
+  + Fix accessible screen coordinates on X11 (bgo#781902).
+  + Use less CPU when rendering fast-updating windows (bgo#782344).
+  + Compute geometry of clients that don't set one explicitly
+    (bgo#782213).
+  + Fix copy+paste of UTF8 strings between X11 and wayland
+    (bgo#782472).
+  + Fix non-wayland builds (bgo#780533).
+  + Add plugin vfunc to implement a custom force-quit dialog
+    (bgo#711619).
+  + Fix swapped red and blue channels in CoglTexture data
+    (bgo#779234).
+  + Fix build where libtool's link_all_deplibs defaults to 'no'
+    (bgo#782821).
+  + Fix glitches when opening a window maximized (bgo#781353,
+    bgo#782183).
+  + Fix wrong cursor after window underneath the pointer changed
+    (bgo#755164).
+  + Implement support for disable-while-typing option (bgo#764852).
+  + Emit size-change signal when tiling (bgo#782968).
+  + Misc. bug fixes: bgo#759085, bgo#780215, bgo#782156,
+    bgo#782152.
+  + Updated translations.
+- Drop mutter-monitor-fixes.patch and mutter-wayland-fixes.patch:
+  Fixed upstream.
+
+-------------------------------------------------------------------
+Thu Jul 20 13:25:01 UTC 2017 - [email protected]
+
+- Update to version 3.25.1:
+  + Always sync window geometry on state changes (bgo#780292).
+  + Use EGL instead of GLX when drawing using GLES (bgo#771636).
+  + Scale relative motion deltas with monitor scale (bgo#778119).
+  + Use texture fallback when setting hardware cursor fails
+    (bgo#770020).
+  + Fix lock-up when using additional theme variants (bgo#780254).
+  + Rework low-level monitor configuration (bgo#777732).
+  + Fix building with GLES2 instead of GL (bgo#781398).
+  + Misc. bug fixes: bgo#780304, bgo#772218, bgo#781242,
+    bgo#781391.
+  + Updated translations.

Old:
----
  mutter-3.24.4.tar.xz
  mutter-bell.patch
  mutter-bsc984738-grab-display.patch
  relax-some-constraints-on-CSD-windows-in-sle-classic.patch

New:
----
  mutter-3.26.0.tar.xz
  mutter-SLE-bell.patch
  mutter-SLE-bsc984738-grab-display.patch
  mutter-SLE-relax-some-constraints-on-CSD-windows.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ mutter.spec ++++++
--- /var/tmp/diff_new_pack.O3AIyY/_old  2017-09-13 21:57:01.172929702 +0200
+++ /var/tmp/diff_new_pack.O3AIyY/_new  2017-09-13 21:57:01.172929702 +0200
@@ -21,45 +21,44 @@
 %else
 %bcond_without wayland
 %endif
-
 Name:           mutter
-Version:        3.24.4
+Version:        3.26.0
 Release:        0
 Summary:        Window and compositing manager based on Clutter
 License:        GPL-2.0+
 Group:          System/GUI/GNOME
 Url:            http://www.gnome.org
-Source:         
http://download.gnome.org/sources/mutter/3.24/%{name}-%{version}.tar.xz
-# PATCH-FEATURE-SLE mutter-bell.patch FATE#316042 bnc#889218 [email protected] 
-- make audible bell work out of the box.
-Patch1:         mutter-bell.patch
-# PATCH-FIX-SLE relax-some-constraints-on-CSD-windows-in-sle-classic.patch 
bnc#883491 [email protected] -- Relax some constraints on window positioning for 
CSD windows s.t. they can be placed at the very top of the monitor.
-Patch2:         relax-some-constraints-on-CSD-windows-in-sle-classic.patch
-# PATCH-FIX-UPSTREAM mutter-bsc984738-grab-display.patch bsc#984738 bgo#769387 
[email protected] -- Revert a upstream commit to avoid X11 race condition that 
results in wrong dialog sizes.
-Patch3:         mutter-bsc984738-grab-display.patch
+Source:         
http://download.gnome.org/sources/mutter/3.26/%{name}-%{version}.tar.xz
 # PATCH-FIX-UPSTREAM mutter-fix-startup.patch bgo#768531 [email protected] 
-- Fix slow startup notification on wayland
-Patch6:         mutter-fix-startup.patch
+Patch0:         mutter-fix-startup.patch
 # PATCH-FEATURE-UPSTREAM 
mutter-iconcache-Support-RGB16_565-format-for-16-bit-color-.patch FATE#323412 
bgo#781704 bsc#1024748 [email protected] -- iconcache: Support RGB16_565 
format for 16-bit sessions
-Patch7:         
mutter-iconcache-Support-RGB16_565-format-for-16-bit-color-.patch
+Patch1:         
mutter-iconcache-Support-RGB16_565-format-for-16-bit-color-.patch
+# SLE only patches start at 1000
+# PATCH-FEATURE-SLE mutter-SLE-bell.patch FATE#316042 bnc#889218 
[email protected] -- make audible bell work out of the box.
+Patch1000:      mutter-SLE-bell.patch
+# PATCH-FIX-SLE mutter-SLE-relax-some-constraints-on-CSD-windows.patch 
bnc#883491 [email protected] -- Relax some constraints on window positioning for 
CSD windows s.t. they can be placed at the very top of the monitor.
+Patch1001:      mutter-SLE-relax-some-constraints-on-CSD-windows.patch
+# PATCH-FIX-UPSTREAM mutter-SLE-bsc984738-grab-display.patch bsc#984738 
bgo#769387 [email protected] -- Revert a upstream commit to avoid X11 race 
condition that results in wrong dialog sizes.
+Patch1002:      mutter-SLE-bsc984738-grab-display.patch
 BuildRequires:  fdupes
 BuildRequires:  gobject-introspection-devel >= 0.9.5
 BuildRequires:  libSM-devel
 BuildRequires:  libX11-devel
 BuildRequires:  libXinerama-devel
-%if !0%{?is_opensuse}
-BuildRequires:  translation-update-upstream
-%endif
+BuildRequires:  pkgconfig
 BuildRequires:  update-desktop-files
 BuildRequires:  zenity
 BuildRequires:  pkgconfig(cairo) >= 1.10.0
 BuildRequires:  pkgconfig(egl)
 BuildRequires:  pkgconfig(gbm)
-BuildRequires:  pkgconfig(gio-unix-2.0) >= 2.25.10
+BuildRequires:  pkgconfig(gio-unix-2.0) >= 2.53.2
 BuildRequires:  pkgconfig(glesv2)
 BuildRequires:  pkgconfig(gnome-desktop-3.0)
 BuildRequires:  pkgconfig(gsettings-desktop-schemas) >= 3.19.3
 BuildRequires:  pkgconfig(gtk+-3.0) >= 3.19.7
 BuildRequires:  pkgconfig(json-glib-1.0)
 BuildRequires:  pkgconfig(libcanberra-gtk3)
+BuildRequires:  pkgconfig(libinput)
 BuildRequires:  pkgconfig(libstartup-notification-1.0)
 BuildRequires:  pkgconfig(libudev) >= 136
 BuildRequires:  pkgconfig(libwacom)
@@ -80,27 +79,28 @@
 BuildRequires:  pkgconfig(xrandr) >= 1.5.0
 BuildRequires:  pkgconfig(xrender)
 BuildRequires:  pkgconfig(xtst)
-%if %{with wayland}
-BuildRequires:  pkgconfig(gbm) >= 10.3
-BuildRequires:  pkgconfig(gudev-1.0)
-BuildRequires:  pkgconfig(libdrm)
-BuildRequires:  pkgconfig(libsystemd)
-BuildRequires:  pkgconfig(wayland-protocols) >= 1.7
-BuildRequires:  pkgconfig(wayland-server) >= 1.1.90
-%endif
-BuildRequires:  pkgconfig(libinput)
 Requires:       zenity
 Recommends:     %{name}-lang
 Provides:       windowmanager
 # Obsolete the now private typelib.
 Obsoletes:      typelib-1_0-Meta-3_0
-BuildRoot:      %{_tmppath}/%{name}-%{version}-build
+%if !0%{?is_opensuse}
+BuildRequires:  translation-update-upstream
+%endif
+%if %{with wayland}
+BuildRequires:  pkgconfig(gbm) >= 10.3
+BuildRequires:  pkgconfig(gudev-1.0) >= 232
+BuildRequires:  pkgconfig(libdrm)
+BuildRequires:  pkgconfig(libsystemd)
+BuildRequires:  pkgconfig(wayland-protocols) >= 1.9
+BuildRequires:  pkgconfig(wayland-server) >= 1.13.0
+%endif
 
 %description
 Mutter is a window and compositing manager based on Clutter, forked
 from Metacity.
 
-%package -n libmutter-0-0
+%package -n libmutter-1-0
 Summary:        Window and compositing manager based on Clutter
 # we need the gsettings schema; hopefully, they'll stay backwards compatible
 # (since we can't require = version, to not break SLPP)
@@ -108,7 +108,7 @@
 Requires:       %{name}-data >= %{version}
 Obsoletes:      libmutter0
 
-%description -n libmutter-0-0
+%description -n libmutter-1-0
 Mutter is a window and compositing manager based on Clutter, forked
 from Metacity.
 
@@ -130,23 +130,25 @@
 Summary:        Development files for mutter, a window and compositing manager
 Group:          Development/Libraries/GNOME
 Requires:       %{name} = %{version}
-Requires:       libmutter-0-0 = %{version}
+Requires:       libmutter-1-0 = %{version}
 
 %description devel
 This subpackage contains libraries and header files for developing
 applications that want to make use of the mutter library.
 
 %lang_package
+
 %prep
 %setup -q
+%patch0 -p1
+%patch1 -p1
+# SLE only patches and translations.
 %if !0%{?is_opensuse}
 translation-update-upstream
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch1000 -p1
+%patch1001 -p1
+%patch1002 -p1
 %endif
-%patch6 -p1
-%patch7 -p1
 
 %build
 %configure \
@@ -169,50 +171,38 @@
 %find_lang %{name} %{?no_lang_C}
 %fdupes %{buildroot}
 
-%post
-%desktop_database_post
-
-%postun
-%desktop_database_postun
-
-%post -n libmutter-0-0 -p /sbin/ldconfig
-
-%postun -n libmutter-0-0 -p /sbin/ldconfig
-
-%post data
-%glib2_gsettings_schema_post
+%post -n libmutter-1-0 -p /sbin/ldconfig
 
-%postun data
-%glib2_gsettings_schema_postun
+%postun -n libmutter-1-0 -p /sbin/ldconfig
 
 %files
 %defattr (-, root, root)
 %doc COPYING NEWS
-%doc %{_mandir}/man1/mutter.1%{?ext_man}
+%{_mandir}/man1/mutter.1%{?ext_man}
 %{_bindir}/mutter
 # These so files are not split out since they are private to mutter
-%{_libdir}/mutter/libmutter-clutter-0.so
-%{_libdir}/mutter/libmutter-cogl-pango-0.so
-%{_libdir}/mutter/libmutter-cogl-path-0.so
-%{_libdir}/mutter/libmutter-cogl-0.so
+%{_libdir}/mutter/libmutter-clutter-1.so
+%{_libdir}/mutter/libmutter-cogl-pango-1.so
+%{_libdir}/mutter/libmutter-cogl-path-1.so
+%{_libdir}/mutter/libmutter-cogl-1.so
 %{_libdir}/mutter/plugins/default.so
 #
 %{_libexecdir}/mutter-restart-helper
 %{_datadir}/applications/mutter.desktop
 # These typelibs are not split out since they are private to mutter
-%{_libdir}/mutter/Cally-0.typelib
-%{_libdir}/mutter/Clutter-0.typelib
-%{_libdir}/mutter/ClutterX11-0.typelib
-%{_libdir}/mutter/Cogl-0.typelib
+%{_libdir}/mutter/Cally-1.typelib
+%{_libdir}/mutter/Clutter-1.typelib
+%{_libdir}/mutter/ClutterX11-1.typelib
+%{_libdir}/mutter/Cogl-1.typelib
 #{_libdir}/mutter/Cogl-2.0.typelib
-%{_libdir}/mutter/CoglPango-0.typelib
+%{_libdir}/mutter/CoglPango-1.typelib
 #{_libdir}/mutter/CoglPango-2.0.typelib
-%{_libdir}/mutter/Meta-0.typelib
+%{_libdir}/mutter/Meta-1.typelib
 #
 
-%files -n libmutter-0-0
+%files -n libmutter-1-0
 %defattr(-,root,root)
-%{_libdir}/libmutter-0.so.*
+%{_libdir}/libmutter-1.so.*
 %dir %{_libdir}/mutter/
 # users of libmutter need this directory
 %dir %{_libdir}/mutter/plugins/
@@ -234,20 +224,20 @@
 %files devel
 %defattr(-,root,root)
 %{_includedir}/mutter/
-%{_libdir}/libmutter-0.so
-%{_libdir}/mutter/Meta-0.gir
-%{_libdir}/mutter/Cally-0.gir
-%{_libdir}/mutter/Clutter-0.gir
-%{_libdir}/mutter/ClutterX11-0.gir
-%{_libdir}/mutter/Cogl-0.gir
+%{_libdir}/libmutter-1.so
+%{_libdir}/mutter/Meta-1.gir
+%{_libdir}/mutter/Cally-1.gir
+%{_libdir}/mutter/Clutter-1.gir
+%{_libdir}/mutter/ClutterX11-1.gir
+%{_libdir}/mutter/Cogl-1.gir
 #{_libdir}/mutter/Cogl-2.0.gir
-%{_libdir}/mutter/CoglPango-0.gir
+%{_libdir}/mutter/CoglPango-1.gir
 #{_libdir}/mutter/CoglPango-2.0.gir
-%{_libdir}/pkgconfig/libmutter-0.pc
-%{_libdir}/pkgconfig/mutter-clutter-0.pc
-%{_libdir}/pkgconfig/mutter-clutter-x11-0.pc
-%{_libdir}/pkgconfig/mutter-cogl-0.pc
-%{_libdir}/pkgconfig/mutter-cogl-pango-0.pc
-%{_libdir}/pkgconfig/mutter-cogl-path-0.pc
+%{_libdir}/pkgconfig/libmutter-1.pc
+%{_libdir}/pkgconfig/mutter-clutter-1.pc
+%{_libdir}/pkgconfig/mutter-clutter-x11-1.pc
+%{_libdir}/pkgconfig/mutter-cogl-1.pc
+%{_libdir}/pkgconfig/mutter-cogl-pango-1.pc
+%{_libdir}/pkgconfig/mutter-cogl-path-1.pc
 
 %changelog

++++++ mutter-3.24.4.tar.xz -> mutter-3.26.0.tar.xz ++++++
++++ 63381 lines of diff (skipped)

++++++ mutter-SLE-bell.patch ++++++
Index: mutter-3.23.2/src/meta/prefs.h
===================================================================
--- mutter-3.23.2.orig/src/meta/prefs.h
+++ mutter-3.23.2/src/meta/prefs.h
@@ -89,6 +89,7 @@ typedef enum
   META_PREF_WORKSPACE_NAMES,
   META_PREF_VISUAL_BELL,
   META_PREF_AUDIBLE_BELL,
+  META_PREF_AUDIBLE_BELL_FORCE_THROUGH_SERVER,
   META_PREF_VISUAL_BELL_TYPE,
   META_PREF_GNOME_ACCESSIBILITY,
   META_PREF_GNOME_ANIMATIONS,
@@ -399,6 +400,7 @@ MetaKeyBindingAction meta_prefs_get_keyb
 
 gboolean           meta_prefs_get_visual_bell      (void);
 gboolean           meta_prefs_bell_is_audible      (void);
+gboolean           meta_prefs_bell_force_through_server (void);
 GDesktopVisualBellType meta_prefs_get_visual_bell_type (void);
 
 #endif
Index: mutter-3.23.2/src/core/prefs.c
===================================================================
--- mutter-3.23.2.orig/src/core/prefs.c
+++ mutter-3.23.2/src/core/prefs.c
@@ -93,6 +93,7 @@ static gboolean auto_raise_delay = 500;
 static gboolean focus_change_on_pointer_rest = FALSE;
 static gboolean bell_is_visible = FALSE;
 static gboolean bell_is_audible = TRUE;
+static gboolean bell_force_through_server = FALSE;
 static gboolean gnome_accessibility = FALSE;
 static gboolean gnome_animations = TRUE;
 static char *cursor_theme = NULL;
@@ -353,6 +354,13 @@ static MetaBoolPreference preferences_bo
       &bell_is_audible, /* FIXME: change the name: it's confusing */
     },
     {
+      { "audible-bell-force-through-server",
+        SCHEMA_MUTTER,
+        META_PREF_AUDIBLE_BELL_FORCE_THROUGH_SERVER,
+      },
+      &bell_force_through_server,
+    },
+    {
       { KEY_GNOME_ACCESSIBILITY,
         SCHEMA_INTERFACE,
         META_PREF_GNOME_ACCESSIBILITY,
@@ -1813,6 +1821,9 @@ meta_preference_to_string (MetaPreferenc
     case META_PREF_AUDIBLE_BELL:
       return "AUDIBLE_BELL";
 
+    case META_PREF_AUDIBLE_BELL_FORCE_THROUGH_SERVER:
+      return "AUDIBLE_BELL_FORCE_THROUGH_SERVER";
+
     case META_PREF_VISUAL_BELL_TYPE:
       return "VISUAL_BELL_TYPE";
 
@@ -2077,6 +2088,12 @@ meta_prefs_bell_is_audible (void)
   return bell_is_audible;
 }
 
+gboolean
+meta_prefs_bell_force_through_server (void)
+{
+  return bell_force_through_server;
+}
+
 GDesktopVisualBellType
 meta_prefs_get_visual_bell_type (void)
 {
Index: mutter-3.23.2/src/core/bell.c
===================================================================
--- mutter-3.23.2.orig/src/core/bell.c
+++ mutter-3.23.2/src/core/bell.c
@@ -220,6 +220,12 @@ meta_bell_notify (MetaDisplay *display,
   if (meta_prefs_get_visual_bell ())
     bell_visual_notify (display, window);
 
+  if (meta_prefs_bell_force_through_server ())
+   {
+    XkbForceBell (display->xdisplay, 100);
+    return TRUE;
+    }
+
   if (meta_prefs_bell_is_audible ())
     return bell_audible_notify (display, window);
 
Index: mutter-3.23.2/data/org.gnome.mutter.gschema.xml.in
===================================================================
--- mutter-3.23.2.orig/data/org.gnome.mutter.gschema.xml.in
+++ mutter-3.23.2/data/org.gnome.mutter.gschema.xml.in
@@ -102,6 +102,16 @@
       </description>
     </key>
 
+    <key name="audible-bell-force-through-server" type="b">
+      <default>false</default>
+      <summary>Force the System Bell through the X server only.</summary>
+      <description>
+        Force the System Bell through the X server only for systems that
+        do not want to go through the sound card - for example that don't
+        have speakers.
+      </description>
+    </key>
+
     <child name="keybindings" schema="org.gnome.mutter.keybindings"/>
 
   </schema>
++++++ mutter-SLE-bsc984738-grab-display.patch ++++++
diff --git a/src/core/display-private.h b/src/core/display-private.h
index 531c6f7..aaa90ec 100644
--- a/src/core/display-private.h
+++ b/src/core/display-private.h
@@ -174,6 +174,8 @@ struct _MetaDisplay
   GHashTable *stamps;
   GHashTable *wayland_windows;
 
+  int server_grab_count;
+
   /* serials of leave/unmap events that may
    * correspond to an enter event we should
    * ignore
@@ -322,6 +324,8 @@ struct _MetaDisplayClass
 gboolean      meta_display_open                (void);
 void          meta_display_close               (MetaDisplay *display,
                                                 guint32      timestamp);
+void          meta_display_grab                (MetaDisplay *display);
+void          meta_display_ungrab              (MetaDisplay *display);
 
 void          meta_display_unmanage_windows_for_screen (MetaDisplay *display,
                                                         MetaScreen  *screen,
diff --git a/src/core/display.c b/src/core/display.c
index 4c7a00e..87e3307 100644
--- a/src/core/display.c
+++ b/src/core/display.c
@@ -585,6 +585,7 @@ meta_display_open (void)
   display->focus_serial = 0;
   display->server_focus_window = None;
   display->server_focus_serial = 0;
+  display->server_grab_count = 0;
 
   display->mouse_mode = TRUE; /* Only relevant for mouse or sloppy focus */
   display->allow_terminal_deactivation = TRUE; /* Only relevant for when a
@@ -1130,6 +1131,50 @@ meta_display_close (MetaDisplay *display,
   meta_quit (META_EXIT_SUCCESS);
 }
 
+/* Grab/ungrab routines taken from fvwm.
+ * Calling this function will cause X to ignore all other clients until
+ * you ungrab. This may not be quite as bad as it sounds, yet there is
+ * agreement that avoiding server grabs except when they are clearly needed
+ * is a good thing.
+ *
+ * If you do use such grabs, please clearly explain the necessity for their
+ * usage in a comment. Try to keep their scope extremely limited. In
+ * particular, try to avoid emitting any signals or notifications while
+ * a grab is active (if the signal receiver tries to block on an X request
+ * from another client at this point, you will have a deadlock).
+ */
+void
+meta_display_grab (MetaDisplay *display)
+{
+  if (display->server_grab_count == 0)
+    {
+      XGrabServer (display->xdisplay);
+    }
+  display->server_grab_count += 1;
+  meta_verbose ("Grabbing display, grab count now %d\n",
+                display->server_grab_count);
+}
+
+void
+meta_display_ungrab (MetaDisplay *display)
+{
+  if (display->server_grab_count == 0)
+    meta_bug ("Ungrabbed non-grabbed server\n");
+
+  display->server_grab_count -= 1;
+  if (display->server_grab_count == 0)
+    {
+      /* FIXME we want to purge all pending "queued" stuff
+       * at this point, such as window hide/show
+       */
+      XUngrabServer (display->xdisplay);
+      XFlush (display->xdisplay);
+    }
+
+  meta_verbose ("Ungrabbing display, grab count now %d\n",
+                display->server_grab_count);
+}
+
 /**
  * meta_display_for_x_display:
  * @xdisplay: An X display
@@ -1516,7 +1561,7 @@ request_xserver_input_focus_change (MetaDisplay *display,
    * we know which is which by making two requests that the server will
    * process at the same time.
    */
-  XGrabServer (display->xdisplay);
+  meta_display_grab (display);
 
   serial = XNextRequest (display->xdisplay);
 
@@ -1529,8 +1574,7 @@ request_xserver_input_focus_change (MetaDisplay *display,
                    display->atom__MUTTER_FOCUS_SET,
                    XA_STRING, 8, PropModeAppend, NULL, 0);
 
-  XUngrabServer (display->xdisplay);
-  XFlush (display->xdisplay);
+  meta_display_ungrab (display);
 
   meta_display_update_focus_window (display,
                                     meta_window,
diff --git a/src/core/keybindings.c b/src/core/keybindings.c
index ed34aea..a989200 100644
--- a/src/core/keybindings.c
+++ b/src/core/keybindings.c
@@ -979,6 +979,9 @@ meta_display_grab_window_buttons (MetaDisplay *display,
 {
   MetaKeyBindingManager *keys = &display->key_binding_manager;
 
+  if (display->server_grab_count > 0)
+    return;
+
   /* Grab Alt + button1 for moving window.
    * Grab Alt + button2 for resizing window.
    * Grab Alt + button3 for popping up window menu.
@@ -1015,6 +1018,9 @@ meta_display_ungrab_window_buttons (MetaDisplay *display,
 {
   MetaKeyBindingManager *keys = &display->key_binding_manager;
 
+  if (display->server_grab_count > 0)
+    return;
+
   if (keys->window_grab_modifiers == 0)
     return;
 
@@ -1041,6 +1047,9 @@ meta_display_grab_focus_window_button (MetaDisplay 
*display,
 {
   MetaKeyBindingManager *keys = &display->key_binding_manager;
 
+  if (display->server_grab_count > 0)
+    return;
+
   /* Grab button 1 for activating unfocused windows */
   meta_verbose ("Grabbing unfocused window buttons for %s\n", window->desc);
 
@@ -1080,6 +1089,9 @@ meta_display_ungrab_focus_window_button (MetaDisplay 
*display,
 {
   MetaKeyBindingManager *keys = &display->key_binding_manager;
 
+  if (display->server_grab_count > 0)
+    return;
+
   meta_verbose ("Ungrabbing unfocused window buttons for %s\n", window->desc);
 
   if (!window->have_focus_click_grab)
@@ -1309,6 +1321,9 @@ meta_window_grab_keys (MetaWindow  *window)
   MetaDisplay *display = window->display;
   MetaKeyBindingManager *keys = &display->key_binding_manager;
 
+  if (display->server_grab_count > 0)
+    return;
+
   if (window->all_keys_grabbed)
     return;
 
@@ -1348,6 +1363,9 @@ meta_window_ungrab_keys (MetaWindow  *window)
       MetaDisplay *display = window->display;
       MetaKeyBindingManager *keys = &display->key_binding_manager;
 
+      if (display->server_grab_count > 0)
+        return;
+
       if (window->grab_on_frame &&
           window->frame != NULL)
         change_window_keygrabs (keys, window->frame->xwindow, FALSE);
diff --git a/src/x11/window-x11.c b/src/x11/window-x11.c
index 3d47f0d..5ea1213 100644
--- a/src/x11/window-x11.c
+++ b/src/x11/window-x11.c
@@ -507,6 +507,8 @@ meta_window_x11_manage (MetaWindow *window)
 
   meta_icon_cache_init (&priv->icon_cache);
 
+  meta_display_grab (display);
+
   meta_display_register_x_window (display, &window->xwindow, window);
 
   /* assign the window to its group, or create a new group if needed */
@@ -565,6 +567,13 @@ meta_window_x11_manage (MetaWindow *window)
 
   meta_window_x11_update_shape_region (window);
   meta_window_x11_update_input_region (window);
+
+  meta_display_ungrab (display);
+
+  /* Perform operations prevented by grab */
+  if (window->frame)
+    meta_display_grab_window_buttons (display, window->frame->xwindow);
+  meta_window_grab_keys (window);
 }
 
 static void
++++++ mutter-SLE-relax-some-constraints-on-CSD-windows.patch ++++++
Index: mutter-3.23.2/src/core/constraints.c
===================================================================
--- mutter-3.23.2.orig/src/core/constraints.c
+++ mutter-3.23.2/src/core/constraints.c
@@ -1466,6 +1466,12 @@ constrain_to_single_monitor (MetaWindow
 }
 
 static gboolean
+constraint_is_sle_classic(void){
+  char * session_mode = (char *) g_getenv ("GNOME_SHELL_SESSION_MODE");
+  return g_strcmp0("sle-classic", session_mode) == 0;
+}
+
+static gboolean
 constrain_fully_onscreen (MetaWindow         *window,
                           ConstraintInfo     *info,
                           ConstraintPriority  priority,
@@ -1481,6 +1487,11 @@ constrain_fully_onscreen (MetaWindow
   if (window->type == META_WINDOW_DESKTOP ||
       window->type == META_WINDOW_DOCK    ||
       window->fullscreen                  ||
+      /* in SLE Classic, there is no top bar and to avoid issues like
+       * bnc#883491, remove some constraints on CSD windows, which tends to 
have
+       * invisible wrapper box. Do the same for "constrain_titlebar_visible".
+       */
+      (constraint_is_sle_classic() && !window->decorated) ||
       !window->require_fully_onscreen     ||
       info->is_user_action                ||
       meta_window_get_placement_rule (window))
@@ -1518,11 +1529,12 @@ constrain_titlebar_visible (MetaWindow
    * is only meant for normal windows (e.g. we don't want docks to be shoved
    * "onscreen" by their own strut).
    */
-  if (window->type == META_WINDOW_DESKTOP ||
-      window->type == META_WINDOW_DOCK    ||
-      window->fullscreen                  ||
-      !window->require_titlebar_visible   ||
-      unconstrained_user_action           ||
+  if (window->type == META_WINDOW_DESKTOP                 ||
+      window->type == META_WINDOW_DOCK                    ||
+      window->fullscreen                                  ||
+      (constraint_is_sle_classic() && !window->decorated) ||
+      !window->require_titlebar_visible                   ||
+      unconstrained_user_action                           ||
       meta_window_get_placement_rule (window))
     return TRUE;
 
++++++ mutter-iconcache-Support-RGB16_565-format-for-16-bit-color-.patch ++++++
--- /var/tmp/diff_new_pack.O3AIyY/_old  2017-09-13 21:57:02.900686609 +0200
+++ /var/tmp/diff_new_pack.O3AIyY/_new  2017-09-13 21:57:02.900686609 +0200
@@ -12,11 +12,11 @@
  src/x11/iconcache.c | 35 ++++++++++++++++++++++++++++++++++-
  1 file changed, 34 insertions(+), 1 deletion(-)
 
-diff --git a/src/x11/iconcache.c b/src/x11/iconcache.c
-index 508dd82b1..f77783a05 100644
---- a/src/x11/iconcache.c
-+++ b/src/x11/iconcache.c
-@@ -304,10 +304,43 @@ standard_pict_format_for_depth (int depth)
+Index: mutter-3.26.0/src/x11/iconcache.c
+===================================================================
+--- mutter-3.26.0.orig/src/x11/iconcache.c
++++ mutter-3.26.0/src/x11/iconcache.c
+@@ -304,10 +304,43 @@ standard_pict_format_for_depth (int dept
      }
  }
  
@@ -61,6 +61,3 @@
  }
  
  static cairo_surface_t *
--- 
-2.12.0
-


Reply via email to