構造体
SelectionNotify イベントに対する構造体は以下の内容を持つ。
typedef struct { int type; unsigned long serial; Bool send_event; Display *display; Window requestor; Atom selection; Atom target; Atom property; Time time; } XSelectionEvent;
イベントを受け取ったとき、構造体の各メンバは以下のように設定される。
type メンバには、イベントの型を一意に認識するための定数の名前が設定される。 例えば、X サーバが GraphicsExpose イベントをクライアントアプリケーションに通知したとき、サーバは type メンバに GraphicsExpose を設定して XGraphicsExposeEvent 構造体を送る。 display メンバには、イベントが読み出されるディスプレイへのポインタが 設定される。 send_event メンバには、イベントが SendEvent プロトコルリクエストから送られてきた場合に True が設定される。 serial メンバは、プロトコルで通知されたシリアルナンバーを基に設定され る。ただし、最少桁の16ビットから完全な32ビットに拡張される。 dispatchers. window メンバには、ツールキットのディスパッチャが最も有効に利用できる ウィンドウが設定される。
requestor メンバには、セレクションを要求したクライアントに関係づけられ たウィンドウが設定される。 selection メンバには、セレクションを示すアトムが設定される。 例えば、PRIMARY はプライマリのセレクションのために用いられる。 target メンバは変換される型を示すアトムが設定される。 例えば、PIXMAP はピックスマップのために用いられる。 property メンバには、結果がどのプロパティに格納されるのかを示すアトム が設定される。 変換に失敗した場合、property メンバには None が設定される。 time メンバには変換が起こった時間が設定されるが、これはタイムスタンプか CurrentTime になる。