14 Best Tiling Window Managers for Linux in 2024

As the name suggests, Linux Window Managers are responsible for coordinating how application windows work. They run quietly in the background of your operating system, handling the look and arrangement of open programs.

There are several Window Managers that you can use on Linux but just as you would expect, here is an article that lists the best tiling window managers for you to choose from.

1. i3 – Improved Tiling WM

i3 is a free, open-source, and completely configurable window manager app targeted at advanced Linux and BSD users and developers. It features a tree data structure that allows for more flexible layouts than its alternatives and it does not require Haskell or LUA.

i3 is among the most loved manual window tiling manager apps because of its vast features which include settings in plain text, custom keyboard shortcuts, and configuration without the need to restart the underlying system.

i3 - Tiling Window Manager for Linux
i3 – Tiling Window Manager for Linux

The package ‘i3‘ is available in the distribution you’re using, simply use your package manager to install it, as demonstrated below.

$ sudo apt install i3         [On Debian, Ubuntu and Mint]
$ sudo yum install i3         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge x11-wm/i3       [On Gentoo Linux]
$ sudo apk add i3             [On Alpine Linux]
$ sudo pacman -S i3           [On Arch Linux]
$ sudo zypper install i3      [On OpenSUSE]    

2. bspwm

bspwm is a free, lightweight, and open-source tiling manager known for adhering to the Linux philosophy by concentrating on doing one thing and getting it done properly.

It is based on binary space partitioning which represents windows as the leaves of a complete binary tree and it handles key binding with a separate utility sxhkd, which allows for smoother performance and support for other input devices.

bspwm’s features include support for multiple windows, partial support for EWMH, automatic mode for automatically setting the position of app tiles, and it is configured and controlled through messages, among others.

bspwm - Tiling Window Manager for Linux
bspwm – Tiling Window Manager for Linux

The package ‘bspwm‘ is available in the distribution you’re using, simply use your package manager to install it, as demonstrated below.

$ sudo apt install bspwm         [On Debian, Ubuntu and Mint]
$ sudo yum install bspwm         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/bspwm  [On Gentoo Linux]
$ sudo apk add bspwm             [On Alpine Linux]
$ sudo pacman -S bspwm           [On Arch Linux]
$ sudo zypper install bspwm      [On OpenSUSE]    

3. herbstluftwm

herbstluftwm is a free and open-source configurable manual tiling window manager for x11 using Glib and Xlib. Basically, it works using a layout based on splitting frames into sub-frames which can be further split and filled with windows.

herbstluftwm’s main features include tags (i.e. workspaces or virtual desktops), a configuration script that runs at startup, exactly one tag per monitor, etc.

herbstluftwm – Tiling Window Manager for Linux
herbstluftwm – Tiling Window Manager for Linux

The package ‘herbstluftwm‘ is available in the distribution you’re using, simply use your package manager to install it, as demonstrated below.

$ sudo apt install herbstluftwm         [On Debian, Ubuntu and Mint]
$ sudo yum install herbstluftwm         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/herbstluftwm  [On Gentoo Linux]
$ sudo apk add herbstluftwm             [On Alpine Linux]
$ sudo pacman -S herbstluftwm           [On Arch Linux]
$ sudo zypper install herbstluftwm      [On OpenSUSE]    

4. awesome

awesome is a free and open-source next-generation tiling manager for X built to be fast and extensible and it is primarily aimed at developers, power users, and anyone who would like to control their graphical environment.

Its features include well-documented source code and API, real multi-head support with per-screen desktops, support for D-Bus, support for Lua extensions, no floating or tiled layers, etc.

awesome - Framework Window Manager for Linux
awesome – Framework Window Manager for Linux

The package ‘awesome‘ is available in the distribution you’re using, simply use your package manager to install it, as demonstrated below.

$ sudo apt install awesome         [On Debian, Ubuntu and Mint]
$ sudo yum install awesome         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/awesome  [On Gentoo Linux]
$ sudo apk add awesome             [On Alpine Linux]
$ sudo pacman -S awesome           [On Arch Linux]
$ sudo zypper install awesome      [On OpenSUSE]    

5. Tilix

Tilix is an advanced GTK3 tiling terminal emulator and manager that uses the Gnome Human Interface Guidelines. It enables users to organize app windows horizontally and vertically using drag and drop.

Tilix offers its users a lot of features including working with custom titles and custom hyperlinks, support for transparent background images, notifications in the background, multiple panes, and persistent layouts.

Tilix - GTK3 Tiling Terminal Emulator for Linux
Tilix – GTK3 Tiling Terminal Emulator for Linux

The package ‘Tilix‘ is available in the distribution you’re using, simply use your package manager to install it, as demonstrated below.

$ sudo apt install tilix         [On Debian, Ubuntu and Mint]
$ sudo yum install tilix         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/tilix  [On Gentoo Linux]
$ sudo apk add tilix             [On Alpine Linux]
$ sudo pacman -S tilix           [On Arch Linux]
$ sudo zypper install tilix      [On OpenSUSE]    

6. XMonad

XMonad is a free and open-source dynamic tiling X11 window manager that exists to automate window searching and alignment. It is extensible using its very own extension library which gives it options for status bars and window decorations. It is also minimal, stable, and easy to configure.

xmonad - Tiling Window Manager for Linux
xmonad – Tiling Window Manager for Linux

The package ‘XMonad‘ is available in the distribution you’re using, simply use your package manager to install it, as demonstrated below.

$ sudo apt install xmonad         [On Debian, Ubuntu and Mint]
$ sudo yum install xmonad         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/xmonad  [On Gentoo Linux]
$ sudo apk add xmonad             [On Alpine Linux]
$ sudo pacman -S xmonad           [On Arch Linux]
$ sudo zypper install xmonad      [On OpenSUSE]    

7. Sway

Sway is a free, open-source, and lightweight tiling Wayland i3-compatible window manager that automatically arranges app windows to logically maximize desktop space. It arranges windows into a grid by default and supports almost all the commands included in i3.

Its features include support for keyboard shortcuts, its usage of Wayland instead of Xorg, and gaps.

Sway - Tiling Wayland Window Manager for Linux
Sway – Tiling Wayland Window Manager for Linux

The package ‘Sway‘ is available in the distribution you’re using, simply use your package manager to install it, as demonstrated below.

$ sudo apt install sway         [On Debian, Ubuntu and Mint]
$ sudo yum install sway         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/sway  [On Gentoo Linux]
$ sudo apk add sway             [On Alpine Linux]
$ sudo pacman -S sway           [On Arch Linux]
$ sudo zypper install sway      [On OpenSUSE]    

8. tmux

tmux is an open-source terminal multiplexer that enables users to create multiple terminal sessions that they can access and control from a single screen which makes it perfect for running several command-line programs at the same time.

tmux makes use of all the space available to it and it is easily usable thanks to its support for keybindings which you can use to split windows and create more panes. You can also share individual shell instances between distinct sessions to be used for different purposes by different users.

Tmux Manage Multiple Linux Terminals Inside Single Console
Tmux Manage Multiple Linux Terminals Inside Single Console

The package ‘tmux‘ is available in the distribution you’re using, simply use your package manager to install it, as demonstrated below.

$ sudo apt install tmux         [On Debian, Ubuntu and Mint]
$ sudo yum install tmux         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/tmux  [On Gentoo Linux]
$ sudo apk add tmux             [On Alpine Linux]
$ sudo pacman -S tmux           [On Arch Linux]
$ sudo zypper install tmux      [On OpenSUSE]    

9. spectrwm

spectrwm is a small, dynamic, xmonad, and dwm-inspired reparenting and tiling window manager built for X11 to be fast, compact, and concise. It was created with the aim of solving the issues of xmonad and dwm face.

spectrwm uses a plain text configuration file, boasts defaults similar to those in xmonad and dwm, and features built-in keyboard shortcuts. Its other features include customizable colors and border width, drag-to-float, quick launch menu, customizable status bar, dynamic RandR support, etc.

spectrwm - Tiling Window Manager for Linux
spectrwm – Tiling Window Manager for Linux

The package ‘spectrwm‘ is available in the distribution you’re using, simply use your package manager to install it, as demonstrated below.

$ sudo apt install spectrwm         [On Debian, Ubuntu and Mint]
$ sudo yum install spectrwm         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/spectrwm  [On Gentoo Linux]
$ sudo apk add spectrwm             [On Alpine Linux]
$ sudo pacman -S spectrwm           [On Arch Linux]
$ sudo zypper install spectrwm      [On OpenSUSE]    

10. JWM

JWM (Joe’s Window Manager) is an open-source C-based lightweight window manager for the X11 Window System optimized to work smoothly on older, less powerful computer systems.

It requires only the Xlib library to run but is capable of working with a host of other libraries including libXext for shape extension, Cairo and libRSVG for icons and backgrounds, libjpeg and libpng for JPEG and PNG backgrounds and icons respectively, etc.

JWM - Window Manager for Linux
JWM – Window Manager for Linux

JWM is included in a couple of Linux distros e.g. Damn Small Linux and Puppy Linux and has found most of its use on portable PCs like the Raspberry Pi.

$ sudo apt install jwm         [On Debian, Ubuntu and Mint]
$ sudo yum install jwm         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/jwm  [On Gentoo Linux]
$ sudo apk add jwm             [On Alpine Linux]
$ sudo pacman -S jwm           [On Arch Linux]
$ sudo zypper install jwm      [On OpenSUSE]    

11. Qtile

Qtile is a small but full-featured and completely configurable open-source tiling window manager developed in Python. It is designed with a focus on simplicity, extensibility using extensions, and customization.

Qtile features easy-to-write custom layouts, commands, and widgets. It can also be scripted remotely in order to set up workspaces, update status bar widgets, manipulate windows, etc. It has comprehensive documentation in case you need clarification along the way.

Qtile - Hackable Tiling Window Manager
Qtile – Hackable Tiling Window Manager

On newer Ubuntu (18.04 or greater), Debian (10 or greater), and Fedora versions, there are Qtile packages available to install via.

$ sudo apt install qtile         [On Debian, Ubuntu and Mint]
$ sudo yum install qtile         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]

12. Ratpoison

Ratpoison is a lightweight Window Manager designed to be simple and without fancy graphics, window decorations, or dependence on any other projects. It is modeled after the GNU Screen which is very popular in the virtual terminal community.

Ratpoison’s main features include the ability to split windows into non-overlapping frames with all windows maximized within their frames. It is solely operated using keyboard commands.

Ratpoison Window Manager
Ratpoison Window Manager

The package ‘Ratpoison‘ is available in the distribution you’re using, simply use your package manager to install it, as demonstrated below.

$ sudo apt install ratpoison         [On Debian, Ubuntu and Mint]
$ sudo yum install ratpoison         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/ratpoison  [On Gentoo Linux]
$ sudo apk add ratpoison             [On Alpine Linux]
$ sudo pacman -S ratpoison           [On Arch Linux]
$ sudo zypper install ratpoison      [On OpenSUSE]    

13. dwm

dwm is a lightweight and dynamic tiling window manager for the X Windows system that has guided the development of various other X window managers, including awesome and xmonad window manager.

dwm controls windows in tiled, monocle, and floating layouts, and all of these layouts can be added dynamically, enhancing the environment for the application in use, and the task executed.

Dwm - Tiling Window Manager
Dwm – Tiling Window Manager

The package ‘dwm‘ is available in the distribution you’re using, simply use your package manager to install it, as demonstrated below.

$ sudo apt install dwm         [On Debian, Ubuntu and Mint]
$ sudo yum install dwm         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/dwm  [On Gentoo Linux]
$ sudo apk add dwm             [On Alpine Linux]
$ sudo pacman -S dwm           [On Arch Linux]
$ sudo zypper install dwm      [On OpenSUSE]    

14. Notion

Notion is a unique window manager designed for the X window system that offers a tiling feature, where the screen is divided into non-overlapping tiles, each holding one window, maximizing its use.

Additionally, Notion supports tabbing, allowing multiple windows to be organized within a single tile. Notably, it’s a static manager, unlike many dynamic ones that automatically adjust tile sizes.

Notion - Tiling Tabbed Window Manager
Notion – Tiling Tabbed Window Manager

The package ‘notion‘ is available in the distribution you’re using, simply use your package manager to install it, as demonstrated below.

$ sudo apt install notion         [On Debian, Ubuntu and Mint]
$ sudo yum install notion         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/notion  [On Gentoo Linux]
$ sudo apk add notion             [On Alpine Linux]
$ sudo pacman -S notion           [On Arch Linux]
$ sudo zypper install notion      [On OpenSUSE]    
Conclusion

There are more tiling managers in the community that you can choose from but not many of them offer nearly a complete feature list as the apps listed above.

Do you know any commendable apps that are worthy of mention? Or have you had experiences with any that influenced your choice of one over the other? Feel free to share your thoughts with us in the comments section below.

Martins D. Okoi
Martins Divine Okoi is a graduate of Computer Science with a passion for Linux and the Open Source community. He works as a Graphic Designer, Web Developer, and programmer.

Each tutorial at TecMint is created by a team of experienced Linux system administrators so that it meets our high-quality standards.

Join the TecMint Weekly Newsletter (More Than 156,129 Linux Enthusiasts Have Subscribed)
Was this article helpful? Please add a comment or buy me a coffee to show your appreciation.

Got Something to Say? Join the Discussion...

Thank you for taking the time to share your thoughts with us. We appreciate your decision to leave a comment and value your contribution to the discussion. It's important to note that we moderate all comments in accordance with our comment policy to ensure a respectful and constructive conversation.

Rest assured that your email address will remain private and will not be published or shared with anyone. We prioritize the privacy and security of our users.