IceWM FAQ and Howto: Customizing The Look Through Themes

Next Previous Contents

## 8. Customizing The Look Through Themes

IceWM can be customized using a great variety of themes.

## 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 starts `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