X視窗系統中,每一個視窗都包含在另一個視窗中,這個視窗對它來說稱之為父視窗。這使視窗間形成了一個等級制度根視窗在這個等級制度中的最頂級,它與螢幕一樣大,其他所有視窗都是它的後代。

視窗區:1是根視窗,覆蓋了整個螢幕;2和3是頂級視窗;4和5都是2的子視窗。

由於每一個視窗都覆蓋了父視窗的一部分,所以其他視窗均在根視窗之上顯示。因此,根視窗只能在其他視窗之後顯示一部分。換一種說法,根視窗構成了螢幕的背景,通過一些方法(比如xsetroot或是X影片擴充英語X video extension程式)可以將一張圖片設定作為電腦壁紙

根視窗的直系後代被稱為頂級視窗,這些視窗通常包含了裝飾框架和一個標題列(實際都是由視窗管理員添加)。頂級視窗一般是圖形化使用者介面中的普通視窗,而非頂級視窗一般用於按鈕、文字方塊等控制項

根視窗的屬性有時會被作為客戶端間通訊的一種基本手段。舉個例子,剪下緩衝區英語X Window selection是根視窗用於複製一個視窗中選中的部分到另一個視窗的屬性,DWM視窗管理員會將根視窗的名字顯示在狀態區,X資源英語X resources也會在執行時儲存到根視窗的一個屬性。

虛擬根視窗 編輯

SWM英語swm視窗管理員引入了虛擬根視窗。從X協定角度看,這是一個普通的視窗。但是,X視窗管理器會將所有視窗的父級從真實根視窗替換為虛擬根視窗。虛擬根視窗主要供虛擬視窗管理員使用,用於提供如使用者可切換的多個虛擬桌面

其他客戶端(與視窗管理員相比)有可能使用虛擬根視窗,此時可以在真實根視窗的直系子項中找到名為__SWM_VROOT的視窗屬性,其中有該視窗的識別碼。在技術上,很多工程使用宏去尋找作為包含vroot.h的根視窗。

Freedesktop.org視窗管理員規範要求真實根視窗有一個名為_NET_VIRTUAL_ROOTS的屬性來包含一個作為虛擬根視窗的視窗列表;目前在_NET_CURRENT_DESKTOP屬性中能找到的活動虛擬根視窗。

虛擬根視窗常被SWM、TVTWM英語tvtwmAMIWM英語amiwmEnlightenment視窗管理員使用。其他諸如KDE的系統使用一個虛擬背景視窗(比如包含各圖示),但沒有將其他視窗重分配給此視窗。X螢幕保護英語XScreenSaver也使用虛擬根視窗:當螢幕保護被啟用時,該程式建立一個虛擬根視窗,並放置在其他所有視窗上,以及呼叫其模組來找到該虛擬根視窗並在其中繪製。

使用根視窗的實用工具 編輯

參見 編輯

擴充連結 編輯