So what is window manager?
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 manages the creation, manipulation, and destruction of on-screen windows.
Some window managers are developed as part of a more comprehensive desktop environment, usually allowing the other provided applications to better interact with each other. Other window managers are instead designed to be used standalone, giving the user complete freedom over the choice of the other applications to be used. This allows the user to create a more lightweight and customized environment, tailored to his/her own specific needs.
Window Managers are lightweight on resources(RAM usage < 10M) as compared to Desktop Managers and also they can be used with keyboard for efficient movement without hovering your hand over mouse frequently. So if you prefer to have minimalist(or non-bloated) environment where you want complete control over the desktop window managers are great to have.
Types of Window Managers:
Stacking window managers behave analogously to pieces of paper on a physical desktop, they can be stacked on top of one another, with the one at the top of the stack being the one that the user sees and interacts with.
Tiling window managers “tile” the windows so that none are overlapping. They usually make very extensive use of key-bindings and have less (or no) reliance on the mouse. Tiling window managers may be manual, offer predefined layouts, or both
Dynamic window managers can dynamically switch between tiling or floating window layout.
Some of the popular Window Managers are:
i3 is a dynamic tiling window manager designed for X11, inspired by wmii, and written in C. It supports tiling, stacking, and tabbing layouts, which it handles dynamically. Configuration is achieved via plain text file.
Core Ram Usage-5.5M
Openbox is a lightweight, powerful, and highly configurable stacking window manager with extensive standards support. It may be built upon and run independently as the basis of a unique Desktop Environment or within other integrated desktop environments such as KDE, GNOME and Xfce, as an alternative to the window managers they provide. The LXDE desktop environment is itself built around Openbox.
Core Ram usage-8.3M
dwm is a dynamic window manager for Xorg. It manages windows in tiled, stacked, and full-screen layouts, as well as many others with the help of optional patches. Layouts can be applied dynamically, optimizing the environment for the application in use and the task being performed. dwm is extremely lightweight and fast, written in C and with a stated design goal of remaining under 2000 source lines of code.
Core Ram usage-2.3M
bspwm is a tiling window manager that represents windows as the leaves of a full binary tree. bspwm supports multiple monitors and is configured and controlled through messages. EWMH is partially supported. It supports tiling, stacking, and tabbing layouts, which it handles dynamically.
Core Ram Usage-1.1M
Fluxbox is a window manager for X11. It is based on the (now abandoned) Blackbox 0.61.1 code, but with significant enhancements and continued development. Fluxbox is very light on resources and fast, yet provides interesting window management tools such as tabbing and grouping. It is small, fast and almost a sure thing for pleasing the eye (Source < 500K). You can choose any one of many pre-defined styles to tailor it to your taste.
Core Ram Usage-4.4M
xmonad is a dynamic tiling Window Manager for X11. Windows are arranged automatically to tile the screen without gaps or overlap, maximizing screen use. Window manager features are accessible from the keyboard: a mouse is optional.
xmonad is written, configured and extensible in functional programming language Haskell. Custom layout algorithms, key bindings and other extensions may be written by the user in configuration files.
Core Ram Usage-Around 5M(Depends on haskell runtime)
So here we presented some of the Window managers which can be used to efficiently manage your linux or unix desktop. Tell us what are your experiences with other Window Managers in comments.