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 .
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.






