跳至內容

根窗口

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書
窗口區:1是根窗口,覆蓋了整個屏幕;2和3是頂級窗口;4和5都是2的子窗口。

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

由於每一個窗口都覆蓋了父窗口的一部分,所以其他窗口均在根窗口之上顯示。因此,根窗口只能在其他窗口之後顯示一部分。換一種說法,根窗口構成了屏幕的背景,通過一些方法(比如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也使用虛擬根窗口:當屏幕保護被激活時,該程序創建一個虛擬根窗口,並放置在其他所有窗口上,以及調用其模塊來找到該虛擬根窗口並在其中繪製。

使用根窗口的實用工具

[編輯]

參見

[編輯]

擴展鏈接

[編輯]