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.
This commit is contained in:
parent
df8f727bba
commit
00cc32d95a
@ -92,6 +92,7 @@ Overlay.prototype = {
|
|||||||
this._group._delegate = this;
|
this._group._delegate = this;
|
||||||
|
|
||||||
this.visible = false;
|
this.visible = false;
|
||||||
|
this.animationInProgress = false;
|
||||||
this._hideInProgress = false;
|
this._hideInProgress = false;
|
||||||
|
|
||||||
this._recalculateGridSizes();
|
this._recalculateGridSizes();
|
||||||
@ -242,6 +243,7 @@ Overlay.prototype = {
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
this.visible = true;
|
this.visible = true;
|
||||||
|
this.animationInProgress = true;
|
||||||
|
|
||||||
let global = Shell.Global.get();
|
let global = Shell.Global.get();
|
||||||
let screenWidth = global.screen_width;
|
let screenWidth = global.screen_width;
|
||||||
@ -309,6 +311,7 @@ Overlay.prototype = {
|
|||||||
|
|
||||||
let global = Shell.Global.get();
|
let global = Shell.Global.get();
|
||||||
|
|
||||||
|
this.animationInProgress = true;
|
||||||
this._hideInProgress = true;
|
this._hideInProgress = true;
|
||||||
if (this._activeDisplayPane != null)
|
if (this._activeDisplayPane != null)
|
||||||
this._activeDisplayPane.close();
|
this._activeDisplayPane.close();
|
||||||
@ -377,6 +380,8 @@ Overlay.prototype = {
|
|||||||
this._dash.actor.raise_top();
|
this._dash.actor.raise_top();
|
||||||
this._dash.actor.remove_clip();
|
this._dash.actor.remove_clip();
|
||||||
|
|
||||||
|
this.animationInProgress = false;
|
||||||
|
|
||||||
this.emit('shown');
|
this.emit('shown');
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -393,6 +398,7 @@ Overlay.prototype = {
|
|||||||
this._group.hide();
|
this._group.hide();
|
||||||
|
|
||||||
this.visible = false;
|
this.visible = false;
|
||||||
|
this.animationInProgress = false;
|
||||||
this._hideInProgress = false;
|
this._hideInProgress = false;
|
||||||
|
|
||||||
Main.endModal();
|
Main.endModal();
|
||||||
|
@ -83,8 +83,7 @@ Panel.prototype = {
|
|||||||
|
|
||||||
// In addition to being triggered by the mouse enter event, the hot corner
|
// 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
|
// 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
|
// undo the effect of triggering the hot corner once in the hot corner.
|
||||||
// hot corner.
|
|
||||||
hotCorner.connect('enter-event',
|
hotCorner.connect('enter-event',
|
||||||
Lang.bind(this, this._onHotCornerTriggered));
|
Lang.bind(this, this._onHotCornerTriggered));
|
||||||
hotCorner.connect('button-release-event',
|
hotCorner.connect('button-release-event',
|
||||||
@ -220,7 +219,9 @@ Panel.prototype = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
_onHotCornerTriggered : function() {
|
_onHotCornerTriggered : function() {
|
||||||
Main.overlay.toggle();
|
if (!Main.overlay.animationInProgress) {
|
||||||
|
Main.overlay.toggle();
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user