The types of window manager
Does it really make a difference?
The key job of a window manager is to give borders to all open windows, and enable users to move them around the screen. The window managers are classified into different categories depending on how they handle windows.
Stacking window manager, such as fvwm3 and ICEWM allow windows to overlap one another; you only interact with the topmost window at any given time. The trouble with the stacking implementation is that it requires windows to be redrawn when they’re brought in focus. A common problem of this approach can be seen when a window becomes unresponsive, and retains the contents of some other window that occupied the same space on the screen, resulting in garbled content on the screen.
Compositing window managers, such as Enlightenment, assign a off-screen data buffer to each open window, which is used to draw open windows. This effectively overcomes the problem of unresponsive windows that occurs with stacking many different windows. Because the windows are drawn in a separate buffer, it’s possible for compositing window managers to apply 2D or 3D effects to the windows. If you prefer to have your windows open or close with visual effects such as fade, then you need a compositing window manager.
Tiling window managers such as i3 overcome this by restraining all open windows to their own dedicated space on the screen, preventing windows from overlapping each other. When you need to, you can maximise a window to take up the whole screen. While tiling window managers are efficient, they’re more restrictive by nature. There are two ways to arrange windows on the screen in a tiling window manager. The first option is to do so manually, carefully arranging all the different open windows on your screen according to your preference. The alternative is to let the tiling window manager decide the placement of the open windows. The former model is called manual tiling, while the latter is referred to as a dynamic tiling, or simply dynamic.
Awesome is a dynamic tiling window manager, and provides the choice of many different layouts for your open windows. You can switch between the different layouts with a single click. The different layouts describe the position of the other open windows relative to the currently active window.