If you have never messed around with a Linux system, but have seen a YouTube video about it, there's a high chance that you've seen someone show off their fancy desktop effects, most notably the "wobbly windows" effect. These effects are possible due to the window manager software that controls the windows that contain the various programs that you run. However, like most other Linux applications, there's more than one that does the job, and the top two that offer the complete package are Compiz and KWin. While both of these solutions have their specific areas, we can still compare the objectively to see which one is more customizeable and functional.

Compiz

compiz_cube

Compiz is the more popular window manager thanks to the popularity of Gnome 2 and Unity. Compiz was commonly used by Gnome 2 users to add desktop effects, while Unity is built on top of Compiz. In other words, Compiz is commonly found on desktops that are based on the GTK graphical framework. The only notable exception is Gnome Shell, which uses its own window manager called Mutter to control its desktop effects; it's impossible to have Gnome Shell and Compiz. It's not impossible to use Compiz on Qt-based desktop environments, but it does take a bit of work.

compizsettings

Compiz is easily configurable via the CompizConfig Settings Manager application, where you can enable or disable various plugins as well as configure their different settings. Some popular plugins include Unity (when using Ubuntu), Wobbly Windows, and 3D Cube. Taking some time to go through the CompizConfig Settings Manager is pretty important if you want to benefit from a highly customized and visually appealing desktop experience. Of course, be sure to notice that some plugins can actually make a difference when it comes to productivity, while there are others which just add visual bells and whistles.

compizsetting-unity

We also have articles that offer a more detailed look at Compiz, a way to check whether you can run Compiz on your computer, and a tutorial on how to adjust Unity's settings via the CompizConfig Settings Manager.

KWin

KWin, on the other hand, is the default window manager of the KDE desktop environment. It's rarely found on any other desktop environment other than that, but similar to Compiz, it can be used as the window manager of any system with a bit of work. Because KWin is the default window manager of KDE, it offers perfect system integration and overall conformity with KDE's appearance. In fact, KWin manages the screenshot feature on KDE systems, while Gnome screenshots are handled by a separate utility. It's the reason why KDE screenshots have nice (optional) glow effects around the windows.

kwin_plugins

Similar to Compiz, you can choose from a list of plugins that you can enable and disable, as well as configure even more if there are any further available settings. There are plenty of built-in effects to choose from, and there's a "Get New Effect" button which allows you to pull other effects from the Internet (although at the time of writing there's only three that are available). In any case, the included effects should be more than enough for the large majority of people.

kwin_advanced

Besides a General tab which lets you turn on KWin as well as options for desktop switching effects and animation speed, there is also an Advanced tab that has no equivalent under Compiz. These settings allow better control of how KWin renders its effects (and can also improve performance by decreasing the quality), such as choosing between OpenGL and XRender for the compositing type and Native or Raster for the Qt graphics system. Additionally you can choose thumbnail settings, whether OpenGL 2 Shaders should be used, and whether VSync should be enabled. Again, all of these settings can affect how your system performs, along with how many plugins you have installed.

Installation and Conclusion

The respective window manager should already be installed for your distribution and desktop environment, but you can still install compiz or kwin by searching by those names for packages in your respective package manager. Integrating a window manager in a non-default desktop environment (like KWin in a non-KDE desktop environment) will require some research first.

So which window manager is better? While both Compiz and KWin are excellent choices that are practically even, I have to declare KWin the winner. In the spirit of KDE's level of customization, KWin can simply be configured to behave exactly the way you want it to be. Additionally, KWin is still being actively developed by the KDE team (with partial support for Wayland already being included), but Compiz has become a quieter project that is mainly receiving patches from Ubuntu/Canonical as Unity is built on top of it. Finally, KWin has become quite a bit quicker compared to years past, which was practically the only downside to using KWin.

Which window manager do you prefer? How do you think they will evolve as time passes, both in terms of functionality and Wayland/Mir support? Let us know in the comments!