XConfigureWindow(3X11)

名前
XConfigureWindow, XMoveWindow, XResizeWindow, XMoveResizeWindow, XSetWindowBorderWidth, XWindowChanges - ウィンドウの設定、ウィンドウ変更を表す構造体

書式
XConfigureWindow(display, w, value_mask, values)
      Display *display;
      Window w;
      unsigned int value_mask;
      XWindowChanges *values;

XMoveWindow(display, w, x, y)
      Display *display;
      Window w;
      int x, y;

XResizeWindow(display, w, width, height)
      Display *display;
      Window w;
      unsigned int width, height;

XMoveResizeWindow(display, w, x, y, width, height)
      Display *display;
      Window w;
      int x, y;
      unsigned int width, height;

XSetWindowBorderWidth(display, w, width)
      Display *display;
      Window w;
      unsigned int width;

引き数

display
    X サーバへの接続を指定。

value_mask
    構造体の値を使ってセットする対象の値を指定。 このマスクは有効なウィンドウ設定値ビットの論理和である。

values
    構造体を指定。

w   再設定、移動、サイズ変更するウィンドウを指定。

width
    ウィンドウ境界の幅を指定。

width

height
    ウィンドウの幅と高さを指定。これはウィンドウの内側のディメンジョンであ る。

x

y   x, y 座標を指定。これはウィンドウの境界の左上の新しい位置を定義するが、 境界を持たないウィンドウの場合はウィンドウ自身の左上の位置を示す。新し い値は親ウィンドウに対する相対座標で表される。

説明
関数 は 構造体で指定された値を用いて、ウィンドウの大きさ、位置、境界、スタック 順を再設定する。 指定されていない値は、そのウィンドウの現在の現在のジオメトリから求める。

stack_mode 無しで siblng が指定されているか、そのウィンドウが実際には 兄弟ウィンドウでない場合には、エラー となる。 の計算は、ウィンドウの最初のジオメトリではなく、( に渡された他の引き数に制御された)最終的なジオメトリに関して実行される。 ウィンドウ、下位ウィンドウ、新しく可視状態になったウィンドウのバッキン グストアの内容やは破棄されるか、スクリーンの最新の内容を反映するように 変更される(これは実装による)。

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

関数 は指定したウィンドウを指定した x, y 座標へ移動させる。ただし、ウィンド ウの大きさやマッピングの状態を変更したり、ウィンドウを前面に移動させた りはしない。 マップされたウィンドウを動かすと、ウィンドウが子でないウィンドウに隠さ れているかどうか、バッキングストアが存在するかどうかによってウィンドウ の表示内容が失われることがある。 ウィンドウの表示内容が失われた場合、X サーバは イベントを生成する。 マップされているウィンドウを動かすと、それまでそのウィンドウに隠されて いたウィンドウで イベントが生じる。

ウィンドウの override-redirect フラグが であり、親ウィンドウで を選択している他のウィンドウがある場合、X サーバは を生成し、それ以上の処理は行わない。 それ以外の場合は、ウィンドウの移動が起こる。

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

関数 は指定したウィンドウの、境界を含まない内部のディメンジョンを変更する。 この関数は、ウィンドウの左上の座標や原点を変更しないし、ウィンドウの再 スタックも行わない。 マップされているウィンドウのサイズを変えると表示内容が失われて イベントが生成されることがある。 マップされているウィンドウのサイズを小さくすると、それ以前にこのウィン ドウに隠されていた他のウィンドウで イベントが生成される。

ウィンドウの override-redirect ウィンドウが であり、親ウィンドウ上で を選択している他のクライアントがある場合、X サーバは を生成し、それ以上の処理は行わない。 幅と高さのいずれかがゼロの場合、エラー となる。

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

関数 は指定したウィンドウの大きさと位置を変える。 ウィンドウの前面への移動は行わない。 マップされているウィンドウの移動やサイズ変更を行った場合、そのウィンド ウで イベントが起こることがある。 ウィンドウの移動の際のサイズと位置のパラメータによっては、そのウィンド ウに隠されていたウィンドウで が起こることがある。

ウィンドウの override-redirect ウィンドウが であり、親ウィンドウ上で を選択している他のクライアントがある場合、X サーバは を生成し、それ以上の処理は行わない。 そうでない場合、ウィンドウのサイズや位置は変化しない。

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

関数 は指定したウィンドウの境界の幅を指定したサイズにする。

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

構造体
構造体の内容を示す。

/* ウィンドウ設定のマスクビット値 */
#define |  | (1<<0)
#define |  | (1<<1)
#define |  | (1<<2)
#define |  | (1<<3)
#define |  | (1<<4)
#define |  | (1<<5)
#define |  | (1<<6)
/* Values */ typedef struct {
    int x, y;
    int width, height;
    int border_width;
    Window sibling;
    int stack_mode; } XWindowChanges;

x, y メンバはウィンドウの x, y 座標をセットするために用いる。 これは親ウィンドウの原点に対する相対座標で、ウィンドウの左上外側の隅の 位置を示す。 width, height メンバはウィンドウの内側の大きさをセットするために用いる。 これは境界は含まないゼロ以外の値でなければならず、そうでない場合にはエ ラー となる。 ルートウィンドウを設定しようとしても何も起こらない。

border_width メンバでは、ウィンドウ境界の幅をピクセル単位で指定する。 境界幅だけをセットすると、ウィンドウ左上外側の隅の位置は変わらないが、 ウィンドウの原点の絶対位置が移動する。 のウィンドウの border-width 属性値にゼロでない値をセットしようとした場 合には、エラー となる。

sibling メンバには、スタック操作につかう兄弟ウィンドウをセットする。 stack_mode メンバでは、ウィンドウがどのように再スタックされるかを指定 する。指定できる値は のいずれかである。

返り値

のウィンドウをドロウアブルとして用いた。

引き数や引き数の組は正しい型・範囲を持っているが、そのリクエストが要求する
    他の条件に適合できなかった。

指定された数値に、リクエストの許容範囲を越えているものがある。引き数に対
    して特定の範囲が指定されていなければ、引き数の型で定義されている全ての範 囲が許される。選択肢として定義されている引き数はこのエラーを起こすことが ある。

引き数 Window の値が、定義されている Window を指していない。

関連項目
XChangeWindowAttributes(3X11), XCreateWindow(3X11), XDestroyWindow(3X11), XMapWindow(3X11), XRaiseWindow(3X11), XUnmapWindow(3X11)
Xlib - C Language X Interface