Compare the Top Window Managers for Linux as of April 2025

What are Window Managers for Linux?

Window managers are graphical user interface elements that control the placement of windows, menus, and other on-screen objects in desktop environments. They provide users with a means to organize their workspace in order to meet their needs. Window managers also come with customization options that allow users to customize the appearance of their desktops. Finally, some window managers include additional features like virtual desktops which allow users to group related applications together and switch between them quickly. Compare and read user reviews of the best Window Managers for Linux currently available using the table below. This list is updated regularly.

  • 1
    SMBAct

    SMBAct

    SMBlob.com

    Your personal assistant to simplify the process of interacting with all your windows and applications. All-in-one cross-platform window manager and switcher. Solve window management in a consistent way across three (Windows, MacOS, Linux) platforms. Get both window manager and window switcher in one application. Embed any website to the frameless window with the topmost functionality. Activation of any window on active display, main display, or where there is a mouse pointer, fast-moving of windows between displays, and hiding all windows only on active display. For multi-windows applications, when the target window disappears and you use the keyboard shortcut again, it will display a notification informing you that the window has been lost. So the user can use the fix/same keyboard shortcut to target a new window and ask the user to set a new keyboard shortcut to bring this window to the front.
    Starting Price: €8 one-time payment
  • 2
    awesome

    awesome

    awesome

    awesome is a highly configurable, next-generation framework window manager for X. It is very fast, extensible and licensed under the GNU GPLv2 license. It is primarily targeted at power users, developers and any people dealing with everyday computing tasks and who want to have fine-grained control on their graphical environment. A window manager is probably one of the most used software applications in your day-to-day tasks, along with your web browser, mail reader and text editor. Power users and programmers have a big range of choice between several tools for these day-to-day tasks. Some are heavily extensible and configurable. awesome tries to complete these tools with what we miss: an extensible, highly configurable window manager.
    Starting Price: Free
  • 3
    i3

    i3

    i3

    i3 is a tiling window manager, completely written from scratch. The target platforms are GNU/Linux and BSD operating systems, our code is Free and Open Source Software (FOSS) under the BSD license. i3 is primarily targeted at advanced users and developers. Based upon the experiences we made when wanting to hack/fix wmii, we agreed upon the following goals for i3. This includes being modifiable by people who do know how to program but who are not necessarily familiar with all of X11’s internals. That is, document why things happen and when they happen so that the user gets a picture of the whole process a Window Manager is responsible of by just reading the source code. Implement multi-monitor correctly, that is by assigning each workspace to a virtual screen. Especially make sure that attaching and detaching new monitors like video projectors works during operation and do the right thing. Also, provide support for rotated monitors.
    Starting Price: Free
  • 4
    bspwm

    bspwm

    bspwm

    bspwm is a tiling window manager that represents windows as the leaves of a full binary tree. It only responds to X events and the messages it receives on a dedicated socket. bspc is a program that writes messages on bspwm's socket. bspwm doesn't handle any keyboard or pointer inputs: a third-party program (e.g. sxhkd) is needed in order to translate keyboard and pointer events to bspc invocations. Monitors only show the tree of one desktop at a time (their focused desktop). The tree is a partition of a monitor's rectangle into smaller rectangular regions.
  • 5
    IceWM

    IceWM

    IceWM

    IceWM is a window manager for the X Window System. The goal of IceWM is speed, simplicity, and not getting in the user’s way. It comes with a taskbar with a pager, global and per-window keybindings and a dynamic menu system. Application windows can be managed by keyboard and mouse. Windows can be iconified to the taskbar, to the tray, to the desktop or be made hidden. They are controllable by a quick switch window (Alt+Tab) and in a window list. A handful of configurable focus models are menu-selectable. Setups with multiple monitors are supported by RandR and Xinerama. IceWM is very configurable, themeable, and well-documented. It includes an optional external background wallpaper manager with transparency support, a simple session manager, and a system tray.
  • 6
    herbstluftwm

    herbstluftwm

    herbstluftwm

    The entire configuration happens at runtime via the tool herbstclient. So the configuration file is just a script that is run on startup. All configuration options, window rules, virtual desktops, and keybindings, can be updated live without the need to restart the window manager. Every virtual desktop (called tag) consists of a tiling and a floating layer. Windows in the tiling layer fill up the screen space and the floating windows can be placed freely above them. all monitors share the same pool of tags. You can switch the contents of two monitors with a single keystroke.
  • 7
    Qtile

    Qtile

    Qtile

    Optimize your workflow by configuring your environment to fit how you work. Efficiently use screen real estate by automatically arranging windows with minimal visual cruft. It's easy to write your own layouts, widgets, and built-in commands. There's always someone to lend a hand when you need help. Leverage the full power and flexibility of the language to make it fit your needs. We aim to always support the last three versions of CPython, the reference Python interpreter. We usually support the latest stable version of PyPy as well. You can check the versions and interpreters we currently run our test suite against in our tox configuration file.
  • 8
    xmonad

    xmonad

    xmonad

    In a normal WM, you spend half your time aligning and searching for windows. XMonad makes work easier, by automating this. An Update for our Sponsors—and a Request. It has been a little bit over a year since XMonad version 0.17.0 was released; this was also the time in when we first started looking for funding. On the whole, the number of people who decided to support us has been astounding: thank you! While our expenses are completely transparent, it can be hard to keep up if you’re not directly involved in the project. xmonad automates the common task of arranging windows, so you can concentrate on getting stuff done. Haskell and smart programming practices guarantee a crash-free experience.
  • Previous
  • You're on page 1
  • Next