[gnome-shell] [panel] Hide application menu in overview
- From: Florian Müllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] [panel] Hide application menu in overview
- Date: Wed, 26 May 2010 12:37:26 +0000 (UTC)
commit a0be7fa455970f37f683990ba4ed1b48de61d3fc
Author: Florian Müllner <fmuellner src gnome org>
Date: Wed May 12 23:30:14 2010 +0200
[panel] Hide application menu in overview
The activities overview is not a place where we expect users to
interact with a specific application, so showing the application
menu there is misleading.
https://bugzilla.gnome.org/show_bug.cgi?id=618479
js/ui/panel.js | 37 +++++++++++++++++++++++++++++++++++--
1 files changed, 35 insertions(+), 2 deletions(-)
---
diff --git a/js/ui/panel.js b/js/ui/panel.js
index 0e52148..58e1d5f 100644
--- a/js/ui/panel.js
+++ b/js/ui/panel.js
@@ -681,11 +681,14 @@ AppMenuButton.prototype = {
this.menu.addMenuItem(this._quitMenu);
this._quitMenu.connect('activate', Lang.bind(this, this._onQuit));
+ this._visible = !Main.overview.visible;
+ if (!this._visible)
+ this.hide();
Main.overview.connect('hiding', Lang.bind(this, function () {
- this.actor.opacity = 255;
+ this.show();
}));
Main.overview.connect('showing', Lang.bind(this, function () {
- this.actor.opacity = 192;
+ this.hide();
}));
let tracker = Shell.WindowTracker.get_default();
@@ -699,6 +702,36 @@ AppMenuButton.prototype = {
this._sync();
},
+ show: function() {
+ if (this._visible)
+ return;
+
+ this.actor.show();
+ Tweener.addTween(this.actor,
+ { opacity: 255,
+ time: Overview.ANIMATION_TIME,
+ transition: 'easeOutQuad',
+ onComplete: function() {
+ this._visible = true;
+ },
+ onCompleteScope: this });
+ },
+
+ hide: function() {
+ if (!this._visible)
+ return;
+
+ Tweener.addTween(this.actor,
+ { opacity: 0,
+ time: Overview.ANIMATION_TIME,
+ transition: 'easeOutQuad',
+ onComplete: function() {
+ this.actor.hide();
+ this._visible = false;
+ },
+ onCompleteScope: this });
+ },
+
_getContentPreferredWidth: function(actor, forHeight, alloc) {
let [minSize, naturalSize] = this._iconBox.get_preferred_width(forHeight);
alloc.min_size = minSize;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]