When using Windows, your desktop is just that: your desktop. It’s the virtual surface you use to interact with your computer. When moving to Linux, though, you meet two terms that define the desktop experience. There are Window Managers and Desktop Environments. While they are functionally similar, they are not the same. Learn the differences between window managers and desktop environments.
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.
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.
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.
- Less memory/CPU usage than most desktop environments
- Highly configurable
- Not as user-friendly as a full-blown desktop environment
- Spartan looks, not visually appealing
- No bundled programs, nor useful tools
- Heavy learning curve
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.
- More eye candy than window managers
- Bundled tools and applications
- More user-friendly
- Easier to customize to your liking
- Requires more resources
- Certain 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.
Our latest tutorials delivered straight to your inbox