X窗口管理器
X窗口管理器是X窗口系统中,用来控管视窗外观和放置方式的视窗系统软件,主要用于类Unix系统。
X视窗管理器和苹果公司的Macintosh和微软公司的Windows的操作环境具有不同的使用模式。后两者都有长期固定的用户界面和操作模式,而这些都是由开发商决定的,用户无法更换或者只能作微小调整。X视窗管理器提供完全开放的,和图像显示软件无关的用户界面。用户可以自由选用窗口管理器。这些管理器可以拥有完全不同的特性,包括:
- 外观和功能的可配置性
- 用于启动程序或者进行设置的菜单
- 启动程序的方式,可能是命令行式的,也可能是图形化的,比如停靠栏。
- 多桌面、虚拟桌面(比显示器尺寸要大的桌面)和用于切换桌面的桌面切换器(pager)。
- 内存和系统资源的消耗
- 和桌面环境的集成程度。部分X窗口管理器提供更加完整的用户界面、系统软件和应用程序。
X窗口管理器的运作原理
当窗口管理器开始运作时,X服务器和客户端之间的交互,会重定向到窗口管理器。每当要显示一个新视窗时,这个请求便会被重定向到窗口管理器,它会决定视窗的初始位置。此外,大部分较新的窗口管理器会改变视窗的亲属关系,通常会在视窗顶部加上标题栏,并在视窗周围加上装饰性的框架。这两个部分皆由窗口管理器来控制,而不是其它程序。因此,当用户点击或拖曳那些组件时,窗口管理器会进行适当的动作(如移动或改变视窗的大小)。
窗口管理器也负责处理图标,图标并不存在于X Window核心协议的层次中。当用户将视窗最小化时,窗口管理器会取消视窗的映射(使其不可见),并完成适当的动作,将视窗改显示成图标。某些窗口管理器并不支持图标功能。
窗口管理器主要的目标,就如同其名,是用来管理视窗的。许多窗口管理器提供附加的功能,如处理鼠标在根视窗上的点击,呈现出窗格以及其它的可视化组件,处理按键(例如 Alt-F4 可关闭视窗),判定哪一个应用程序在启动时执行等等。
特殊的窗口管理器
几种特殊的窗口管理器如下。
虚拟窗口管理器
虚拟窗口管理器使用了虚拟的屏幕画面,其分辨率可大于显示器的分辨率。当希望有较多的视窗时,这个功能也很有用。虚拟窗口管理器包括有 FVWM、Tvtwm、HaZe 等等。
平铺式视窗管理器
平铺式视窗管理器是以不重叠画面的方式组织屏幕画面(故称为平铺式),相对于传统的方式,它更近似于以坐标为基础的叠置对象(视窗),其尝试模仿办公桌的式样。
第一个平铺式视窗管理器是 larswm,随后是 Ion。以下是平铺式视窗管理器的列表:
- Awesome [1] (页面存档备份,存于互联网档案馆)
- dwm [2] (页面存档备份,存于互联网档案馆)
- i3 [3] (页面存档备份,存于互联网档案馆)
- Ion [4] (页面存档备份,存于互联网档案馆)
- larswm
- Musca [5]
- Ratpoison [6] (页面存档备份,存于互联网档案馆)
- Stumpwm [7] (页面存档备份,存于互联网档案馆)
- wmii [8][永久失效链接]
- Xmonad [9] (页面存档备份,存于互联网档案馆)
- bspwm [10] (页面存档备份,存于互联网档案馆)
主流X窗口管理器
- Blackbox (minimalist)
- Enlightenment
- Fluxbox (轻量级,基于Blackbox)
- FVWM(twm基础上开发的的 虚拟窗口管理器)
- IceWM
- KWin(原名 KWM, KDE默认的窗口管理器)
- Metacity( GNOME 2.2后成为默认的窗口管理器)
- Mutter
- MWM (Motif Window Manager)
- Openbox( LXDE默认的窗口管理器,基于Blackbox)
- Sawfish (原名 Sawmill,前GNOME系统默认窗口管理器)
- twm (X窗口系统X11R4以来的默认窗口管理器)
- Xfwm, (Xfce默认的窗口管理器)
其它X窗口管理器
- 4Dwm
- 5Dwm (derived from mwm, true SGI look&feel)
- 9wm [11] (页面存档备份,存于互联网档案馆)(复制 九号项目 原先的视窗系统)
- aewm [12]
- AfterStep
- amiwm [13] (页面存档备份,存于互联网档案馆) Amiga workbench unix clone.
- Awesome [14] (页面存档备份,存于互联网档案馆)
- Compiz (a compositing window manager) and Beryl (window manager) an under development fork of it
- CTWM
- cwm
- dwm [15] (页面存档备份,存于互联网档案馆)
- EvilPoison [16] (a fork of evilwm with Ratpoison-like keybindings)
- evilwm [17] (页面存档备份,存于互联网档案馆)
- Flwm [18] (页面存档备份,存于互联网档案馆)
- FVWM95
- hackedbox [19]
- HaZe
- i3[20] (页面存档备份,存于互联网档案馆)
- Ion (平铺式窗口管理器,为键盘用户设计) [21] (页面存档备份,存于互联网档案馆)
- JWM (Joe's Window Manager)
- Kahakai
- larswm
- Luminocity (experimentation in compositing)
- LWM [22] (页面存档备份,存于互联网档案馆)
- Matchbox [23]
- Musca [24]
- OLWM(and OLVWM [25] with virtual desktops, OPEN LOOK window managers)
- Oroborus
- PekWM[26] (页面存档备份,存于互联网档案馆)
- PLWM
- PWM
- Qvwm (Windows 95/98 look-alike) [27] (页面存档备份,存于互联网档案馆) (list of forks)
- Ratpoison [28] (页面存档备份,存于互联网档案馆)
- Scwm (the Scheme constraints window manager)
- Stumpwm [29] (页面存档备份,存于互联网档案馆)
- 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 [30] (页面存档备份,存于互联网档案馆)
- WindowLab
- Window Maker
- wm2 [31] (页面存档备份,存于互联网档案馆)
- WMI
- wmii [32][永久失效链接]
- XPwm(for XPde,Windows XP Look alike)
- Xmonad(平铺窗口管理器) [33] (页面存档备份,存于互联网档案馆)
- XWEM [34]
参阅
- Re-parenting window manager for a popular implementation technique
- X Window System protocols and architecture for context
- Compositing manager for another kind of manager in X
- Compositing window manager that combines two roles in one program
- Windowing system for other platforms than the X Window System
外部链接
- Window Managers for X by Matt Chapman
- The Other Window Managers (页面存档备份,存于互联网档案馆) - extensive review of window managers (2003)
- Window Managers - list of window managers with minimal comments (2004)
- Software List:Window Managers - list of window managers with summaries
- 名词解释:Matchbox(繁体中文)