Siglaunchd

De openmoko-fr.


Ce logiciel est en fait un service qui écoute tous les signaux dbus et permet de lancer des actions par type de signal via des commandes listées dans son fichier de configuration. Ce logiciel est donc compatible seulement avec les systèmes basés sur dbus, comme FSO et SHR

Cette page est inspirée de la page officielle du wiki anglophone : Page officielle

Installation

Il faut installer la dernière version du logiciel, qui est disponible à la page suivante : voir les fichiers

Pour configurer Siglaunchd, il faut modifier le fichier de configuration suivant :

/home/root/siglaunchd.conf

Principe et scénarios d'utilisation

  • Lors de l'installation du logiciel, un service est créé et lancé au démarrage du téléphone. C'est le service
/etc/init.d/siglaunchd

sur lequel on peut appliquer les classiques "start", "stop" et "restart"

  • Ce service écoute les signaux dbus, comme le fait la commande
mdbus -l -s

et cherche dans le fichier de configuration si une commande doit être lancée sur chaque signal. Dans le fichier de configuration, on peut spécifier des "filtres" en fonction des arguments des signaux dbus. Par exemple, ne lancer une commande que si le numéro de téléphone de l'appel entrant commence par +336.

Avec ce type de logiciel, on peut donc faire des choses très intéressantes :

  • lancer des applications sur appui des boutons Aux et Power (on peut configurer le temps d'appui du bouton)
  • faire un action sur réception d'un sms contenant "truc"
  • lancer une action sur réception d'un appel du numéro 0600000000
  • "demander" au freerunner d'appeler le numéro du sms qu'on lui a envoyé depuis un autre téléphone (espionnage ou écoute-bébé)
  • etc

Exemples

Pour ajouter des actions selon les signaux dbus, il faut bien connaître mdbus

Voici par exemple mon fichier de configuration qui tourne sous SHR testing

#AUX moyen --> dialer
"DISPLAY=:0.0 /usr/bin/openmoko-dialer"=org.freesmartphone.Device.Input;org.freesmartphone.oeventsd;/org/freesmartphone/Device/Input;Event;arg[0]=AUX,arg[1]=released,arg[2]>0, arg[2]<2

#AUX long --> terminal
"DISPLAY=:0.0 /usr/bin/vala-terminal"=org.freesmartphone.Device.Input;org.freesmartphone.oeventsd;/org/freesmartphone/Device/Input;Event;arg[0]=AUX,arg[1]=released,arg[2]>1

#POWER moyen --> shortom
"DISPLAY=:0.0 PYTHONPATH=/usr/lib/python2.5/site-packages/shortom shortom-bin"=org.freesmartphone.Device.Input;org.freesmartphone.oeventsd;/org/freesmartphone/Device/Input;Event;arg[0]=POWER, arg[1]=released, arg[2]>0, arg[2]<2

#POWER long --> shr-settings
"DISPLAY=:0.0 /usr/bin/shr-settings"=org.freesmartphone.Device.Input;org.freesmartphone.oeventsd;/org/freesmartphone/Device/Input;Event;arg[0]=POWER, arg[1]=released, arg[2]>1

#Sur réception d'un appel provenant de 0122334455, enregistrer l'heure d'appel et le numéro (avec le $2 )
"DISPLAY=:0.0 echo $(date +%Y-%m-%d_%H-%M-%S) $2 > /home/root/calls_from_toto.txt"=org.freesmartphone.GSM.Call;org.freesmartphone.ogsmd;/org/freesmartphone/GSM/Device;CallStatus;arg[1]=incoming, arg[2][peer]~0122334455