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 Window系統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(繁體中文)