Changes

Jump to navigation Jump to search
no edit summary
Line 1: Line 1:  
<noinclude>{{TOCright}}
 
<noinclude>{{TOCright}}
 
[[Category:Feature Page Incomplete]]
 
[[Category:Feature Page Incomplete]]
[[Category:Feature|Messages Notification]]
+
[[Category:FeatureObsoleted|Messages Notification]]
 
</noinclude>
 
</noinclude>
   Line 10: Line 10:     
== Owner ==
 
== Owner ==
* Name: [[User:tch|Martin Abente]]
+
* Name: [[User:tch|Martin Abente]], [[User:ajay|Ajay Garg]] (internet-links in notifications)
* Email: <tch AT sugarlabs DOT org>
+
* Email: <tch AT sugarlabs DOT org>, <ajay@activitycentral.com>
    
== Current status ==
 
== Current status ==
Line 18: Line 18:     
== Detailed Description ==
 
== Detailed Description ==
 +
* Extends our support for the [http://library.gnome.org/devel/notification-spec/ fd.o Desktop Notifications protocol]
 +
 
* This feature requires a some re-factoring of jarabe.frame.notification(NotificationIcon, NotificationWindow) widgets.
 
* This feature requires a some re-factoring of jarabe.frame.notification(NotificationIcon, NotificationWindow) widgets.
   Line 48: Line 50:  
== How To Test ==
 
== How To Test ==
 
Running this python script should work (provided by Gonzalo Odiard):
 
Running this python script should work (provided by Gonzalo Odiard):
 +
<code><pre>
 +
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)
 +
</pre></code>
 +
 +
== Internet-Links in Notifications ==
 +
*This would help in navigating to any internet-link, by simply clicking on the link.
 +
 +
 +
*There are two cases possible ::
 +
** No instance of "Browse" is open. In this case, following sequence of steps happen ::
 +
*** User clicks on the link in the notification.
 +
*** "Browse" opens (in a new window, obviously) and the URL is loaded.
 +
** There is an instance of "Browse" already open. In this case,
 +
*** User clicks on the link.
 +
*** The window gets switched to the "Browse" window (if not already).
 +
*** The URL is loaded.
 +
 +
 +
*Code changes required at the client-side ::
 +
**If the link needs to be added, with a particular text for the hyerlink, the following code needs to be written :
 +
<code><pre>  frame.add_message(body='Description', summary='First Title', link='http://www.linuxquestions.org', link_text='Click here to get answers to all your Linux questions')</pre></code>
 +
**If no special text needs to be present for the link, we can skip the "link_text" attribute :
 +
<code><pre>    frame.add_message(body='Description',summary='Second Title',link='http://www.wikipedia.org')</pre></code>
 +
 +
 +
===Notifications===
 +
[[Image:ns_1.png|640px]]
 +
 +
 +
 +
 +
 +
 +
===User clicks on a link.===
 +
[[Image:ns_2.png|640px]]
 +
 +
 +
 +
 +
 +
 +
==="Browse" opens, and URL is loaded.===
 +
[[Image:ns_3.png|640px]]
 +
 +
 +
 +
 +
 +
 +
===User switches to Neighborhood-View. ===
 +
[[Image:ns_4.png|640px]]
 +
 +
 +
 +
 +
 +
 +
===User clicks another link.===
 +
[[Image:ns_5.png|640px]]
 +
 +
 +
 +
 +
   −
  import dbus
+
===The view changes to "Browse" window (without opening a new  window), and the URL is loaded.===
  BUS_NAME = 'org.freedesktop.Notifications'
+
[[Image:ns_6.png|640px]]
  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 ==
 
== User Experience ==
628

edits

Navigation menu