XSetSelectionOwner(3) ウィンドウセレクションを操作する

Other Alias

XGetSelectionOwner, XConvertSelection

書式

XSetSelectionOwner(display, selection, owner, time)

      Display *display;

      Atom selection;

      Window owner

      Time time;

Window XGetSelectionOwner(display, selection)

      Display *display;

      Atom selection;

XConvertSelection(display, selection, target, property, requestor, time)

      Display *display;

      Atom selectiontarget;

      Atom property;

      Window requestor;

      Time time;

引き数

display
X サーバへの接続を指定する。
owner
指定されたセレクションアトムの所有者を指定する。 ウィンドウか None を渡すことができる。
property
プロパティ名を指定する。 None を渡すこともできる。
requestor
要求者を指定する。
selection
セレクションアトムを指定する。
target
ターゲットのアトムを指定する。
time
時間を指定する。 タイムスタンプか CurrentTime を渡すことができる。 関数 XSetSelectionOwner は、指定したセレクションの所有者と最終更新時間を変更する。 指定した時間が、指定したセレクションの現在の最終更新時間よりも早い場合や X サーバの現在時刻よりも遅い場合には、この関数は何もしない。 そうでない場合には、最終更新時間は指定された時間にセットされ、 CurrentTime はXサーバの現在時刻に置き換えられる。 所有者のウィンドウに None が指定された場合には、セレクションの所有者は None (つまり所有者無し)となる。 そうでない場合、セレクションの所有者は要求を行ったクライアントになる。

もし新しい所有者(クライアントか None) が、現在のセレクション所有者と異なり、かつ現在の所有者が None でなければ、現在の所有者には SelectionClear イベントが送られる。 セレクションの所有者になっているクライアントが後で終了した(つまり接続 が閉じた)か、リクエストで指定された所有者のウィンドウが後で破棄された 場合には、セレクションの所有者は自動的に None に戻るが、最終更新時間はこの影響を受けない。 セレクションのアトムは X サーバには解釈されない。 XGetSelectionOwner は所有者のウィンドウを返すが、これは SelectionRequest および SelectionClear イベントで通知される。 セレクションは X サーバにおいて大域的に扱われる。

XSetSelectionOwner はエラー BadAtom あるいは BadWindow を起こすことがある。

関数 XGetSelectionOwner は、指定したセレクションを現在所有しているウィンドウに関連づけられたウィ ンドウIDを返す。 セレクションが指定されていない場合には、関数は定数 None を返す。 もし None が返された場合、セレクションの所有者はいない。

XGetSelectionOwner はエラー BadAtom を起こすことがある。

XConvertSelection は、指定したセレクションが指定した型に変換されることを要求する。

  • 指定したセレクションに所有者がいる場合、X サーバは SelectionRequest をその所有者に送る。
  • 指定されたセレクションの所有者がいない場合、X サーバは プロパティに None を設定して SelectionNotify イベントを要求者に送る。

引き数はいずれのイベントでも変更されずに送られる。 予め定義されているアトムとしては PRIMARY と SECONDARY の2つがある。

XConvertSelection はエラー BadAtom, BadWindow を起こすことがある。

返り値

BadAtom
引き数 Atom に対する値が、定義されている Atom を指していない。
BadWindow
引き数 Window に対する値が、定義されている Window を指していない。