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

_NET_WM_DESKTOP

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

ウィンドウがどの仮想デスクトップ(0始まり)に属するかを示すEWMHのプロパティ。全デスクトップなら 0xFFFFFFFF になる。

ウィンドウがどこに属するかは、長いことウィンドウマネージャの内輪の事情だった。GNOMEの _WIN_WORKSPACE と kwm の KWM_WIN_DESKTOP は、同じ問いに対する互換性のない二つの答えだった。2000年頃、EWMHはこれをウィンドウ自身の一つの CARDINAL に統合した。プログラムはマップ前に設定して開始デスクトップを要望できるが、ウィンドウマネージャが引き受けた後はマネージャの持ち物になる。移動のたびに更新され、ウィンドウが撤収されれば削除される。他者がウィンドウを動かしたいときは、新しい番号とソース表示(1=アプリ、2=ページャまたはユーザー)を載せた ClientMessage をルートへ送る。マネージャはアプリのしつこい要求と、ページャのクリックを区別して扱える。

値 0xFFFFFFFF は「全デスクトップ」を意味し、sticky ウィンドウの内部表現である。xprop はこれを 4294967295 と表示するので、戸惑った人は一人ではない。仕様の気の利いた点は、ウィンドウマネージャの終了時(たとえば --replace で起動した後継に WM_Sn を奪われたとき)にもプロパティを残すべしとしていることだ。後継は数値を読み、全ウィンドウを元の場所に戻す。wmctrl -t や、Openbox、FVWM、devilspie が特定クラスをデスクトップ3へ送るルールは、すべてこの小さな数字を通る。Waylandではコンポジタ自身の領分で、ウィンドウをワークスペース間で動かすスクリプトは、実装ごとに書き直す羽目になった。

← 用語集に戻る