[arch-commits] Commit in gnome-shell/trunk (PKGBUILD fs1.patch fs2.patch)

Jan Steffens heftig at archlinux.org
Sat Oct 17 17:36:02 UTC 2015


    Date: Saturday, October 17, 2015 @ 19:36:02
  Author: heftig
Revision: 249466

fix fs issues

Added:
  gnome-shell/trunk/fs1.patch
  gnome-shell/trunk/fs2.patch
Modified:
  gnome-shell/trunk/PKGBUILD

-----------+
 PKGBUILD  |   12 +++++++++---
 fs1.patch |   44 ++++++++++++++++++++++++++++++++++++++++++++
 fs2.patch |   51 +++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 104 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2015-10-17 15:59:23 UTC (rev 249465)
+++ PKGBUILD	2015-10-17 17:36:02 UTC (rev 249466)
@@ -4,7 +4,7 @@
 
 pkgname=gnome-shell
 pkgver=3.18.1
-pkgrel=1
+pkgrel=2
 pkgdesc="The next generation GNOME Shell"
 arch=(i686 x86_64)
 url="http://live.gnome.org/GnomeShell"
@@ -19,13 +19,19 @@
 install=gnome-shell.install
 groups=(gnome)
 source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz
-        nm-libexecdir.patch)
+        nm-libexecdir.patch fs1.patch fs2.patch)
 sha256sums=('14a15215b3e29a25b94f69c58a6565e3a8cb2259b1ca242b906af78172bf3845'
-            'e5bb10ad2e5c3e0fde3d05babd1bfdda701e553e02d493f7e54cb7832ce7e607')
+            'e5bb10ad2e5c3e0fde3d05babd1bfdda701e553e02d493f7e54cb7832ce7e607'
+            '0d2f143362ff47bfd3dcbb94d903b51b9a998f2ff97c6320f0e3fe3599089e34'
+            '19f39002be34f035c7f5f8f20bad50ab38fb8ff0f023e91e832feecc54fcdc60')
 
 prepare() {
   cd $pkgname-$pkgver
 
+  # Fullscreen animation issues
+  patch -Np1 -i ../fs1.patch
+  patch -Np1 -i ../fs2.patch
+
   # FS#30747 FS#32730 Problems due to libexecdir different from NM
   patch -Np1 -i ../nm-libexecdir.patch
 }

Added: fs1.patch
===================================================================
--- fs1.patch	                        (rev 0)
+++ fs1.patch	2015-10-17 17:36:02 UTC (rev 249466)
@@ -0,0 +1,44 @@
+From ab2ca17b766556eec7c5c47c4d75ef6ff45a31a7 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner at gnome.org>
+Date: Fri, 16 Oct 2015 15:36:33 +0200
+Subject: windowManager: Fix fullscreen animations on dualscreen
+
+The translation should describe the difference between the fullscreened
+and unfullscreened position of the window - however we are currently
+assuming a fullscreen position of (0, 0) instead of the monitor's origin,
+which causes glitches on dualscreen setups.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=756697
+---
+ js/ui/windowManager.js | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+diff --git a/js/ui/windowManager.js b/js/ui/windowManager.js
+index 2ee99e3..c8996d8 100644
+--- a/js/ui/windowManager.js
++++ b/js/ui/windowManager.js
+@@ -1235,15 +1235,17 @@ const WindowManager = new Lang.Class({
+     },
+ 
+     _fullscreenWindow: function(shellwm, actor, oldFrameRect, oldBufferRect) {
+-        actor.translation_x = oldFrameRect.x;
+-        actor.translation_y = oldFrameRect.y;
++        let monitor = Main.layoutManager.monitors[actor.meta_window.get_monitor()];
++        actor.translation_x = oldFrameRect.x - monitor.x;
++        actor.translation_y = oldFrameRect.y - monitor.y;
+         this._fullscreenAnimation(shellwm, actor, oldFrameRect);
+     },
+ 
+     _unfullscreenWindow: function(shellwm, actor, oldFrameRect, oldBufferRect) {
+         let targetRect = actor.meta_window.get_frame_rect();
+-        actor.translation_x = -targetRect.x;
+-        actor.translation_y = -targetRect.y;
++        let monitor = Main.layoutManager.monitors[actor.meta_window.get_monitor()];
++        actor.translation_x = -(targetRect.x - monitor.x);
++        actor.translation_y = -(targetRect.y - monitor.y);
+         this._fullscreenAnimation(shellwm, actor, oldFrameRect);
+     },
+ 
+-- 
+cgit v0.11.2
+

Added: fs2.patch
===================================================================
--- fs2.patch	                        (rev 0)
+++ fs2.patch	2015-10-17 17:36:02 UTC (rev 249466)
@@ -0,0 +1,51 @@
+From 8ae0c69ccf9dede2770ca8e74945e29b8c528aa5 Mon Sep 17 00:00:00 2001
+From: Cosimo Cecchi <cosimoc at gnome.org>
+Date: Fri, 16 Oct 2015 13:45:09 -0700
+Subject: windowManager: fix fullscreen clone being left around
+
+If we get another effect on the same actor, we should make sure to
+remove the clone through the "overwrite" methods provided by Tweener, or
+there will be a race that might end up with a stray clone being left
+around.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=756714
+---
+ js/ui/windowManager.js | 15 ++++++++++++++-
+ 1 file changed, 14 insertions(+), 1 deletion(-)
+
+diff --git a/js/ui/windowManager.js b/js/ui/windowManager.js
+index c8996d8..32b8c0f 100644
+--- a/js/ui/windowManager.js
++++ b/js/ui/windowManager.js
+@@ -1296,7 +1296,10 @@ const WindowManager = new Lang.Class({
+                            transition: 'easeOutQuad',
+                            onComplete: this._sizeChangeWindowDone,
+                            onCompleteScope: this,
+-                           onCompleteParams: [shellwm, actor]
++                           onCompleteParams: [shellwm, actor],
++                           onOverwrite: this._sizeChangeWindowOverwritten,
++                           onOverwriteScope: this,
++                           onOverwriteParams: [shellwm, actor]
+                          });
+ 
+         // Now unfreeze actor updates, to get it to the new size.
+@@ -1321,6 +1324,16 @@ const WindowManager = new Lang.Class({
+         }
+     },
+ 
++    _sizeChangeWindowOverwritten: function(shellwm, actor) {
++        if (this._removeEffect(this._resizing, actor)) {
++            let actorClone = actor.__fullscreenClone;
++            if (actorClone) {
++                actorClone.destroy();
++                delete actor.__fullscreenClone;
++            }
++        }
++    },
++
+     _hasAttachedDialogs: function(window, ignoreWindow) {
+         var count = 0;
+         window.foreach_transient(function(win) {
+-- 
+cgit v0.11.2
+



More information about the arch-commits mailing list