WindowBlinds 4.5 introduced two new cool tricks for window frames -
- IE/Explorer special shell frames, and
- random frames.
The two features are mutually exclusive, meaning that if you use random frames you cannot specify the special frames for the shell windows.
First of all - both features are only available in the UIS2 skins (Advanced WindowBlinds skinning format).
Now let me explain how you can use/access the features in SkinStudio and what exactly do they do:
1) Shell windows
Those are the system windows that you browse/explore your computer and the Internet with. SkinStudio added a special section for referencing them placed in the tree in this node: "Window Borders"->"Frames for Shell Windows". The section defines two attributes:
- "Explorer Active Windows"
- "Explorer Inactive Windows"
The names are pretty self explanatory. The attributes define the indexes of the states used for the active and inactive shell windows. But what you may find confusing is that the index is zero based - meaning that the first state in your frame set has an index of 0. If you define the attributes WindowBlinds will choose those states for shell windows instead of it's regular choice being - the first state for active and the last one for inactive windows.
What you need to do is simply make your window frame images contain two more states for the shell windows so instead of 2 or 3 (if you define the disabled state) images you would include normally - you put 4 or 5 states in there. Of course the states layout setup cannot violate the 3 canonic WindowBlinds rules which are:
- first state is for the regular active window.
- last state is for the inactive window (or the second from the end if disabled state is used).
- and if you have the "Disabled frame state" enabled in the skin, that is you have this attribute:
Section: "Window Borders"-> Attribute: "Miscellaneous options"->"Image State - Disabled Frame"
set to "Enabled", then the "disabled state" must be added as the last state in the strip. By the way - if you never realized this before - disabled frames are used when a window is showing a modal dialog that makes this window inaccessible for the user. You can find when a window is disabled if Windows will *ding* at you when you try to click such disabled window.
So this forces us to use a following states layout:
- Active window
- Active shell window (this is the state that you need to point at in the "Explorer Active Windows" attribute - in this case you would need to set it to "1" since the index is zero based).
- Inactive shell window (this is the state that you need to point at in the "Explorer Inactive Windows" attribute - in this case you would need to set it to "1" since the index is zero based).
- Inactive window state
- Disabled window state (if the disabled state visualization is enabled).
That's all that it is to it. Of course you need to equip all the window edge images with the equally same states number as that's a fundamental WindowBlinds requirement.
2) Random frames
Random frames is a feature which I personally find much cooler than the shell windows skinning. This feature actually changes the windows states layout established so long ago. You enable the feature by flipping the:
Section: "Window Borders"-> Attribute: "Miscellaneous options"->"Random frame selection"
from "Disable random borders" to "Enable random borders".
By doing so you allow WindowBlinds to randomize the available frames looks for newly created windows. If this option is enabled, the skin must provide more than one pair of active/inactive states for windows borders. The borders must be organized in sets of pairs of active and inactive states following each other like that:
- active state 1
- inactive state 1
- active state 2
- inactive state 2
- active state X
- inactive state X
Also like previously - exactly the same number of states needs to be supplied for all edges of the window frames. Also there is another limitation here - all states must be of the same shape, which means that if you put any pink area on the frame in the active1 state - it needs to be in the exact same shape in all the active states as well and unless you enabled Dynamic frames (Section: "Window Borders"-> Attribute: "Miscellaneous options"->"Dynamic Frame Image Shape") - it needs to be in all of the disabled states too.
WindowBlinds will choose among the pairs on a random basis during creation of each window/app.
Now if you define say... 20 framesets - the user will have a few hours of fun and surprises with the skin. I can see how this is a big job to define that number of frames, but isn't a skin an enormous effort already? Now if you add just a little bit to it making it exceptional - don't we all agree that it's what lies in the heart of customization? I can see how this could be a true favorite feature (on top of the translucent start menus) in the coming months
[I have updated the article as I have confused the disabled an inactive states order before]