Current state of Classic Theme (the problem and a potential way forward)

By Leet on 2024-08-11 21:17:05

This is going to be a bit of a weird post. Normally I do not talk a lot about my views on things outside of Discord, but I think there is a lot of issues in the community currently that I need to address.

1: Focus shifting to Luna and Vista/7

I have noticed quite a big shift in the interests of both developers and community members when it comes to theming. Back when I joined WinClassic in 2019, the community was mainly focused on getting the Windows 2000 style theme running on newer operating systems. There were also some people (including me) who preferred the Windows 7 style Classic Theme because it was easier to achieve.

Starting around 2020 (after windows 7 EOS), the focus shifted more towards a bit newer themes like Luna. A great example is the eXPerience Project. Currently there is at least two Windows 10/11 to 7 conversion projects that I know of in development. While this entire shift in the community is not necessarily a bad thing, the amount of developers working on Classic Theme has dropped a lot. Even I have mostly stopped doing Classic Theme projects and am focusing on just maintaining Panther2K and working on some DUI stuff.

2: Windows 11

With every Windows 10 update (mostly after 1903) it became harder and harder to restore Classic Theme. Especially Windows Explorer is a pain in the but when it comes to theming, it totally breaks when using anything that is not the built-in theme. With Windows 11 this has become worse.

With no support from Microsoft at all (in fact, Raymond Chen is actively criticizing modifying the shell), it is very hard to consistently patch every single issue that comes up. Most folks have resorted to pirating LTSC Editions of Windows so that they do not receive feature updates, which minimizes the amount of problems a bit. But this still leaves a lot of issues which are tedious and annoying to fix because we still have to rely on the provided Windows Explorer shell.

3: Confusion about available tools and gatekeeping

My biggest frustration in the community is that the amount of tools, batch scripts, resource modifications and quite recently introduced Windhawk scripts is way too big. I get three to four messages or e-mails a week about someone who either has used SCT in the past or is new to the community, and has absolutely no clue where to start in the current landscape. I have called for a centralized information, resource and tutorial site for the community multiple times, but no one wants to help realize it.

I myself do not use Classic Theme anymore due to the issues in section 2, so unlike a couple of years ago, I no longer know the entirety of what is involved in a Classic Theme setup. I still want to update and improve the existing unofficial WinClassic Wiki to add as much clarity and information as possible. So I ask again, if anyone is willing to write some guides or just provide general information on the current state of CT, please DM me. This could really help make it easier for new members find their way into using Classic Theme.

There is one more thing I quickly want to address. I am not going to be naming any individuals, but over the last year I have heard of multiple instances where software is either being gatekept or the methods behind the software are. I honestly think this is a bad community spirit. I personally have always made sure that I share whatever methods and tricks I know with the community. Even with closed source software (SCT2) my plan was to share my methods while not having to maintain a GitHub repo. My biggest regret is not releasing SCTE while it was in development, because I have now lost the source code for it and it would come in really handy for the project I want to discuss in section 4.

4: Potential solution for the problems in section 2 and 3

I can yap about things I don’t like but it would be useless to do so if I didn’t have an idea on how to fix the issues. I propose the community builds a full replacement for the Windows shell. That means replacing the entirety of the functionality and responsibilities that explorer.exe has. In short this would be:

  • A file explorer that supports the shell32 namespace
  • A desktop window (which is an embedded file explorer view)
  • A taskbar similar to SCTT
  • Implementations of various shell intefaces (like open/save dialogs)

The project would most likely be written in C++ and use pure Win32. As for theming: it will be styled like Windows 95-2000, but with a themable engine that is using either custom C++ code or DUI/another XML based UI framework (Windows has a lot of those). This project would be of a similar scope to Start9, which was promised to us years ago but never saw the light of day unfortunately.

The benefits of the project are:

  • It will be a fully open source shell to which people can contribute.
  • It will be focused on themability. This sounds complicated, but bear in mind SCT Taskbar already supported Classic Theme and non-translucent msstyles, which did not take too long to implement (credits to Craftplacer tho).
  • It would survive any Windows updates because it is a fully standalone tool.
  • It would eliminate the need for ANY shell extensions used for Classic Theme, as it supports Classic Theme out of the box.
  • We would organize all of the settings in a central location so that users will not be confused.

The main problem is that such a project would require multiple developers. I myself cannot implement all of this as that would take way too much time. So this is a bit of a callout to all the developers in the community who might be interested in working on such a project. PLEASE contact me if your interested.