Before I moved away from Windows as my primary operating system, I fell in love with a tool called FancyZones. It's included in Microsoft's PowerToys suite, and if it's not clear, Microsoft also makes Windows 11. So, I always kind of wished that FancyZones would someday be implemented directly in Windows, and even wrote about that exact wish. I've also written about how I had to find alternatives to FancyZones when switching to other platforms, such as MacsyZones on macOS and the Tiling Shell extension for GNOME when I used Ubuntu.
What I didn't realize was that, for some time now, there's been a Linux desktop environment that has FancyZones-like functionality built right in. KDE Plasma, the desktop environment I'm using on top of Arch Linux, comes with a window manager that takes the best of FancyZones — and reminds me that Microsoft should have done this a long time ago.
Why FancyZones is so great
Creating the perfect layout, made easy
I've talked about this at length (multiple times, too), but what I love so much about FancyZones is how it makes it easy to have the exact layout I want on my screen so I can arrange my apps to maximize productivity. I typically work on a 32:9 ultrawide monitor, and I like to use it by having two major areas for the most important apps (where I write and research), and a smaller area for messaging apps, whether that's Slack or personal messaging.
Windows does offer some preset tiling layouts with Snap Groups and Snap Assist, but these are preset to sizes you can't change permanently, and just dragging windows into the appropriate area is a hassle. You either need to drag to the edges of the screen, or use the top edge to pop out a menu where you can select the specific area you want the current app in.
The best thing about PowerToys FancyZones, to me, is that I can create a custom layout that has the exact sizes I want, and when I want to snap an app into a specific tiling area, all I need to do is drag that window while holding Shift, and then move over to the area where I want the window, and it automatically snaps into the right area. It's frankly perfect for my needs, and you can even save multiple layouts if you have different workflows that require different layouts.
KDE's window manager has exactly what I need
FancyZones built right in
It was only recently — and by accident — that I realized KDE Plasma has a solution that works pretty much exactly like the best part of PowerToys. I was trying to press Ctrl + T and accidentally pressed the Windows key (called Meta if you're on Linux) instead of Ctrl. This brings up the tiling layout editor, just like the one in FancyZones.
I can resize the areas to the exact sizes I want, and change the padding so that there's no space between windows — I prefer it that way, but you can do anything you like here. There are buttons to easily split an area horizontally or vertically, and a delete button to delete an unwanted area. You can also add floating tiles if you'd like to have an area where multiple apps are stacked and visible, though I never cared much for this feature.
KDE lets you start with a few preset layouts for tiles, and you can make changes from there, though unfortunately, you can't save your custom layouts. Whatever layout you choose is preserved indefinitely until you manually change, even across reboots, but there's no way to easily swap between layouts like in FancyZones, and that's a notable downside. It's not something that affects me, but it might be a problem for you.
Just like FancyZones, snapping apps into the respective areas is also very easy — just hold Shift and drag the app where you want it.
Windows moves at a glacial pace at times
Though window snapping is quite solid
After looking around, it seems that this feature was added to KDE Plasma in or around 2023, and it really goes to show just how slowly Windows can evolve at times, even when Microsoft already clearly has the tools to make it better. FancyZones has been part of PowerToys for years at this point, being there since the initial release of the modern version of PowerToys in 2019, yet the company still hasn't built that feature into Windows 11. I get that maybe it's more geared towards "power users", but I don't understand why that means it needs to be relegated to an extra app you need to install.
That being said, the current window snapping system in Windows deserves some credit, as I've noticed some people, including my wife, wanting to replicate the behavior of Snap Assist on Linux. When you snap a window into a specific area, Windows 11 can come in and offer suggestions to more quickly fill the rest of the tiling areas available, and those specific windows are then remembered as a "snap group" you can easily switch to using Task View (though they're not saved if one of the apps is closed or the PC is shut down).
But that just means Microsoft has an opportunity to lead the pack by combining the best of both worlds. Having a custom tiled layout you can resize and save, but also providing suggestions to fill in the blank spaces when you snap the first app into the layout would be the ideal approach. Instead, we have two separate experiences, one of which needs an extra app, and both of which could be better in different ways.
KDE is amazing
I hope it keeps evolving
The current implementation of KDE's tiling window manager isn't perfect, but it does take the part that I care about the most when I use FancyZones or an equivalent, and brings it directly to the desktop environment without any add-ons. For my needs, it actually is perfect, since I don't need any of the extra features.
But, for the sake of making it great for everyone, it would be nice to see the option to save layouts (maybe even share them), as well as autocomplete suggestions to finish setting up a layout after snapping one app. Since Linux tends to evolve fairly quickly, I'm sure we'll see something like that at some point, but for now, I still commend KDE for taking a lesson from PowerToys before Microsoft seemingly did. KDE Plasma is probably my favorite Linux desktop environment yet, and this just gives it that many more points.
