[gnome-shell] Ignore clicks on hot corner during transition
- From: Marina Zhurakhinskaya <marinaz src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gnome-shell] Ignore clicks on hot corner during transition
- Date: Mon, 10 Aug 2009 18:29:35 +0000 (UTC)
commit 00cc32d95a9f793a20e2ebdf56bd57e2807a30ac
Author: Marina Zhurakhinskaya <marinaz redhat com>
Date: Fri Aug 7 18:22:05 2009 -0400
Ignore clicks on hot corner during transition
It's both intuitive to go to the corner of the screen
and click the activities button at the same time.
Both actions bring up the overlay, but combined
they cancel each other out. This commit makes
clicking the hot corner not cancel the act of
going to the hot corner.
Based on a patch from Ray Strode.
js/ui/overlay.js | 6 ++++++
js/ui/panel.js | 7 ++++---
2 files changed, 10 insertions(+), 3 deletions(-)
---
diff --git a/js/ui/overlay.js b/js/ui/overlay.js
index 894d3c6..14e69af 100644
--- a/js/ui/overlay.js
+++ b/js/ui/overlay.js
@@ -92,6 +92,7 @@ Overlay.prototype = {
this._group._delegate = this;
this.visible = false;
+ this.animationInProgress = false;
this._hideInProgress = false;
this._recalculateGridSizes();
@@ -242,6 +243,7 @@ Overlay.prototype = {
return;
this.visible = true;
+ this.animationInProgress = true;
let global = Shell.Global.get();
let screenWidth = global.screen_width;
@@ -309,6 +311,7 @@ Overlay.prototype = {
let global = Shell.Global.get();
+ this.animationInProgress = true;
this._hideInProgress = true;
if (this._activeDisplayPane != null)
this._activeDisplayPane.close();
@@ -377,6 +380,8 @@ Overlay.prototype = {
this._dash.actor.raise_top();
this._dash.actor.remove_clip();
+ this.animationInProgress = false;
+
this.emit('shown');
},
@@ -393,6 +398,7 @@ Overlay.prototype = {
this._group.hide();
this.visible = false;
+ this.animationInProgress = false;
this._hideInProgress = false;
Main.endModal();
diff --git a/js/ui/panel.js b/js/ui/panel.js
index d8ac1ac..13d5320 100644
--- a/js/ui/panel.js
+++ b/js/ui/panel.js
@@ -83,8 +83,7 @@ Panel.prototype = {
// In addition to being triggered by the mouse enter event, the hot corner
// can be triggered by clicking on it. This is useful if the user wants to
- // immediately undo the effect of triggering the hot corner once in the
- // hot corner.
+ // undo the effect of triggering the hot corner once in the hot corner.
hotCorner.connect('enter-event',
Lang.bind(this, this._onHotCornerTriggered));
hotCorner.connect('button-release-event',
@@ -220,7 +219,9 @@ Panel.prototype = {
},
_onHotCornerTriggered : function() {
- Main.overlay.toggle();
+ if (!Main.overlay.animationInProgress) {
+ Main.overlay.toggle();
+ }
return false;
}
};
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]