diff options
Diffstat (limited to 'extra/gnome-shell/fs33855.patch')
-rw-r--r-- | extra/gnome-shell/fs33855.patch | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/extra/gnome-shell/fs33855.patch b/extra/gnome-shell/fs33855.patch new file mode 100644 index 000000000..b935e0923 --- /dev/null +++ b/extra/gnome-shell/fs33855.patch @@ -0,0 +1,65 @@ +From 9d931b5e013475be5733fc92bd105b3a691a4097 Mon Sep 17 00:00:00 2001 +From: Giovanni Campagna <gcampagna@src.gnome.org> +Date: Fri, 30 Nov 2012 15:05:38 +0000 +Subject: MessageTray: fix notification height expansion + +MessageTray._tween removes all tweens now, so it removes also +those setting the height to expanded for critical notifications. + +This is a regression from 1a27d7dfc02c06bd0ccf4258a9108207b8832ce4 + +https://bugzilla.gnome.org/show_bug.cgi?id=689295 +--- +diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js +index ce61e25..ef0cc02 100644 +--- a/js/ui/messageTray.js ++++ b/js/ui/messageTray.js +@@ -2200,40 +2200,28 @@ const MessageTray = new Lang.Class({ + _updateShowingNotification: function() { + this._notification.acknowledged = true; + +- Tweener.removeTweens(this._notificationWidget); +- + // We auto-expand notifications with CRITICAL urgency. +- // We use Tweener.removeTweens() to remove a tween that was hiding the notification we are +- // updating, in case that notification was in the process of being hidden. However, +- // Tweener.removeTweens() would also remove a tween that was updating the position of the +- // notification we are updating, in case that notification was already expanded and its height +- // changed. Therefore we need to call this._expandNotification() for expanded notifications +- // to make sure their position is updated. +- if (this._notification.urgency == Urgency.CRITICAL || this._notification.expanded) ++ if (this._notification.urgency == Urgency.CRITICAL) + this._expandNotification(true); + + // We tween all notifications to full opacity. This ensures that both new notifications and + // notifications that might have been in the process of hiding get full opacity. + // +- // We tween any notification showing in the banner mode to banner height +- // (this._notificationWidget.y = -this._notificationWidget.height). ++ // We tween any notification showing in the banner mode to the appropriate height ++ // (which is banner height or expanded height, depending on the notification state) + // This ensures that both new notifications and notifications in the banner mode that might +- // have been in the process of hiding are shown with the banner height. ++ // have been in the process of hiding are shown with the correct height. + // + // We use this._showNotificationCompleted() onComplete callback to extend the time the updated + // notification is being shown. +- // +- // We don't set the y parameter for the tween for expanded notifications because +- // this._expandNotification() will result in getting this._notificationWidget.y set to the appropriate +- // fully expanded value. ++ + let tweenParams = { opacity: 255, ++ y: -this._notificationWidget.height, + time: ANIMATION_TIME, + transition: 'easeOutQuad', + onComplete: this._showNotificationCompleted, + onCompleteScope: this + }; +- if (!this._notification.expanded) +- tweenParams.y = -this._notificationWidget.height; + + this._tween(this._notificationWidget, '_notificationState', State.SHOWN, tweenParams); + }, +-- +cgit v0.9.0.2 |