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

WM_PROTOCOLS

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

Xクライアントが、ウィンドウマネージャとのどんなやり取り(閉じる、フォーカス、ping)に応じるかを列挙するICCCMのプロパティ。登録していないことは、尋ねずに済ませられる。

Xプロトコルには、ウィンドウマネージャからクライアントへの組み込みの経路がない。ICCCMはこれをリストで解決した。クライアントはトップレベルウィンドウに、ATOM型の WM_PROTOCOLS というプロパティを設定し、理解できるプロトコルを列挙する。Xlibでは XSetWMProtocols を使う。ウィンドウマネージャはそこで、型が WM_PROTOCOLS、第1データフィールドがプロトコルのアトム、第2がタイムスタンプのClientMessageを送る。これは厳密にオプトインで、何も宣言していないクライアントには何も届かず、ウィンドウマネージャは一方的にできることにフォールバックする。

ICCCMは三つを定義した。WM_DELETE_WINDOW は、閉じるボタンがクライアントを殺さず、尋ねるようにする。WM_TAKE_FOCUS は、WM_HINTS の input フィールドと組み合わさって、No Input、Passive、Locally Active、Globally Active の4つのフォーカスモデルを生む。WM_SAVE_YOURSELF はセッション管理の初期の試みで、ICCCM 2.0が1994年にXSMPを優先して非推奨とした。EWMHは後に _NET_WM_PING(応答しないクライアントは固まったとみなされる)と、リサイズ中にクライアントが次のフレームの表示前に再描画を終えられる _NET_WM_SYNC_REQUEST を加えた。xprop は特定のウィンドウが何に登録したかを表示し、古いMotifアプリケーションがAlt+F4にどう反応するかの説明の大半がこれで付く。

← 用語集に戻る