Welcome to Round 1 of the SKS Porting Smackdown. A test of man vs. machine in the arena of WindowBlinds porting. The man, the legendary porter extrodinaire, Snidely Whiplash against the mega-manical ultra porting machine coded by Adam Najmanowicz, SkinStudio. The skin, Beige Azule by the extreme msstyles skinner, KoL. Snidely's version of this skin Link was created a year ago, was a featured skin at WinCustomize, has over 5300 downloads and has an overall rating of 8. The SkinStudio port was created by me yesterday using the latest released version.
This article and subsquent articles will also look at the many features available to a skinner using SkinStudio to create visual styles. Through out the detailed breakdown will be Beginner's Tips and comments on the different attributes. I will also highlight attributes that I think are for the Advanced Skinner. Attributes that challenge a skinner to go beyond just ordinary to creating the extreme. Who shall reign supreme? Read on to find out...
So how did I do it? How did I create the version of Beige Azul I'm putting up against Snidely's? Very few steps involved. First I clicked on the msstyles file for Beige Azul. Immediately SkinStudio came into action with this dialog.

Since I wanted this to be the most accurate port I could possible get out of SkinStudio, I choose the options button to bring me to this dialog. Here I selected
optimized for maximum quality and checked both boxes under
Image Corrections. I clicked OK and SkinStudio worked it's magic.

KoL's Beige Azul skin comes with a sub-style for a compact startmenu. So to work with just the standard menus, I opened up each version of this skin in SkinStudio and saved the standard startmenu version separately. Here they are in the WindowBlinds Configuration Menu.
Snidely's Version of Beige Azul (SBA)
SkinStudio's Version of Beige Azul (KBA)
Round 1: WindowBorders
Top Image
KBA: Frame Image - Top: 192x27-pixel. (SKS adds a 192x2-pixel magic pink area to the top of this image which isn't needed. Otherwise this identical to Snidely's port.)
SBA: Frame Image - Top: 192x25-pixel.
KBA: Top Frame Edge Margins: 63, 29, ,
SBA: Top Frame Edge Margins: 63, 29, , (Beginner's Tip: Every pixel outside the margins will be drawn as the original image. Every pixel within the margins will be drawn as defined by the draw method.)
KBA: Draw Method - Top Frame: Stretch the image
SBA: Draw Method - Top Frame: Stretch the image (Beginner's Tip: Where ever possible an image should be tiled because it is rendered faster on the screen. This image needs to be stretched. Otherwise the gradient within the margins set would repeat themselves and look quite bad actually.)
KBA: Image States - Top Frame: 2 (SKS Default)
SBA: Image States - Top Frame: 2 (General Note: Though I have not seen any skins that do this, if the active and inactive frames are going to be using the same image you can set this attribute to 1 and only make a single frame in your image, cutting your file size down. Likewise, you need also increase the number of Image States if you are using Random Frames)
KBA: Caption Height: 27
SBA: Caption Height: 27 (This is considered a critical error in SKS and should be 25 based on the height of the Titlebar. This error is debatable, if you check some of the skins created by other master skinners, you will get the same error. Also at the time that this skin was made, SKS didn't flag this as a critical error.)
KBA: Screen Edge Clip - Top: 1 (SKS Default)
SBA: Screen Edge Clip - Top: 1 (Beginner's Tip: this value determines how many pixels go off the screen when a window is maximized. Many skinners leave this at the SKS default unless they are using an elaborate frame.)
Bottom Image
KBA: Frame Image - Bottom: 192x4-pixel.
SBA: Frame Image - Bottom: 41x4-pixel. (First impression, based on size of image alone, you would expect that Snidely's image would yield a choppier gradient when the window frame is stretched. It doesn't, because if you resize the SKS generated image in a graphics program, the SKS image's gradient is almost identical to Snidely's, but leaning slightly more towards the blue than the tan.)
KBA: Bottom Frame Edge Margins: 1, 1, ,
SBA: Bottom Frame Edge Margins: 1, 1, ,
KBA: Draw Method - Bottom Frame: Stretch the image
SBA: Draw Method - Bottom Frame: Stretch the image
KBA: Image States - Bottom Frame: 2 (SKS Default)
SBA: Image States - Bottom Frame: 2
KBA: Screen Edge Clip - Bottom: 2 (SKS Default)
SBA: Screen Edge Clip - Bottom: 2
Left Image
KBA: Frame Image - Left: 4x231-pixel. (SKS adds a 4x2-pixel magic pink area to the top of this image which isn't needed.)
SBA: Frame Image - Left: 4x60-pixel. (The reason that Snidely's image is so much smaller is because there is very little gradient in this image so there is no need for such a large image to accomplish the same appearance when used. The 169x2-pixel reduction will never be noticed other than a savings in image size.)
KBA: Left Frame Edge Margins: 27, 4, ,
SBA: Left Frame Edge Margins: 27, 4, , (Beginner's Tip: It is important to make these margins as small as possible without affecting the appearance of the rendered image, because it will make for a smaller and cleaner rolled up frame without having to resort to using a Do Nothing button to hide the missing chunk that will appear in the lower left corner of the rolled up frame.)
KBA: Draw Method - Left Frame: Stretch the image (There is no need for this image to be stretched since the part of the image between the margins is identical and would look no different if it was tiled.)
SBA: Draw Method - Left Frame: Tile the image (SKS Default.)
KBA: Image States - Left Frame: 2 (SKS Default)
SBA: Image States - Left Frame: 2
KBA: Screen Edge Clip - Left: 2 (SKS Default)
SBA: Screen Edge Clip - Left: 2
Right Image
KBA: Frame Image - Right: 4x231-pixel. (SKS adds a 4x2-pixel magic pink area to the top of this image which isn't needed.)
SBA: Frame Image - Right: 4x60-pixel. (The reason that Snidely's image is so much smaller is because there is very little gradient in this image so there is no need for such a large image to accomplish the same appearance when used. The 169x2-pixel reduction will never be noticed other than a savings in image size.)
KBA: Right Frame Edge Margins: 27, 4, ,
SBA: Right Frame Edge Margins: 27, 4, ,
KBA: Draw Method - Right Frame: Stretch the image (There is no need for this image to be stretched since the part of the image between the margins is identical and would look no different if it was tiled.)
SBA: Draw Method - Right Frame: Tile the image (SKS Default.)
KBA: Image States - Right Frame: 2 (SKS Default)
SBA: Image States - Right Frame: 2
KBA: Screen Edge Clip - Right: 2 (SKS Default)
SBA: Screen Edge Clip - Right: 2
Miscellaneous options
KBA: Frame Image - Disable Transparency: Disabled (SKS Default.)
SBA: Frame Image - Disable Transparency: Disabled (Beginner's Tip: If the images you are using for the frames have no magic pink area then this option should be enabled.)
KBA: Random frame selection: Disable random borders (SKS Default. Advanced Skinner Option.)
SBA: Random frame selection: Disable random borders (Note: This option does just what it says, it allows random borders to be rendered on the screen for you window frames. See the help box in SKS for more details.)
KBA: Roll Up Window Height: 30 (Beginner's Tip: Even though SKS set a height here, the frame will not roll up by default. The roll up function has to be manually set to work.)
SBA: Roll Up Window Height: 26 (The roll up height that was selected by Snidely causes the dreaded missing chunk in the lower left-hand corner of the rolled up frame. There are two options to fix this. The easiest is to set this number no smaller than the total of the Right Frame margins. In this case that would be 27+4=31. The other options is to create a Do Nothing button that hides the missing chunk when the frame is rolled up. Depending on the frame style this may be the better option.)
The first rolled up Titlebar is the one by Snidely. Notice the missing chunk. The second on is my attempt to fix it by setting the Roll Up Window Height at 31. Not as sleek looking. This frame is definitely a candidate for a Do Nothing button to hide the missing chunk.
KBA: Mouse Action - Right click: Rollup/Unroll window (SKS Default)
SBA: Mouse Action - Right click: Rollup/Unroll window (Beginner's Tip: if the attribute icon is bold, then the default attribute is enabled.)
First image the attribute is not enabled. Second image the attribute is enabled.
KBA: Mouse Action - Double click: Maximize/Restore windows (SKS Default)
SBA: Mouse Action - Double click: Maximize/Restore windows (Beginner's Tip: if this attribute isn't set to the default attribute, it does not matter since this is the default action for a window anyway.)
KBA: Dynamic Frame Image Shape: Enabled (General Note: this attribute does not need to be set unless you are using a different shape for each frame within the frame edge images. Using the options I selected when I ported this skin caused this to be enabled.)
SBA: Dynamic Frame Image Shape: Disabled (SKS Default. Advanced Skinner Option.)
KBA: Frame Animation Rate: 0 (SKS Default. Advanced Skinner Option.)
SBA: Frame Animation Rate: 0 (General Note: This attribute represents the time in milliseconds between animation frames with 0=no animation.)
KBA: Image State - Disabled Frame: Disabled (SKS Default. Advanced Skinner Option.)
SBA: Image State - Disabled Frame: Disabled (General Note: Normally there are only two frame states, active and inactive. This attribute allows you to add a third state for disabled frames.)
|
End Notes: Snidely's version of the window frames uses smaller images and tiling where possible. His caption height error can be a topic of discussion, but does not work against his version IMHO. His only error is his rolled up frame action with the missing chunk. While it would be much more work to use a Do Nothing button to fix this, he should have at least set the height large enough to avoid the missing chunk. This error would be apparent to anyone using this windowblind skin. The SkinStudio version does not consider things as image size and stretched every image here, when it was not necessary. The enabled dynamic frames option was not SkinStudio's fault, but mine, but then again if you read the Image Correction options it says to check this if any magic pink is showing and based on the style of frame and my familiarity with SkinStudio I expected there would be. While these issues will not be readily apparent to anyone using this version of Beige Azul, the missing rolled up frame action will be missed and since SkinStudio puts in the height for the rolled up titlebar, it should IMHO turn on this action by default as well. I highly recommend you do so in any skin you port yourself.
Conclusion: For the average WindowBlinds user, this round is a tie. One skin has the rolled up action with a graphical error. One skin doesn't have the rolled up action at all. For quality of porting, this round is also a tie. The missing chunk kept this round from going into Snidely's favor.