What Is a Window Manager?
The window manager is responsible for the placement of the windows, how they are arranged on the screen, how they interact with each other, and, up to a point, their appearance. It’s easier to understand what window managers are if you look at their two different subcategories: stacking and tiling. Tiling window managers display the full contents of all active windows next to each other. They split the screen into many smaller parts and place each application in them. Some popular tiling window managers are i3, awesome, bspwm, and Ratpoison. Stacking window managers are the paradigm most people are familiar with and allow windows to float and cover each other. They allow you to move a window around the screen freely, change its size, place two of them next to or over each other, etc. However, the distinction between them isn’t always straightforward. Some tiling window managers may also allow some windows to float freely, move around, and resize. Similarly, modern stacking window managers may also offer functions that help tile windows next to each other.
What Is a Desktop Environment?
Building on the window manager, the desktop environment adds the final graphic touches to the visual desktop experience. At its base, the desktop environment is responsible for the toolbars, panels, and all the little tools we take for granted when using our desktop. Among them is the clipboard manager, the applets that allow us to control our network connections or move between virtual desktops, etc. Some of the most popular full-blown desktop environments in Linux are Gnome, KDE, and XFCE. A desktop environment also (usually) comes with a suite of apps. A text editor, calendars, process viewers, and, of course, a file manager are among the essential tools that come with most desktop environments. When you realize that a window manager doesn’t come with all of this, the distinction between them and a desktop environment becomes more apparent.
Which Should You Choose?
As you have learned, desktop environments aren’t an alternative to window managers and vice versa. However, since you can use Linux even from a terminal, you can actually choose to use either a window manager or a desktop environment. It’s all a matter of personal preference, and your choice will depend on what you consider too little or too much.
Window Managers
If you don’t care about everything a desktop environment brings to the table and are willing to put in the work to learn how to use them, their quirks, and customize them to your liking, you may find you don’t need anything else to use your computer.
Pros
Less memory/CPU usage than most desktop environmentsHighly configurable
Cons
Not as user-friendly as a full-blown desktop environmentSpartan looks, not visually appealingNo bundled programs, nor useful toolsHeavy learning curve
Desktop Environments
If you are looking for something that just works, you should choose a desktop environment. It will come with everything preconfigured, and you also won’t have to hunt down individual applications for actions such as taking a screenshot.
Pros
More eye candy than window managersBundled tools and applicationsMore user-friendlyEasier to customize to your liking
Cons
Requires more resourcesCertain desktop environments can feel slow and bloated – especially on underpowered and older hardware
Do you prefer to invest the time and energy to customize a window manager, save resources, and have the quickest and “purest” user experience? Or is that too limiting or too demanding and time-consuming, and you prefer the ready-to-go experience a desktop environment offers? If you prefer the latter, don’t forget to check out our desktop environment reviews to see which one is suitable for you.