Difference between revisions of "Features/Notification System"
(Created page with "== Summary == This adds a simple notification system for sugar that can be used in activities and by the system/ == Owner == * Name: SAMdroid * Email: sam...") |
|||
(10 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
+ | [[Category:FeatureLanded|Notification System]] | ||
== Summary == | == Summary == | ||
− | This adds a simple notification system for sugar that can be used | + | This adds a simple messages notification system for sugar that can be used by the system, journal and activities notifications. |
== Owner == | == Owner == | ||
− | * Name: [[User: | + | * Name: [[User:SAMdroid|SAMdroid]] |
* Email: sam.parkinson3@gmail.com | * Email: sam.parkinson3@gmail.com | ||
+ | |||
+ | * Name: [[User:tch|tch]] | ||
+ | * Email: tch@sugarlabs.org | ||
== Current status == | == Current status == | ||
− | * Targeted release: | + | * Targeted release: 0.102 |
* Last updated: 8th of Feb | * Last updated: 8th of Feb | ||
* Percentage of completion: 90% | * Percentage of completion: 90% | ||
== Detailed Description == | == Detailed Description == | ||
− | + | [[File:Notifications-001.png | thumb | center | 640px | | |
− | + | ||
− | + | When a notification is received it displays a pulsing icon, that is specified as part of | |
− | + | ||
+ | the notification, at the top left corner of the screen. This icon stays in there for just | ||
+ | |||
+ | a few seconds.]] | ||
+ | |||
+ | [[File:Notifications-002.png | thumb | center | 640px | | ||
+ | |||
+ | The received notification can be found at the activities tray. It is represented by a button with a | ||
+ | |||
+ | notification badge.]] | ||
+ | |||
+ | [[File:Notifications-003.png | thumb | center | 640px | | ||
+ | |||
+ | The button's palette displays, at the bottom of the palette, all the notifications that are related to the same entity. | ||
+ | |||
+ | Entities can be basically anything, ie., the journal, activities or even scripts running in background.]] | ||
+ | |||
+ | [[File:Notifications-004.png | thumb | center | 640px | | ||
+ | |||
+ | Every notification must belong to an entity. If one notification is sent, that notification | ||
+ | |||
+ | should create a new icon if and only if there is not a previous icon for the same entity.]] | ||
+ | |||
+ | [[File:Notifications-005.png | thumb | center | 640px | | ||
+ | |||
+ | If one entity receives more than 5 notifications, scrolling will be used to limit the space.]] | ||
+ | |||
+ | [[File:Notifications-006.png | thumb | center | 640px | | ||
+ | |||
+ | The notification summary and body are limited in width, only 70 characters will be displayed.]] | ||
== Benefit to Sugar == | == Benefit to Sugar == | ||
− | This would be nice for chat, calenders. | + | This would be nice for chat, calenders, and any other kind of even that the user should be aware |
− | It would help bring us into line with the other desktop environs. | + | of. It would help bring us into line with the other desktop environs. |
== Scope == | == Scope == | ||
− | The | + | The current implementation covers most the building blocks that are required for journal, activities |
− | + | and system message notifications. At the moment, only system messages are implemented, using these | |
− | + | same building blocks. | |
==UI Design== | ==UI Design== | ||
− | + | [[Design Team/Proposals/Notifications]] | |
== How To Test == | == How To Test == | ||
− | + | For system notifications you can run this script, ie., from Terminal activity: | |
− | |||
− | |||
− | |||
− | |||
− | For system notifications you can run this | ||
import dbus | import dbus | ||
Line 44: | Line 72: | ||
notify_obj = bus.get_object(BUS_NAME,OBJ_PATH) | notify_obj = bus.get_object(BUS_NAME,OBJ_PATH) | ||
notifications = dbus.Interface(notify_obj,IFACE_NAME) | notifications = dbus.Interface(notify_obj,IFACE_NAME) | ||
− | notifications.Notify(" | + | notifications.Notify("Software Update", 0, "", "New activities are available!", "Please check your activities list", [], {'x-sugar-icon-name': 'module-updater'}, -1) |
− | + | ||
+ | From activities you can use this simplified method, (Gtk3 is required): | ||
+ | |||
+ | self.notify_user('This is the summary','This is a much longer body... describing something...') | ||
== User Experience == | == User Experience == | ||
− | + | These messages notifications should not distract the user, as they are displayed in each notification area. | |
== Contingency Plan == | == Contingency Plan == | ||
WORK HARDER | WORK HARDER | ||
− | |||
− | |||
− | |||
== Comments and Discussion == | == Comments and Discussion == | ||
http://lists.sugarlabs.org/archive/sugar-devel/2014-February/047096.html | http://lists.sugarlabs.org/archive/sugar-devel/2014-February/047096.html |
Latest revision as of 07:00, 18 July 2014
Summary
This adds a simple messages notification system for sugar that can be used by the system, journal and activities notifications.
Owner
- Name: SAMdroid
- Email: sam.parkinson3@gmail.com
- Name: tch
- Email: tch@sugarlabs.org
Current status
- Targeted release: 0.102
- Last updated: 8th of Feb
- Percentage of completion: 90%
Detailed Description
Benefit to Sugar
This would be nice for chat, calenders, and any other kind of even that the user should be aware of. It would help bring us into line with the other desktop environs.
Scope
The current implementation covers most the building blocks that are required for journal, activities and system message notifications. At the moment, only system messages are implemented, using these same building blocks.
UI Design
Design Team/Proposals/Notifications
How To Test
For system notifications you can run this script, ie., from Terminal activity:
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("Software Update", 0, "", "New activities are available!", "Please check your activities list", [], {'x-sugar-icon-name': 'module-updater'}, -1)
From activities you can use this simplified method, (Gtk3 is required):
self.notify_user('This is the summary','This is a much longer body... describing something...')
User Experience
These messages notifications should not distract the user, as they are displayed in each notification area.
Contingency Plan
WORK HARDER
Comments and Discussion
http://lists.sugarlabs.org/archive/sugar-devel/2014-February/047096.html