XGetWMProtocols(3) ウィンドウの WM_PROTOCOLS プロパティの設定・取得を行なう

Other Alias

XSetWMProtocols

書式

Status XSetWMProtocols(display, w, protocols, count)

      Display *display;

      Window w;

      Atom *protocols;

      int count;

Status XGetWMProtocols(display, w, protocols_return, count_return)

      Display *display;

      Window w;

      Atom **protocols_return;

      int *count_return;

引き数

display
X サーバへの接続を指定する。
w
ウィンドウを指定する。
count
リスト中のプロトコル の数を指定する。
count_return
リスト中のプロトコルの数を返す。
protocols
プロトコルのリストを指定する。
protocols_return
プロトコルのリストを返す。

説明

関数 XSetWMProtocols は、指定したウィンドウの WM_PROTOCOLS プロパティを、引き数 protocols で 指定したアトムのリストで置き換える。 このプロパティが以前に指定されていなければ、 XSetWMProtocols は引き数 protocols で指定されたアトムのリストを指定されたウィンドウの WM_PROTOCOLS プロパティに設定する。 プロパティは ATOM 型、フォーマット 32 で保持される。 WM_PROTOCOLS アトムを確保できなければ、 XSetWMProtocols はステータスとして 0 を返す。 そうでなければ、この関数は 0 でないステータスを返す。

XSetWMProtocols はエラー BadAlloc, BadWindow を起こすことがある。

関数 XGetWMProtocols は、指定したウィンドウの WM_PROTOCOLS プロパティに保持されているアトムの リストを返す。 これらのアトムには、ウィンドウマネージャのプロトコルの中で このウィンドウの所有者が使用できるものを記述する。 もしプロパティが存在し、ATOM 型、フォーマット 32 であり、アトム WM_PROTOCOLS が確保できるならば、 XGetWMProtocols は引き数 protocols_return にアトムのリストを設定し、引き数 count_return にリストの要素数を設定して、0 でないステータスを返す。 そうでない場合は、いずれの引き数もセットされず、0 がステータスとして 返される。 アトムのリストを解放するには、 XFree を使用すること。

XGetWMProtocols はエラー BadWindow を起こすことがある。

プロパティ

WM_PROTOCOLS
クライアントと、クライアントが所属しようとしているウィンドウマネージャ 間の通信プロトコルを指定するアトムのリスト。

返り値

BadAlloc
要求されたリソースやサーバメモリの割り当てにサーバが失敗した。
BadWindow
引き数 Window の値が、定義されている Window を指していない。