view pixmaps/smileys/THEMES-HOWTO @ 13664:4132d997ccec

[gaim-migrate @ 16066] Fix Coverity CID 45: Check to make sure a channel 2 ICBM actually contains an IP address TLV before attempting to use it. This avoids a crash when the server sends us an abnormal channel 2 ICBM. I'm not sure if that ever happens. Fix Coverity CID 204: Don't attempt to send data over a FLAP BOS connection that doesn't exist. This should never happen because the account should get disconnected first. Fix Coverity CID 205: Don't check that a variable 'od' which we know is valid is not equal to NULL in aim_search_address() in family_userlookup.c Fix Coverity CID 206: Don't check that the variable 'od' which we know is valid is not equal to NULL in aim_chat_join() in family_oservice.c Fix Coverity CID 207: I neglected to remove a "return;" line from aim_admin_setnick() in family_admin.c which caused setting your AIM screen name formatting to not work. Fix Coverity CID 208: Remove a duplicate call to gaim_connection_get_account() in peer_connection_propose() in peer.c. Fix Coverity CID 209: Remove the unused variable "username" from incomingim_chan2() in oscar.c. Fix Coverity CID 210: Remove the unused variable "account" from peer_connection_listen_cb() in peer.c. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Thu, 20 Apr 2006 04:45:06 +0000
parents 280ed2b617be
children 6fd7425133fc
line wrap: on
line source

Gaim Smiley Themes Documentation
Sean M. Egan
5 Jan 2003

Version 0.60 of Gaim brings up all themable smileys.  In the preferences dialog, a user can choose from a selection of looks his smileys will take.  This guide is to serve as a reference to those interested in creating third-party smiley themes.  

(SME: I'm doing this at 6:30AM; I'm tired, but I can't sleep.  Someone make sure I fix this up to make sure it all makes sense when I'm not tired anymore.  Right now it's mostly just unassembled thoughts)

Your theme should be contained in a single directory.  This directory will be installed in the Gaim smiley theme directory (SME: There should probably be a $HOME/.gaim/smileys/ that the theme could go in too.).  This directory will contain a file called `theme' that specifies the theme and image (SME: And possibly sound) files that are used by the theme.  The format of the `theme' file is as follows.

The beginning of the file contains some metainformation about the theme in the format

Key=Value

Valid keys include:
Name - Name of the theme
Description - Description of the theme
Icon - An image used to represent the theme in the theme selector UI
Author - The author's name

Following this meta-information are "sml" groups.  A "sml" group is a group of smileys that will be shown together.  For example, each protocol has its own "sml" group (MSN, Yahoo, Gadu-Gadu, etc.).  The name of the group is surrounded in square brackets, and each line beneath it (until the next sml group or the end of the file) defines a smiley.
Each line of the group starts with a filename of the icon (SME: Or sound?) followed by a space-delimited list of the characters that represent it. 

Example:
[AIM/ICQ]
smiley.png  :) :-)

In the smiley selector UI, each icon will only be shown once, and the first string representing it will be used.  To keep a smiley out of the selector altogether, make the first two characters of the line "! " followed by the filename and emoticons.