Go to file
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
.settings Convert all JS style to be uniform, add Eclipse settings bits 2008-11-28 20:12:20 +00:00
data Fix various details of how notifications are shown 2010-09-10 15:47:12 -04:00
js Fix various details of how notifications are shown 2010-09-10 15:47:12 -04:00
man Distribute manual page 2010-02-22 22:09:50 -05:00
po Updated Polish translation 2010-09-09 19:52:30 +02:00
src add shell_global_[un]set_cursor 2010-09-10 05:58:19 +04:00
tests [format] Add 'x' format specifier and field width 2010-06-24 15:54:54 +02:00
tools build: clutter deps on atk 2010-09-09 18:31:40 -04:00
.gitignore Migrate to GSettings 2010-06-18 20:27:41 +02:00
.project Convert all JS style to be uniform, add Eclipse settings bits 2008-11-28 20:12:20 +00:00
AUTHORS Initial commit 2008-10-31 04:22:44 +00:00
autogen.sh Modernize autotools configuration 2010-02-11 21:02:21 +01:00
configure.ac Fix build with recent gtk3 2010-09-09 18:34:09 +04:00
COPYING Initial commit 2008-10-31 04:22:44 +00:00
gnome-shell.doap Add README and DOAP file 2009-09-04 15:23:13 -04:00
MAINTAINERS Initial commit 2008-10-31 04:22:44 +00:00
Makefile.am (revert autobuilder test break) 2010-03-01 13:34:20 -05:00
README Add README and DOAP file 2009-09-04 15:23:13 -04:00

GNOME Shell provides core user interface functions for the GNOME 3 desktop,
like switching to windows and launching applications. GNOME Shell takes
advantage of the capabilities of modern graphics hardware and introduces
innovative user interface concepts to provide a visually attractive and
easy to use experience.

For more information about GNOME Shell, including instructions on how
to build GNOME Shell from source and how to get involved with the project,
see:

 http://live.gnome.org/GnomeShell

Bugs should be reported at http://bugzilla.gnome.org against the 'gnome-shell'
product.

License
=======
GNOME Shell is distributed under the terms of the GNU General Public License,
version 2 or later. See the COPYING file for details.