A window manager is system software that controls the placement and appearance of windows within a windowing system in a graphical user interface.[1] Most window managers are designed to help provide a desktop environment. They work in conjunction with the underlying graphical system that provides required functionality—support for graphics hardware, pointing devices, and a keyboard—and are often written and created using a widget toolkit.
Few window managers are designed with a clear distinction between the windowing system and the window manager. Every graphical user interface based on a windows metaphor has some form of window management. In practice, the elements of this functionality vary greatly.[2] Elements usually associated with window managers allow the user to open, close, minimize, maximize, move, resize, and keep track of running windows, including window decorators. Many window managers also come with various utilities and features such as task bars, program launchers, docks to facilitate halving or quartering windows on screen, workspaces for grouping windows, desktop icons, wallpaper, an ability to keep select windows in foreground, the ability to "roll up" windows to show only their title bars, to cascade windows, to stack windows into a grid, to group windows of the same program in the task bar in order to save space, and optional multi-row taskbars.[3][4][5][6]