Executor skin files
Following is a brief description of how to build executor skin files.
NOTE!: This guide only applies to the skintypes: mini, small, medium. If you want to make an alpha skin (alpha channel support) you should look at THIS skin guide.
Best way to learn is probably to modify the already existing ones. These are located in the "skins" folder in the executor folder. The .skn files are just text files.
Also here are some of the photoshop (7.0) files I used for some of the skins (made in a rush). The separated layers (input, background, icon) might be useful -[ download photoshop skin examples ]-
- textcolor - Color of the input text.
- textbackcolor - Color of the background of the text input.
- windowcolor - Color of the window border.
- buttonarrowcolor - Color of the small arrow displayed in the drop-down button.
- buttonoutlinecolor - Border color of the drop-down button.
- buttonfillcolor - Fill color (background) of the drop-down button.
- skintype - Skintype.. can be mini,small,medium.. medium is preferred or skins.
- transactive - How transparent Executor shall be when it's window has focus. 0 to 255 where 0 is totally transparent and 255 is no transparency.
- transinactive - How transparent Executor shall be when it's window doesn't have focus. 0 to 255 where 0 is totally transparent and 255 is no transparency.
- showwindow - Should a default windows tool-window frame with caption be shown (0 = false, 1 = true).
- showicon - Show the icon of current input (0 = false, 1 = true).
- showcombo - Should the drop-down button be shown (0 = false, 1 = true).
- skinpicture - Image file of the skin. if no path the image must be in the same directory as the skin file. Bmp and jpg's are accepted.
- transparentcontrols - If enabled the background of the input and dropdown button (if visible) will be transparent and will show the skin behind it (0 = false, 1 = true). Default is false.
- editheight - Height of the text edit box that will be draw on the skin (default is 14 pixels).
- editwidth - Width of the text input edit field. Also see "Width" below.
- editwidthnoicon - Width of the text input edit field when icon is disabled.
- iconpixelsoffset - Used to determine where on the skin the icon should be drawn. The number of pixels that should be between the edit field (including drop-down) and the icon. Only applies to skintype=medium. Use this if you need to have Executor draw the icon more to the right. This will not impact on the width of the skin.
- editleft - See "Width" below.
- paddingright - See "Width" below.
- paddingtop - See "Width" below.
- paddingbottom - See "Width" below.
- fontname - Name of the font. Example Arial.
- fontsize - Fontsize. Default is 8.
- fontbold - Font bold style (0 = false, 1 = true). Default is 0.
- uselist - If true forces to use list instead of drop-down. If false forces to use standard drop-down. If left out the users current setting will be used (0 = false, 1 = true).
- listpicture - Image file of background for list.
- listfillmode - Specifies how the listpicture should be drawn. Can be tile or stretch.
- listitems - If you have a fancy picture not suited for tiling or stretching you can specify how many visible items the list should have (each item has a height of 17 pixels).
- listtextcolor - The color of the text in the list. If not specified the color will be same as the textcolor property.
- titlefontsize - Size of the title font.
- listfocustextcolor - Text color of the selected item in list.
- listfocusbgcolor - Background color of the selected item in list.
- listtitlecolor - Color of the optional title (description) text in list.
- failcolor - Color of the text if input failed to launch.
Dropdown properties (if using dropdown instead of list)
- titleenabled - If this is enabled the title (show hint) will show within the skin instead of above or below the Executor window (0 = false, 1 = true) Default = 0.
- titleleft - X location of the title.
- titletop - Y location of the title.
- titletextcolor - Text color of the title.
- titlewidth - Maximum width of the title (to avoid it being displayed over for example the icon).
- titleprefix - This text (if any) will be prefixed to the title.
- dropdownfontname - Font to use for dropdown.
- dropdownfontsize - Size of the dropdown font.
Notes on properties
If you leave out a property in the skin file then the property will just remain the same as the users current settings. For example if you don't include fontname, fontsize, transactive, transinactive in your skin, then the font and transparency will remain the same as the users current settings.
Default skin image height is 36 pixels, if you want a greater height you can add paddingtop and/or paddingbottom. Padding top will push down the edit/dropdownbutton/icon, while paddingbottom will just add space beneath these.
note on paddingtop: default value 0, Executor already have a fixed top padding of 2 pixels (included in the 36 pixels), paddingtop will be added to this.
note on paddingbottom: default value 0, Executor already have a fixed bottom padding of 2 pixels (included in the 36 pixels), paddingbottom will be added to this.
Summery: imageheight = 36 + paddingtop + paddingbottom
The width of the image will be editwidth + 49 pixels (for dropdown-button, standard padding, icon). Additionally editleft will determine where the input should start from the left. editleft will be added to the total image width. Also paddingright will add additional spacing to the right of the icon and/or to the right of the dropdown-button if icon is disabled. paddingright will be added to the total imagewidth.
note on editleft: default value 4.. Any value will override the default value.
note on paddingright: default value 0, Executor already have a fixed right padding of 2 pixels (included in the 49 pixels), paddingright will be added to this.
Summery: imagewidth = editwidth + 49 + editleft + paddingright
Some skin properties are only loaded once (one time) when you initially press the "browse" button and select the skin. This allows the user to later change some colors and other settings they may dislike. But when testing the skin you can press CTRL+F5 to reload the entire skin or in settings you should click "browse" and reload the skin to make sure all skin properties are reloaded.
If any doubt, questions, or find this guide very incomplete, then please use the forums.