IT用語集 › プログラミング › _NET_VIRTUAL_ROOTS

_NET_VIRTUAL_ROOTS

プログラミング Svenska → 更新: 2026-10-23

ルートの大きな子ウィンドウでデスクトップを構成するウィンドウマネージャーが、それらを列挙するルートウィンドウのプロパティ。スクリーンセーバーや壁紙設定ツールが正しいウィンドウを見つけるために使う。

Xに複数のデスクトップがあるように見せる方法は三つある。見せたくないウィンドウをアンマップする、すべてのウィンドウを脇へ移動する、あるいは各デスクトップのウィンドウを画面サイズのルートウィンドウの子の中に入れて、そのうち一つだけを表示する方法だ。三つ目が仮想ルートで、1990年のSolbourneのswmやtvtwm、のちのolvwmやamiwmに見られる。デスクトップの切り替えは、大量のリクエストではなくXMapWindow一回で済む。代償として、ルートに描いていると思い込んでいるもの、つまりxsetroot、xlock、xscreensaverが偽のルートの裏側に回ってしまった。解決策は偽のルートの__SWM_VROOTプロパティと、1990年のアンドレアス・ストルケのvroot.hで、これはRootWindowをそのプロパティの探索に置き換える。

EWMHはこの手法に公式な形を与えた。本物のルート上のウィンドウIDのリストで、この方式で動くウィンドウマネージャーは設定しなければならず、壁紙プログラムは正しい面を見つけ、クライアントは自分のフレームウィンドウを割り出せる。だがほとんど誰も設定しない。1990年代にはアンマップ方式が勝ち、横からスライドして入るデスクトップを持つEnlightenment DR16が、専用のデスクトップウィンドウで動く数少ない例の一つだ。xprop -rootにこのプロパティが現れることはまれで、壊れているのかと聞かれるほどである。一方vroot.hは、olvwmを懐かしむ人々のために、今もxscreensaverに同梱されている。

← 用語集に戻る