window frame blur disappears when editing images

How to replicate:

  1. Create a new skin.
  2. Edit per-pixel window frame caption image (not the glass one).
  3. Replace the frame pixels - I used a rectangle filled with solid black 50% alpha.
  4. Save the image and force-reimport in Stardock.
  5. Save theme and apply theme.

Things that don't help:

  • Toggle the Blur setting.
  • Change the BackgroundEffect code to various values.
  • Toggle Aero Shadows.
  • Switch themes, then switch back to the broken theme.
  • Switch to Windows Classic, then to Windows Aero, then back to the broken theme.
  • Enable "Force Blur" option for window frames in WindowBlinds.
  • Restart the computer.
  • Calmly remind the computer that consistent operation may lead to future upgrades.

How to fix it:

  • While the image editor is still open, undo the changes (from steps 1-5).
  • Save the image and force-reimport in Stardock.
  • Save theme and apply theme.
  • Success! The blur works again!

It's like I ran smack into an undocumented feature...

4,160 views 1 replies
Reply #1 Top

Additional info:

I can do anything I want to the title bars as long as I do not touch the pixels that make up the original frame borders. If I make any changes to the border pixels, blur stops working for the whole caption area. Similar restrictions apply to the left, right, and bottom frame parts.

 

Edit:

The "blur rounded edge value," which isn't very well documented, controls the curvature of the underlying aero window frame that does the blurring..

Well that only took a few hours to figure out...even though one of the devs could have simply written it in the GUI... >_>

 

Edit 2:

More information found! Re: the "magic third row," it turns out that a line of special pixels (on the outside edge of each frame side) is needed. The pixel's color code needs a V value (in the HSV color space?) of 1 or higher. Otherwise there won't be any Aero border dimensions and the blur effect won't be drawn.

I wanted black (HSV x,0,0), but the next closest color (HSV x,0,1) will work just as well. That's RGB (2,2,2) by the way.