Neustes Projekt: Ein gemeinsames Icon-Set für Pidgin und Psi für unsere Familie.
Für unsere Jungs ist’s halt cool, ein paar Smileys mehr zu haben, als diejenigen, die im Default Set von Pidgin und Psi vorhanden sind. Wir wissen jetzt, wie die Icon-Sets funktionieren, was wir machen dürfen und was nicht.
Psi
Psi speichert die Icon-Sets in Dateien mit der Endung .jisp. Das sind Java üblich ZIP Files, mit den nötigen Daten drin. Das sind die Icons und eine Datei mit dem Namen icondef.xml, das die Zuordnung von Icon und ‘Smiley-Text’ übernimmt.
Pidgin
Pidgin speichert je ein Smiley-Set in einem Verzeichnis. Das übergeordnete Verzeichnis für alle Smileysets – systemweit – ist:
- Linux:/usr/share/pixmaps/pidgin/emotes/
- Windows:
Die Steuerdatei heisst ‘theme’ und ist plaintext. Der Dokumentenkopf sieht so aus:
Name=Default (eindeutiger Name)
Description=Pidgin smileys (Beschreibung)
Icon=wink.png (Icon zur Anzeige in der Smiley-Set Liste)
Author=Hylke Bons (Author)
Danach kann bei Pidgin zwischen den verschiedenen IM-Protokollen unterschieden werden. Zum Beispiel mit [AIM] [MSN] [ICQ] und weiteren. [default] Smilies sind für alle Protokolle verfügbar – das was wir wollen. Die Einträge danach sind so aufgebaut:
icon.png texthandle1 texthandle2
Zum Beispiel:
smiley.png :-) :) <smile> /gg/
Das XML-File eines Psi Iconsets kann mit Hilfe folgendes XML Stylesheets umgewandelt werden:
<?xml version=”1.0″ encoding=”UTF-8″ ?>
<xsl:stylesheet xmlns:xsl=”http://www.w3.org/1999/XSL/Transform”
version=”1.0″>
<xsl:output method=”text”/>
<xsl:template match=”icon”>
<xsl:value-of select=”object”/>
<xsl:text> </xsl:text>
<xsl:for-each select=”text”>
<xsl:value-of select=”.”/>
<xsl:text> </xsl:text>
</xsl:for-each>
<xsl:text>
</xsl:text>
</xsl:template>
</xsl:stylesheet>
Danach fehlen noch der Header und ein bisschen Whitespace kann noch gekürzt werden.
Pidgin-Bug
Pidgin stürzt ab, wenn Icons mit einem _ im Filenamen beginnen.