Beginning with version 1.0, TabSRMM introduced a simple skinning engine. This allows the user to customize the look of the entire message window by using a skin. Usually, a skin consists of the following elements:
- images (supported are PNG images in 32bit RGBA format only, this allows full per-pixel alpha blending)
- a skin definition file. This is an ordinary plain text file. The syntax is compatible with the well-known .INI format.
Typically, all files must be placed into a single directory. There are basically no restrictions where to put the files, but because the skinning engine is only using relative paths, the images must be at or below the folder in which the skin definition file is placed. The basic rule of one skin per physical directory is important to understand. You cannot mix files from 2 different skin within the same directory.
Advanced skinning techniques allow to use only a single image file. Skin elements are then created by "extracting" rectangular areas from that image file.
Themes vs. skins
One thing a user should understand is the difference between a theme and a skin. A theme is a set of font-, template- and color definitions which determine the look and layout of the text areas inside the message window. A theme does not alter the look of other message window elements, like title bar, buttons or the status bar.
- Themes are files with the extension .tabsrmm. They can be manually written, but the preferred method is to use the export message log settings feature of TabSRMM. This will collect and export all settings which compose a theme and save them to a .tabsrmm file. Such a file can later be imported again.
- Skin definition files have the extension .tsk and basically they define the rules how the various user interface elements should look like. A skin can optionally include a theme which will be imported when the skin is loaded. This allows users to create a complete customization pack, consisting of a skin and a matching theme.
Skins, themes and how they work with other plugins like IEView
IEView is a very popular plugin for Miranda. When it is used and active for a message window, it will replace the default message log. Consequently, TabSRMM themes will not work when IEView is in use. Read the page about the message history for further information. Skins will however continue to work, because IEView only replaces the message log area but not the entire message window.
Similarly, when using History++ to display the message history, the same applies.
Which elements are skinable?
- tabs (and the tab page itself)
- the container background
- the info panel background
- the window frame and title bar
- the title buttons
- the status bar background
- the status bar panels (the content rectangles which hold the text or icons)
- the surrounding regions of the 2 text areas (message history and message input area)
A skin definition can also load a .tabsrmm theme definition file which contains font style and color definition for both the message history log and the input area. So it is possible, to load a complete skin by just loading a single file. Skins can be changed at runtime and it is possible to reload the currently selected skin which makes it easier for skin developers to preview their work. However, to load or reload a skin definition, all message windows must be closed.
The skin definition is plain text file and uses the .INI format. You can use any text editor you want to edit skins. The only valid file name extension is .tsk.
Image path names are RELATIVE to the directory in which the skin file is located. The best way is to put all images and the skin definition file into a single directory.
The same applies to the theme file (.tabsrmm theme) – it has to be placed in the skin directory and the filename must be given without a path.
How to load a skin definition
Refer to installing and loading skins.