Window managers create the look and feel of your programs as they appear on your screen. Microsoft and Apple only come with one type of manager installed. Linux allows you to install whatever type you'd like. Just another reason Linux is awesome!
There is a good number of window management options and we will cover a few of them here. Every computer you use has a window manager installed by default and unless you are on Linux, you can't change it.
The first and most popular of the window managers is the floating window manager. This is what you get on Windows, MacOS, and is the default for most Linux distributions. This is when you open a new window and it sits on top of any other windows present. Hence the floating name. This works fine for everyday web browsing and light computer work. But when do we ever keep anything at the basics?
This style of window management gets problematic when doing heavy multitasking. Not to mention when we need two windows side by side for a project. I always found it annoying to move my hand off the keyboard just to resize a window for easier access. So I've left the floating window managers for something better.
Stacked is another, but less popular window manager. I'm sure you can guess what it does; yes it stacks! In this manager every window opened will be full screen and on top of the previous windows. This sounds like a hassle and it can be.
I found a few cases where I need to use this style but it is not common. The times I use a Stacking window manager is when I need to run a GUI program via the terminal. The managers that use this type should have a key combination to switch between the windows with ease.
Tiling window managers are my favorite style by far. When you open your first application, it will take up your whole screen. If you would open another application, the manager will split the screen in half. Now you have two windows of equal size on the same monitor without the need to click and drag either window.
This is the best window manager in my opinion. This allows you to do so much with little action. With key combinations and the ability to tile the windows in many formats, it is wonderful for productivity.
The time saved by not having to resize every window and being able to use the whole screen by default may seem small but it adds ups. I wish I could have a tiling window manager at work but since I a stuck with a Chromebook that is not an option.
pst, hey Google, maybe you should make that an option.
I never realized how much I needed a tiling window manager until I used one. Now, when I can't use one it's a major pain in the buns to have several windows open at once. You will ever know how cool it is to see windows automatically resize for you until you use this style manager.
I am using the i3 window manager. An open source window manager that has tiling, stacking, floating, and even a tabbed option. I always keep it in tiling mode, which is the default, and only sometimes do I use stacking when I need to as stated above.
There are other tiling window managers out today. One is "awesome" but after research, I went with i3wm. You can find many good videos and articles about i3wm online so you will get a lot done with in a short amount of time.
As with almost everything Linux based. i3wm is customizable to the extream. You can have a status bar on the top or bottom that displays content such as the screen you are on, the time, and a slew of other options like remaining hard disk space. Or you could just skip that all together. That's the beauty of Linux.
The minimalist feel of this window manager is another great appeal to anyone looking to squeeze out every last bit of productivity. There are no fancy borders or buttons to close out the programs.
I3wm highly streamlined out of the box. If you want to close a program, you have to press
mod + shift + q and poof it's gone. That key combination can change but this default makes the most sense to many people.
To open a program in i3wm the key combination is
mod + d after this you get a text box where you type the name of the application you want to run. Press enter and the program takes up the entire screen. Repeat the process to open as many programs as you need per screen.
You can switch between window management styles in i3wm with several key combos. To enter stacked for example you press
mod + s on whatever screen you want to be in stacking mod. This only applies the style to the current screen and all the rest stay at the default or whatever you set them to.
This not an exhaustive explanation of the i3 window manager because this post would be much too long. As I have said there are many tutorials online that will give you a lot more information than I can here. There are great videos out there showing you how to customize i3wm to make it look how you want.
Update March 2020: I'm currently using DWM as my window manager for various reasons. Which I'm not going to get into here.