linux

A window manager is a program that adds “decorations” to top level windows, typically a title bar, and some buttons, such as “Minimize”, “Maximize”, and “Close”. A window manager also provides means for the user to move and resize these windows. The functionality of a window manager varries, ranging from providing only basic functions and theming, to including lots of effects.

Types

There are two types of window managers, Stacking and Tiling.

Stacking

Stacking window managers are those that allow windows to overlap, including Compiz, Openbox, etc. Stacking window managers draw, or "paint" each window one at a time, with overlapping windows "erasing" the images behind them.

Stacking window managers have several limitations in their design, most of them due to the fact that when a window is drawn, it erases whatever is behind it. For computers with a weaker graphics processor, this can cause slow changes in window focus, and occasionally graphical glitches.

Compositing Window Managers

Compositing window mangers are stacking window managers that provide applications with an off-screen buffer for each window. The window manager composites the buffers into an image which it then displays on the screen. Compositing window managers commonly perform additional processing on buffers, adding effects such as transparencies, drop shadows, fading, and translating windows into multiple virtual displays.

Compositing window managers lessen the limitations of stacking window managers, preventing issues caused by the process of repainting windows.

Tiling

Tiling window managers differ from stacking window managers in that windows do not overlap. Instead, windows are organized into non-overlapping frames, similar to how windows are organized when "snapped" to screen edges in other window managers.

Listing of Window Managers

Some popular window managers are:

Window Managers are often part of a desktop environment, such as:

Additionally, there are several window managers that provide a desktop-like experience, with panels, menus, and themes. Popular examples include:

External Links

Compiz

Openbox

IceWM

Xmonad

Enlightenment