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!