The information contained within this document and the format of the image layout is considered to be the property of Stardock.net, Inc. This information is provided 'as-is' and only for use by skin designers / authors to produce UIS skins for use with WindowBlinds. All other uses of this information are strictly prohibited. To avoid misunderstandings, this means that you may not read, create, write, translate, or otherwise convert .UIS files for any purpose other than using them with WindowBlinds. As an example, if you want to develop custom skinning support via a control or something, that's great, but reading, converting, or otherwise utilizing the .UIS format is forbidden. When in doubt or if interested in a license, contact wblinds@stardock.com.
Although the format is very powerful and flexible, you should also find it quite easy to use as most features are optional and WindowBlinds will use it's own defaults if you do not specify any section. This information is also available online at http://www.windowblinds.net/uis/.
Important Note to Personality Authors
When making a personality please make the .zip filename the same as the .uis filename. WindowBlinds will create a folder named the same as the zip file (minus the .zip extension)Also you should not use spaces or funny symbols in the name of the zip. It is useful if you could name the zip (and therefore the .UIS file) something without the version of the personality. Then if you make a change to the personality, it can be updated in the listings easier.
Please be sure to upload your skins to www.skinz.org and www.stardock.com/wb/upload.asp.
Be sure to check out BuilderBlinds at http://www.stardock.com/products/builderblinds as well! BuilderBlinds is also available as part of the Object Desktop Network.
[TitlebarSkin]
Firstly ALL .uis files must contain the personality name & author. Without these, the user will not be able to select it as it will not show in the list of installed personalities.SkinName = World of Yellow
SkinAuthor = Neil BanfieldThe following are not used in the current public releases but later versions may do, so you may as well include them
AuthorsURL = [Put your url here]
AuthorEmail = [Put your e-mail address here]
SpecialNotes = [Any special notes regarding this personality go here][Personality]
This is where the main details of the personality are specified. This section lists the bitmaps, the sizing information and the number of buttons implementedIf your personality does not use transparency in the titlebar buttons then you should put the following line in the UIS file as it helps WindowBlinds and ensures greater performance when using this personality.
UsesTran = 0
If your personality does not use transparency in the titlebar or window borders, put the following line in the UIS file as it ensures greater performance when using this personality.
NoShape = 1
buttonCount = [Number of buttons we have defined in this personality]
We now specify details about the titlebar text
TextAlignment = [ 0 - Left, 1 - Centre, 2 - Right]
TextShift = [Amount in pixels to shift the titlebar text by from the left] (A)
TextShiftVert = [Amount in pixels to shift the titlebar text down by] (B)
TextRightClip = [How far from the right edge should clipping of the text start] (C)You should ensure you have set the TextShift & TextShiftVert settings correctly to prevent titlebar text overlapping any buttons or titlebar plugins you have added.
If you want to make the titlebar text appear on the bottom border, rather than the top border, then the next line is for you.
TextOnBottom = [0 - Normal text behaviour, 1 - Place the text on the bottom on the window]
WindowBlinds also has the ability to add strings to the front and back of the titlebar text
FrontString = "*** " [String to add]
EndString = " ***" [String to add]All UIS 2 based personalities include lines which relate to menu bars. You should remember that the bitmap name is relative to the WindowBlinds install directory. menubar = yellow\menu.bmp
You can specify how many pixels from the left & how many pixels from the right end of the menu bar should not be stretched (horizontally)
TileLeftMenu = {Amount of pixels}
TileRightMenu = {Amount of pixels}Sometimes you want to make the menus start a set number of pixels from the left of the window border.
MenuLeftTile = Specifies the amount to shift the menu text by again in pixels
When a menu item is selected, the item has a rectangle drawn behind it to indicate the selection. The next lines define the colour of the rectangle in red, green & blue
MenuR = 142
MenuG = 109
MenuB = 146There are also some other colours which are added to the UIS file too. These can be chosen by the user or they may choose to use their own system colours instead. You MUST include all of the 3 colours definitions described below or the colours are ignored
ActiveTextR =
ActiveTextG =
ActiveTextB =InactiveTextR =
InactiveTextG =
InactiveTextB =MenuTextR =
MenuTextG =
MenuTextB =Now we have the bitmaps for the window borders and titlebar. Again they are relative to the WindowBlinds install directory. Top = yellow\top.bmp
Left = yellow\left6.bmp
Right = yellow\right6.bmp
Bottom = yellow\bot5.bmpThese bitmaps use RGB(255,0,255) as a transparent area. Currently the transparency is only obtained from the active titlebar. Each bitmap consists of 2 images. The active & inactive images are placed in the bitmap together. For vertical sides, the active is on the left & the inactive on the right. For horizontal images, the active is on the top and the inactive is on the bottom
![]()
![]()
![]()
![]()
Each border has areas which are not tiled and areas which are tiled or stretched
In the above, A & C are non tiled and B is an area which is either tiled or stretched
For each we specify the size of A & the size of C
TopTopHeight = 45 (Size in pixels of A)
TopBotHeight = 45 (Size in pixels of C)
This is repeated for the other 3 sides
LeftTopHeight = 6
LeftBotHeight = 10RightTopHeight = 6
RightBotHeight = 10BottomTopHeight = 6
BottomBotHeight = 6Notes: The value of LeftBotHeight MUST be >= height of the bottom edge
We now specify is the area B should be tiled or stretched
TopStretch = 0 (0 - Tile, 1 - Stretch)
LeftStretch = 0 (0 - Tile, 1 - Stretch)
RightStretch = 0 (0 - Tile, 1 - Stretch)
BottomStretch = 0 (0 - Tile, 1 - Stretch)The following settings are for the optional animation of the active titlebar. You MUST do all the steps to get animation to work (This includes adding anim.dll to the personality) Animation can only be used for the active titlebar. It will not work for the inactive titlebar.
Firstly you need to add the extra frames in the border images. Currently each border MUST contain the same number of frames.
The you need to specify the time between frames. This is specified in ms. So 1000 = 1 sec
AniRate = 0
Then you have to tell WindowBlinds how many frame there are in the image. This includes the inactive state. So a normal non animated titlebar would contain 2 frames.
These frames are ordered in the following way (assuming a horizontal border and N frames for the animation)
Active 1
Active 2
Active 3
....
Active N
InactiveSo the inactive image is the last in the file. For vertical edges, the inactive frame is the right-most image.
By default WindowBlinds obtains the shape of the window from the first frame, but WindowBlinds can be set to use a different shape for each frame if the following line is included.
DynamicFrame = 1
This option is NOT compatible with the MaxBorder* lines. and it will result in a 1 pixel transparent are on the right of a maximized window. This is by design.
If you do not use animation then please set these values to 2. If you want to be very memory efficient, you can now set any edge which has the same inactive & active image to have only one image and only include one in the image file. This trick cannot be used for personalities which use animated titlebars / borders.
TopFrame = 2
LeftFrame = 2
RightFrame = 2
BottomFrame = 2After doing the above steps there is one more thing to do.
You must create a button of type dll and assign the dll name to anim.dll (Its in the WB dir so no need to add the directory name or include the file in your .zip file). The example below can be used. The number of the button does not matter, but it must be included in the button count.
[Button8]
XCoord = 0
YCoord = 0
Align = 0
; Button of type DLL
Action = -3
Width = 0
Height = 0
DllName = anim.dllWant to assign a bitmap to place behind the text? This is split into 2 (active = top half, inactive = bottom half). Tthis feature works for left, centred & right aligned text.
textBack = MacPC\macback.bmp
Here we can set the alpha value for the text background image. This is a value from 0 - 255 where 255 = totally visible and 0 = invisible.
ActiveAlpha =
InactiveAlpha =
See the notes for alpha in the titlebar buttons section to see limitations of this feature.
We can tell WindowBlinds how much should be tiled at each end too. These bits will overhang the caption text. So to make the text background start 20 pixels to the left of the text and finish 30 pixels to the right, you would make TXTBackleft = 20 and TXTBackRight = 30.
TXTBackleft = 4
TXTBackRight = 4You'll may want to specify a background wallpaper for the personality. The user is asked if they wish to use it when they choose the personality. Keep in mind that including a wallpaper image can increase the size of a skin package very quickly.
Wallpaper = Yellow\bitmap.bmp
Remember the paths are as usual relative to the WindowBlinds directory.
We also have the ability to run a command when the personality is selected. WindowBlinds will ask the user if they wish to do this action specified.
Exec = start readme.txt
You can specify the run style (3 = normal, 7 = hidden (use if you use start.exe to start something))
RunStyle = {0,1,2,3,4,5,6,7}
You may want to include an IconPackager theme to be used with your personality. WindowBlinds can be made to automatically apply the theme when the personality is selected.
IconTheme = yellow\mytheme.zip
As usual the filename is relative to the WindowBlinds directory.
And of course you can specify some bitmaps to use for bitmap backgrounds etc
ExplorerBmp =
DialogBmp =
MDIBmp =
Care to specify a bitmap to use for the menu borders? Only the 3 pixel wide border around the edge of the bitmap is used.
menuBorders =
The following lines specify the amount of each border which should be off the screen when the window is maximized. This information is only used when the Show Window borders when maximized option is disabled (see the Tips and Tricks section of the help file).
MaxBorderCutLeft =
MaxBorderCutTop =
MaxBorderCutRight =
MaxBorderCutBottom =
WindowBlinds also includes the ability to have mouseover effects. This can be turned on using the following line. Mouseover is only for the active window. The image for the mouseover is the 3rd in the button image. I.e. the one reserved usually for disabled. Please see the comments above the action codes for buttons as maximize and minimize buttons require special handling.
mouseOver = 1
Now we get onto the titlebar buttons The images for a button are all stored one file. The states are
- Non Pressed
- Pressed
- Disabled / MouseOver
But we also support different images for when the titlebar is inactive (like in the picture above), so the following is defined to indicate to WindowBlinds if we are using this
TripleImages = [1 - Use 6 images in one, 0 - Use 3 images]
We can assign sound effects to buttons so to enable this use the following line
SoundEnabled = [1 - Sound effects on, 0 - Sound effects off]
Lastly as we can assign the rollup function to a button we have a line which lets us specify the minimum height to rollup to. Without this line it will rollup to the height of the titlebar.
RollupSize = [In Pixels]
We can also have an action assigned to the right click on the titlebar. This code is as Action in the next section
RightClickAction = See Action table
We can also now assign an action to double clicking the titlebar. The default is to maximize the window
DoubleClickAction = See Action table
As well as the fixed borders, WindowBlinds supports button objects. These can be placed anywhere on the borders. They can be pressable, like normal buttons, or just act as image layers. This capability is very powerful and you may wish to experiment with it to get the best from it.
[Button#]
# = Number of the button. So [Button4] is the 5th button. We start from 0
Align = See table below
Align ID
Meaning
0
Align button relative to top left of window
1
Align button relative to the top right of window
2
Align button relative to bottom left of window
3
Align button relative to bottom right of window
4
Align button in the middle of the top edge*
5
Align button in the middle of the bottom edge*
6
Align button in the middle of the left edge*
7
Align button in the middle of the right edge*
8
Align to left of caption text*
* These styles do not permit the button to be pressed in
XCoord = No of pixels to shift left edge of button from the alignment edge (Left or Right)
YCoord = No of pixels to shift top edge of button from the alignment edge (Top or Bottom)By default, WindowBlinds does not allow buttons to alter the shape of a window. However this default action can be changed by using the following setting. If you do not use this option, please do NOT include this line. The default value is -1.
By combining this option with the Visibility setting, you can change the shape of a window depending on it if has a minimize button, is sizable etc.
CombineOp = {-1 =As Normal, 0 = Cut away from the border, 2 = Add to border}
This option needs some explaining. When = 0, the RGB(255,0,255) section is used to cut into the shape. If the RGB(255,0,255) section is over an area which is already transparent then it does not affect it.
When = 2, the area which is not RGB(255,0,255) is added to the window border (i.e. the button can extend into an area which was originally transparent.
There are two limits. You CANNOT use Visibility = 1 or 2 for CombineOp buttons. This will not work unless the DynamicFrame = 1 line is in the personality. Also you cannot use the CombineOp line for certain Align settings.
Action = See table below
The disabled image is only used for 2 button styles (1 & 2). For all other action codes the 3rd image is used as a mouseover image IF mouseOver = 1 is defined in the [Personality] section of the .uis file. To get mouseover to work for maximize and minimize buttons you should use codes 22 & 23 instead.
Action ID
Action Performed
0
Close this window
1
Maximize this window - Shows Disabled State
2
Minimize this window - Shows Disabled State
3
Help button
4
Rollup / Unroll this window
5
Execute this command (see Command line next)
6
Force this Window to be always on top
7
Attach this window to the desktop (Always on bottom)
8
Litestep Only - Keep this window visible always
9
Prevent this window from being sized or moved
10
Execute the screensaver
11
System icon (I.e. The icon used for this window)
12
System Menu (Does not show the system icon, but works just like it with the menus)
13
Size from the top
14
Size from the bottom
15
Size from the left
16
Size from the right
17
Size from top left
18
Size from the top right
19
Size from the bottom left
20
Size from the bottom right
21
Send to back of z-order
22
Maximize Button - For use with MouseOver
23
Minimize Button - For use with MouseOver
24
Unsupported Experimental Code - Minimize to Sys Tray
25
Unsupported Experimental Code - Windows 2000 specific
-1
Do nothing. For when you just want to show an image. This does not intercept mouse messages
-2
This is like the above but it intercepts mouse messages, so clicking it stops you moving the window
-3
This tells WindowBlinds that this is a dll button. See later in this section
-4
Custom action. Clicking is handled in a UIS2 plugin dll, but drawing is done by WindowBlinds
-5
Non clickable. This is like an action 3, but it is treated as an integral part of the titlebar
WindowBlinds has the ability to assign a different command to a button if shift or control is pressed. The following 2 lines take the same action codes as the Action line.
ShiftAction =
CtrlAction =
Command = [Filename to execute - for buttons with action = 5]
This is the bitmap which contains the button images. Again RGB(255,0,255) is a transparent area.
ButtonImage = yellow\min.bmp
We can also specify the visibility for the button. Using the codes below you can make a button appear only when certain conditions are true.
Visibility = See table below (Also see text following it)
Visibility ID
Whats it mean
0
Always show this button
1
Show only when the window is active
2
Show only when the window is inactive
3
Show only when the window is maximized
4
Show only when the window is NOT maximized
5
Show only when window has been rolled up
6
Show only when window is NOT rolled up
7
Show only if this window has 'Always on top' set
8
Show only if window is NOT set as 'Always on top'
9
Show only if attached to desktop
10
Show only if NOT attached to desktop
11
Show only if 'Keep this window visible always'
12
Show if NOT 'Keep this window visible always'
13
Show only if window has WS_EX_CONTEXTHELP
14
Show only if window does NOT have help button
15
Show when window does NOT have either maximize or minimize button and is NOT maximized
16
Hides button if a maximize button exists or a minimize button exists
17
Show when window does NOT have either minimize or maximize button
18
Show if window is a MDI child
19
Show only if window is NOT a MDI child
20
Show if the window has a maximize button
21
Show only if the window does NOT have a maximize button
22
Show if the window has a minimize button
23
Show only if the window does NOT have a minimize button
24
Show if the window is sizable
25
Show if the window is NOT sizable
26
Show only if either a maximize of minimize button exists
27
Show only if the window has an icon
28
Show only if the window does NOT have an icon
You may define up to 10 visibility codes per button. These are combined using the AND operator.
Visibility1 = Value from above table.
Visibility2
Visibility3
Visibility4
Visibility5
Visibility6
Visibility7
Visibility8
Visibility9All of the visibility options are optional. You only need to include them if you need to combine visibility options. The default value is always show . Like Code 23 & Code 1. This would result in a button which is only shown when the window is active & it does not have a minimize button. To do this you would add the following lines :-
Visibility = 23
Visibility1 = 1You can also set an alpha value. WindowBlinds uses this to blend the image with whatever is below it. WindowBlinds makes use of its own advanced image blender which supports many per pixel effects. The alpha blender supports the RGB(255,0,255) transparency.
The larger the area of alpha blending, the slower it will be to display. However for normal sized buttons there is little performance hit that can be noticed. The alpha blending does not require any additional support files.
You can overlap blending and they will be blended in order. The lower numbered buttons are drawn before the higher numbered ones. So button 0 is drawn before button 5.
This option has no effect on button style 11 (sysmenu)
Alpha = {0 - 255}, where 255 is normal and 0 is invisible. All values between are different amounts to blend.
You can also specify the operation to use when combining the image
AlphaOp = See Table Below
Operation Code
What it does
0
Simple Alpha Blend. This uses the Alpha value to work out the blending
1
As above but the image is flipped
3
Darken. This uses the darkest pixel from the images
4
Lighten. This uses the lightest pixel from the images
5
Multiply. This multiplies the images
6
Screen.
7
Difference. The result is the difference between the 2 images.
8
Simple Transparency
9
Blur. Alpha = the amount. higher value = greater blur.
10
Graduated Alpha Blend
11
Slight blend horizontally
These operations are just like the ones you would find in a graphics package. The performance is not bad on a typical system and it may be that in the future these operations are made faster. If you would like any other per-pixel effects then please e-mail Neil@stardock.com with the algorithm for the operation and I will try to add it to a future release.
Most of the above operations would be used by a titlebar dll plugin as it is able to modify it's own look at runtime and so cannot have the operations carried out in a image package.
WindowBlinds also includes a dll plugin interface for buttons.
Basically this allows a programmer to design their own items to be added to titlebars. These could be clocks, animated buttons, almost anything!
The latest C SDK's can be downloaded from www.windowblinds.net.
DllName = the dll to use. Again relative to the WindowBlinds directory
The following have been added to help you size your new items
Width = Width in pixels of the item
Height = Height in pixels of the itemThese values override the dimensions of the bitmap specified in ButtonImage. It is advised not to have a ButtonImage line as it will just waste memory. Use the Width & Height lines instead.
crzywin.zip contains a demo personality which uses the dll interface. Plugin.dll is a clock. Crzywin.uis contains a section called clock which holds the parameters that can be used to configure the clock module.
Please note that the crzywin personality (called 'Tech Demo for Win98') makes extensive use of alpha blending, and the clock module is running in the fade mode. So it will fade in & out (using more CPU than in really needs)
crzywin.zip is not included in the WindowBlinds distribution due to size limitations. It is included in the titlebar plugin sdk on http://www.windowblinds.net/uis/
Now for sound effects.
InSound = [Sound to play when a button is pressed in]
OutSound = [Sound to play when a button is released]
WindowBlinds supports bitmaps to replace the standard buttons, checkboxes, and radio buttons too. [Buttons]
This is the checkbox bitmaps file.
CheckButton =
This is the radio buttons bitmaps file. If this is not specified then the checkbutton bitmap use used instead
RadioButton =
This is the button bitmaps
Bitmap =
And the edge sizes for the buttons. These edges are not stretched.
TopHeight = [Height of the top border]
BottomHeight = [Height of bottom border]
LeftWidth = [Width of the left border]
RightWidth = [Width of the right border]
- Standard buttons
Button states in bitmaps are
1) Normal
2) Pressed
3) Disabled
4) Focus
5) Default
- Check box buttons
Checkbox states in bitmaps
1) Normal
2) Selected
3) Greyed non selected
4) Greyed selectedWindowBlinds has the capability to assign bitmaps to the taskbar. However the bitmap MUST be called TASK.BMP, but it can be in your directory. So TaskImg = abc\fred.bmp will not work for a personality called abc, but TaskImg = abc\task.bmp will.
[TaskBar]
TaskImg = image file (again relative to the WB directory)
WindowBlinds has the ability to include colour schemes in the UIS file. As the user has the option NOT to apply the colours, you should still include the other colour definitions in the personality section. [Colours]
If you want to leave some colours as they are, then just do not include the line for the colour to leave as it is.
The format of the lines is RRRGGGBBB
ActiveTitle=100 174 152
Background=0 0 128
Hilight=67 67 67
HilightText=143 174 165
TitleText=46 80 70
Window=173 194 185
WindowText=0 0 0
Scrollbar=143 174 165
InactiveTitle=143 174 165
Menu=143 175 166
WindowFrame=67 67 67
MenuText=0 0 0
ActiveBorder=67 67 67
InactiveBorder=67 67 67
AppWorkspace=143 174 165
ButtonFace=143 174 165
ButtonShadow=77 93 88
GrayText=103 128 118
ButtonText=0 0 0
InactiveTitleText=67 67 67
ButtonHilight=30 30 30
ButtonDkShadow=130 158 150
ButtonLight=130 158 150
InfoText=0 0 0
InfoWindow=100 174 152
WindowBlinds 1.06 UIS2 additions
[ToolBars]
You can specify a bitmap to be used for toolbar backgrounds.
This is the bitmap file
Image =
And the edge sizes for the buttons. These edges are not stretched.
TopHeight = [Height of the top border]
BottomHeight = [Height of bottom border]
LeftWidth = [Width of the left border]
RightWidth = [Width of the right border]Button states in bitmaps are
1) Normal
Tab Skinning
2) Pressed
3) Disabled
4) Focus
5) DefaultTo skin tabs, a new section has to be added. This is the [Tabs] section.
The basic idea is similar to that of skinning buttons.
You need 2 images for skinning tabs. The 1st is in the same format as the button images (I.e. you could take a button image file and it would work) and the 2nd is identical to the menu borders bitmap.
You can specify the images as follows
Image = image file for 'tab' section
Border = image file for frame sectionAs with buttons, you can specify what not to stretch for the tab section.
TopHeight = [Height of the top border]
BottomHeight = [Height of bottom border]
LeftWidth = [Width of the left border]
RightWidth = [Width of the right border]
TaskBar skinning
The previous method of skinning the taskbar is NOT supported any more.TitleBar text effectsInstead the new more flexible system is used.
If the [Taskbar] section is missing, WindowBlinds will use the button bitmap for the taskbar items. In some skins this will be a good solution and you will not need to spend any time making any images. If your buttons look odd for taskbar images, or you want to use a different image then you need to add the section below
The image file is again in the same format as the button image, though only the non pressed, and pressed images are currently used. However do not assume the other images will not be used in later versions of WindowBlinds.
[Taskbar]
Image = image file to use
As with buttons, you can specify what not to stretch for the taskbar.
TopHeight = [Height of the top border]
BottomHeight = [Height of bottom border]
LeftWidth = [Width of the left border]
RightWidth = [Width of the right border]Also see the additions later in this document regarding buttons, toolbar buttons etc
You can now add special effects to titlebar text to enhance your skins look. Currently 2 extra effects have been implemented. These are shadows and outline.Menubar changesTo turn these on, you use the following attribute to the new [Text] section
Use3DText = 0 (normal text), 1 (Shadow), 2 (Outlined)
You can set the colour of the shadow (or outline) by using the following 3 lines
ShadowTextR =
ShadowTextG =
ShadowTextB =If you do not want the effect to occur on the inactive titlebar text, then use the following line (This line is for outlined text also)
NoShadowInactiveText = 1
For shadows, you can set the offset value. By default this is set to 1, but you can set any number of pixels (Negative values are also supported)
ShadowOffset =
You can now set the middle section of a menubar to tile instead of the old stretch method. This was added at the request of some skin authors.Text background visibility optionsSimply add the following to the [Personality] section
TileMenu = 1
You can now set the visibility of the text background. It accepts all the normal visibility options.New Visibility options for ButtonsThese attributes are added to the [Personality] section
TextBackVisibility =
TextBackVisibility1 =
TextBackVisibility2 =
TextBackVisibility3 =...
TextBackVisibility9 =
Some new button visibility codes have been added to support new featuresNew button action codesOne new attribute has been added to buttons to allow then to be linked to others.
29 = Show if windowtext exists (i.e. > 0 chars long)
30 = Reverse of above31 = Show button when mouse is over the button specified in the LinkedTo line
32 = Show button when button specified in the LinkedTo line is pressed in
33 = Show button when mouse is over the button specified in the LinkedTo line OR the button is pressed inThe LinkedTo attribute can also be used for the next ability
40 = Show button when the button specified in the LinkedTo line is toggled on. This requires a button to have the toggle button action code
40 = Make this button a toggle button (for use with visibility 40 buttons - This button would not have visibility 40!)Start Button skinning
Another change to button action codes, is to Code 5 (execute app)
If you now put an & in the front of the command line string, then WB will use the text you put after it as a special code and will lookup that value in the wbuser.ini file in the WindowBlinds dir.
So if you defined your button as
[Button1]
Action = 5
Command = &MailThen if the user has a wbuser.ini file containing the following...
[Programs]
&Mail = msimn.exeThen WB will run msimn.exe instead. This allows skins to have buttons defined to run certain apps (say an image editor app) but the user sets what app it loads. You can use anything after the &sign, but the following are recommended as a standard.
&Editor = Text Editor
&WP = Word Processor
&Spread = SpreadSheet app
&Pim = Pim app
&Web = Web browser
&Mail = Mail app
&News = News app
&Paint = Image editor
WindowBlinds now has the ability to skin the start button. If this section is missing, WindowBlinds will use the image used for normal buttons.New Button / Toolbar button etc featuresUnlike normal buttons, this image is simply stretched. There are no border settings as the Start button is unlikely to change in size. The image format as the same as normal buttons
[StartButton]
Image = image file (again relative to the WB dir)
WindowBlinds now allows parts of buttons to be transparent. Simply set the bits to be transparent = RGB(255,0,255) and add the following line to the section relating to that item (I.e. [Buttons] [Toolbar] [TaskBar] etc)Progress bar skinning supportTrans = 1
You can also now set the middle section of a button to tile rather than stretch. The border parts are done as normal.
Tile = 1
You can now set a skin for progress bars too. The form is similar to that of buttons and toolbars, but the image file only has 2 images in it.The background of the progress bar comes first, followed by the part which is used as the 'bar'
[Progress]
First define the bitmap
Bitmap = source image file
Then you have the usual settings for defining the border
TopHeight = 1
BottomHeight = 3
LeftWidth = 1
RightWidth = 2Then you can support transparency or not
Trans = 1 (Default = 0)
The parts can be tiled or not tiled. To turn on support add the following line
Tile = 1 (Default = 0)
If you want the back and the bar to tile, then set TileMode = 0
If you want the background to stretch and the bar to tile, then set TileMode = 1
If you want the background to tile, but the bar to stretch then set TileMode = 2
You can also set the alpha value for the bar. Setting this will make the bar semi transparent to what is under it (I.e. the background image)
Alpha = 0-255 (Off = 0)
WindowBlinds 1.08 UIS2 additions
Firstly the 1.08 UIS2 engine supports mouseovers on normal buttons (OK, Cancel etc)
This can be enabled by adding the following line to the [Buttons] section
MouseOver = 1
The other big change is the support of scrollbars
The main part of the format is stored in the Scrollbar section.
[Scrollbar]
This is the image file for the up, down, left & right buttons
They are stored as Normal, pressed, disabled and mouseover
So 4 x 4 (LEFT, RIGHT, UP, DOWN)
+ 6 images for the scrollbars to put in the middle
+ 1 image for the bit between 2 scrollbars
So first is horizontal and 2nd is verticalThese contain the usual normal, pressed and mouseover images
Could be used as a 'DOT' on the scrollbar
This does NOT have different states.
So there are 23 images of the same size in this file.
Suggested size is 16x16 for each image as this seems to be the normal windows dimensionsImage = MacPC\macSB.bmp
This line tells WB to enable or disable mouseovers
Right now they are not implemented, but they will be in the near futureMouseOver = 0
If you want the base image to appear pressed when any part of the scrollbar is pressed then the following attribute is used
BasePress = 2
if you want BOTH scrollbars to have their base pressed when either has a part pressed then use
BasePress = 1
If you use the dot images and want transparency in them then the following attribute should be used
Trans = 1
; Horizontal scrollbars
[HorzScroll]We need some images for the base part of the scrollbar. This contains 4 images as follows
inactive base, pressed base, disabled base, mouseover base
Currently the mouseover image is not used.
Image = MacPC\macHB.bmp
These images can have the usual edges etc (like buttons..)
TopHeight = [Height of the top border]
BottomHeight = [Height of bottom border]
LeftWidth = [Width of the left border]
RightWidth = [Width of the right border]Tile = 0 = no, 1 = yes
[HorzScrollThumb]
Then we have images for the bar part. These are inactive bar, pressed bar and mousover bar
Image = MacPC\macBar.bmp
This has its own border settings
TopHeight = [Height of the top border]
BottomHeight = [Height of bottom border]
LeftWidth = [Width of the left border]
RightWidth = [Width of the right border]Tile = 0 = no, 1 = yes
It also supports additional attributes
Alpha = (alpha value - 0 -255) 255 = VISIBLE, 0 = INVISIBLE
If you use alpha blending then the following attribute lets you control how it works.
AlphaMode = 0 (All bar images are blended) 1 (Only the inactive image is blended)
Finally we have an attribute for showing the dot image or not on the middle of the bar
ShowDot =
; Vertical scrollbars
[VertScroll]We need some images for the base part of the scrollbar. This contains 4 images as follows
inactive base, pressed base, disabled base, mouseover base
Currently the mouseover image is not used.
Image = MacPC\macHB.bmp
These images can have the usual edges etc (like buttons..)
TopHeight = [Height of the top border]
BottomHeight = [Height of bottom border]
LeftWidth = [Width of the left border]
RightWidth = [Width of the right border]Tile = 0 = no, 1 = yes
[VertScrollThumb]
Then we have images for the bar part. These are inactive bar, pressed bar and mouseover bar
Image = MacPC\macBar.bmp
This has its own border settings
TopHeight = [Height of the top border]
BottomHeight = [Height of bottom border]
LeftWidth = [Width of the left border]
RightWidth = [Width of the right border]Tile = 0 = no, 1 = yes
It also supports additional attributes
Alpha = (alpha value - 0 -255) 255 = VISIBLE, 0 = INVISIBLE
If you use alpha blending then the following attribute lets you control how it works.
AlphaMode = 0 (All bar images are blended) 1 (Only the inactive image is blended)
Finally we have an attribute for showing the dot image or not on the middle of the bar
ShowDot =
; Menubars
[menubar]
UseCustomBackground = 1
Image = macpc\button.bmp
Trans = 1 (contains transparency, = 0 if not)The order of the images is:
Active window, non pressed
Active window, pressed
Reserved
Reserved
Inactive window (non pressed obviously as it cannot be pressed in this mode)
- The .UIS file format is ©1998-2000 Stardock.net, Inc.
- All rights reserved