I've been using Linux on and off for a long time now, well over 14 years and I've always been fascinated by software evolution. In terms of Window Managers, I've flavored most of the old and quite a number of the new window managers and desktops. What I found relatively weird as of late (about a year ago) is that, as a developer I wasn't aware that my interest in software evolution had compromised my productivity. Perhaps the hypocrite in me is speaking now granted I've always been a fan of 'Eye Candy'.
I've come to realize that even though monitors are now cheap, large and wide, we are still bound by the need to 'tab' through windows, not to mention the idea of minimizing windows has polluted our minds since the dawn of the '_' button.
The more window managers (and Microsoft Windows and OS X) evolve the more we are finding ourselves hooked to the mouse and to the recent "Touch" trend.
I for one, find it very disturbing having to slide my hand over to grab the mouse. In fact, one of the reasons why I hate browsers is the need for a mouse (and I'm talking beyond address bar shortcuts, new tabs and the lot).
I needed a solution. I needed a solution that would allow me to exercise the tasks I needed to do on a daily basis (personal and work) all the while providing me with great productivity and speed without interfering with the usual 'visual' workflow.
I stumbled upon Tiling Window Managers. In short, they are window managers that do the following:
- Drop any unnecessary visuals.
- Use the screen space as it should be used.
- Provide you with a handful of keyboard shortcuts to move around.
- Provide simple configuration mechanisms.
Before I move on, allow me to say that the preference of a tiling window manager, just as it is with operating systems or anything else, is relative. You use what you find enjoyable.
Also please note that I have only scratched the surface of the following WMs and what I say may be incorrect, doable or anything else, so just take it with a grain of salt and do your own trials!
Awesome
I started out with awesomewm. It's one of the most popular tiling window managers around and may very well be the only one you would ever use. From my part I simply disliked the way awesome does its tiling algorithms as well as the graphical menu it provides. The reason I'm using a tiling window manager is because i do NOT want a menu. Awesome does provide a way to run commands but its sub par to the alternatives.
i3wm
I moved on a couple of months later to i3wm. I don't think I've ever used a window manager more than i3, it stuck with me for quite a long time and it has proven to be very valuable. What I enjoyed about i3 is the fact that the tiling process is not driven by an algorithm but by YOU as a user. The way the windows are tiled is solely dependent on the signals you provide i3. I'll give you a small example:
Mod + Enter = Open Terminal (fullscreen)
Mod + Enter = Opens new Terminal side by side to the first (default split is always horizontal)
We now have 2 side by side terminals.
Mod + V = Signals i3 that the next split should be vertical
Mod + Enter = Opens new Terminal vertical to the previous one.
Mod + H = Signals i3 that the next split should be horizontal
and so on. That benefit alongside the availability of Dmenu was reason enough for me to stick with i3 for a long time. i3 as well as awesome come with a status bar. The downside of i3 is that it doesn't allow window resizing by default using keyboard shortcuts. Furthermore, it had chosen to use the 'H' key as a signal for splitting horizontally, which forced the author to use JKL; as the navigation keys, which really conflicts with the idea of HJKL being the movement keys in linux.
Xmonad
I should've started with xmonad before the previous, simply because it's more vanilla in terms of features. However, Xmonad also comes with Dmenu and out of the 3 listed, it really squeezes windows and does not waste a pixel of space. It's also quite fast and provides a single smart and fast tiling algorithm by default (as opposed to awesome, which provides many) but there are libraries that you may use to change the algorithm.
I haven't used Xmonad for long so i reserve my feedback for later. So far, the downsides I've witnessed are the lack of a default status bar as well as the (obvious) need to have GHC installed which is about 40mb in size, nevertheless this is a one time thing and the status bar is probably available separately.
-
I'm not going to bother discussing the benefits of using a Tiling Window Manager as a developer, as soon as you start using it, you'll realize it!
I hope this brief introduction will at least have you guys give one of those (or others) a test.
I've come to realize that even though monitors are now cheap, large and wide, we are still bound by the need to 'tab' through windows, not to mention the idea of minimizing windows has polluted our minds since the dawn of the '_' button.
The more window managers (and Microsoft Windows and OS X) evolve the more we are finding ourselves hooked to the mouse and to the recent "Touch" trend.
I for one, find it very disturbing having to slide my hand over to grab the mouse. In fact, one of the reasons why I hate browsers is the need for a mouse (and I'm talking beyond address bar shortcuts, new tabs and the lot).
I needed a solution. I needed a solution that would allow me to exercise the tasks I needed to do on a daily basis (personal and work) all the while providing me with great productivity and speed without interfering with the usual 'visual' workflow.
I stumbled upon Tiling Window Managers. In short, they are window managers that do the following:
- Drop any unnecessary visuals.
- Use the screen space as it should be used.
- Provide you with a handful of keyboard shortcuts to move around.
- Provide simple configuration mechanisms.
Before I move on, allow me to say that the preference of a tiling window manager, just as it is with operating systems or anything else, is relative. You use what you find enjoyable.
Also please note that I have only scratched the surface of the following WMs and what I say may be incorrect, doable or anything else, so just take it with a grain of salt and do your own trials!
Awesome
I started out with awesomewm. It's one of the most popular tiling window managers around and may very well be the only one you would ever use. From my part I simply disliked the way awesome does its tiling algorithms as well as the graphical menu it provides. The reason I'm using a tiling window manager is because i do NOT want a menu. Awesome does provide a way to run commands but its sub par to the alternatives.
i3wm
I moved on a couple of months later to i3wm. I don't think I've ever used a window manager more than i3, it stuck with me for quite a long time and it has proven to be very valuable. What I enjoyed about i3 is the fact that the tiling process is not driven by an algorithm but by YOU as a user. The way the windows are tiled is solely dependent on the signals you provide i3. I'll give you a small example:
Mod + Enter = Open Terminal (fullscreen)
Mod + Enter = Opens new Terminal side by side to the first (default split is always horizontal)
We now have 2 side by side terminals.
Mod + V = Signals i3 that the next split should be vertical
Mod + Enter = Opens new Terminal vertical to the previous one.
Mod + H = Signals i3 that the next split should be horizontal
and so on. That benefit alongside the availability of Dmenu was reason enough for me to stick with i3 for a long time. i3 as well as awesome come with a status bar. The downside of i3 is that it doesn't allow window resizing by default using keyboard shortcuts. Furthermore, it had chosen to use the 'H' key as a signal for splitting horizontally, which forced the author to use JKL; as the navigation keys, which really conflicts with the idea of HJKL being the movement keys in linux.
Xmonad
I should've started with xmonad before the previous, simply because it's more vanilla in terms of features. However, Xmonad also comes with Dmenu and out of the 3 listed, it really squeezes windows and does not waste a pixel of space. It's also quite fast and provides a single smart and fast tiling algorithm by default (as opposed to awesome, which provides many) but there are libraries that you may use to change the algorithm.
I haven't used Xmonad for long so i reserve my feedback for later. So far, the downsides I've witnessed are the lack of a default status bar as well as the (obvious) need to have GHC installed which is about 40mb in size, nevertheless this is a one time thing and the status bar is probably available separately.
-
I'm not going to bother discussing the benefits of using a Tiling Window Manager as a developer, as soon as you start using it, you'll realize it!
I hope this brief introduction will at least have you guys give one of those (or others) a test.