deekoo.net / technocracy / yeemp
Features & such | Major changes | Screenshots | Future development plans.
Before you start: This tutorial only tells you how to make docklet themes. The "Docklet", in this case, is the little window that you get instead of an icon when you try to iconize Yeemp. Clicking button 1 on the docklet brings up a menu with "restore", and a list of contacts you can send messages to. Clicking button 2 on the docklet brings up a menu from which one can quit Yeemp and other such stuff. When messages come in, if Yeemp is dockletized, an animation is played in the docklet window. If the message isn't one to display as a pop-up window, then an indicator appears to let you know that you've got messages waiting.
Also, you'll need Yeemp 0.9.2pre3 or higher if you want to follow these instructions exactly. 0.9.2pre2 will always use the 'default' theme.
Docklet themes only affect the little window. They don't affect the full-size xeemp windows, the console client, or the text-entry colours. To change the appearance of the full-size xeemp windows, you'll need to make (or use a preëxisting) Gtk theme. Docklet themes also don't affect the window borders; those are drawn by the window manager.
BTW, docklets also have nothing to do with "dock applets" or "panel applets". Eventually, they will, but not just yet...
Due to what I think is a bug in the perl Gtk binding (it might, I suppose, be a feature.), attempting to get the pixmap and mask from a greyscale xpm will result in a mask that, when applied, has no surface area. In other words, *greyscale xpms make the docklet vanish*. If your docklet theme has screwed up massively or turned xeemp invisible, sending a sighup (killall -HUP xeemp) will make it load the built-in emergency "you screwed up!" theme.
This is the default docklet theme, found in data/themes/default/64x64/ in the Yeemp source tarball, and converted to .gif for the convenience of web browsers.
|yeemp-docklet.xpm, which is the initial image.|
| The animation which runs when a message arrives,|
which is actually several separate xpms:
|And the images which are displayed to let the user know how many messages are waiting:|
Since there's no image for 5 waiting messages, yeemp-waiting-4 is also displayed if there are more than four waiting messages.
Now, for an example:
Once upon a time, the formal definition of "Yeemp" was a high-velocity particle that bounced about in a tesseract. Rather like neutrinos, but huge. The tesseract structure is necessary to keep them bouncing stably; otherwise, they'll just pass through the walls of the container and escape.
However, the scientists who verified their existance were set on calling 'em neutralinos instead. So "yeemp" is not part of the scientific vocabulary, and the original meaning has been lost.
Enough of this nonsense. It's time for a Yeemp docklet that reminds people what a Yeemp really is.
However, as it's hard to draw a tesseract, we'll represent it as a cube.
And to symbolize the fact that yeemps are too small for colour to be relevant (no matter what some Finnegan's-Wake-Reading probably-drug-swilling and-likely-longhaired-Bolshevik-to-boot Establishment physicists may say), it's monochrome. And a little smaller than the original one was. (Although the image itself must be RGB, to comply with Quarkist propaganda hidden in the Perl GTK binding.)
So... mkdir -p ~/.yeemp/themes/cube/48x48/, and create within it this yeemp-docklet.xpm.
Now, we want a message-arrival pulse. In this case, let's have two yeemps bounce around the cube. While we're at it, let's make this a longer animation - seven frames instead of four (not counting the base):
And here are yeemp-pulse-1.xpm through yeemp-pulse-7.xpm:
We only want to show a maximum of three waiting messages. After all,
there are only three types of electron. And we'll use giant yeemps to show
them, so they'll get more attention:
Now, you should be ready to test out your theme. Start xeemp. Select Yeemp:Preferences:Media from the menubar, and change your theme to 'cube'. Apply.
If you manage to make Xeemp disappear, remember, killall -HUP xeemp will set the default theme.
And the 'cube' theme is also downloadable.