窗口管理器和
桌面环境是用户在 X Window 系统里的主要界面. 窗口管理器只是个程序, 它控制窗口的外表,位置和提供用户去操作这些窗口程序的方法. 桌面环境为操作系统提供了一个较完整的图形操作界面, 和提供了一定范围和用途的实用工具和应用程序.
工作原理
当窗口管理器开始运作时,X服务器和客户端之间的互动,会重新导向到窗口管理器。每当要显示一个新窗口时,这个请求便会被重新导向到窗口管理器,它会决定窗口的初始位置。此外,大部分较新的窗口管理器会改变窗口的亲属关系,通常会在窗口顶部加上标题列,并在窗口周围加上装饰性的
框架。这两个部分皆由窗口管理器来控制,而不是其它程式。因此,当使用者点击或拖曳那些元件时,窗口管理器会进行适当的动作(如移动或改变窗口的大小)。
窗口管理器也负责处理图示,图示并不存在于X Window核心协议的层次中。当使用者将窗口图示化时,窗口管理器会取消窗口的映射(使其不可见),并完成适当的动作,将窗口改显示成图示。某些窗口管理器并不支援图示功能。
窗口管理器主要的目标,就如同其名,是用来管理窗口的。许多窗口管理器提供附加的功能,如处理鼠标在根窗口上的点击,呈现出窗格以及其它的视觉化元件,处理按键(例如 Alt-F4 可关闭窗口),判定哪一个应用程式在启动时执行等等。
主流X窗口
Blackbox (minimalist)
Compiz (a compositing window manager)
evilwm
Enlightenment (window manager)|Enlightenment
Fluxbox (lightweight, based on Blackbox)
FVWM(a virtual window manager,derived from twm)
IceWMIon (window manager)|Ion tiling tabbed window manager designed with keyboard users in mind
Openbox( LXDE默认的窗口管理器)
KWin(最初叫 KWM, 是 KDE默认的窗口管理器)
Metacity( GNOME 2.2后成为默认的窗口管理器)
MWM (Motif (widget toolkit)|Motif Window Manager), Motif Window Manager
Sawfish (window manager)|Sawfish (a past default for GNOME, originally called Sawmill)
twm (default for the X Window System since version X11R4)
Window Maker
Xfwm, Xfce默认的窗口管理器
特殊的窗口
虚拟窗口管理器
虚拟窗口管理器使用了虚拟的屏幕画面,其分辨率可大于显示器的分辨率。当希望有较多的窗口时,这个功能也很有用。虚拟窗口管理器包括有FVWM、Tvtwm、HaZe 等等。
平铺式窗口管理器
平铺式窗口管理器是以不重叠画面的方式组织屏幕画面(故称为平铺式),相对于传统的方式,它更近似于以坐标为基础的叠置物件(窗口),其尝试模仿办公桌的式样。
第一个平铺式窗口管理器是 larswm,随后是 Ion。以下是平铺式窗口管理器的列表:
Awesome
Larswm
Ion
TrsWM
Stumpwm
dwm
ratpoison
XWEM
Xmonad
其它X窗口
4dwm
5Dwm (derived from mwm, true SGI look&feel)
9wm (clone of the original windowing system of Plan 9)
aewm
amiwm Amiga workbench unix clone.
CTWM
dwm
EvilPoison (a fork of evilwm with Ratpoison-like keybindings)
FVWM95
HaZeJ
WM (Joe's Window Manager)
Kahakai
larswm
Luminocity (experimentation in compositing)
LWM
Matchbox
OLWM(and OLVWM with virtual desktops, OPEN LOOK window managers)
hackedbox
Oroborus
PekWM
PLWM
PWM
Qvwm (Windows 95/98 look-alike) (list of forks)
Ratpoison
Scwm (the Scheme constraints window manager)
Orion A nested (tiled or floating) window manager written in Scheme and scsh
swm (the original virtual desktop implementation)
Toy'd(HomePage GoogleProject a portable window manager for MS-Windows & UNIX / Linux platforms)
TrsWM
uwm
Waimea
WindowLab
wm2
WMI
wmii
XPwm(for XPde,Windows XP Look alike)