窗口管理器和桌面環(huán)境是用戶在 X Window 系統(tǒng)里的主要界面. 窗口管理器只是個(gè)程序, 它控制窗口的外表,位置和提供用戶去操作這些窗口程序的方法. 桌面環(huán)境為操作系統(tǒng)提供了一個(gè)較完整的圖形操作界面, 和提供了一定范圍和用途的實(shí)用工具和應(yīng)用程序.
工作原理
當(dāng)窗口管理器開始運(yùn)作時(shí),X服務(wù)器和客戶端之間的互動(dòng),會(huì)重新導(dǎo)向到窗口管理器。每當(dāng)要顯示一個(gè)新窗口時(shí),這個(gè)請(qǐng)求便會(huì)被重新導(dǎo)向到窗口管理器,它會(huì)決定窗口的初始位置。此外,大部分較新的窗口管理器會(huì)改變窗口的親屬關(guān)系,通常會(huì)在窗口頂部加上標(biāo)題列,并在窗口周圍加上裝飾性的框架。這兩個(gè)部分皆由窗口管理器來(lái)控制,而不是其它程式。因此,當(dāng)使用者點(diǎn)擊或拖曳那些元件時(shí),窗口管理器會(huì)進(jìn)行適當(dāng)?shù)膭?dòng)作(如移動(dòng)或改變窗口的大小)。
窗口管理器也負(fù)責(zé)處理圖示,圖示并不存在于X Window核心協(xié)議的層次中。當(dāng)使用者將窗口圖示化時(shí),窗口管理器會(huì)取消窗口的映射(使其不可見),并完成適當(dāng)?shù)膭?dòng)作,將窗口改顯示成圖示。某些窗口管理器并不支援圖示功能。
窗口管理器主要的目標(biāo),就如同其名,是用來(lái)管理窗口的。許多窗口管理器提供附加的功能,如處理鼠標(biāo)在根窗口上的點(diǎn)擊,呈現(xiàn)出窗格以及其它的視覺化元件,處理按鍵(例如 Alt-F4 可關(guān)閉窗口),判定哪一個(gè)應(yīng)用程式在啟動(dòng)時(shí)執(zhí)行等等。
主流管理器
AfterStep
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默認(rèn)的窗口管理器)
KWin(最初叫 KWM, 是 KDE默認(rèn)的窗口管理器)
Metacity( GNOME 2.2后成為默認(rèn)的窗口管理器)
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默認(rèn)的窗口管理器
特殊管理器
虛擬管理器
虛擬窗口管理器使用了虛擬的屏幕畫面,其分辨率可大于顯示器的分辨率。當(dāng)希望有較多的窗口時(shí),這個(gè)功能也很有用。虛擬窗口管理器包括有FVWM、Tvtwm、HaZe 等等。
平鋪式管理器
平鋪式窗口管理器是以不重疊畫面的方式組織屏幕畫面(故稱為平鋪式),相對(duì)于傳統(tǒng)的方式,它更近似于以坐標(biāo)為基礎(chǔ)的疊置物件(窗口),其嘗試模仿辦公桌的式樣。
第一個(gè)平鋪式窗口管理器是 larswm,隨后是 Ion。以下是平鋪式窗口管理器的列表:
Awesome
Larswm
Ion
TrsWM
Stumpwm
wmii
dwm
ratpoison
XWEM
Xmonad
其它管理器
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
Lumino City (experimentation in compositing)
LWM
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 谷歌Project a portable window manager for MS-Windows & UNIX / Linux platforms)
TrsWM
uwm
Waimea
WindowLab
wm2
wmii
XPwm(for XPde,Windows XP Look alike)
參考資料 >