天天看點

/LGC視窗管理/Windows Manager Overview

Windows Manager Overview 作者: 劉鵬 日期: 2008-10-20 介紹了視窗管理器的概念、Inter-Client Communication Conventions Manual、Extended Window Manager Hints,并給出了目前常見的視窗管理器。

What is Windows Manager

  • A special purpose application that provides the capability of applications to be moved, resized, minimized, and restored dynamically by the user.
  • Applies decoration to an application that enable the user to access these features.

Compositing Windows Manager

Instead of outputting to a common screen, programs each output first to a separate and independent buffer, or temporary location inside the computer, where they can be manipulated before they are shown.

X Windwos Manager

An X window manager is a window manager which runs on top of the X Window System, a windowing system mainly used on Unix-like systems.

Popular X windows manager incudes:

  • Enlightenment;
  • Metacity, the current default for the GNOME desktop environment;
  • MWM, Motif Window Manager;
  • Sawfish, a past default for GNOME, originally called Sawmill;
  • Xfwm4, a window manager for the Xfce desktop environment;
  • Compiz;
  • Xfwm, default for Xfce;
  • KWin, originally called KWM, default for KDE and has compositing option since 4.0;
  • twm, default for the X Window System since version X11R4.

Inter-Client Communication Conventions Manual (ICCCM)1

In computing, the Inter-Client Communication Conventions Manual (ICCCM) is a standard for interoperability between X Window System clients of the same X server. It was designed by David S. H. Rosenthal of the MIT X Consortium in 1988. Version 1.0 was released in July 1989 and version 2.0 in early 1994.

X deliberately specifies "mechanism, not policy". As such, an additional specification beyond the X protocol itself was needed for client interoperation. The ICCCM specifies cut and paste buffers, window manager interaction, session management, how to manipulate shared resources and how to manage device colours. These low-level functions are generally implemented within widget toolkits or desktop environments, meaning that application programmers rarely work directly with the ICCCM itself but instead use the higher-level toolkit functions that implement it.

The ICCCM is notorious for being ambiguous and difficult to correctly implement 1 . Furthermore, some parts are obsolete or no longer practical to implement 2 .

Efforts to update and clarify the ICCCM for current needs have resulted in the Extended Window Manager Hints (EWMH), which has gained fairly broad acceptance and continues to be extended as the need arises.

Extended Window Manager Hints (EWMH)2

  • Builds on the Inter-Client Communication Conventions Manual;
  • Standardized set of ICCCM additional custom extensions that any desktop environment can adopt;
  • Defines interactions between window managers, compositing managers, applications, and the utilities that form part of a desktop environment.

Compiz

  • Conforms to the Inter-Client Communication Conventions Manual standard;
  • Compiz is the compositing window managers for the X Window System that is able to take advantage of OpenGLacceleration.
  • The integration allows it to perform compositing effects in window management;
  • Compiz is built on the Composite extension to X and the GLX_EXT_texture_from_pixmap extension to OpenGL.
  • Compiz is designed with a highly extensible plugin system, these plugins can extend the basic functionality of Compiz.

SeeAlso

  1. http://en.wikipedia.org/wiki/Inter-Client_Communication_Conventions_Manual
  2. http://en.wikipedia.org/wiki/Extended_Window_Manager_Hints
  3. Modern Windows Manager on Gnome. A speech in GNOME.Asia Summit 2008.

繼續閱讀