How to determine which window managers are installed from the command line?
There’s no way to find all window managers programmatically because any program could potentially act as a window manager and it’s impossible to write a program that knows what an arbitrary program does. However, if you limit the search to window managers provided by a Debian package, there’s an easy way. All window managers in Debian provide the x-window-manager alternative.
update-alternatives --list x-window-manager
@RuiFRibeiro “Gnome” isn’t a window manager. Individual window managers provide the x-window-manager alternative, e.g. metacity , mutter , …
This psstree command displays the window manager(s) presently use. And group the result(s) per application and their relationships with other item(s).
Below is the same answer as above. But with details if you’re interested in those.
- If not already done, execute this command to install the «pstree» package sudo apt-get install pstree
- Using Terminal/Command line, execute this command psstree
- Within the result, search for the keyword «gdm». On the right side of «gdm» is the presently use Window Manager. For example:
One of the main benefit of pstree is that if you have mutliple Window Manager use at once, then pstree will display which Window Manager is use per application. Plus the application relationship with other items.
pstree has many optional parameters. For example, execute this command to display only trees rooted at processes of this user
Best Window Managers for Linux
A window manager handles the window’s appearance and comes with various options. It has multiple features to manage the applications’ windows on your screen. Window manager gives your Linux a new look with many options to manage the opened windows.
However, hundreds of window managers in Linux sometimes confuse the user. In this guide, we will explain the list of best and most popular window managers for Linux which you can try.
Best Window Managers for Linux
This section briefly introduces every window manager with its basic features.
1. Xmonad
Xmonad is a free, open-source, and dynamic tiling window manager. This tool automates the window configuration to help you concentrate more on daily tasks. Moreover, it includes a sizable library of extensions, Xinerama compatibility, on-the-fly reconfiguration, etc. The basic settings are simple to change, and the codes are often kept clean and secured. Additionally, this is quick and light so you can use it in any slow system.
Basic Features:
- Very quick, compact, and stable.
- A minimal (2000 lines of Haskell) code base.
- Automatic window management and tiling.
- Exceptional keyboard support eliminates the need for a mouse.
- Comprehensive support for floating, tabbed, and decorative windows.
- Unique status bars for each screen.
2. i3
The i3 is a great window manager and is best suitable for beginners who are new to window management. It contains an i3-specific syntax that is simple to comprehend and pick up. You can customize this manager per your requirements, from the positioning of opened applications to the unique keyboard shortcuts. Overall, the i3 method lets you control how you want to use the application on your machine, making it best for all types of users.
Basic Features:
- As a tiling window manager, i3 automatically “tiles” or positions the windows, so they are not adjacent.
- Frequently uses the keyboard shortcuts to manipulate several elements of your environment.
- Aims to be minimal and consume few system resources, yet it still needs to be visually appealing.
- A workspace in i3 makes it simple to group the windows.
3. Awesome
Awesome WM is loaded with various features to port the asynchronous XCB library instead of XLib. To keep the workspace well organized, you can use the tags formation. Along with the ability to use shortcuts, this has keyboard friendliness, configuration, and skinning options.
It is written in Lua, a potent programming language with many customization possibilities. Through the comprehensive API, Awesome can get you whatever you’d want if you’re a heavy user who wants total control over window management.
Basic Features:
- Its foundational code is compact, fast, and stable.
- Support desktops per screen and genuine multi-head (XRandR) (labels).
- The tags (used in place of workspaces) allow the consumers to be placed on many labels and displayed on multiple labels at once.
- Supports a variety of Lua extensions for extra features including tabs, dynamic tagging, widget feed, and layouts.
4. IceWM
IceWM is an amazing window manager that includes keyboard shortcuts for your convenience. There are a ton of setting options available for this highly adjustable manager. It uses less RAM which means that you can use this WM on multiple monitors and change the themes accordingly.
The built-in taskbar at the bottom of IceWM is an intriguing GUI improvement that makes the managing and arranging of app windows and desktop workspaces easier. It also supports RandR and Xinerama which are a great touch to assist you with multi-monitor setups.
Basic Features:
- Quick, straightforward, and easy to use.
- Helpful with the environments of GNOME and KDE.
- Menus are updated when the setup changes.
- Different focus modes.
- Option for automatic window lifting.
- Programmable keybindings.
- Supports tabbed windows and DockApps in a container.
5. Herbstluftwm
Herbstluftwm provides a fantastic blend of manual and automatic tiling systems. It comes with the easy-to-use Bash script for configuration, and you can use different layouts to change the UI accordingly. You are not typically required to use a single monitor because it has multi-monitor support. It’s one of the most excellent Linux window managers due to all these features and simplicity.
Basic Features:
- Designed for X11, the layout is built on subdividing frames.
- Each workspace is referred to as a tag and has its unique identity.
- The runtime configuration is possible. This implies that any customizations made do not necessitate to restarting the service.
- The interface for herbstluftwm, which may be used to send commands to the server while it is running, is called herbstclient.
6. JWM
Joe’s Window Manager (JWM) is the default window manager for Puppy Linux because it is incredibly lightweight. Configuring and customizing this window manager is simple and quick. JWM is written in C with a minimum of Xlib usage. JWM makes a fantastic window manager for sluggish or outdated machines due to its modest size and simplicity. JWM scarcely registers on the Raspberry Pi, freeing up the valuable system resources for tasks that are more crucial than running the desktop. It offers a panel which contains an application, a window decoration, an application menu, a clock, and a taskbar.
Basic Features:
- Supports the click and sloppy focus models. The standard focus model needs to be more reliable.
- One or more “root” menus are provided. These menus offer a mechanism to launch the programs. In the JWM default configuration, clicking the desktop or the “JWM” button in the screen’s bottom-left corner brings up the root menu.
- Tray – In the default arrangement, the screen has a “tray” at the bottom. This tray comprises buttons to reveal the desktop and the root menu, respectively.
7. Ratpoison
Ratpoison is a simple and easy-to-use window manager requiring zero configuration knowledge. To reduce the key clobbering that renders Emacs and other high-quality software inoperable, Ratpoison contains a prefix map. This window manager requires less mouse usage because it supports the keyboard shortcuts. Moreover, Ratpoison supports online documentation which is amazing and simple.
Basic Features:
- Although its design philosophy is not prioritizing the aesthetics, it backs from an outside compositor.
- Since each window requires a full frame, menu bars like polybar and conky are incompatible (and not recommended).
- The standard keybindings resemble the key chords more.
8. Spectrwm
Spectrwm is the compact dynamic tiling window manager for Xorg. It has reasonable defaults and doesn’t require learning a language to configure anything. Spectrwm aims to be quick and compact because it was initially developed for hackers. This window manager and Xmonad are almost similar in terms of features. Initially, Spectrwm is also known as scrotwn. It is a compact window manager, so you can only hide the unnecessary windows to show the valuable screens.
Basic Features:
- Dynamic support for RandR (multi-head).
- With a few easy key presses, many different screen layouts are possible.
- Resize and move floating windows.
- Support for Extended Window Manager Hints (EWMH).
- A real one-pixel border is possible, thanks to the adjustable tile gaps.
- Colors and border width can be changed.
- User-defined keybindings and a modkey.
9. DWM
DWM offers a dynamic technique to tile or arrange the windows following your preferred arrangement. The word “DWM” stands for Dynamic Window Manager, the main inspiration for other WMs like xmonad. Dwm is also very system-lightweight, and its user is well-versed in its functions. This manager of limited resources has a straightforward design.
Basic Features:
- Enables numerous workspaces and lets you drag, drop, and resize the windows with the mouse.
- Offers simple use and basic UI.
- Speed efficient.
10. Enlightenment
Enlightenment is the best Linux window manager for those who don’t know how to configure the environment. According to the creators, it is also known as the original eye candy window manager. It has a simple UI that allows you to change the settings even if you are a beginner in coding. Enlightenment is excellent and fast, and its mouse-driven menus are prompt.
Basic Features:
- The user experience is simple and resembles the old version of Mac OS X.
- Contains a ton of keyboard shortcuts.
- Provides higher performance due to its lightweight environment.
Conclusion
You can choose from any of the window managers that are mentioned to maximize the space on your screen and multitask effectively if you frequently switch between several programs on your computer—and displays. After we covered all the basics, you get to decide which of the top Linux window managers you choose. Before picking, be aware of your personal needs.
About the author
Prateek Jangid
A passionate Linux user for personal and professional reasons, always exploring what is new in the world of Linux and sharing with my readers.