Next Previous Contents

8. Customizing The Look Through Themes

IceWM can be customized using a great variety of themes. You can download them usually as .tar.gz archives on the net. To install themes simply unpack them into your ~/.icewm/themes/ directory.

8.1 What image formats can I use with IceWM?

If IceWM is compiled with the standard xpm libraries, then it can only employ xpm images (as backgrounds, etc.). If, however, IceWM is compiled with imlib support, it can display all common image formats including jpeg, gif, png, and tiff.

8.2 Setting background color/image

If you provide the appropriate options in your preferences file and start icewmbg, IceWM will set the background color or the background image for you. You can use

    DesktopBackgroundColor="color"

to set a background color and

    DesktopBackgroundImage="image"

to set a background image. To keep IceWM from setting a background color/image you simply set both options to an empty string:

    DesktopBackgroundColor=""
    DesktopBackgroundImage=""

Hints:

  1. Commenting out DesktopBackgroundColor="color" and DesktopBackgroundImage="image" does not have the intended effect.
  2. IMHO using a background image (especially a huge one) isn't that good an idea. It awfully slows down the X windowing system.

To distinguish between filling whole desktop with image or to place it self standing in the middle you can use

    DesktopBackgroundCenter=""

DesktopBackgroundCenter is used to tell IceWM how you want your wallpaper placed on the screen. If set to 1 your picture will be centered on screen. As a result of that, you will only have one picture in the middle of your desktop. If set to 0 your picture file will fill the whole screen. That is a good thing if you are using a pattern thingy to cover the whole desktop.

8.3 Setting the clock format

Setting up the look of the task bar clock of IceWM as well as the format of the associated tooltip is rather easy. IceWM uses the same format as the Unix standard function strftime so when in doubt you can always refer to

    man 3 strftime

To set the clock format you use

    TimeFormat="<format string>"

and for the clock tooltip format you use

    DateFormat="<format string>"

Ordinary characters placed in the format string are printed without conversion (if possible, see below). Conversion specifiers are introduced by a percent character "%", and are replaced by a corresponding string.

Important Note: While "DateFormat" and "TimeFormat" both support all the format descriptors the latter only has full support if used with

    TaskBarClockLeds=0

(which is set equal 1 by default).

The reason for this is that there are no icons to display the name of a month, day, or time zone. To be more precise there are only icons for

  1. digits (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
  2. colon, dot, slash, and space
  3. A, P, and M (for AM and PM)

Format descriptors which may only be in "TimeFormat" if "TaskBarClockLeds=0" (in general or depending on the locale) are labeled as restricted in the following table. It shows the replacement for all format descriptors available.

The values in parentheses show what the different format specifiers display for

YYYY/MM/DD HH:MM:SS TimeZone = 1999/09/04 19:09:22 UTC

on my machine with hardware clock and Linux running UTC, local being "C" (i.e. no internationalization at all):

"%a" (Sat) restricted

The abbreviated weekday name according to the current locale.

"%A" (Saturday) restricted

The full weekday name according to the current locale.

"%b" (Sep) restricted

The abbreviated month name according to the current locale.

"%B" (September) restricted

The full month name according to the current locale.

"%c" (Sat Sep 04 19:09:22 1999) restricted

The preferred date and time representation for the current locale.

"%d" (04)

The day of the month as a decimal number (range 01 to 31).

"%H" (19)

The hour as a decimal number using a 24-hour clock (range 00 to 23).

"%I" (07)

The hour as a decimal number using a 12-hour clock (range 01 to 12).

"%j" (247)

The day of the year as a decimal number (range 001 to 366).

"%m" (09)

The month as a decimal number (range 01 to 12).

"%M" (09)

The minute as a decimal number.

"%p" (PM) restricted

Either "am" or "pm" according to the given time value, or the corresponding strings for the current locale.

"%S" (22)

The second as a decimal number.

"%U" (35)

The week number of the current year as a decimal number, starting with the first Sunday as the first day of the first week.

"%W" (35)

The week number of the current year as a decimal number, starting with the first Monday as the first day of the first week.

"%w" (06)

The day of the week as a decimal, Sunday being 0.

"%x" (09/04/99) restricted

The preferred date representation for the current locale without the time.

"%X" (19:09:22) restricted

The preferred time representation for the current locale without the date.

"%y" (99)

The year as a decimal number without a century (range 00 to 99).

"%Y" (1999)

The year as a decimal number including the century.

"%Z" (UTC) restricted

The time zone or its name or its abbreviation.

"%%" restricted

A literal "%" character.

8.4 I have more icons to add

You can either copy them to systemwide icons directory or you can copy them to ~/.icewm/icons or you can use option

IconPath="/home/username/.icewm/myicons:/usr/share/pixmaps"
from preferences file. Remember that the new path you are adding must be seperated with a colon (:).

8.5 How to learn making themes for IceWM?

There is documentation on http://www.icewm.org/themes/ written by MJ Ray and update by Adam Pribyl.


Next Previous Contents