Open Source im professionellen Einsatz
Linux-Magazin 02/2010
© Stihl024, Pixelio.de

© Stihl024, Pixelio.de

Perl-Skript annonciert Nachrichten mit persönlichen Klängen

Hört die Signale

Mit etwas Perl ordnet Pidgin - der Tausendsassa unter den Instant-Messaging-Clients - verschiedenen Kommunikationspartnern unterschiedliche Klänge zu und spielt sie zu eintreffenden Nachrichten ab.

550

Wer während der Arbeitszeit Instant Messaging zur Kommunikation nutzt, hat das Problem, dass die unregelmäßig eintrudelnden Nachrichten die Konzentration stören. Vieles könnte er auch liegen lassen und später bearbeiten. Doch falls ein als Gschaftlhuber bekannter Manager eine Nachricht schickt, ist schnelle Reaktion gefragt. Wie filtert man die dringlichen Nachrichten heraus?

Pidgin, ein Messaging-Client [2], der alle gängigen Kommunikationsprotokolle wie Yahoo Messenger, AOL AIM und IRC kennt, bietet so genannte Buddy Pounces an, die einem eintreffenden Ereignis eine entsprechende Aktion zuordnen. Der dafür zuständige Dialog (Abbildung 1), erreichbar über den Menüpunkt »Tools | Buddy Pounces«, erlaubt es zum Beispiel, beim Versenden einer Message (Ereignis "Sends a message") oder beim Einloggen eines bestimmten Kommunikationspartners ("Signs on") eine vordefinierte Sounddatei abzuspielen oder ein externes Programm zu starten.

Dazu gibt man in dem Formular in Abbildung 1 das Protokoll des genutzten IM-Service, den eigenen Account und den Namen des IM-Partners an, bei dessen Aktivität das Ereignis auszulösen ist. Es empfiehlt sich, die Checkbox »recurring« zu aktivieren, sonst wirft Pidgin den Handler genau einmal an und löscht danach dessen Definition.

Abbildung 1: Die Pounce-Funktion in Pidgin führt das Skript »~/bin/pounce-sound« aus, wenn ein Buddy ein Ereignis auslöst.

Abbildung 2: Pidgin legt die konfigurierten Pounces in einer XML-Datei unter dem Verzeichnis ».purple« im Homeverzeichnis ab.

Sounds zum Schlagerpreis

Nun habe ich zufälligerweise vor ein paar Wochen im Kaufrausch bei Amazon.com 500 Soundeffekte als runterladbare MP3-Dateien zum Schlagerpreis von 2,59 US-Dollar erstanden ([3], mittlerweile ist der Preis aber wieder auf 9,49 Dollar hochgeschnellt). Was liegt näher, als sie meinen liebsten IM-Freunden zuzuordnen? Ist das Pidgin-Chatfenster anschließend verdeckt, rüttelt mich nur bei ausgewählten Partnern ein eindeutig zu identifizierendes Geräusch aus der Konzentration. Alle anderen müssen warten.

Der Gschaftlhuber bekommt eine Militärtrompete (»bugle.mp3«) zugeordnet, ein tanzversessener Arbeitskollege eine Samba-Rassel (»cabassa.mp3«) und ein Bekannter auf AIM, der immer den neuesten Tratsch parat hat, ein kurzes Soundschmankerl mit Geschnatter von fliegenden Wildgänsen (»goose.mp3«).

Allerdings hatte ich keine Lust, alles einzeln von Hand in Pidgins Dialogfelder einzutragen und dies bei jeder weiteren Pidgin-Instanz zu wiederholen, auf dem Netbook und zu Hause. Zum Glück legt Pidgin die Pounce-Definitionen aber in einer leicht lesbaren XML-Datei unter »~/.purple/pounces.xml« ab.

Das Perl-Skript »pounce-yml-to-xml« nimmt eine kompakt formatierte YAML-Datei wie in Abbildung 3 und wandelt sie ohne viel Federlesen in das viel umständlichere, aber von Pidgin favorisierte XML-Format um. Die YAML-Datei »pounces.yml« liegt unter einem neu angelegten Verzeichnis »~/.pidgin-pounces« und dort trägt der Benutzer für jeden seiner Online-Buddies eine Sounddatei ein.

Abbildung 3: Aus den Daten dieser YAML-Datei generiert das Skript »pounce-yml-to-xml« die XML-Datei in Abbildung 5.

Tanz auf allen Hochzeiten

Da Pidgin verschiedenste IM-Protokolle benutzt und ein Anwender meist unter mehreren Accounts auf mehreren Servern gleichzeitig eingeloggt ist, steht unter dem Eintrag »sound_map« in der YAML-Datei zuerst ein Schlüssel, der den jeweiligen IM-Anbieter und den dort verwendeten Nutzernamen durch einen Doppelpunkt getrennt auflistet.

Unter dieser Hierarchiestufe folgen die Zuordnungen von Onlinepartnern und Sounddateien, die Pidgin abspielen soll, falls der Partner sich einloggt oder dem Nutzer eine Nachricht schickt. Nach Abbildung 3 ist also mein Screen-Name auf Yahoos Messenger-Service »mikeschilli« und falls mir dort »elcaramba« eine Nachricht schickt, rasselt Pidgin mit »cabassa.mp3« einen heißen südamerikanischen Rhythmus.

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

comments powered by Disqus

Ausgabe 09/2016

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.