Features/Messages Notification

From Sugar Labs
< Features
Revision as of 17:51, 15 November 2010 by Tch (talk | contribs)
Jump to navigation Jump to search


Summary

The current icons-only notification system is generally ineffective to fully communicate different kind of system events. This feature provides a set of extensions to the current system to display simple text messages.

This feature will be use for especial events and messages communications, it is not intended to replace the current logging system and Log activity viewer.

Owner

Current status

  • Targeted release: (0.9x)
  • Percentage of completion: 25% (Design - prototyping)

Detailed Description

  • This feature requires a some re-factoring of jarabe.frame.notification(NotificationIcon, NotificationWindow) widgets.
  • Also, requires minimal extensions to jarabe.frame.frame(Frame) to extract the text information from the current notifications.
  • Plus, since the current notifications can't show up for long periods of time (to avoid visual spam) a new tray bar needs to be added to the frame.

Benefit to Sugar

Messages notification capabilities, useful in many different scenarios.

Scope

sugar/src/jarabe/frame/frame.py

sugar/src/jarabe/frame/notification.py

sugar/src/jarabe/frame/notificationstray.py (new file)

sugar/src/jarabe/frame/Makefile.am

UI Design

Notification icons show up as usual, when clicking on icons a palette will show up with summary and body information. A new horizontal tray is added in the left side of the bottom frame, this works as a historical registry of current session notifications.

Notif-status0.png Notif-status1.png Notif-status2.png Notif-status3.png Notif-status4.png Notif-status5.png

How To Test

Running this python script should work (provided by Gonzalo Odiard):

 import dbus
 BUS_NAME = 'org.freedesktop.Notifications'
 OBJ_PATH = '/org/freedesktop/Notifications'
 IFACE_NAME = 'org.freedesktop.Notifications'
 bus = dbus.SessionBus()
 notify_obj = bus.get_object(BUS_NAME,OBJ_PATH)
 notifications = dbus.Interface(notify_obj,IFACE_NAME)
 notifications.Notify("HelloWorld",0,,"Summary","Body",[],{},-1)

User Experience

1. User notice the notification pulsing icon.

2. User click on the icon to read its message.

Dependencies

None

Contingency Plan

Work harder.

Documentation

None

Release Notes

Nothing to be released (yet).

Comments and Discussion

Please follow the DESIGN discussion at the sugar-devel list.