Make Plasma look like Windows 10 guide

Updated: April 26, 2021

Why? Why not! There are three reasons why anyone would want to attempt this. One, because they can, ergo nerds who want to have fun. Two, to see how flexible and powerful the Plasma desktop really is. Three, to make Plasma look like Windows, because the target users expect such looks regardless of functionality. Can it work, though?

After testing a bunch of Windows 7/10 themes in non-Plasma desktops a few days back, I decided to expand my experiment and see how Plasma copes with this rather unnecessary yet interesting challenge. So far, I've attempted Mac makeover and Unity customization with fairly decent degrees of success. Now, I'd like to try my luck with the Windows skinning attempt. In my other tests, the results weren't that promising. Here? Well, below, this be a Plasma desktop made to look like Windows 10. Now, let's commence.

Teaser

Ingredients

This guide is not trivial, because it involves about a dozen changes. You can't just press one button and have everything sorted out. You need to change the desktop theme, icon theme, fonts, windows decorations, application style, wallpaper, and the system menu all separately. We go back to reason one = nerds who want to have fun. Like me. Anyway, the list be as follows:

And those be our ingredients. Then, once they were all in place, I set the following:

Decorations

Splash

Results, results, results!

This was an interesting little journey, fraught with obstacles. Finding the different components wasn't easy, and I had to shuffle between the KDE store and GitHub to get the best parts. Then, I also had to compile the Breeze10 decorations. The project has a detailed list of requirements to get going. But ... you can't really compile. The reason is - the project is a bit old, and Qt now expects a different set of paths in source files. Namely, the compilation error is:

/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:562:8: note: declared here
562 | T *data() const noexcept { return internalData(); }
| ^~~~
/home/rogerb/Documents/Breeze10/breezebutton.cpp:416:34: error: aggregate ‘QPainterPath path’ has incomplete type and cannot be defined
416 | QPainterPath path;
| ^~~~
make[2]: *** [CMakeFiles/breeze10.dir/build.make:101: CMakeFiles/breeze10.dir/breezebutton.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:245: CMakeFiles/breeze10.dir/all] Error 2
make: *** [Makefile:130: all] Error 2

The solution to this problem actually exists on the Qt forums - you need to add an include entry qpainterpath to the affected source file, which in my case was breezebutton.cpp. I added this in the beginning of the file, just under the existing list of include declarations, and the project then compiled without problems.

Compilation

Decorations

In Discover, there are some really nice and cool extras, including various Plasma and application decorations, but their names aren't always simple or clear. For instance, the tiled menu a-la Windows 10 - it's not really searchable under a generic "Windows 10" string. I had to spend a bit of extra time searching online before I found a reference to this component. Once I found it, I was able to create and customize a system menu that resembles what you get in Windows, with or without tiles. I will actually write a separate article on this fine menu sometime in the future.

I did a few more tricks - I added several Latte spacers, because the default Plasma spacer isn't flexible enough. You can also add a separate search widget, but it's not really necessary if you use the Tiled Menu, because it comes with an integrated search-as-you-type functionality already there. Very nice I like high five.

What's missing?

Well, the applications don't necessarily look proper Windows 10. Dolphin is still Dolphin, and the system area has Breeze icons, regardless of which selection I went for. It just might be that the system area icons are hard-coded into the Breeze theme, and there's isn't much you can do about it. Not sure, but it would be nice if there was a way to have a whole-system transformation. That said, anyone looking at the final product will most likely focus on the wallpaper, menu and the application icons - not necessarily the system area.

Other than that, I was quite happy, I must say. To wit, let's demonstrate.

Gallery

Pretty pictures go brrrr:

Booting

Nice 1

Nice 2

Nice 3

Conclusion

The journey is now complete. We have our Windows 10 transformation. I have to say the results are more aesthetically pleasing than what I've been able to accomplish in the other desktops. More accurate, more consistent - if harder to achieve given the amount of separate steps one must follow. But as I've already shown you in the Mac and Unity tutorials, if you're willing to invest the time, Plasma is uber-powerful.

It would be nice to put all this under a single script so that ordinary people can achieve the looks with "one click" - it would also save entrepreneuring nerds worldwide some time, too. Anyway, if you want to have a Windows-like Plasma experience, beyond the obvious classic desktop formula, that is, hopefully this little piece shall serve as a nice starting point to your adventure. If you fancy other guides, please do tell, and I'll see what I can put together. Meanwhile, give it a go, and see if you're happy with the outcome. But do back up your Plasma settings, so if something goes wrong, you can always revert. And we're done. Mission complete.

Cheers.

You may also like: