From 76d788a186cd4ba959067882084cd15db426dae8 Mon Sep 17 00:00:00 2001 From: Adel Gadllah Date: Wed, 16 Feb 2011 21:05:20 +0100 Subject: [PATCH] windowManager: Add mechanism to block animations Add an API to allow blocking animations in situations where they aren't desireable. https://bugzilla.gnome.org/show_bug.cgi?id=642188 --- js/ui/windowManager.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/js/ui/windowManager.js b/js/ui/windowManager.js index deca70ed3..a10608f48 100644 --- a/js/ui/windowManager.js +++ b/js/ui/windowManager.js @@ -93,6 +93,8 @@ WindowManager.prototype = { this._dimmedWindows = []; + this._animationBlockCount = 0; + this._switchData = null; this._shellwm.connect('kill-switch-workspace', Lang.bind(this, this._switchWorkspaceDone)); this._shellwm.connect('kill-window-effects', Lang.bind(this, function (shellwm, actor) { @@ -139,8 +141,16 @@ WindowManager.prototype = { this._shellwm.connect('keybinding::' + keybinding, handler); }, + blockAnimations: function() { + this._animationBlockCount++; + }, + + unblockAnimations: function() { + this._animationBlockCount = Math.max(0, this._animationBlockCount - 1); + }, + _shouldAnimate : function(actor) { - if (Main.overview.visible) + if (Main.overview.visible || this._animationsBlocked > 0) return false; if (actor && (actor.meta_window.get_window_type() != Meta.WindowType.NORMAL)) return false;