|
Post by Splitwirez on May 27, 2016 9:06:15 GMT -8
Okay so I was messing around in the Windows 8 developer preview earlier, and I tried to use the SetWindowCompositionAttribute tool from Glass8.eu and the command to remove blur from the taskbar ( SetWindowCompositionAttribute.exe class Shell_TrayWnd blur false ).
It completely fixed the Taskbar while the Classic Theme was enabled.
I suspect that if we were to just apply that same change to everything, we may have a solution for the titlebars as well!
...anyone have any ideas of how to actually do that? ._.
|
|
|
Post by Anonymus on Jun 19, 2016 15:16:14 GMT -8
Well, if this program was made in something like C#, VB.net or IL we could decompile it, Otherwise we'd just have to contact IBMPad somehow.
|
|
|
Post by anixx on Sept 18, 2016 20:07:15 GMT -8
Well, if this program was made in something like C#, VB.net or IL we could decompile it, Otherwise we'd just have to contact IBMPad somehow. The source code is provided in the archive.
|
|
|
Post by anixx on Sept 27, 2016 4:27:11 GMT -8
On 32-bit Windows possibly setting global variable __COMPAT_LAYER=DISABLETHEMES may help. I haven't tested it though. On 64-bit Windows it does not work for sure.
|
|
|
Post by anixx on Sept 27, 2016 5:16:51 GMT -8
Okay so I was messing around in the Windows 8 developer preview earlier, and I tried to use the SetWindowCompositionAttribute tool from Glass8.eu and the command to remove blur from the taskbar ( SetWindowCompositionAttribute.exe class Shell_TrayWnd blur false ). It completely fixed the Taskbar while the Classic Theme was enabled. I suspect that if we were to just apply that same change to everything, we may have a solution for the titlebars as well! ...anyone have any ideas of how to actually do that? ._. Yes!Your fix works! Actually one has to do the following: SetWindowCompositionAttribute.exe class NativeHWNDHost accent 1 0 0 0
where NativeHWNDHost is the class of the target window (in this case, the add network places dialog). This fix can be used for any application and possibly added to the AHK script to work with all new windows.
|
|
|
Post by anixx on Sept 27, 2016 7:00:48 GMT -8
This is the AHK script that fixes this behavior for all programs: accentfix.zip (548.84 KB) #NoTrayIcon #NoEnv Gui +LastFound hWnd := WinExist() SetControlDelay, -1 SetBatchLines -1
DllCall( "RegisterShellHookWindow", UInt,hWnd ) MsgNum := DllCall( "RegisterWindowMessage", Str,"SHELLHOOK" ) OnMessage( MsgNum, "ShellMessage" ) Return ShellMessage(wParam,lParam) {
If (wParam = 1) { accentStructSize := VarSetCapacity(AccentPolicy, 4*4, 0) NumPut(1, AccentPolicy, 0, "UInt")
padding := A_PtrSize == 8 ? 4 : 0 VarSetCapacity(WindowCompositionAttributeData, 4 + padding + A_PtrSize + 4 + padding) NumPut(19, WindowCompositionAttributeData, 0, "UInt") NumPut(&AccentPolicy, WindowCompositionAttributeData, 4 + padding, "Ptr") NumPut(accentStructSize, WindowCompositionAttributeData, 4 + padding + A_PtrSize, "UInt") DllCall("SetWindowCompositionAttribute", "Ptr", lParam, "Ptr", &WindowCompositionAttributeData) } }
|
|
|
Post by Splitwirez on Sept 27, 2016 10:15:14 GMT -8
Does it produce black regions for all extended glass windows or only Aero Wizards...?
And how well does Google Chrome take it?
|
|
|
Post by anixx on Sept 27, 2016 10:26:37 GMT -8
Fully transparent areas become black. Partially transparent areas, do not. I do not have Google Chrome, but it has a command option --disable-dwm-composition which fixes the issue already, and also custom themes.
|
|
|
Post by Splitwirez on Sept 27, 2016 10:34:24 GMT -8
Fully transparent areas become black. Partially transparent areas, do not. I do not have Google Chrome, but it has a command option --disable-dwm-composition which fixes the issue already, and also custom themes. Well...yes...but Chrome's borders aren't going to be skinnable for much longer - the tools can't even touch the new Material Design UI files D:
|
|
|
Post by anixx on Sept 27, 2016 10:39:53 GMT -8
This fix has two drawbacks so far.
1. The transparent areas are black. So if they have black text, it is invisible. It is theoretically possible to change the color, but then all text inside the window also will change color.
2. After applying this fix, and after minimizing and then restoring a window, it becomes pale during any further minimize/restore animations. This only affects the animation moment and not how the window looks afterwards.
|
|
|
Post by anixx on Sept 27, 2016 10:49:31 GMT -8
Firefox Classic theme fix extension is disabled.
|
|
|
Post by Splitwirez on Sept 27, 2016 10:57:36 GMT -8
This fix has two drawbacks so far. 1. The transparent areas are black. So if they have black text, it is invisible. It is theoretically possible to change the color, but then all text inside the window also will change color. 2. After applying this fix, and after minimizing and then restoring a window, it becomes pale during any further minimize/restore animations. This only affects the animation moment and not how the window looks afterwards. 1. Let me guess...we can't exactly draw a grey box behind those regions? ._. EDIT: Lel, the second Firefox screenshot looks like ReactOS XDDD
|
|
|
Post by anixx on Sept 27, 2016 11:12:23 GMT -8
|
|
|
Post by Splitwirez on Oct 3, 2016 15:56:17 GMT -8
I know this isn't entirely relevant...but what about an AHK script could be used to do the equivalent of these two commands: SetWindowCompositionAttribute.exe class [WHATEVER THE TITLEBARS AND WINDOW BORDERS ARE] blur false SetWindowCompositionAttribute.exe class [WHATEVER THE TITLEBARS AND WINDOW BORDERS ARE] accent 2 0 0 0 to all applications' Window Borders and Titlebars? I'm curious as to if that could produce transparency without Aeroglass 8.1+ when Visual Styles are enabled. Could actually be quite useful if so >.>
|
|
|
Post by anixx on Oct 4, 2016 7:31:37 GMT -8
Regarding setting accent to 2, this one:
#NoTrayIcon #NoEnv Gui +LastFound hWnd := WinExist() SetControlDelay, -1 SetBatchLines -1
DllCall( "RegisterShellHookWindow", UInt,hWnd ) MsgNum := DllCall( "RegisterWindowMessage", Str,"SHELLHOOK" ) OnMessage( MsgNum, "ShellMessage" ) Return ShellMessage(wParam,lParam) {
If (wParam = 1) { accentStructSize := VarSetCapacity(AccentPolicy, 4*4, 0) NumPut(2, AccentPolicy, 0, "UInt")
padding := A_PtrSize == 8 ? 4 : 0 VarSetCapacity(WindowCompositionAttributeData, 4 + padding + A_PtrSize + 4 + padding) NumPut(19, WindowCompositionAttributeData, 0, "UInt") NumPut(&AccentPolicy, WindowCompositionAttributeData, 4 + padding, "Ptr") NumPut(accentStructSize, WindowCompositionAttributeData, 4 + padding + A_PtrSize, "UInt") DllCall("SetWindowCompositionAttribute", "Ptr", lParam, "Ptr", &WindowCompositionAttributeData) } } Regarding blur, I don't know, but it is definitely possible.
|
|
|
Post by R.O.B. on Dec 7, 2016 12:27:29 GMT -8
So I finally got around to trying this on Windows 8.0, and it works pretty well for the most part. But, um, here's Microsoft Office 2007... Sometimes bits of the classic theme are visible, but they appear to be nonfunctional and will disappear when the window updates: Right-clicking on the titlebar actually shows the window controls, but again, they don't do anything: Outlook is actually perfectly functional... ...until you compose a message. I guess Office 2007's ribbon UI just hates the classic theme. Fixing this would probably require editing Office 2007's window frame somehow. But I wouldn't know where to even start with that.
|
|
|
Post by anixx on Dec 8, 2016 0:12:53 GMT -8
In Windows 10 the APIs that allow extending frames into client area and control frame transparency got deprecated. This means, this problem will go away as software gets updated to Win10 standard.
|
|
|
Post by Splitwirez on Dec 8, 2016 5:10:05 GMT -8
r.O.B. Office 2010 is just as bad on 8.1 D: anixx That's good...but also rather terrifying.
|
|
|
Post by R.O.B. on Dec 21, 2016 23:55:57 GMT -8
I actually have a bit of progress regarding Office, however the "fix" I discovered has quite a large cost (you can probably figure out what that cost is by looking at the screenshots I posted). I'll post in detail when I get the chance, but I think this could potentially lead to something great, if we can figure things out. I'm still testing some things though, so hang in there. I'll probably create a separate thread for it when I do post the details, so keep your eyes open for that. (On a semi-unrelated side note, I'm now testing things on Windows 8.1) EDIT: Also, I think you're right anixx. Just got around to testing Office 2013, and it actually works perfectly with the classic theme under Windows 8.1, even without this new "fix".
|
|
|
Post by R.O.B. on Dec 22, 2016 11:13:34 GMT -8
Alright, here's that thread about MS Office that I promised. It's a lot of information, but I'd recommend reading it if you get the chance.
|
|