Best Window Managers in terms of Keyboard Support: Comparison & Analysis..!!

If you are a keyboard enthusiast, who dislike using Mouse and try to get through their workday with just the keyboard and you are looking for the perfect window manager for your Desktop Environment then this article is for you! In this article, we have analyzed the various options we have and compare them all to decide which Window manager is the best in terms of Keyboard support!

Let’s start by looking at the short version of the answer for those of you in a hurry to ditch your mouse!

Short Version of the Answer

Best Window Manager in terms of Keyboard support: i3wm

Table of Comparison

Feature i3wm Awesome WM DWM
Customizability Has basic customizability Can tweak each and everything Need to apply patches and recompile source code to customize
Ease of use Easy to edit and readable conf file Has a learning curve and cannot do anything without referring the docs Very hard for a beginner as the user is expected to compile the source code themselves
Target Users Normal users Power Users Advanced Users
Documentation and support Excellent Good Good
Resource consumption medium low Very low

That is just the short version of the answer, let us go and look at a longer and more informative version and see what options you have, what are the pros and cons of each window manager and why i3wm Window Manager is chosen as the best!

Let’s start our discussion by answering the simple question of “What are Window Manager? ” and “What is the place of Window Managers in Linux?” to help refresh our memories!

What is Window Manager’s Place in Linux?

In olden days, all computers came in was with a terminal, where the user can make programs using built-in text editors like vi and nano, and compile them using bash commands and execute them. Even these days it is the trend among advanced users of Linux to use the terminal more than the graphical user interface.

But in order to bring Linux to everyday users, get beginners interested in Linux and compete with other Desktop operating systems like Mac OS and Windows, Linux developers made a Graphical user interface.

This Graphical user interface in Linux consists of 4 parts. Each part has its own duty and they are built on top of each other. The 4parts starting from bottom to top are as follows.

  • X-server: Tells what to draw
  • X-client: Draws it on the monitor
  • Window manager: gives window decorations (the frame surrounding the window, along with maximizing, minimize and close buttons) and ability to change between apps (using Alt-Tab for example)
  • Desktop environment: gives a desktop, app launcher, taskbar, status-bar, etc.

If the above list feels dry and technical don’t worry, the main takeaway point is that the Linux Graphical User Interface or GUI is built as layers with each layer doing a different duty in producing the final picture that we can see on the monitor’s screen.

What are Window Managers?

According to Arch Wiki‘s definition

A window manager (WM) is system software that controls the placement and appearance of windows within a windowing system in a graphical user interface (GUI). It can be part of a desktop environment (DE) or be used standalone.

Duties of Window Managers

The most basic duties of Window managers include the following

  • Determine how the border looks
  • Determine how the title bar looks
  • Determine the size of windows
  • Gives the ability to resize windows

On top of the above-mentioned duties, Window managers also perform some advanced functionalities like controlling the layout modes

  • Tiling: each app gets a portion of the available real estate
  • Stacking: each app can take the entire screen
  • Tabbing: just like browsers
  • Floating: can resize and float around on the desktop

Now that we have learned/refreshed our memories about various window managers, let’s go ahead and have a look at some popular options and compare them!

I3 Window Manager

I3 is one of the most popular window managers out there, focussing on easy of configuration and good documentation. I3wm also gives very good support for configuring keyboard shortcuts along with other many useful features. Some of the key points about i3wm are given below.

Key points

  • Ease of set up
  • The configuration file is easy to read
  • Popular and good online support
  • Good online documentation
  • Support for various layout modes like tiling, stacking, tabbing and floating
  • Can combine the layout modes into a tree
  • Automated Layouts: you can have multiple layouts for the smaller screen or larger screen
  • Good support for multi-monitor setups

Awesome Window Manager

The awesome window manager is another popular window manager. Unlike i3m, this one focuses on extreme customizability for power users. You can get started with this easily, but to get this wm working exactly the way you need it to be is going to take some work on your part! Some of the key points on Awesome WM is given below.

Key points

  • Good customization options
  • Steep Learning curve
  • good documentation on API
  • Can make changes at run time
  • No floating or tiled layer support
  • Uses tags instead of workspaces
  • To configure Awesome WM, need to use Lua programming language

DWM

DWM from suckless.org is a dynamic window manager for X. This one focusses on using less code to get the job accomplished as such it consumes the least amount of RAM as possible. This one also provided the option to configure keyboard shortcuts so that you never need to touch the mouse again, but the process of doing the configuration is going to be challenging to say the least! This WM is for those of you who enjoy having a super-efficient system, and not afraid to compile source code, apply patches etc, to get things to behave exactly the way you need them to. Some of the key points on DWM are the following

Key points

  • Very resource-efficient
  • Need to compile each time you need to make changes
  • Customization needs a lot of work reading the documentation and applying patches
  • Uses tags instead of workspaces

Comparison of i3wm, Awesome WM and DWM

Now that we have seen an introduction to the 3 most popular window managers, let’s see a comparison table between them.

Feature i3wm Awesome WM DWM
Customizability Has basic customizability Can tweak each and everything Need to apply patches and recompile source code to customize
Ease of use Easy to edit and readable conf file Has a learning curve and cannot do anything without referring the docs Very hard for a beginner as the user is expected to compile the source code themselves
Target Users Normal users Power Users Advanced Users
Documentation and support Excellent Good Good
Resource consumption medium low Very low

i3wm offers a good balance between ease of use, support, customization and resource consumption. Since our main aim is to ditch the mouse and go full-on keyboard, all we need is an easy to use window manager and hence I would suggest you try out i3wm. If you are a hard code Linux programmer or someone who has plenty of free time, then you can go ahead and have a look at the other 2 options of Awesome WM and DWM. If none of the window managers presented in this article suits you, then try to make your own wm on top of TinyWM!

And with that, I will conclude this article!

I hope you guys enjoyed this article and learned something useful.

If you liked the post, feel free to share this post with your friends and colleagues!

Related Articles

Here are some of our other articles that might interest you!

A Step By Step Plan To Learn Linux..!

Best Linux Distro For Workstation: Analysis and Comparison!!

A Complete Guide For Choosing A Distro For Your Computer’s Specs..!!

Best Distro For Software And Hardware Support: An Analysis.!!

Distro-Hopping, What, Why & How Explained!

Reasons Behind The Existence of SO MANY Linux Distros: An Analysis!

Photo of author
Editor
Balaji Gunasekaran
Balaji Gunasekaran is a Senior Software Engineer with a Master of Science degree in Mechatronics and a bachelor’s degree in Electrical and Electronics Engineering. He loves to write about tech and has written more than 300 articles. He has also published the book “Cracking the Embedded Software Engineering Interview”. You can follow him on LinkedIn