Bonjour,
Voilà j'ai réussi à modifier les scripts pour la notification aquatique qui se trouvé sur ce topic pour qu'il ne tienne qu'en un seul script :
http://forum.ubuntu-fr.org/viewtopic.php?id=81811&p=1
La notification aquatique permet d'avoir une vague qui part de l'icone du programme qui est dans la zone de notification lorsque l'on recoit un message sur emesene ou pidgin par exemple.
#!/bin/sh
WINFO=`xwininfo -root -tree | grep "$1" | egrep ' ([0-9][0-9])x([0-9][0-9])\+0\+0' | cut -d ')' -f 2-`
WINFO=`echo $WINFO | cut -d 'x' -f 2-`
WINFO=`echo $WINFO | cut -d '+' -f 2-`
WINFO=`echo $WINFO | cut -d '0' -f 2-`
WINFO=`echo $WINFO | cut -d '0' -f 2-`
WIX=`echo $WINFO | cut -d '+' -f 2`
WIY=`echo $WINFO | cut -d '+' -f 3`
WIX=`expr $WIX + 10`
WIY=`expr $WIY + 10`
dbus-send --type=method_call --dest=org.freedesktop.compiz /org/freedesktop/compiz/water/allscreens/point org.freedesktop.compiz.activate string:'root' int32:`xwininfo -root | grep id: | awk '{ print $4 }'` string:'amplitude' double:1000 string:'x' int32:$WIX string:'y' int32:$WIY
volume_actuel=`amixer get PCM | egrep '[0-9][0-9]%' |cut -d '[' -f 2 | sed 2d | sed s/]//g`
amixer set PCM 40%
aplay /home/mic/Musique/bruitage/ocean5.wav
amixer set PCM $volume_actuel
Ce programme trouve l'endroit où se trouve l'icone du programme par lequel on veut envoyer la vague et stock ces coordonée dans WIX et WIY.
Ensuite il envoie une vague a cette endroit.
Pour donner un peu plus de réalisme on envoie un son quasi en même temps. Pour lancer le son de la vague toujours au même volume sonore on enregistre le volume actuelle, on met le volume par exemple ici à 40% , on lance le son puis on remet le son au niveau d'avant. 😃
Le son que j'utilise je l'ai pris ici:
http://www.sound-fishing.net/bruitages/ambiance/OCEAN5.WAV
Vous pouvez appeler ce programme water_notification.
Effectuer les modifications en mettant l'endroit où est votre fichier et si vous ne voulez pas lancer de son en même temps vous pouvez supprimer les 4 dernière lignes du programme.
Maintenant il faut le mettre dans un dossier du PATH en faisant par exemple si votre fichier est dans votre home:
sudo cp water_notification /usr/local/bin/water_notification
maintenant il faut le rendre executable avec un petit :
sudo chmod +x /usr/local/bin/water_notification
Pour l'exécuter vous ouvrez une console et tapez water_notification
Là le programme envoie une vague à partir du coin supérieur gauche. Il faut donc lui spécifier en argument le nom de l'icone qui est dans la zone de notification.
Pour emesene c'est : Controller
Pour pidgin c'est: pidgin
Pour gajim c'est: gajim
Il faut donc avoir emesene ou pidgin d'ouvert si l'on veut executer maintenant le programme:
water_notification Controller
Pour ceux qui utilise pidgin il suffit d'aller dans Outils | Preferences | Sons
puis choisir comme methode Commande et dans commande pour le son mettre
water_notification pidgin
Pour ceux qui sont sur emesene cela ne va pas être aussi simple mais heureusement j'ai une solution:
Alors sous emesene il n'y a pas de plugin qui permet de lancer une commande lorsque on reçoit un message ou autre a ma connaissance. Il y a juste le plugin Son. Celui-ci permet de lancer un son selon les preferences que l'on etablie en faisant:
Options | Plugins | Son | Propriétés
En attendant de mettre en place un véritable plugin j'ai modifié le fichier de ce plugin afin d'exécuter un programme. Le fichier a modifier est /usr/share/emesene/plugins_base/Sound.py.
Avant tout une petite sauvegarde:
sudo cp /usr/share/emesene/plugins_base/Sound.py /usr/share/emesene/plugins_base/Sound.py.backup
Fermer le programme emesene avant toute modification.
Maintenant nous allons modifier quelques lignes du programme:
gksudo gedit /usr/share/emesene/plugins_base/Sound.py
L'indentation est importante en python, les modification doivent être faite exactement à l'alignement où sont déjà les commandes dans le fichier.
Modifier:
ligne 195
self.sound.play(self.sound_theme, 'online')
ligne 212
self.sound.play(self.sound_theme, 'type')
ligne 214
self.sound.play(self.sound_theme, 'type')
ligne 222
self.sound.play(self.sound_theme, 'nudge')
ligne 230
self.sound.play(self.sound_theme, 'send')
par
os.spawnlp(os.P_NOWAIT,"water_notification","water_notification","Controller")
Voilà maintenant emesene va emettre des vagues à partir de son icone selon les options que vous avez cocher dans le plugin Son .
Je ne peux pas encore dire si ces modifications persiste après une mise à jour de emesene.
J'espère pouvoir créer une véritable interface afin d'exécuter différente commande selon les evenements.
Voilà j'espère que vous aussi vous allez appréciez ce doux son des vagues lorsque vous recevez des messages ^^
EDIT du 4 mars 2008 : amélioration de la commande regex pour que ça marche avec gajim