gnome-shell/js/ui
Marina Zhurakhinskaya afd3b76970 Fix various details of how notifications are shown
This patch ensures the following notifications behavior:
- Urgent notifications that have long title or banner text are auto-expanded
  correctly.
- Single-line notifications that have _expandNotification() called (e.g.
  because the user mouses over to them), are treated as expanded, which means
  they get fully expanded if they are updated with more content and the user
  can escape them.
- The position of expanded notifications is updated when they are updated.
- Notification banner is shown again on the first line if it can fully fit
  there after a notification is updated, even if it was previously hidden
  because the notification was expanded and the old banner did not fully fit.
- New notifications are immediately hidden if the user mouses away from them.
- If a new notification is updated while it is shown, we extend the time it
  will be shown.
- If a new notification is updated while it is hiding, we stop hiding it and
  show it again.
- If a summary notification is updated while it is hiding, we let it finish
  hiding and show a new notification with the updated information.

Implementation details:
- Single-line notifications now have 4px bottom padding instead of 8px, which
  means that their height matches the tray height, they are fully shown in the
  banner mode, and don't pop out by 4px when the notification is expanded.
- Notification keeps a flag that indicates whether it is expanded, updates
  its expanded look when it is updated, and emits an 'expanded' signal
  indicating that its layout has possibly changed. The message tray connects
  to this 'expanded' signal when it is showing a notification in the expanded
  state and updates the position of the notification accordingly when this
  signal is received so that the notification is fully shown. This is better
  than connecting to 'notify::height' signal on the notification bin, since
  it results in fewer callbacks.

https://bugzilla.gnome.org/show_bug.cgi?id=617209
2010-09-10 15:47:12 -04:00
..
altTab.js [AltTab] fix Alt-Shift-Tab again 2010-08-30 12:28:00 -04:00
appDisplay.js [DND] change cursor when dragging 2010-09-10 06:00:28 +04:00
appFavorites.js fix "undo remove from favorites" 2010-07-20 16:24:24 +04:00
boxpointer.js Clean up unused includes 2010-07-19 01:46:01 +02:00
calendar.js [Calendar] Fix wrong start date in corner case 2010-08-02 16:48:10 +02:00
chrome.js Clean up unused includes 2010-07-19 01:46:01 +02:00
dash.js Make it possible to register new search providers for the dash after it has been created. 2010-08-19 18:04:30 -04:00
dnd.js [DND] change cursor when dragging 2010-09-10 06:00:28 +04:00
docDisplay.js Clean up unused includes 2010-07-19 01:46:01 +02:00
environment.js Drop custom ClutterActor.contains 2010-08-10 08:41:50 +02:00
extensionSystem.js Clean up unused includes 2010-07-19 01:46:01 +02:00
genericDisplay.js Clean up unused includes 2010-07-19 01:46:01 +02:00
lightbox.js Clean up unused includes 2010-07-19 01:46:01 +02:00
link.js Clean up unused includes 2010-07-19 01:46:01 +02:00
lookingGlass.js introspection: Fix use of pango_font_description_from_string() 2010-09-08 15:37:33 +02:00
magnifier.js Bug 622414 - Port magnifier to GSettings 2010-09-10 16:38:09 +02:00
magnifierDBus.js Some Magnifier DBus methods incorrectly interpret rectangles. 2010-09-10 12:03:40 -04:00
main.js Clean up unused includes 2010-07-19 01:46:01 +02:00
Makefile.am Resolve cyclic dependency on StatusMenu 2010-07-13 11:58:13 -04:00
messageTray.js Fix various details of how notifications are shown 2010-09-10 15:47:12 -04:00
notificationDaemon.js Use 'customContent' flag instead of 'bannerBody' 2010-08-31 13:47:10 -04:00
overview.js [Overview] Fix zoom when dragging items from the dash 2010-08-21 11:25:20 +02:00
panel.js [panel] Add a style class while the overview is active 2010-08-20 12:06:48 +02:00
panelMenu.js Add API for system status indicators 2010-07-21 12:31:06 -04:00
placeDisplay.js [search] Use 'AND' instead of 'OR' on search terms 2010-08-18 23:59:27 +02:00
popupMenu.js Fix typo inside Switch class 2010-07-22 12:49:48 -04:00
runDialog.js Clean up unused includes 2010-07-19 01:46:01 +02:00
scripting.js Clean up unused includes 2010-07-19 01:46:01 +02:00
search.js [search] Use 'AND' instead of 'OR' on search terms 2010-08-18 23:59:27 +02:00
shellDBus.js Clean up unused includes 2010-07-19 01:46:01 +02:00
statusMenu.js Clean up unused includes 2010-07-19 01:46:01 +02:00
telepathyClient.js Use 'customContent' flag instead of 'bannerBody' 2010-08-31 13:47:10 -04:00
tweener.js Move Tweener.slowDownFactor into St 2010-06-21 16:19:25 +02:00
windowAttentionHandler.js Use 'customContent' flag instead of 'bannerBody' 2010-08-31 13:47:10 -04:00
windowManager.js Clean up unused includes 2010-07-19 01:46:01 +02:00
workspace.js [DND] change cursor when dragging 2010-09-10 06:00:28 +04:00
workspacesView.js [DND] change cursor when dragging 2010-09-10 06:00:28 +04:00
workspaceSwitcherPopup.js Fade in alt-tab popup, adjust timings 2010-06-16 20:55:26 +02:00