|
Post by nonameneeded on Feb 20, 2024 20:03:00 GMT -8
I have to say that the windhawk mod to enable the classic theme did work over the last couple of days but now on my laptop (Win11 23H2) it doesn't work at least 4 out of 6 times. Very strange.
|
|
|
Post by anixx on Feb 21, 2024 2:42:09 GMT -8
A mod by ephemeralViolette . Disabling theming on Windows still leaves frozen applications with metro theme borders, so when it happens it can break the UX of the classic theme, this mod fixes this inconsistency. However, removing <critical_system_processes> from exclusion list with SCT/CCT as a main method sends system in a graphics card glitch flavored login loop. With windhawk as a sole method that isn't an issue. Adding to this set UWP border mod that works with classic theme on Win10 (there are some issues on 11 because 11 sucks) makes the look as consistent as it can be.
I notice that i do sound like a sales person a lot when i speak of Windhawk but it just keeps amazing me, just a few month ago once again there were voices how disappointing and janky classic theme experience is and just a few months later community has overall reached "smooth as butter" territory (at least, regarding base necessities). Nothing to sneeze at.
In fact, it's just not possible to disable theming on DWM in any other way. DWM requires themes to be enabled to start, and keeps the handles as long as it's running. You'll also notice this if you start something like ClassicThemeTray and then force quit dwm.exe.
Since the ghost windows are owned by DWM, my mod is the only way to do it. I use a technique to force classic appearance while keeping the theme engine loaded. And it should be noted that the both methods can be used together.
|
|
kirta
Freshman Member
Posts: 59
OS: Windows 10 LTSC 2021
|
Post by kirta on Feb 24, 2024 8:07:36 GMT -8
Thank you classic theme perfectly worked but the taskbar is broken with EP classic taskbar option :
Also your other mod "Classic Taskbar 3D buttons Lite" crash explorer for some reason with version 4046
|
|
|
Post by anixx on Feb 24, 2024 8:36:01 GMT -8
Thank you classic theme perfectly worked but the taskbar is broken with EP classic taskbar option :
It seems, you did not patch OpenShell or did not import its settings.
|
|
kirta
Freshman Member
Posts: 59
OS: Windows 10 LTSC 2021
|
Post by kirta on Feb 24, 2024 9:52:29 GMT -8
Thank you classic theme perfectly worked but the taskbar is broken with EP classic taskbar option :
It seems, you did not patch OpenShell or did not import its settings.
I have used this version 4.4.191 by hlvioynt
|
|
|
Post by OrthodoxWin32 on Feb 24, 2024 15:23:14 GMT -8
I have used this version 4.4.191 by hlvioynt This is a fork that I made. It is supposed to work with the classic theme, although it contains some unresolved display issues. Regarding your problem, try restarting Explorer, and check if the taskbar still appears black.
|
|
|
Post by nonameneeded on Mar 2, 2024 12:06:27 GMT -8
|
|
|
Post by ephemeralViolette on Mar 2, 2024 12:53:45 GMT -8
This problem is exacerbated by the mod. Because the theme handle is closed, DWM will crash at startup, which will kick you out of your login session. ClassicThemeTray has the exact same issue, and there is no fix other than modifying DWM to be able to startup without a theme.
|
|
|
Post by nonameneeded on Mar 2, 2024 13:27:02 GMT -8
Thx for your explanation.
However, DWM doesn't seem to crash every time you log in (with classic theme enabled). In fact, it only crashed once in January (when I still used the classic theme tray) but at least 4 to 5 times daily since I use the mod.
So there might be a correlation.
Even though I have to say that I now use other mods too that I didn't use in January, so they might be involved too. Maybe. Maybe not. We'll see.
|
|
|
Post by Sennanon on Mar 2, 2024 14:04:00 GMT -8
Thx for your explanation. However, DWM doesn't seem to crash every time you log in (with classic theme enabled). In fact, it only crashed once in January (when I still used the classic theme tray) but at least 4 to 5 times daily since I use the mod. So there might be a correlation. Even though I have to say that I now use other mods too that I didn't use in January, so they might be involved too. Maybe. Maybe not. We'll see. I've noticed something kinda similar, for me it isn't random, it only happens if I turn on my second monitor too late during the boot screen. I'm not sure if dwm crashes exactly, but checking the event viewer shows an exit loop affecting the main graphics card (laptop has two) It hasn't really been a big issue for me since the only thing that comes from this is the graphics driver failing to load (restarting fixes this), but I am curious if there's anything I can do to prevent this.
|
|
|
Post by ephemeralViolette on Mar 2, 2024 14:04:03 GMT -8
Thx for your explanation. However, DWM doesn't seem to crash every time you log in (with classic theme enabled). In fact, it only crashed once in January (when I still used the classic theme tray) but at least 4 to 5 times daily since I use the mod. So there might be a correlation. Even though I have to say that I now use other mods too that I didn't use in January, so they might be involved too. Maybe. Maybe not. We'll see. DWM is already running by the time you log in. It almost always runs before the theme section is closed.
I would just stick with ClassicThemeTray though. It's the same thing as this mod, but without the potential to inject into DWM too early because scheduled tasks only ever run once the user logs in (I think Windhawk mods can run before the login screen has even initialised, especially if injecting into winlogon.exe)
|
|
clara
Sophomore Member
Posts: 118
|
Post by clara on Mar 2, 2024 14:50:27 GMT -8
DWM is already running by the time you log in. It almost always runs before the theme section is closed.
I would just stick with ClassicThemeTray though. It's the same thing as this mod, but without the potential to inject into DWM too early because scheduled tasks only ever run once the user logs in (I think Windhawk mods can run before the login screen has even initialised, especially if injecting into winlogon.exe)
This actually makes a lot of sense! I'm curious if the mod your wrote, which disables theme per process, has less conflicts with DWM? I might roll back to it if that's the case.
|
|
|
Post by OrthodoxWin32 on Mar 2, 2024 15:37:35 GMT -8
I've never had a DWM crash with ClassicThemeTray. Indeed, the execution is scheduled at the start of the session, after the start of DWM.
|
|
|
Post by nonameneeded on Mar 2, 2024 16:58:31 GMT -8
Thx for your explanation. However, DWM doesn't seem to crash every time you log in (with classic theme enabled). In fact, it only crashed once in January (when I still used the classic theme tray) but at least 4 to 5 times daily since I use the mod. So there might be a correlation. Even though I have to say that I now use other mods too that I didn't use in January, so they might be involved too. Maybe. Maybe not. We'll see. DWM is already running by the time you log in. It almost always runs before the theme section is closed.
I would just stick with ClassicThemeTray though. It's the same thing as this mod, but without the potential to inject into DWM too early because scheduled tasks only ever run once the user logs in (I think Windhawk mods can run before the login screen has even initialised, especially if injecting into winlogon.exe)
Maybe this mod can be changed? In a way that it also only injects once and then never again? Because this mod would be much more convenient to use, no doubt about that.
|
|
|
Post by ephemeralViolette on Mar 3, 2024 12:16:51 GMT -8
DWM is already running by the time you log in. It almost always runs before the theme section is closed.
I would just stick with ClassicThemeTray though. It's the same thing as this mod, but without the potential to inject into DWM too early because scheduled tasks only ever run once the user logs in (I think Windhawk mods can run before the login screen has even initialised, especially if injecting into winlogon.exe)
This actually makes a lot of sense! I'm curious if the mod your wrote, which disables theme per process, has less conflicts with DWM? I might roll back to it if that's the case. I'm actually not sure which one you're referring to, but I vaguely remember hacking a mod together to block uxtheme init (per process), which has the same effects as denying access to the theme section globally.
If that's what you're referring to, then absolutely. Barring Windhawk's injection flaws (such as injecting into conhost), it is a lot more secure of a method than blocking the theme section, since it can allow DWM to restart and whatnot.
Alternatively, it's probably possible in some regard to give DWM access to the theme section exclusively, while other programs still can't access it. I'll have to look into that, but I think I have an idea of how it may be done.
|
|
|
Post by ephemeralViolette on Mar 3, 2024 12:20:26 GMT -8
DWM is already running by the time you log in. It almost always runs before the theme section is closed.
I would just stick with ClassicThemeTray though. It's the same thing as this mod, but without the potential to inject into DWM too early because scheduled tasks only ever run once the user logs in (I think Windhawk mods can run before the login screen has even initialised, especially if injecting into winlogon.exe)
Maybe this mod can be changed? In a way that it also only injects once and then never again? Because this mod would be much more convenient to use, no doubt about that.
It already injects once (not that that really matters), into winlogon. I assume that the issue is caused by the theme section being closed before DWM starts up, which is a problem with how Windhawk injects mods. A program such as ClassicThemeTray is loaded later, which is why it's more stable.
|
|
|
Post by nonameneeded on Mar 3, 2024 12:34:21 GMT -8
But does that explain why dwm.exe crashes frequently while Windows is already running? Shouldn't it (dwm.exe) run smoothly as long as Windows works normally and nothing out of the ordinary happens?
Anyway, I know way too little about this whole process.
|
|
clara
Sophomore Member
Posts: 118
|
Post by clara on Mar 3, 2024 12:50:20 GMT -8
This actually makes a lot of sense! I'm curious if the mod your wrote, which disables theme per process, has less conflicts with DWM? I might roll back to it if that's the case. I'm actually not sure which one you're referring to, but I vaguely remember hacking a mod together to block uxtheme init (per process), which has the same effects as denying access to the theme section globally.
If that's what you're referring to, then absolutely. Barring Windhawk's injection flaws (such as injecting into conhost), it is a lot more secure of a method than blocking the theme section, since it can allow DWM to restart and whatnot.
Alternatively, it's probably possible in some regard to give DWM access to the theme section exclusively, while other programs still can't access it. I'll have to look into that, but I think I have an idea of how it may be done.
Yes, that's what i was referring to! Glad my suspicions are correct.
Also that sounds exciting, good luck!
|
|
|
Post by anixx on Mar 3, 2024 18:38:16 GMT -8
But does that explain why dwm.exe crashes frequently while Windows is already running? Shouldn't it (dwm.exe) run smoothly as long as Windows works normally and nothing out of the ordinary happens? Anyway, I know way too little about this whole process. Other users have no issues with DWM in classic theme. As I said, the crashes are likely due to other Windhawk mods. Try disabling them one-by-one and see. You started experience crashes when you allowed injection of all mods into critical system processes.
|
|
|
Post by anixx on Mar 3, 2024 18:40:35 GMT -8
I would just stick with ClassicThemeTray though. It's the same thing as this mod, but without the potential to inject into DWM too early because scheduled tasks only ever run once the user logs in (I think Windhawk mods can run before the login screen has even initialised, especially if injecting into winlogon.exe)
No, they cannot. Windhawk is a service that runs in the user session. In no case it can inject anything before the user's logon.
|
|