An icon theme is a (more or less) complete set of icons for the Workplace Shell, packaged in a way that can be applied to your desktop using the Icon Themes applet.
Technically, icon themes are quite simple. Icons are like dialogs in that they can be defined as Presentation Manager resources, and almost all system icons are. (Resources are binary modules that can be attached to programs or DLLs, without the need to actually modify the programs themselves.)
It's quite easy, and safe, to replace icon resources using various simple tools – some of which are even provided as part of the the operating system. Icon themes simply take advantage of this capability.
Backwards compatibility This toolkit describes how to create icon themes for use with the Icon Themes applet version 2.0 and above. These icon themes will not be compatible with earlier versions (1.0x) of the Icon Themes applet, unless you rename the theme files as follows:
(SESSION1.ITR, SESSION2.ITR, DESKTOP3.ITR and MMEDIA3.ITR are not used by version 1.0x). Icon themes created for version 1.0x of the Icon Themes applet (using previous releases of this toolkit) should continue to work with version 2.x. However, older themes will not support the new icons introduced in later versions. |
An icon theme works by replacing specific icon resources in the following system DLLs:
PMWP.DLL | IBM DLL containing most of the standard desktop icons. |
AUXWP.DLL or ECSWP.DLL |
DLL containing icons for various other desktop objects. (ECSWP.DLL is part of eComStation; AUXWP.DLL is used on ArcaOS, and is distributed with the Icon Themes applet for use on other OS/2 systems. |
WPINET.DLL | IBM DLL containing icons for Internet objects. |
PMMRGRES.DLL | IBM DLL containing the icon for full-screen command-line sessions. |
PMVIOP.DLL | IBM DLL containing the icons for other command-line session types. |
MMPTMRI.DLL | IBM DLL containing icons for Multimedia objects. |
CWMM.DLL | DLL containing additional Multimedia icons (from the CWMM classes). |
*MEDIAFLD.DLL | DLL containing icons for some new Multimedia player WPS classes (from the CWMM classes). |
*XWPRES.DLL | DLL containing additional desktop icons (from XWorkplace and/or the XWP-derived eComStation WPS extensions). |
Creating an icon theme involves the following basic steps:
These steps are described in the following sections.
The theme identifier is the symbolic name which will be used by the Icon Themes applet to identify the theme. It will also be used to generate the theme filenames. The identifier is a short string with the following requirements:
Note: If you plan on creating a preview DLL, you should make sure that your identifier does not share its name with any external DLLs which are likely to be resident in memory when the Icon Themes applet is run. If a module name conflict occurs, the preview icons may not display correctly. Also note that, if you use a preview DLL, your theme identifier must not be longer than eight characters.
This identifier will be used in the remaining steps.
Creating the icons themselves is the most labour-intensive step. Every icon theme uses 248 icon resources, although a number of these are duplicates (in which case you can use the same actual icon file), and many others will most likely be minor variations on the same basic image.
Artistic design is an issue that lies outside the scope of this document. However, in general you should keep these points in mind:
There are many sets of icons available on the Internet and from other sources. While you are certainly welcome to convert any of these into icon themes, please keep the above points in mind. Not all third-party icons will make suitable candidates for conversion. Many such icon sets, in particular those designed for KDE or GNOME, use a PNG format with alpha-channel translucency that most single-layer image editors cannot properly handle. I recommend using either The GIMP or Pavel Kanzelsberger's Pixel32 to convert these files. In my experience, the most effective technique is to create a solid colour background layer (white is usually best, but it depends on the icon) below the image layer, then resize the image to the desired dimensions and save it in bitmap format (which can then be read by the Icon Editor). |
To create your icon theme, all of the icons must be in OS/2 Icon format. An OS/2 Icon file consists of a number of images (called 'devices'), each of which has its own dimensions and colour depth. Each icon should have at least one device of each of the following dimensions:
You can also create devices of different colour depths at each size; the Workplace Shell will automatically display whichever one best matches the current video mode. (For instance, if an icon has both 16- and 256-colour devices, the 16-colour version would be displayed under 16-colour depth resolutions, and the 256-colour version would be displayed under 256- and deep-colour depth resolutions.)
You can create OS/2 Icon files with all of the necessary devices using the built-in Icon Editor program.
Using the Icon Editor If you are not experienced in using the Icon Editor to create desktop icons, here are some simple directions.
To create a new device, open the Device menu and choose List. The Device List dialog shows all of the currently-defined devices (images) in the current icon file. By default, a new icon file contains a single device called "Independent Color Form". This corresponds to a 32x32 icon with 16 colours. Select the Add button to add a new device.
Most of the predefined devices are of little use on modern systems, but there are four which are commonly used in desktop icons:
You can use these four devices if your icons require no more than 16 colours. However, it is more likely that you will want a wider range of colours for your icons, in which case you will have to create custom devices. Select the Customize button to create a custom device. The Customize Device dialog lets you specify the image parameters of the new device.
The 'Image Size' fields specify the size (in pixels) of the device. Every icon should have at least one device at each size used by the WPS (16x16, 20x20, 32x32 and 40x40). You can have multiple devices at each size, in which case the WPS will use the colour depth to determine which device should be displayed at any given display setting. The 'Color Depth' setting specifies the number of colours that the device is capable of displaying. '2' specifies a B&W image; '16' and '256' both specify a customizable palette, and 'RGB' will allow any arbitrary 24-bit colour to be used. To create the device, select OK (on the Customize Device dialog), followed by Cancel (on the Add Device dialog), and finally OK (on the Device List dialog). You can subsequently switch between devices by bringing up the Device List dialog again and using the View button, or else by clicking on the device name in the top part of the Icon Editor window and using the Up and Down arrow keys. Be aware of these points when copying and pasting images into the Icon Editor if you are using a palette-based device (2, 16 or 256 colours).
|
Each of the system DLLs modified by the Icon Themes applet has its own set of icons. These are described below, along with pictures showing the default 'eComStation' theme.
You should place all of the icons into the same directory. You should use the filenames shown in the table for each icon, as the provided resource templates assume that these specific filenames will be used. (The numbers refer to the resource ID within the DLL; these are not necessarily contiguous, hence the occasional gap in the numbering.)
The DEFAULT directory (provided with this toolkit) contains a complete set of icons which you can use as a reference. These are taken from the 'eComStation' theme.
Icons marked as UNKNOWN have functions which I have been unable to identify; they do not seem to be used on the desktop. In general, you can just copy the icons from the DEFAULT directory for these items.
Sample | Filename | Function | Sample | Filename | Function | |
![]() | 001.ICO | DOS prompt (full screen) | ![]() | 056.ICO | Desktop | |
![]() | 002.ICO | CMD prompt (window) | ![]() | 057.ICO | Found objects folder (closed) | |
![]() | 003.ICO | Default PM program 1 | ![]() | 058.ICO | Minimized window viewer (closed) | |
![]() | 004.ICO | CMD prompt (full screen) | ![]() | 059.ICO | System Setup folder (closed) | |
![]() | 006.ICO | Default folder (open) | ![]() | 060.ICO | Information folder (closed) | |
![]() | 008.ICO | Startup folder (open) | ![]() | 061.ICO | Local System (closed) | |
![]() | 009.ICO | Local Network folder (open) | ![]() | 062.ICO | LAN resource browser (closed) | |
![]() | 010.ICO | Templates folder (open) | ![]() | 063.ICO | Remote LAN server or peer | |
![]() | 012.ICO | Found objects folder (open) | ![]() | 064.ICO | Remote LAN folder (closed) | |
![]() | 013.ICO | Hard drive volume | ![]() | 065.ICO | Remote LAN printer | |
![]() | 015.ICO | Setup folder (open) | ![]() | 066.ICO | LAN resource browser (disconnected) | |
![]() | 016.ICO | Remote LAN drive | ![]() | 067.ICO | Remote LAN server or peer (disconnected) | |
![]() | 017.ICO | VDISK RAM drive | ![]() | 068.ICO | Remote LAN folder (disconnected) | |
![]() | 018.ICO | Tape drive | ![]() | 069.ICO | Remote LAN printer (disconnected) | |
![]() | 019.ICO | CD/DVD drive | ![]() | 070.ICO | Remote LAN drive (disconnected) | |
![]() | 020.ICO | Template object | ![]() | 071.ICO | Drag & drop objects | |
![]() | 022.ICO | Default WPS class icon | ![]() | 072.ICO | Win16 session (window) | |
![]() | 023.ICO | LAN resource browser (open) | ![]() | 073.ICO | Novell NetWare folder | |
![]() | 024.ICO | Default file | ![]() | 074.ICO | LaunchPad (a.k.a. Toolbar) | |
![]() | 025.ICO | Default PM program 2 | ![]() | 075.ICO | LaunchPad drawer (open, vertical) | |
![]() | 026.ICO | Default folder (closed) | ![]() | 076.ICO | Removeable media drive 1 | |
![]() | 027.ICO | Drives folder (closed) | ![]() | 077.ICO | Window List (LaunchPad) | |
![]() | 028.ICO | Shredder | ![]() | 078.ICO | Lockup (LaunchPad/eCenter) | |
![]() | 029.ICO | Startup folder (closed) | ![]() | 079.ICO | Find Objects (LaunchPad/eCenter) | |
![]() | 032.ICO | Floppy drive | ![]() | 080.ICO | Shutdown (LaunchPad/eCenter) | |
![]() | 033.ICO | Network folder (closed) | ![]() | 081.ICO | UNKNOWN | |
![]() | 034.ICO | Remote LAN folder (open) | ![]() | 082.ICO | Help Center (closed) | |
![]() | 035.ICO | Local System (open) | ![]() | 083.ICO | Help Center (open) | |
![]() | 037.ICO | Command prompts folder (closed) | ![]() | 084.ICO | UNKNOWN | |
![]() | 038.ICO | Command prompts folder (open) | ![]() | 085.ICO | UNKNOWN | |
![]() | 039.ICO | LaunchPad drawer (open, horizontal) | ![]() | 086.ICO | Bitmap file | |
![]() | 040.ICO | UNKNOWN | ![]() | 087.ICO | Connections folder | |
![]() | 041.ICO | UNKNOWN | ![]() | 088.ICO | Games folder (closed) | |
![]() | 042.ICO | LaunchPad drawer (closed, vertical) | ![]() | 089.ICO | Games folder (open) | |
![]() | 043.ICO | LaunchPad drawer (closed, horizontal) | ![]() | 090.ICO | Install/Remove folder (closed) | |
![]() | 044.ICO | Broken shadow | ![]() | 091.ICO | Install/Remove folder (open) | |
![]() | 046.ICO | DOS prompt (window) | ![]() | 092.ICO | Programs folder (closed) | |
![]() | 047.ICO | DOS prompt from floppy drive | ![]() | 093.ICO | Printers folder (closed) | |
![]() | 048.ICO | Templates folder (closed) | ![]() | 094.ICO | Printers folder (open) | |
![]() | 049.ICO | DOS dual-boot | ![]() | 095.ICO | Removeable media drive 2 | |
![]() | 052.ICO | Win16 session (full screen) | ![]() | 2146.ICO | Lockup (on lockup screen) | |
![]() | 053.ICO | OS/2 v1.x program group | ![]() | 2147.ICO | Lockup (on lockup screen) |
In addition to numerous new icons for ArcaOS and eComStation, this library also contains updated versions of several icons which under OS/2 were set from standalone icon files (such as the Peer and Multimedia folders). Not all of the icons in this library are used by any known desktop layout; some of them are for backwards compatibility purposes, and others are for potential future use.
Sample | Filename | Function | Sample | Filename | Function |
![]() | 100.ICO | Information folder (open) | ![]() | 132.ICO | Network Interfaces folder (closed) |
![]() | 101.ICO | Programs folder (open) | ![]() | 133.ICO | Network Interfaces folder (open) |
![]() | 102.ICO | Minimized Window Viewer (open) | ![]() | 134.ICO | Network Interface object |
![]() | 103.ICO | Internet folder (open) | ![]() | 135.ICO | Network Protocols folder (closed) |
![]() | 104.ICO | Upload folder (open) | ![]() | 136.ICO | Network Protocols folder (open) |
![]() | 105.ICO | Upload folder (closed) | ![]() | 137.ICO | Firewall folder (closed) |
![]() | 106.ICO | Java folder (open) | ![]() | 138.ICO | Firewall folder (open) |
![]() | 107.ICO | Java folder (closed) | ![]() | 140.ICO | Font folder (closed) |
![]() | 108.ICO | Download folder (open) | ![]() | 141.ICO | Font folder (open) |
![]() | 109.ICO | Download folder (closed) | ![]() | 142.ICO | * Extended Menu (XWorkplace) configuration folder (closed) |
![]() | 110.ICO | Personal/data folder (closed) | ![]() | 143.ICO | * Extended Menu (XWorkplace) configuration folder (open) |
![]() | 111.ICO | Personal/data folder (open) | ![]() | 144.ICO | * Infrared folder (closed) |
![]() | 112.ICO | Drives folder (open) | ![]() | 145.ICO | * Infrared folder (open) |
![]() | 113.ICO | TCP/IP folder (closed) | ![]() | 150.ICO | * Applications folder (closed) |
![]() | 114.ICO | TCP/IP folder (open) | ![]() | 151.ICO | * Applications folder (open) |
![]() | 115.ICO | Internet Tools folder (open) | ![]() | 152.ICO | * Utilities folder (closed) |
![]() | 116.ICO | Internet Tools folder (closed) | ![]() | 153.ICO | * Utilities folder (open) |
![]() | 117.ICO | Dialup folder (closed) | ![]() | 154.ICO | * Development folder (closed) |
![]() | 118.ICO | Dialup folder (open) | ![]() | 155.ICO | * Development folder (open) |
![]() | 119.ICO | Internet folder (closed) | ![]() | 160.ICO | * OpenOffice.org folder (closed) |
![]() | 120.ICO | LAN Server/Peer folder (closed) | ![]() | 161.ICO | * OpenOffice.org folder (open) |
![]() | 121.ICO | LAN Server/Peer folder (open) | ![]() | 162.ICO | * NEPMD folder (closed) |
![]() | 122.ICO | UPM folder (closed) | ![]() | 163.ICO | * NEPMD folder (open) |
![]() | 123.ICO | UPM folder (open) | ![]() | 200.ICO | Multimedia folder (closed) |
![]() | 124.ICO | * PCMCIA folder (closed) | ![]() | 201.ICO | Multimedia folder (open) |
![]() | 125.ICO | Appearance folder (closed) | ![]() | 202.ICO | Sound folder (closed) |
![]() | 126.ICO | Appearance folder (open) | ![]() | 203.ICO | Sound folder (open) |
![]() | 127.ICO | Logical Volume Manager GUI | ![]() | 204.ICO | Movies folder (closed) |
![]() | 128.ICO | Refresh Removeable Media | ![]() | 205.ICO | Movies folder (open) |
![]() | 129.ICO | * PCMCIA folder (open) | ![]() | 206.ICO | VoiceType folder (closed) |
![]() | 130.ICO | Network config folder (closed) | ![]() | 207.ICO | VoiceType folder (open) |
![]() | 131.ICO | Network config folder (open) |
* New in version 2.1
The default file and folder icons are the same ones used in PMWP.DLL; the resource template simply points to those files.
Although WPINET.DLL allows a unique icon for the Internet Templates folder, it does not provide for an open folder equivalent. For consistency, you may want to simply use the generic Templates folder icon from PMWP.DLL.
Sample | Filename | Function | Sample | Filename | Function | |
![]() | I029.ICO | URL object | ![]() | 024.ICO | Default file | |
![]() | I030.ICO | URL folder (closed) | ![]() | 026.ICO | Default folder (closed) | |
![]() | I031.ICO | URL folder (open) | ![]() | 006.ICO | Default folder (open) | |
![]() | I032.ICO | FTP folder object 1 | ![]() | I037.ICO | Internet Templates folder (closed) | |
![]() | I033.ICO | FTP folder object 2 |
This icon is the same full-screen session icon used in PMWP.DLL (004.ICO); the resource template simply points to that file.
Sample | Filename | Function |
![]() | 004.ICO | CMD prompt (full screen) |
All three of these icons are from PMWP.DLL; the resource template simply points to those files.
Sample | Filename | Function | Sample | Filename | Function | |
![]() | 002.ICO | CMD prompt (window) | ![]() | 046.ICO | DOS prompt (window) | |
![]() | 001.ICO | DOS prompt (full screen) |
CWMM.DLL effectively replaces MMPTMRI.DLL under ArcaOS, eComStation 1.2 and above, and on systems with the CW-MM Multimedia Classes installed.
Sample | Filename | Function | Sample | Filename | Function | |
![]() | C02.ICO | Digital audio file (generic) | ![]() | C19.ICO | Image file: *.AVC | |
![]() | C03.ICO | Digital audio file: *.MP3 | ![]() | C20.ICO | Image file: *.DIB | |
![]() | C04.ICO | Digital audio file: *.OGG | ![]() | C21.ICO | Image file: *.GIF | |
![]() | C05.ICO | Digital audio file: *.WAV | ![]() | C22.ICO | Image file: *.JPG | |
![]() | C06.ICO | Digital audio file: *.AIF | ![]() | C23.ICO | Image file: *.PCD | |
![]() | C07.ICO | Digital audio file: *.AU | ![]() | C24.ICO | Image file: *.PCX | |
![]() | C08.ICO | Digital audio file: *._AU | ![]() | C25.ICO | Image file: *.TGA | |
![]() | C09.ICO | Digital audio file: *.IFF | ![]() | C26.ICO | Image file: *.TIF | |
![]() | C10.ICO | Digital audio file: *.SND | ![]() | C27.ICO | Image file: *._IM | |
![]() | C11.ICO | Digital audio file: *.VOC | ![]() | C28.ICO | Image file: *.BMP | |
![]() | C12.ICO | Synthesized (MIDI) audio file | ![]() | C29.ICO | Light Table folder (closed) | |
![]() | C13.ICO | Video file (generic) | ![]() | C30.ICO | Light Table folder (open) | |
![]() | C14.ICO | Video file: *.MPG | ![]() | C31.ICO | Internet audio stream object | |
![]() | C15.ICO | Video file: *.MOV | ![]() | C32.ICO | Playlist | |
![]() | C16.ICO | Video file: *.FLI | ![]() | C33.ICO | Image file: *.PNG | |
![]() | C17.ICO | Video file: *.AVI | ![]() | C34.ICO | Video file: *.FLA | |
![]() | C18.ICO | Image file (generic) |
All but one of these icons are identical to ones in CWMM.DLL or PMWP.DLL; the resource template simply points to those.
Sample | Filename | Function | Sample | Filename | Function | |
![]() | C12.ICO | Synthesized (MIDI) audio file | ![]() | C08.ICO | Digital audio file: *._AU | |
![]() | C18.ICO | Image file (generic) | ![]() | C06.ICO | Digital audio file: *.AIF | |
![]() | C13.ICO | Video file (generic) | ![]() | C09.ICO | Digital audio file: *.IFF | |
![]() | C19.ICO | CD device | ![]() | C10.ICO | Digital audio file: *.SND | |
![]() | C02.ICO | Digital audio file (generic) | ![]() | C17.ICO | Video file: *.AVI | |
![]() | 024.ICO | Default file | ![]() | C16.ICO | Video file: *.FLI | |
![]() | C02.ICO | Digital audio file (generic) | ![]() | C14.ICO | Video file: *.MPG | |
![]() | C18.ICO | Image file (generic) | ![]() | C28.ICO | Image file: *.BMP | |
![]() | C13.ICO | Video file (generic) | ![]() | C22.ICO | Image file: *.JPG | |
![]() | C12.ICO | Synthesized (MIDI) audio file | ![]() | C05.ICO | Digital audio file: *.WAV | |
![]() | C25.ICO | Image file: *.TGA | ![]() | C29.ICO | Light Table folder (closed) | |
![]() | C26.ICO | Image file: *.TIF | ![]() | C30.ICO | Light Table folder (open) | |
![]() | C21.ICO | Image file: *.GIF | ![]() | 044.ICO | Broken shadow | |
![]() | C24.ICO | Image file: *.PCX | ![]() | C07.ICO | Digital audio file: *.AU | |
![]() | C23.ICO | Image file: *.PCD | ![]() | C15.ICO | Video file: *.MOV | |
![]() | C19.ICO | Image file: *.AVC | ![]() | 024.ICO | Default file | |
![]() | C27.ICO | Image file: *._IM | ![]() | C02.ICO | Digital audio file (generic) | |
![]() | C20.ICO | Image file: *.DIB | ![]() | C13.ICO | Video file (generic) | |
![]() | C11.ICO | Digital audio file: *.VOC | ![]() | C18.ICO | Image file (generic) | |
![]() | M48018.ICO | Digital audio file: *.MOD | ![]() | C12.ICO | Synthesized (MIDI) audio file |
New in version 2.1
The Playlist icon is the same as the one used in CWMM.DLL (C32.ICO); the resource template simply points to that file.
Sample | Filename | Function | Sample | Filename | Function | |
![]() | F2000.ICO | Media Player folder (closed) | ![]() | F2002.ICO | CD Player | |
![]() | F2001.ICO | Media Player folder (open) | ![]() | C32.ICO | Playlist |
New in version 2.1
The two Font Folder icons are the same ones that are used in AUXWP.DLL; the resource template simply points to those files.
Sample | Filename | Function | Sample | Filename | Function | |
![]() | X104.ICO | XWP Startup folder (closed) | ![]() | X127.ICO | XCenter | |
![]() | X105.ICO | XWP Startup folder (open) | ![]() | 140.ICO | Font folder (closed) | |
![]() | X106.ICO | XWP Shutdown folder (closed) | ![]() | 141.ICO | Font folder (open) | |
![]() | X107.ICO | XWP Shutdown folder (open) | ![]() | X152.ICO | Installed Font object | |
![]() | X121.ICO | Trash Can (empty) | ![]() | X153.ICO | Font file | |
![]() | X122.ICO | Trash Can (full) |
The icons for each DLL must be compiled into separate binary resource files. These instructions require you to have the IBM Resource Compiler (RC.EXE) installed.
PMWP.RC AUXWP.RC XWPRES.RC WPINET.RC PMMRGRES.RC PMVIOP.RC MMPTMRI.RC CWMM.RC MEDIAFLD.RC
rc -r pmwp.rc desktop1.itr rc -r auxwp.rc desktop2.itr rc -r xwpres.rc desktop3.itr rc -r wpinet.rc internet.itr rc -r pmmrgres.rc session1.itr rc -r pmviop.rc session2.itr rc -r mmptmri.rc mmedia1.itr rc -r cwmm.rc mmedia2.itr rc -r mediafld.rc mmedia3.itr
You should now have nine resource files (all in the working directory), named as follows:
DESKTOP1.ITR (Containing icons for PMWP.DLL) DESKTOP2.ITR (Containing icons for AUXWP.DLL/ECSWP.DLL) DESKTOP3.ITR (Containing icons for XWPRES.DLL) INTERNET.ITR (Containing icons for WPINET.DLL) SESSION1.ITR (Containing icons for PMMRGRES.DLL) SESSION2.ITR (Containing icons for PMVIOP.DLL) MMEDIA1.ITR (Containing icons for MMPTMRI.DLL) MMEDIA2.ITR (Containing icons for CWMM.DLL) MMEDIA3.ITR (Containing icons for MEDIAFLD.DLL)
Every theme may provide a 'preview DLL' which contains the ten icons displayed in the Icon Themes applet's preview area. This is optional; if such a DLL does not exist, the Icon Themes applet can also use the icon files themselves to populate the preview display (see below).
Note: If you create a preview DLL, your theme identifier must not be longer than eight (8) characters.
The command file PREVWDLL.CMD will automate the creation of this DLL for you, as long as you have one of the supported C compilers installed. This REXX script takes three arguments: the compiler to use, the theme identifier, and the path to the work directory containing the icon files. (The directory name may be omitted if it is located under the current directory and has the same name as the theme identifier.)
prevwdll compiler identifier [ workdir ]
The compiler argument indicates which C compiler (out of those supported by PREVWDLL.CMD) should be used to create the DLL file. The available options are IBM (indicating the IBM C Compiler, ICC.EXE) and GCC (indicating the GCC Compiler, GCC.EXE – either EMX or kLIBC should work, although the latter will produce a couple of warning messages which you can ignore). Whichever compiler you choose must be installed on your system, correctly configured, and available via the necessary system paths at the time that PREVWDLL.CMD is run.
The resulting DLL will be named identifier.DLL (where identifier is the theme identifier), and will be placed in the work directory.
A theme definition is a one-line text file which describes your theme in a format which the Icon Themes applet can understand.
The format of this file is:
identifier;full name;descriptionwhere identifier is your theme identifier, full name is the full user-readable name of the theme (which will appear in the list of themes in the Icon Themes applet), and description is a longer description of the theme (which should include any applicable copyright information) which will be displayed when the theme is selected in the GUI.
The filename of the theme definition must be 'language.LST', where language is the two-letter ISO code of the language for which the theme definition is written. For English, this would be 'EN.LST'.
You can have multiple theme definitions, one for each language in which you want your theme name and description to be presented. The Icon Themes applet will attempt to display each theme in the current user interface language; if a particular theme is not translated into that language, English is used as a default; if English is not available either, then the first language found at the time the theme was installed is used.
You are recommended to always provide a EN.LST file for your theme, no matter what other languages you choose to support.
Icon themes should be distributed in .ITH format, which is an installable package format recognized by the Icon Themes applet.
A .ITH is simple a ZIP archive with the filename 'identifier.ITH', where identifier is your theme identifier. This archive must contain the following files:
The recommended way to install a new icon theme is to use the Install item under the Theme menu from the Icon Themes UI. You will be prompted for a file: specify the icon theme package (*.ITH) that was created in the previous step.
This option does not actually require a .ITH file: if all of the required theme files are present in one directory, you can also specify one of the theme definition files (*.LST) in order to install the theme. (If you do this, the theme file you specify will be used as the default fallback, instead of English, for languages which are not defined by the theme being installed.) Note that this technique does not work if the theme files are already in an eponymous subdirectory of the Icon Themes directory; the theme files must be in a separate directory, and the Icon Themes applet will copy them to the correct location.
Manual installation It is also possible to install an icon theme manually, using the following steps. (Prior to version 2.1, this was the only installation method available.)
|
BUILD_SOURCES.CMD was provided by David Graser.
Original OS/2 Warp icons are the property of (and presumably ©) IBM Corporation.