[gnome-shell] messageTray: move the summary notification out of MessageTray.actor
- From: Dan Winship <danw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] messageTray: move the summary notification out of MessageTray.actor
- Date: Wed, 3 Aug 2011 13:20:50 +0000 (UTC)
commit 446910cb10c26043d4956af9844a4f0f45d6b453
Author: Dan Winship <danw gnome org>
Date: Wed Jul 27 10:03:30 2011 -0400
messageTray: move the summary notification out of MessageTray.actor
With the old pre-boxpointer summary notifications, it sort of made
sense that the summary notification actor was a child of the message
tray. But there's no reason for that now, and in fact, it ends up
requiring special cases in some places since hovering over the summary
notification counts as hovering over the tray. So, fix this.
https://bugzilla.gnome.org/show_bug.cgi?id=655813
data/theme/gnome-shell.css | 1 +
js/ui/messageTray.js | 17 ++++-------------
2 files changed, 5 insertions(+), 13 deletions(-)
---
diff --git a/data/theme/gnome-shell.css b/data/theme/gnome-shell.css
index eacdbc6..fe51b98 100644
--- a/data/theme/gnome-shell.css
+++ b/data/theme/gnome-shell.css
@@ -1045,6 +1045,7 @@ StTooltip StLabel {
-arrow-border-color: #a5a5a5;
-arrow-base: 24px;
-arrow-rise: 11px;
+ color: white;
}
.summary-boxpointer #notification {
diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js
index d7d246d..afea47c 100644
--- a/js/ui/messageTray.js
+++ b/js/ui/messageTray.js
@@ -1275,12 +1275,11 @@ MessageTray.prototype = {
this._summaryMotionId = 0;
this._summaryBoxPointer = new BoxPointer.BoxPointer(St.Side.BOTTOM,
- { reactive: true,
- track_hover: true });
+ { reactive: true,
+ track_hover: true });
this._summaryBoxPointer.actor.style_class = 'summary-boxpointer';
- this.actor.add_actor(this._summaryBoxPointer.actor);
- this._summaryBoxPointer.actor.lower_bottom();
this._summaryBoxPointer.actor.hide();
+ Main.chrome.addActor(this._summaryBoxPointer.actor, { visibleInFullscreen: true });
this._summaryBoxPointerItem = null;
this._summaryBoxPointerContentUpdatedId = 0;
@@ -1332,7 +1331,6 @@ MessageTray.prototype = {
Main.chrome.addActor(this.actor, { visibleInFullscreen: true });
Main.chrome.trackActor(this._notificationBin);
- Main.chrome.trackActor(this._summaryBoxPointer.actor);
Main.layoutManager.connect('monitors-changed', Lang.bind(this, this._setSizePosition));
@@ -1532,7 +1530,7 @@ MessageTray.prototype = {
if (!this._locked)
return;
this._locked = false;
- this._pointerInTray = this.actor.hover && !this._summaryBoxPointer.bin.hover;
+ this._pointerInTray = this.actor.hover;
this._updateState();
},
@@ -1720,13 +1718,6 @@ MessageTray.prototype = {
if (this._useLongerTrayLeftTimeout && !this._trayLeftTimeoutId)
return;
- // Don't do anything if the mouse is over the summary notification as this should be considered as
- // leaving the tray. The tray is locked when the summary notification is visible anyway, but we
- // should treat the mouse being over the summary notification as the tray being left for collapsing
- // any expanded summary item other than the one related to the notification.
- if (this._summaryBoxPointer.bin.hover)
- return;
-
this._useLongerTrayLeftTimeout = false;
if (this._trayLeftTimeoutId) {
Mainloop.source_remove(this._trayLeftTimeoutId);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]