Jump to content

Aero Glass for Win8 RC4


Recommended Posts

I tried it again and now it worked. But it's not working as it's supposed to. Look at the screenshots:


The top image is the window in ACTIVE state, the bottom in INACTIVE state. I don't know how this is caused :\

I use the same settings as in v5.

Edit: Here is the debug log: http://pastebin.com/RWQzdT4B

What are your values for the blur and transparency?

Link to comment
Share on other sites

Translated that Chinese site (with google translate) and they aren't copying - they're correctly attributing to "a foreigner" and discussing it much as we are here (though obviously, without the benefit of being able to talk to BM.). There's a lot of posts there and they're pretty much the same mixture and type of comments we have here. The first post in the thread was a bit worrying as it appears to be providing a local link to the files but later ones include direct links to BM's files using his own links. They seem to be keeping up to date with versions and presumably, the discussions here (judging by the solutions being offered for problems).

Overall, it's more like BigMuscle's Chinese fan club :)

Link to comment
Share on other sites

I don't know if someone wrote it, but version 0,5 and 0,6 work only on main monitor, window moved to second screen loses transparency.

Someone reported that pre-0.4 renders transparency incorrectly when used on multi-monitor setup. I made some changes and he said that now it works correctly. But I don't have multiple monitors, so can't test it.

Edited by bigmuscle
Link to comment
Share on other sites

Aero Glass for Win8 v0.6


maybe somebody will be interested in my small project. Therefore, I am sharing the first information about it. I have managed to reimplement Aero Glass function into Windows 8 Desktop Window Manager.

How does it work?

I have developed DLL library in C++ which is injected into dwm.exe process (no system files replacement is required). Then, the functions used for window border drawing are hooked with my own implementation. This ensures that anytime DWM wants to draw the window border, the code is redirected into my library where I can change the parameters of vertex buffer, blend state and other stuff. Then I redirect back to the original drawing function. Transparent window border is drawn!

Does it provide more functionality than pure windows border transparency?

Currently, I implemented only blur effect using Direct2D. My plan is to return glow effect to the window caption, better shadow around the windows, and, if anyone is interested, try to reimplement Flip3D functionality.

Are there any drawbacks?

There is a main problem that DWM implements dirty region management which ensures that only changed regions of the screen are redrawn. This simply does not redraw the content which is obscured by other windows. And, unfortunately, it pays for the content under window border too. Thus, it requires to force DWM redraw content under transparent borders. Since touching the dirty region management is not possible (at least, I have not found a way), we have two possibilities:

1) modify vertex buffer to always redraw whole window texture. It surely brings some performance penalty and does not work for windows which are totally obscured (because Draw function is not called for them at all). For other cases, this works perfectly.

2) set each visible window to be layered with alpha value of 254 because DWM also repaints dirty regions beneath them. I have selected this method because it seems to work perfectly in most of the cases, except the situation when some window denies WS_EX_LAYERED style. I am not aware of any other problems with layered windows.

When will this be released?

I will try to release it in a few days including the source code. Since I don't have much experience with Direct3D, I have used Direct2D for any drawing because it has much simpler API, built-in effects and programmer does not have to care about shaders, vertex buffers etc. I will also be glad if someone gives me a hand with this small project.

There are still some known problems which I need to solve, e.g. unlike Windows 7, DWM restart is not possible in Windows 8 but it is needed for the correct Direct3D functions hooking.

Link for downloading preview version (x64 preview only!):


Extract downloaded archive into C:\DWM folder. If there is any bug and DWM crashes, it will generate crash log in this folder.

I hope you will like it :-)

Awesome, thanks!

Link to comment
Share on other sites


Ladies and gentlemen,

let me introduce you the first beta version of Aero Glass utility for Windows 8.

What's new:

* old DWM loader is not supported anymore (because it was the main reason of black screens etc.)

--> AppInit_DLLs approach is supported only

--> installer will be available with final release, now only manual script available

--> registry script is attached in the archive but you must manually edit the file to point to the location where you extract DLL file

--> the glass will automatically load at Windows startup

--> if your computer won't boot up for some reason (glass failure), hold CTRL key during DWM loading and no procedure will be installed into memory

* x86 version is available for download, however it has NOT been tested at all so it is not ensured it works

* change MIL message alpha opacity to 255 when current value is 254

--> this replaces old method of disabling layered windows blending and can be altered by HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\DWM:ModifyMILContentOpacity (DWORD values 0x0 / 0x1 (default))

* using D2D-like trick in D3D to avoid incorrectly blurred window edges

* fixed incorrect drawing of plain color surfaces resulting in completely transparent controls

* when using AppInit_Dlls, inject into explorer.exe to enable correct taskbar blurring

* fixed crash logs when using AppInit_Dlls

* increased blur radius in D3D mode

* RP-like computing of default inactive border color in D3D mode

* I know I said that I won't add this feature, but since it was easy as hell (just one-line code change), I added feature to have rounded window frames (HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\DWM:RoundRectRadius (DWORD, Win8 = 0, Win7 = 12)). But I won't support/maintain it more if it does not work as someone expects... let's call it a small Easter egg ;)


Link to comment
Share on other sites

seems i always have problems - does not work for me - but let me confirm i am doing it correctly

i extract the files to E:\dwm\mydwm - i choose that as thats what the reg file has in it

restart and no areo

i also extracted it to c:\dwm and changed that as the path in the reg file - again no aero

i am coming from version 0.5 as 0.6 never worked for me - do i need to delete any reg entries or add or edit any more

so what am i doing wrong??

go back to 0.5 and everything works

Edited by adacom
Link to comment
Share on other sites

I got nothing either. Extracted to N:\DWM as per post #1 and edited the Reg file to read N: instead of E: - merged the reg file and nothing, no crash either so no logs.

Also following the instructions I see no executable files at all in the extracted files.

I'm looking forward to when the final version is out and there's an installer.

I just used System Restore to return to the state I was in before.

I appreciate your hard work with this but obviously some of us don't "have the knack" !! ;-)

Edited by Ex_Brit
Link to comment
Share on other sites

Newest version is really quite nice!

What I would like now (and this is likely stuff I must do myself cause its not really related to DWM) is to recolour the Black Text in Active windows for the Aero.theme to White, or recolour the Black Clock + etc text of the taskbar in AeroLite.theme to white. :) Now that Aero is basically perfect, I am pretty darn happy :D

Edit: I had no idea that word would be censored. I best say Darn instead - its basically the same thing and I could not imagine it being censored :)

Edited by drakenabarion
Link to comment
Share on other sites

thanks. I tried the x86 version, but this version doesn't work:



Writing crash log...
DWMGlass: 0x74ACAD49: d:\projekty\aeroglass\mydwm-dx11\dwmhook\iatfunctions.h (22:0), function: myWndProc
d2d1: 0x74614462: ?

Link to comment
Share on other sites

This topic is now closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.

  • Create New...