Categories
Family life

Family IM Smiley Set

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.