GNOME Bugzilla – Bug 744850
Turn the message tray upside down
Last modified: 2015-02-20 17:27:26 UTC
Well, not quite. But moving notification banners to the top *is* part of the redesign ...
Created attachment 297366 [details] [review] messageTray: Remove the summary The notification list in the calendar drop-down now functions as summary area, so we can drop it from the message tray and remove a lot of complexity from the state machine.
Created attachment 297367 [details] [review] windowManager: Take over <super>m keybinding to toggle calendar It's where all the fun is happening nowadays ...
Created attachment 297368 [details] [review] messageTray: Remove UI bits from Source Since the summary area was removed from the message tray, Source are not longer represented in the UI, so right-click menus and summary icons are no longer a thing.
Created attachment 297369 [details] [review] messageTray: Remove mute support It was a nice feature, but with sources no longer being represented in the UI, there is no longer a way for users to make use of it. If we want to bring the feature back in the future, it would probably make more sense to implement via the chat source's policy anyway.
Created attachment 297370 [details] [review] messageTray: Remove _lastNotificationRemoved() No Source subclass used it to do anything special, and with sources no longer having any UI representation on their own, doing anything else isn't useful either, so just kill off that hook.
Created attachment 297371 [details] [review] messageTray: Remove summary notification Using a "There are too many notifications" notification is a bit odd, and we will address the issue differently soon. So rather than update the notification to do something else than opening the mostly empty and useless tray when clicked, remove it altogether.
Created attachment 297372 [details] [review] overviewControls: Remove message indicator The message tray is now empty and about to be removed, so an indication at the bottom edge of the overview becomes an odd location to convey the status of the summary. We will eventually display an indication in the top bar that unseen messages are available, for now just remove the existing indicator.
Created attachment 297373 [details] [review] messageTray: Remove the bottom tray It no longer does anything useful by now, so kill it off. Even more complexity gone, yay!
Created attachment 297374 [details] [review] messageTray: Simplify the actor hierarchy a bit With no more tricky interaction between bottom tray and notification banners, we can merge the remaining actors into a single one.
Created attachment 297375 [details] [review] messageTray: Notify when notifications are acknowledged Source::count-updated is emitted as notifications are added or removed, which is correct for the primary notification count. However it is not for the unseen count, which will also change when a notification is acknowledged without being removed. At the moment this does not matter, as the unseen count is only used on the screen shield and notifications are never acknowledged while the screen is locked. However we will soon use the unseen count in the normal session as well, so emit the signal in this case too.
Created attachment 297376 [details] [review] dateMenu: Show indicator for messages that skipped banner mode The summary may contain notifications that have not been seen by the user and won't be shown as banner. Currently this is only the case for resident notifications that are emitted by the focused app, but it will become more common as we will start limiting the number of queued notifications. Indicate to the user that more notifications are available by displaying a small dot in the top bar button.
Created attachment 297377 [details] [review] messageTray: Skip banner mode when queue exceeds a threshold We want to shield users from being overloaded by an overwhelming stream of notification banners, either due to coming back from idle/lock or because an application is misbehaving. Previously we replaced all queued notifications with a summary notification in that case, but now that notifications appear in the summary immediately, we can simply stop adding them to the queue and rely on the date menu to convey that information to the user.
Created attachment 297378 [details] [review] messageTray: Limit number of notifications per source While applications can no longer spam the users with a constant stream of banner notifications, it is still possible to drown the summary in the message list. Avoid this by limiting the number of notifications a single source is allowed to display simultaniously. test-xy-stress in libnotify's tests suddenly became fun again ...
Created attachment 297379 [details] [review] messageTray: Work around glitches with hover tracking St's hover tracking uses ClutterInputDevice, which unfortunately may use an outdated cursor position to determine which actor is hovered. Using MetaCursorTracker instead would fix this, but would require linking St with libmutter - avoid this for now by manually fixing up Clutter's view of the pointer position in the case where we rely on it working properly.
Created attachment 297380 [details] [review] layout: Add MonitorConstraint:work-area property Occasionally it makes sense to constrain to a monitor's work-area rather than the entire monitor, so implement that behavior and add a property to turn it on.
Created attachment 297381 [details] [review] layout: Add back affectsInputRegion It was removed as actors that should not affect the input region can simply be added to the uiGroup instead. However the property is useful to add non-reactive chrome, but then use trackChrome() to add a child to the input region. This reverts commit e62d22a50ed8aa25de988fb3c389b999e42f2eac.
Created attachment 297382 [details] [review] messageTray: Move notification banners to the top The new design has banners appear from underneath the panel, so move them to the top and clip them to the work area.
Created attachment 297383 [details] [review] layout: Don't offset trayBox when panel is hidden The panel is not visible when in fullscreen, but critical notifications may still be shown - having them pop out from where the panel would be looks unpolished, so adjust the trayBox accordingly.
Created attachment 297384 [details] [review] dateMenu: Block notification banners while the calendar is open The new banner position interferes with the calendar drop-down. Resolve this by blocking banners while the calendar is shown.
Created attachment 297388 [details] [review] messageTray: Move notification banners to the top (Some tweaks to banner style)
Review of attachment 297366 [details] [review]: yes please =)
Review of attachment 297367 [details] [review]: sure
Review of attachment 297368 [details] [review]: kill it
Review of attachment 297369 [details] [review]: we will figure it out if needed
Review of attachment 297370 [details] [review]: yep
Review of attachment 297371 [details] [review]: right
Review of attachment 297372 [details] [review]: ok
Review of attachment 297373 [details] [review]: yay, love seeing less complexity ::: js/ui/layout.js @@ -460,3 @@ - MESSAGE_TRAY_PRESSURE_TIMEOUT, - Shell.ActionMode.NORMAL | - Shell.ActionMode.OVERVIEW); We are not using Layout import now, you can remove it as well.
Review of attachment 297374 [details] [review]: yep
Review of attachment 297375 [details] [review]: Ok
Review of attachment 297376 [details] [review]: ::: js/ui/dateMenu.js @@ +225,3 @@ + + _init: function() { + this.actor = new St.Label({ text: '⚫', visible: false, y_expand: true, I would use a icon, like we do for the arrows. In that way we don't depend on the font. Let's do this after releasing.
Review of attachment 297377 [details] [review]: yep
Review of attachment 297378 [details] [review]: OK for now, we will figure it out what to do with chat notifications or so
Review of attachment 297379 [details] [review]: no idea about this...I trust you =)
Review of attachment 297380 [details] [review]: useful
Review of attachment 297381 [details] [review]: I would trust you here as well
Review of attachment 297383 [details] [review]: yep
Review of attachment 297384 [details] [review]: Ok
Review of attachment 297388 [details] [review]: In classic is not working at all, but let's fix that after release.
(In reply to Carlos Soriano from comment #33) > OK for now, we will figure it out what to do with chat notifications or so There's nothing to figure out here really, chat uses 1 source per contact and 1 notification per source. There *are* plenty issues with chat, but this is not one of them :-)
(In reply to Carlos Soriano from comment #39) > Review of attachment 297388 [details] [review] [review]: > > In classic is not working at all, but let's fix that after release. The window-list extensions needs to stop messing with the tray. I do have a patch locally for that.
Attachment 297366 [details] pushed as 06586eb - messageTray: Remove the summary Attachment 297367 [details] pushed as 08d2e61 - windowManager: Take over <super>m keybinding to toggle calendar Attachment 297368 [details] pushed as 485cd0f - messageTray: Remove UI bits from Source Attachment 297369 [details] pushed as b81be42 - messageTray: Remove mute support Attachment 297370 [details] pushed as 9c9da8a - messageTray: Remove _lastNotificationRemoved() Attachment 297371 [details] pushed as f2d0fca - messageTray: Remove summary notification Attachment 297372 [details] pushed as 4a70979 - overviewControls: Remove message indicator Attachment 297373 [details] pushed as 830b455 - messageTray: Remove the bottom tray Attachment 297374 [details] pushed as 77413fe - messageTray: Simplify the actor hierarchy a bit Attachment 297375 [details] pushed as 1ef5281 - messageTray: Notify when notifications are acknowledged Attachment 297376 [details] pushed as d6eea0e - dateMenu: Show indicator for messages that skipped banner mode Attachment 297377 [details] pushed as 8c72c93 - messageTray: Skip banner mode when queue exceeds a threshold Attachment 297378 [details] pushed as 4eff643 - messageTray: Limit number of notifications per source Attachment 297379 [details] pushed as d903e83 - messageTray: Work around glitches with hover tracking Attachment 297380 [details] pushed as faf0003 - layout: Add MonitorConstraint:work-area property Attachment 297381 [details] pushed as aedc242 - layout: Add back affectsInputRegion Attachment 297383 [details] pushed as f6c84d6 - layout: Don't offset trayBox when panel is hidden Attachment 297384 [details] pushed as 8032e67 - dateMenu: Block notification banners while the calendar is open Attachment 297388 [details] pushed as e189a34 - messageTray: Move notification banners to the top