Home Downloads F.A.Q. Documentation BUG!
 




Making Themes
Contents
Introduction
In Short
Tools
Button States
General Styles
Main Controls
Secondary Controls
Playlist Controls
Toolbar
Icon List
Releasing
Testing
Sampling
Credits
Packaging
Releasing
Credits
Licenses

Chapter 11. Releasing

You may note that the third and final step of releasing is the actual releasing. Before releasing an icon set to the public, you should make certain it works fully.

Testing

In the version I am currently using, slightly before version II, there is no utility in the program to test themes. To test it swiftly and easily, just replace all the icons with your set and then run eMotion. I have a script for switching them which is fairly easy to use:

#!/bin/bash

themedirectory="$1"

if [ "$2 " == " " ]; then
    backup="FALSE"
else
    backup="$2"
fi

if [ $backup != "FALSE" ]; then
    mkdir "$backup"
    cp -f /usr/local/share/emotion/icons/* "$backup"
fi

cp -f "$themedirectory"/* /usr/local/share/emotion/icons/

It takes two arguments at the command line, and doesn't do much checking to see if they are possible: the first argument is the directory of the theme you want to switch to, and the second is the directory you want the previous theme backed-up into. If you do not use the second argument, the old theme will be overwritten. You need to be root, or have write priveleges to the eMotion directory, to use the script. The script only works right if you installed eMotion in the standard directory. If you have an incomplete theme, the unfinished portions will still be those of the old theme, as the script only over-writes things.

If you want to switch the icons manually, they should all be located in '/usr/local/share/emotion/icons'. It might be a good idea to back up the original icons so you can switch back to them. The only exceptions are that 'blank.png' and 'logo.png' should be left, as they are not included in your theme. (You technically can replace the logo, but we would appreciate if you did not. It is only used on the about page. You could also replace 'blank', but it is just a transparent square.)

When all the icons are replaced, eMotion should be using your new theme when you next run it. If you want to directly compare two themes, you can start eMotion with one, then switch the icons and start another instance of eMotion. Switching the icons after it starts running does not change them or cause errors.

However, this is not all that is needed for testing. This will tell you how the icons look on the screen, but it would be easy to miss a mistake as eMotion will not warn you if there are any missing icons, and you could easily miss one of the 'over' or 'pressed' states for an icon. I find it easiest to put all the icons, except for active, into one directory, open it in Konqueror, and then select 'Create Image Gallery' from the 'Tools' menu. If you set the background color to the base of your background (easily done with their eyedropper to select colors) and set the columns to 3, you can check what the icons will all look like, and that they are all there. The reason to remove the active icon is that it would make the number of icons uneven. Without it, the entire first column will be the normal state, the entire second column the over state, and the entire third column the pressed state. A quick scroll down will reveal if anything is missing.

You could, instead, just use the thumbnails in Konqueror itself, after making the window thin enough for only three columns, but I had issues with the thumbnails not being reset when I changed a file, since the filename did not change, nor was I able to find any way to easily reset them.

Sampling

All eMotion themes should have a 'sample'. Currently, this isn't used by eMotion, but I do put them up on the webpage, so people have some clue what they are getting, and you should probably put them up as well. To create my samples, I just use a simple little script which calls ImageMagick. Just run the script, shown below, in the icon theme directory to create a standard sample of the icons, which will be named 'sample.png'.

#!/bin/bash

let h=`identify -format %h stop_1.png`
let h=`echo "50-($h/2)" | bc`

montage -tile 7 -background white -geometry 100x100-"$h"-"$h"% \
    skipback_1.png rewind_1.png stop_1.png pause_1.png \
    play_1.png fastforward_1.png skipforward_1.png \
    sample.png

The script is really messy, because I suck at writing scripts, but it works. "50-($h/2)" is just what seemed to work for making icons from 12 to 50 pixels tall all look good. It's just an arbitrarily picked equation which might not work for icons bigger or smaller than that. You can download the script if you're too lazy to copy and paste and save and then run and stuff and things and yeah.

Although you can make whatever sample you want, don't give too many icons. If you give half the icon set, you might as well not make a sample and just show the whole set anyway. If you do make your own sample and it is too big or messy, and you want me to put it on the eMotion homepage, I will need to change the sample or just make one using my script.

Credits

Every eMotion icon theme should have a 'credits.txt' file in it. Even if you don't care who uses your work, you should put in a credits page. My credits pages look like this:

Copyright 2003 Micah Abresch
<jamethknorth@hotmail.com>$gt;

The Blues is an icon theme for eMotion.

You may freely redistribute these icons
or create derivatives based off of them,
so long as this credits page accompanies them.
You may use these icons in any manner you choose.

It's fairly simple and tells enough that people know that they can use the icons and copy the icons, but not take credit for the icons. If you are thinking that the icons should be completely in the public domain, you should still have a credits page with your name on it and a statement declaring them in the public domain, so that nobody has any doubt. If you do not say anything or put your copyright on them, they are still copyrighted to you, so you actually need to declare it more if you want people to be able to copy them freely. Also, do not assume that your icons are under the GPL or anything. They aren't unless you declare them such. They are not part of the code of eMotion so they are not included in its license. Also, they are not being distributed with it, they are being distributed separately and attached to it. You retain all rights to your icons.

If your icon theme is based off of another icon theme by someone else, you should mention such. Even if they said you do not need to give them credit, it is polite to do so. If the icons is part of a string of icon themes, or have related icon themes, you can mention those. For example, my Blueby theme says it is based off the Bubbly theme, and Simple, Simple++, and Simple-- all mention that they have icon themes in other sizes.

Packaging

Currently, packaging an eMotion theme is about as easy as it gets. Just put the directory in a tarball. However, one last check before you tar it up. You can check if you have all the files by comparing an 'ls' of your directory to a list of all the files it should have. 'listing.txt' is a list of all the files an eMotion icon theme should have. If you place that one directory above the icon theme and run 'ls | diff - ../listing.txt' you can check if you have any missing or extra files. If nothing is printed to to console, your theme is ready for prime time.

Now, you just need to tar it up. Just go one directory above the theme. The theme should be in a directory named after the theme. I also make my names lower-case with no spaces, but that doesn't matter. Then, the command 'tar -cvvf "themename.tar" "themedirectory"' should create a tarball of the theme, which is how eMotion themes are distributed.

Don't compress the tarball. Although Bzip2 gets a slight gain over PNG, it is only slight, and we don't feel it is worth the trouble, as most icons themes are under 300k anyway. As such, eMotion is not planning to be able to handle compression.

Releasing

Releasing is plenty easy. You can just put it up on your own webpage, but you can also send it to me and I'll see about putting it on the eMotion website. I see no reason not to have all the themes available, but I won't make promises. I won't be putting up pornographic or racist themes, but I don't expect to get any of those either. If I get swamped, they might not all be on the first page, and I likely won't do it alphabetically. I'll put my favorites on the first page, and then have an alphabetic listing, but that's only if I ever get over twenty or thirty themes and they need a little organization.

My email is jamethknorth@hotmail.com. If this is an old copy of this document, you may wish to check the eMotion page to see if my address has changed. The eMotion website is at, currently, http://www2.gvsu.edu/~swietonm/emotion/index.html. Although that will also change, it will at least still forward for another 3-4 years.


 
Home   Downloads   F.A.Q.   Documentation   Report Bugs
Email the Site Administrator
Site Copyright 2003 Jame K Studios