How to Create Your Own Skin for Title Buttons

Since the version 4.0, Actual Tools programs support custom skins for their extra title buttons. Skin is a particular set of images used to draw those extra buttons in a title bar. These images should fit the current style of standard window buttons that may vary widely especially when using non-standard UI themes. Actual Tools programs' title buttons skin is described in XML, and this description is stored in a special skin index file. This skin index file can be placed either into a separate folder or into a ZIP archive.

Skin Naming Conventions

Actual Tools programs use some naming conventions for folders or ZIP files containing title buttons skins. These conventions let provide an automatic detection and use of a proper title buttons skin when user selects a new UI theme in the Display Properties system dialog.

So if you want to use the automatic detection feature then you should name your custom skin in the following manner:
   <main theme name>_<theme style name>
where the <main theme name> is the internal name of theme and the <theme style name> is the internal name of theme style; these names are used by Windows®. You can find internal names of your currently installed themes by looking into the C:\Windows\Resources\Themes folder: each subfolder there represents a particular theme, and the name of this folder is the internal theme name. Also, each such folder contains the Shell subfolder where subfolders with theme styles are placed. For example, the standard Windows® XP theme is internally named Luna, and it has the following folders in its Shell subfolder: NormalColor (corresponds to XP Blue style), Homestead (corresponds to XP Green style) and Metallic (corresponds to XP Silver style). So their corresponding standard title button skins shipped by default are named, and accordingly.

Most of themes don't contain any styles other than NormalColor so you should name your custom skin folder/ZIP file something like MyTheme_NormalColor (or if you are using the ZIP file as a skin container).

Skin Index File Format

In according to XML (eXtensible Markup Language) format, title buttons skin index file defines the special tags containing the information about pictures. Here is the general content of the index file:

  <skininfo>My skin</skininfo>
    <button name="operation name">image file name.bmp</button>
    <button name="operation name_Small">image file name_Small.bmp</button>

All image file names can include a path name relative to the folder where the index file is placed but we recommend you to place the buttons images in the same folder/ZIP archive as the index file, in such case you should provide file names only without any path name.

Pictures Format

As follows from the index file format, each button must have two different images: normal and small. Both images must be BMP files having the 256-color palette and of the following size: normal - 13x13 pixels, small - 8x8 pixels. The full list of pictures is the following:

  • StayOnTopOn
  • StayOnTopOn_Small
  • StayOnTopOff
  • StayOnTopOff_Small
  • MinToTray
  • MinToTray_Small
  • MinToEdge
  • MinToEdge_Small
  • MakeTransparentOn
  • MakeTransparentOn_Small
  • MakeTransparentOff
  • MakeTransparentOff_Small
  • WindowRollup
  • WindowRollup_Small
  • WindowUnroll
  • WindowUnroll_Small
  • SendToBottom
  • SendToBottom_Small
  • ResizeWindow
  • ResizeWindow_Small
  • RestoreSize
  • RestoreSize_Small
  • GhostOn
  • GhostOn_Small
  • GhostOff
  • GhostOff_Small
  • AlignWindow1
  • AlignWindow1_Small
  • AlignWindow2
  • AlignWindow2_Small
  • AlignWindow3
  • AlignWindow3_Small
  • AlignWindow4
  • AlignWindow4_Small
  • AlignWindow5
  • AlignWindow5_Small
  • AlignWindow6
  • AlignWindow6_Small
  • AlignWindow7
  • AlignWindow7_Small
  • AlignWindow8
  • AlignWindow8_Small
  • AlignWindow9
  • AlignWindow9_Small
  • AlignWindow10
  • AlignWindow10_Small
  • AlignWindow11
  • AlignWindow11_Small
  • AlignWindow12
  • AlignWindow12_Small
  • AlignWindow13
  • AlignWindow13_Small
  • RestorePos
  • RestorePos_Small
  • PriorityLow
  • PriorityLow_Small
  • PriorityBelowNormal
  • PriorityBelowNormal_Small
  • PriorityNormal
  • PriorityNormal_Small
  • PriorityAboveNormal
  • PriorityAboveNormal_Small
  • PriorityHigh
  • PriorityHigh_Small
  • PriorityRealtime
  • PriorityRealtime_Small
  • MoveToMonitor
  • MoveToMonitor_Small
  • MaximizeToDesktop
  • MaximizeToDesktop_Small
  • RestoreMaximized
  • RestoreMaximized_Small
  • MoveToVirtualDesktop
  • MoveToVirtualDesktop_Small
  • MoveToDivisionRect
  • MoveToDivisionRect_Small
  • ShowDisabledButtons
  • ShowDisabledButtons_Small
  • RuleSettings
  • RuleSettings_Small
  • Copy
  • Copy_Small
  • Paste
  • Paste_Small
  • Cut
  • Cut_Small
  • ShellExecute
  • ShellExecute_Small
  • MirrorControl
  • MirrorControl_Small
  • ComboAction
  • ComboAction_Small
  • RecentFoldersDialog
  • RecentFoldersDialog_Small
  • FavoriteFoldersDialog
  • FavoriteFoldersDialog_Small
  • SwitchAudioDevice
  • SwitchAudioDevice_Small
  • OpenToggleButton
  • OpenToggleButton_Small
  • CloseToggleButton
  • CloseToggleButton_Small
  • CaptionButtonBackground
  • CaptionButtonBackground_Down
  • CaptionButtonBackground_Hot
  • CaptionButtonBackground_Inactive
  • CaptionButtonBackground_Inactive_hot

Applying the Skin

After you prepared the skin index file and the images, you can set this your skin as a default using the Actual Tools program's Title Buttons skin options; or, if you named your skin properly, you should deselect and then select again the desired theme - and the skin should be applied automatically.