Une particularité du bureau gnome 2.14 est qu'il utilise un nouveau système de notification. Alors qu'est ce que c'est ? c'est grosso modo le truc qui vous informe de ce qu'il se passe sur votre PC (attention batterie faible, plus d'espace disque ...). Ca s'appelle notification framework (regardez ici ils en cosent !)

Nonobstant la longueur des recherches, j'ai trouvé un certain nombre de choses que voici :

#!/usr/bin/env python
import dbus
 
interface = 'org.freedesktop.Notifications'
path = '/org/freedesktop/Notifications'
bus = dbus.SessionBus()
obj = bus.get_object('org.freedesktop.DBus', '/org/freedesktop/DBus')
dbus_iface = dbus.Interface(obj, 'org.freedesktop.DBus')
avail = dbus_iface.ListNames()
print avail
print interface in avail
obj = bus.get_object(interface, path)
print dbus.Interface(obj, interface)
print dbus
print dir(dbus)

Donc voila une classe qui va bien et qui fait ce que je veux :

#!/usr/bin/env python
 
import dbus
 
class Notification:
 
        def __init__(self):
                self.app_name = ""
                self.replaces_id = 0
                self.app_icon = ""
                self.summary = ""
                self.body = ""
                self.actions = []
                self.hints = {}
                self.expire_timeout = 1000
 
                try:
                        session_bus = dbus.SessionBus()
                        obj = session_bus.get_object("org.freedesktop.Notifications","/org/freedesktop/Notifications")
                        self.interface = dbus.Interface(obj, "org.freedesktop.Notifications")
                except Exception:
                        self.interface = None
 
        def setAppName(self, app_name):
                self.app_name = app_name
 
        def setReplacesId(self, replaces_id):
                self.replaces_id = replaces_id
 
        def setIcon(self, app_icon):
                self.app_icon = app_icon
 
        def setSummary(self, summary):
                self.summary = summary
 
        def setBody(self, body):
                self.body = body
 
        def addAction(self, action):
                t.append(action)
 
        def addHint(self, hint):
                pass # TODO
 
        def setTimeout(self, expire_timeout):
                self.expire_timeout = expire_timeout * 1000
 
        def setMSTimeout(self, expire_timeout):
                self.expire_timeout = expire_timeout
 
        def notify(self):
                self.interface.Notify(self.app_name, self.replaces_id, self.app_icon, self.summary, self.body, self.actions, self.hints, self.expire_timeout)
 
notif = Notification()
notif.setAppName("AppliTest")
notif.setSummary("Notification quand tu nous tiens")
notif.setBody("Voici mon premier test on va faire un texte un temps soit peu long pour voir comment se comporte la boite quand le texte est long ... un texte court n'aurait peut etre pas donne le meme effet !!!")
notif.setIcon("/usr/share/pixmaps/vlc.png")
notif.setTimeout(7)
notif.notify()

et son résultat prometeur vous allez constater par vous même :

La prochaine étape étant de rajouter les fonctionnalités de Hint et d'Actions qui vont bien, programmer tout ça correctement, utiliser les fonctionalités offertes par galago qui ont l'air d'être assez nombreuses ... mais si j'avance dans tout ça je complèterai !!! En attendant ça nous fait a tous une bonne base de départ !