As the name “window manager” implies, the work of such programs is to coordinate the operation of application windows, and they are automatically launched in the background of your OS to control the appearance and placement of running applications.
There are several window managers that you can use on Linux, but as you might expect, this article lists the top 12 in our subjective opinion.
i3 is a free and fully customizable open source window manager designed for advanced Linux and BSD users as well as developers. It has a tree-like data structure that provides a more flexible layout than its alternatives, and does not require the use of Haskell or LUA.
i3 is one of the most popular windows management applications, thanks to its extensive features such as simple text settings, customizable keyboard shortcuts, and configuration changes on the fly, without having to reboot the underlying system.
The i3 package is provided by your distribution, just use the package manager as shown below.
$ sudo yum install i3 [On CentOS/RHEL]
$ sudo dnf install i3 [On Fedora]
$ sudo apt install i3 [On Debian/Ubuntu]
bspwm is a free and lightweight open source Linux frame window manager, known for sticking to the Linux philosophy of concentrating on doing one thing, but doing it as efficiently as possible.
It is based on binary space partitioning, which represents windows as the leaves of a complete binary tree, and handles keybinding with a separate utility, sxhkd, which provides smoother operation and support for other input devices.
BSPWM features include multi-window support, partial EWMH support, an automatic mode for setting the position of application tiles, and configuration and management via messages, among other things.
The bspwm package is provided by your operating system – use the package manager to install it.
$ sudo yum install bspwm [On CentOS/RHEL]
$ sudo dnf install bspwm [On Fedora]
$ sudo apt install bspwm [On Debian/Ubuntu]
herbstluftwm is a free, open-source, customizable window manager for X11that uses Glib and Xlib. Essentially, it works using a layout based on splitting frames into subframes, which can be further split and filled with windows.
The main functions of herbstluftwm are tags (i.e. workspaces or virtual desktops), a configuration script that runs at startup, exactly one tag per monitor, and so on. You can learn more from our article on herbstluftwm here.
The herbstluftwm package is easy to install using the package manager, as shown below.
$ sudo yum install herbstluftwm [On CentOS/RHEL]
$ sudo dnf install herbstluftwm [On Fedora]
$ sudo apt install herbstluftwm [On Debian/Ubuntu]
awesome is a free, next-generation, open-source manager for X, designed to be fast and extensible, and designed for developers, power users, and just anyone who would like to manage their own graphical environment.
Its features include well-documented source code and API, the ability to work on two or more physical displays as a single “virtual” display, support for D-Bus, support for Lua extensions, no floating or tiled layers, etc.
The awesome package is provided by your distribution. The installation instructions are simple. The terminal, the package manager, and the corresponding command, see below.
$ sudo yum install awesome [On CentOS/RHEL]
$ sudo dnf install awesome [On Fedora]
$ sudo apt install awesome [On Debian/Ubuntu]
Tilix is a GTK3 tile emulator and terminal manager that uses Gnome Human Interface Guidelines. (a document containing user recommendations for UI developers) It is so advanced that it allows you to organize application windows horizontally and vertically by dragging and dropping.
Tilix offers many features, including working with custom titles and custom hyperlinks, support for transparent background images, notifications in the background, multiple panels, and persistent layouts.
To install Tilix, use the package manager of your distribution, as shown below.
$ sudo yum install tilix [On CentOS/RHEL]
$ sudo dnf install tilix [On Fedora]
$ sudo apt install tilix [On Debian/Ubuntu]
XMonad is a free and open source X11 window manager that exists to automate the search and alignment of windows. And it can be upgraded with its own extension library, which provides options for status bars and window design. It is also minimal, stable, and easy to set up.
Xmonad, like the previous ones, is provided by the distribution, for installation, use the package manager as in the demo below.
$ sudo yum install xmonad [On CentOS/RHEL]
$ sudo dnf install xmonad [On Fedora]
$ sudo apt install xmonad [On Debian/Ubuntu]
Sway is a free, lightweight and user-friendly window manager compatible with Wayland i3, which automatically distributes application windows so as to logically make the most of the desktop space. By default, it combines windows into a grid and supports almost all the commands included in i3.
Its features include support for keyboard shortcuts, using Wayland instead of Xorg, and spaces. Learn more about Sway in our article here.
Sway is available for installation from the default repository of many distributions, but if you happen to be unable to install it using the package manager, check out this wiki page, where you will find all the necessary instructions.
tmux is an open source terminal multiplexer that allows users to create multiple terminal sessions that they can access and manage from a single screen, making it ideal for running multiple command-line programs simultaneously.
tmux uses all the available space, and it is easy to use thanks to the support of keyboard shortcuts, with which you can split windows or create more panels. You can also save an instance of the shell for use in other sessions and share it for different users.
Installing tmux is not a difficult task. It is enough to use the package manager of your distribution and the appropriate command from the following ones.
$ sudo yum install tmux [On CentOS/RHEL]
$ sudo dnf install tmux [On Fedora]
$ sudo apt install tmux [On Debian/Ubuntu]
spectrwm is a small and dynamic mosaic window manager based on and in the spirit of xmonad and DWM, designed for X11, aka X Window System, to be fast, compact and concise. It was created to solve some external problems of xmonad and dwm.
Spectrwm uses a plain text configuration file, and has default values similar to those specified in xmonad and dwm, and has built-in shortcuts. Its other features include customizable border colors and widths, drag and drop, quick launch menu, customizable status bar, dynamic RandR support, and so on.
You can install Spectrwm using your distribution’s package manager. All the necessary information is below the text.
$ sudo yum install spectrwm [On CentOS/RHEL]
$ sudo dnf install spectrwm [On Fedora]
$ sudo apt install spectrwm [On Debian/Ubuntu]
JWM (Joe’s Window Manager, which in our opinion will be like“Joe’s Window Manager”) is a lightweight, open-source window manager based on the C programming language designed for the X11 window system, optimized to run smoothly on older, less powerful computer systems. Only the Xlib library is required to work, but it is capable of working with many other libraries, including libXext for form extension, Cairo and libRSVG for icons and backgrounds, libjpeg and libpng for JPEG and PNG backgrounds and icons, respectively, etc.
JWM is included in several Linux distributions, such as Damn Linux and Puppy Linux, most of which have found use on portable PCs, such as the Raspberry Pi.
$ sudo yum install jwm [On CentOS/RHEL]
$ sudo dnf install jwm [On Fedora]
$ sudo apt install jwm [On Debian/Ubuntu]
Qtile is a small but fully functional and fully customizable open source window manager developed in Python. It is designed with an emphasis on simplicity, extensibility, and customization. (the ability to configure EVERYTHING at ALL!)
Qtile makes it easy to create custom layouts, commands, and widgets. It can also be used to remotely configure workspaces, update status bar widgets, manage windows, and the like. It contains comprehensive documentation in case you need clarification as the play progresses.
In versions of Ubuntu from 17.04 and up, Debian from 10, and Fedora, there are Qtile packagesavailable for installation, the demo below will help you.
$ sudo apt-get install qtile [On Ubuntu/Debian]
$ sudo dnf -y install qtile [On Fedora]
Ratpoison is a lightweight window manager designed for simple window design that does not require beautiful graphics. It is modeled after the GNU screen, which is very popular in the virtual terminal community.
The main features of Ratpoison include the ability to split windows into non-overlapping frames with all windows expanded within those frames. However, it works exclusively with keyboard commands.
There are many more window managers inthe community that you can choose from, but not many of them can boast such a complete set of features, unlike the above.
Do you know of any commendable apps worth mentioning? Or maybe you had an experience that helped you choose once and for all? Feel free to share your thoughts with us in the comments section below.