[gnome-shell] windowManager: Generalize translation values
- From: Alessandro Bono <abono src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] windowManager: Generalize translation values
- Date: Wed, 24 May 2017 19:29:37 +0000 (UTC)
commit 0dca5e513b521edfc40842478bb34969b60478b1
Author: Alessandro Bono <abono gnome org>
Date: Sat May 20 16:34:35 2017 +0200
windowManager: Generalize translation values
Currently, the translation values are set with the assumption that
one of the actors represents a fullscreen window. In order to
generalize it for any size change transition, we can simply swap
the monitor rect with the source or target rect as appropriate,
and translate the actor from the target to the source position by
subtracting the former and adding the latter.
https://bugzilla.gnome.org/show_bug.cgi?id=766685
js/ui/windowManager.js | 14 +++-----------
1 files changed, 3 insertions(+), 11 deletions(-)
---
diff --git a/js/ui/windowManager.js b/js/ui/windowManager.js
index b987467..8b5c461 100644
--- a/js/ui/windowManager.js
+++ b/js/ui/windowManager.js
@@ -1331,13 +1331,11 @@ const WindowManager = new Lang.Class({
actorClone.set_size(oldFrameRect.width, oldFrameRect.height);
Main.uiGroup.add_actor(actorClone);
- let rect = change == Meta.SizeChange.FULLSCREEN ? oldFrameRect : null;
-
if (this._clearFullscreenInfo(actor))
this._shellwm.completed_size_change(actor);
actor.__fullscreenInfo = { clone: actorClone,
- oldRect: rect };
+ oldRect: oldFrameRect };
},
_sizeChangedWindow: function(shellwm, actor) {
@@ -1365,15 +1363,9 @@ const WindowManager = new Lang.Class({
transition: 'easeOutQuad'
});
- let monitor = Main.layoutManager.monitors[actor.meta_window.get_monitor()];
let sourceRect = actor.__fullscreenInfo.oldRect;
- if (sourceRect) {
- actor.translation_x = sourceRect.x - monitor.x;
- actor.translation_y = sourceRect.y - monitor.y;
- } else {
- actor.translation_x = -(targetRect.x - monitor.x);
- actor.translation_y = -(targetRect.y - monitor.y);
- }
+ actor.translation_x = -targetRect.x + sourceRect.x;
+ actor.translation_y = -targetRect.y + sourceRect.y;
// Now set scale the actor to size it as the clone.
actor.scale_x = 1 / scaleX;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]