WindowBlinds “Basic” (UIS1+) language

 

WindowBlinds 2 introduces a new skinning language, which has been designed for compatibility and performance.

 

For simplicity this language will be called the ‘Basic’ skin language and UIS2 is called ‘Advanced’

 

UIS1+ differs from UIS2 only in how the frame windows are defined.  There are a few restrictions in the capabilities of Basic (UIS1+) skins.

 

·         Buttons can only be placed on the top border

·         Borders cannot be shaped

·         Left, right , and bottom borders cannot be resized

·         Menu bars cannot be skinned

·         UIS2 plugins and scripting cannot be used

·         No animation support

 

However, UIS1+ introduces some new capabilities

 

·         Different frame images can be used for normal, sizable, MDI child and tool windows.

·         Action codes to support the above

 

Skin name

 

Skins need to have a name and an author for WindowBlinds to list them in the skin list.  This following section is used to hold this inlanguageion. 

 

[TitleBarSkin]

 

SkinName=UIS1+ SKIN TEST

SkinAuthor=NB

 

; You also have to provide a small preview image to show next to the skin name in the list.

 

ActiveTitle=RATM\bot.bmp

 

 

Border definitions

 

Unlike UIS2, only 2 images are used for the borders.  These contain the horizontal and vertical edges respectively.

 

[Borders]

 

; This file contains the left & right borders.  Each frame is 4 pixels wide.  You can put as many frames in as you like, but the other frame image must contain the same number of images.  LEFT images come first

 

vertFrame = ratm\left.bmp

 

; This file contains the top and bottom borders.  Height = 4 for bottom border

; Height = 23 for top border.  Bottom images come FIRST

HorzFrame = ratm\bot.bmp.

 

So when you’re done, your image should be 54 (23 + 23 + 4 + 4) pixels deep with the active and inactive horizontal borders first and then the active and inactive title bar states next.

 

; You set this to the number of frames the border images contain.  So if you use the same frame for all states (active, inactive + other window types) then you set this to 1. 

framecount = 3

 

; Stretching mode options (obvious I hope)

leftmiddlestretch  =0

rightmiddlestretch = 0

topmiddlestretch = 0

bottommiddlestretch = 0

 

 

; usual 3 section cutting points

 

LeftTopHeight = 4

LeftBottomHeight =4

 

RightTopHeight = 4

RightBottomHeight =4

 

 

TopTopHeight = 5

 

; You can now define which frame to use in which state.  By default all inactive windows use the 2nd frame as the inactive frame, but you can change this.

 

NormalActiveFrame = frame number

NormalInactiveFrame = frame number

 

MDIActiveFrame = frame number

MDIInactiveFrame = frame number

 

NonSizableActiveFrame = frame number

NonSizableInactiveFrame = frame number

 

ToolActiveFrame = frame number

ToolInactiveFrame = frame number

 

;For non sizable windows, the left, right, and bottom frames are only 3 pixels wide, so

; you may want to make different frame images for these

 

Caption Text

 

The titlebar caption text positioning is defined in the following section

 

[Caption]

 

; The following 3 attributes are used to size the caption text area.  These are used to shift the text area

 

TextLeftShift = 5

TextTopShift = 4

TextRightClip = 10

TextAlignMode = 0

 

 

; You can control the size and font of the caption

FontName = Arial

;FontHeight = 10

FontWeight = 800

FontItalics = 0

 

; You should also define the number of buttons in the titlebar, these are used later on

ButtonCount = 4

 

Titlebar buttons

 

Titlebar buttons are defined in the same way as titlebar buttons in UIS2 skins.

 

[BUTTON#]

 

; Where # is a number from 0 – (buttonCount – 1)

 

xCoord = 18

ycoord = 6

buttonimage = ratm\close.bmp

align = 1

action = 0

Visibility = 51

 

; Only a subset of alignment codes are supported

 

0 – align from left

1 – align from right

 

; A couple of new visibility codes have been added too

 

50 – Show if the window is a toolwindow

51 – Show if the window is not a toolwindow