theme-format.org

Table of Contents

1 Defaults and How to Change Them

All these variables are modifiable by the configuration utility "customize" of Emacs.

We assume that you are using the default configuration.

Path for themes
~/emacsstuff/emoticons
Default theme
mytheme

If you like to change this by customizing the following variables:

Path for themes
emoicon-path-themes
Default theme
emoicon-theme

If you like to change this by customizing the following variables:

Path for themes
emoicon-path-themes
Default theme
emoicon-theme

Execute the command M-x customize-group and insert "emotion-iconous-mode" to change it easily.

Execute the command M-x customize-group and insert "emotion-iconous-mode" to change it easily.

2 Format of the Directories

The directory that all the themes are is pointed by the variable

emoicon-path-themes

. This directory should have sub-directories, each one for each theme. The theme name are the name for this sub-directory.

For example, for the theme "mytheme", emotion-iconous will look in:

~/emacsstuff/emoticons/mytheme

2.1 Format of the PList Theme Directories

The theme directory should have all images in PNG format or any image file format recognized by Emacs.

Also, it must have an

Emoticons.plist 

file(see in 4). This file is used for associate each emoticon text(like ":-)") with its correct image.

Emotion-iconous will load this "plist" file using the function:

(emoicon-load-emoticon-theme)

2.2 Format of the Pidgin Theme Directories

Analog of the Plist theme directory format, but instead of using a file called "Emoticons.plist" we use a file called "theme".

2.1 Format of the PList Theme Directories

[XMPP]
FunnyFace.png  :)  :-)  =-)
TongueFace.png  :P  :-P  :-6
Other.png    :other-face:  :otherface: :etcetera:
# Coments and comments...
AnotherOne.png  :anotherone:

# Finish in the empty line.

For compatibility with pidgin and jabber we use XMPP section only, the others sections are ignored.

More technically, it consist in a group of emoticons definition called "sections". Sections names are written between square brackets.

[Section]

file(/see in *Emoticons plist File Format/). This file is used for associate each emoticon text(like ":-)") with its correct image.

Each sections has what we call entries, each entry has a PNG file name, and its emoticons text separated by spaces(usually more than one).

MyImage.png  :)  :-) =-)
(emoicon-load-emoticon-theme)

Emoicon-mode will finish reading this files when it finds an empty line or the end of file, so:

remember to don't leave empty lines between entries:

2.2 Format of the Pidgin Theme Directories

Analog of the Plist theme directory format, but instead of using a file called "Emoticons.plist" we use a file called "theme".

This "theme" file is simpler than the plist theme file, see the the next section.

3 Emoticons Pidgin File Format

This file format is simpler than the PList format. See a self-explanatory example:

[XMPP]
FunnyFace.png  :)  :-)  =-)
TongueFace.png  :P  :-P  :-6
Other.png    :other-face:  :otherface: :etcetera:
# Coments and comments...
AnotherOne.png  :anotherone:

# Finish in the empty line.

For compatibility with pidgin and jabber we use XMPP section only, the others sections are ignored.

More technically, it consist in a group of emoticons definition called "sections". Sections names are written between square brackets.

[Section]

In pidgin, each sections represents a protocol, for example: ICQ, XMPP(Jabber protocol), etc.

Each sections has what we call entries, each entry has a PNG file name, and its emoticons text separated by spaces(usually more than one).

MyImage.png  :)  :-) =-)

For comments you can use the numeral("#") at the beginning of the line:

# this is my comment.

Emoicon-mode will finish reading this files when it finds an empty line or the end of file, so:

remember to don't leave empty lines between entries:

[XMPP]
One.png   1   :1:
Two.png   2   :2:

Three.png   3   :3:

Some pidgin themes has the "! " characters, this lines are considered as emoticons and loaded the PNG file as if the characters doesn't exists.

!  MyImage.png  :)  :-)  =-)

is the same as:

MyImage.png   :)  :-)  =-)

4 Emoticons plist File Format

I do not recommend this file format, you should use the *Emoticons Pidgin File Format. The "Emoticons.plist" file is in XML format. This is done in this way just for compatibility.

The format is like this:

<?xml version="1.0" encoding="UTF-8"?>
<plist version="1.0">
<dict>
  <key>Theme's name</key>
  <integer>1</integer>
  <key>Emoticons</key>
  <dict>
    <key>Name of Image File.png</key>
    <dict>
      <key>Equivalents</key>
      <array>
        <string>Emoticon1 :) </string>
        <string>Emoticon2 :-) </string>
        <string>Emoticon3 ::-) </string>
        <string> ... </string>
      </array>
      <key>Name</key>
      <string>Name of the emoticon</string>      
    </dict>
    <key>Too_Angry.png</key>
    <dict>
      <key>Equivalents</key>
      <array>
        <string>&gt;:-(</string>
        <string>&gt;:(</string>
      </array>
      <key>Name</key>
      <string>Too Angry</string>
    </dict>
    <key>Nice.png</key>
    <dict>
      <key>Equivalents</key>
      <array>
        <string>:)</string>
        <string>:-)</string>
      </array>
      <key>Name</key>
      <string>Smile</string>
    </dict>
  </dict>
</plist>

Emoticon-iconous loads this files when is necessary, and just once for saving overhead.

If you want to load manually, for example when using jabber-emoticon.el functions, use the function

(emoicon-load-emoticon-theme)

This function can be called by M-x emoicon-load-emoticon-theme (or press Alt+x and write emoicon-load-emoticon-theme).

5 License

theme-format.org Copyright (C) 2011 Giménez, Christian N.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Miércoles 09 De Noviembre Del 2011

Date: 2011-11-09 mié

Author : Christian Giménez

Generated by Org mode 7.9.3f in Emacs 24.2.1.

Validate XHTML 1.0