XAllocSizeHints(3X11)

名前
XAllocSizeHints, XSetWMNormalHints, XGetWMNormalHints, XSetWMSizeHints, XGetWMSizeHints, XSizeHints - サイズヒント構造体の割り当てと、ウィンドウの WM_NORMAL_HINTS プロパティの設定・取得

書式
XSizeHints *XAllocSizeHints()

void XSetWMNormalHints(display, w, hints)
      Display *display;
      Window w;
      XSizeHints *hints;

Status XGetWMNormalHints(display, w, hints_return, supplied_return)
      Display *display;
      Window w;
      XSizeHints *hints_return;
      long *supplied_return;

void XSetWMSizeHints(display, w, hints, property)
      Display *display;
      Window w;
      XSizeHints *hints;
      Atom property;

Status XGetWMSizeHints(display, w, hints_return, supplied_return, property)
      Display *display;
      Window w;
      XSizeHints *hints_return;
      long *supplied_return;
      Atom property;

引き数

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

hints
    通常の状態におけるウィンドウのサイズヒントを指定する。

hints
    使われる 構造体を指定する。

hints_return
    通常の状態でのウィンドウのサイズヒントが返される。

property
    プロパティ名を指定する。

supplied_return
    ユーザが与えたヒントが返される。

w   ウィンドウを指定する。

説明
関数 は 構造体を割り当て、その構造体を指すポインタを返す。 構造体の全てのフィールドは 0 で初期化される点に注意すること。 十分なメモリが確保できない場合、 は NULL を返す。 この構造体に割り当てられたメモリを解放するには を使うこと。

関数 は指定したウィンドウの WM_NORMAL_HINTS プロパティのサイズヒントを置き 換える。 このプロパティがまだ存在しない場合、 は指定したウィンドウの WM_NORMAL_HINTS プロパティにサイズヒントを設定 する。 このプロパティは WM_SIZE_HINTS 型、フォーマット 32 で格納される。

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

関数 は、指定したウィンドウの WM_NORMAL_HINTS プロパティに格納されている サイズヒントを返す。 このプロパティが WM_SIZE_HINTS 型、フォーマット 32 であり、新旧いず れのサイズヒント構造体(古いものは ICCCM 以前の形式)でも格納できる十分 な長さを持つ場合、 は の各フィールドを設定し、ユーザが与えたフィールドのリストを(既に定義 されている値を含んでいるかどうかに関わらず)引き数 supplied_return に 設定し、0 でないステータスを返す。 この条件を満たさない場合は、この関数はステータスとして 0 を返す。

が成功した時に ICCCM 形式の古いサイズヒントプロパティが取得された場合、 引き数 supplied_return には次のビットが含まれる。

(USPosition|USSize|PPosition|PSize|PMinSize|
 PMaxSize|PResizeInc|PAspect)

プロパティが十分大きく、プロパティがベースサイズとウィンドウの gravity 値も持つことができた場合、引き数 supplied_return には次のビットが含ま れる。

PBaseSize|PWinGravity

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

関数 は指定したウィンドウの指定したプロパティのサイズヒントを置き換える。 そのプロパティがまだ存在しない場合、 は指定したウィンドウのプロパティにサイズヒントを設定する。 このプロパティは WM_SIZE_HINTS 型、フォーマット 32 で格納される。 ウィンドウの通常のサイズヒントを設定するには、関数 を使うことができる。

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

関数 は、指定したウィンドウの指定したプロパティに格納されているサイズヒント を返す。 このプロパティが WM_SIZE_HINTS 型、フォーマット 32 であり、新旧いず れのサイズヒント構造体(古いものは ICCCM 以前の形式)も格納できる十分な 長さを持つ場合、 は の各フィールドを設定し、ユーザが与えたフィールドのリストを(既に定義 されている値を含んでいるかどうかに関わらず)引き数 supplied_return に 設定し、0 でないステータスを返す。 この条件を満たさない場合は、この関数はステータスとして 0 を返す。 ウィンドウの通常のサイズヒントを取得するためには、関数 を利用できる。

が成功し、ICCCM の古いサイズヒントプロパティが取得された場合、引き数 supplied_return は次のビットを含む。

(USPosition|USSize|PPosition|PSize|PMinSize|
 PMaxSize|PResizeInc|PAspect)

プロパティが十分大きく、プロパティがベースサイズとウィンドウの gravity 値も含むことができた場合、引き数 supplied_return には次のビットが含まれ る。

PBaseSize|PWinGravity

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

プロパティ

WM_NORMAL_HINTS
    通常の状態のウィンドウのサイズヒント。 このプロパティの C 言語における型は である。

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

#define |  | (1L << 0) |
#define |  | (1L << 1) |
#define |  | (1L << 2) |
#define |  | (1L << 3) |
#define |  | (1L << 4) |
#define |  | (1L << 5) |
#define |  | (1L << 6) |
#define |  | (1L << 7) |
#define |  | (1L << 8)
#define |  | (1L << 9)
#define |  | (PPosition|PSize| PMinSize|PMaxSize| PResizeInc|PAspect) |
/* 値 */ typedef struct {
    long flags;
    int x, y;
    int width, height;
    int min_width, min_height;
    int max_width, max_height;
    int width_inc, height_inc;
    struct {
           int x;
           int y;
    } min_aspect, max_aspect;
    int base_width, base_height;
    int win_gravity;

} XSizeHints;

x, y, width, height メンバは今は古い仕様の使うべきでないメンバであり、 互換性のために残されているだけである。 min_width, min_height メンバはアプリケーションが使いものになる最小限の ウィンドウのサイズを指定する。 max_width, max_height メンバはウィンドウの最大サイズを指定する。 width_inc, height_inc メンバは、そのウィンドウにとって望ましいサイズに 変更する場合の、サイズの増分(最小値から最大値)を定義する。 min_aspect, max_aspect メンバは x, y の比として表され、望ましいアスペ クト比の範囲を指定することができる。 base_width, base_height はウィンドウの望ましいサイズを定義する。 ウィンドウマネージャはウィンドウの位置と境界幅を判断し、win_gravity メ ンバで指定されたウィンドウ全体の外側の長方形の位置にウィンドウを配置する。 ウィンドウの外側の長方形には、境界とウィンドウマネージャが付けた修飾部 分も含められる。 つまり、ウィンドウマネージャがクライアントが要求した位置にそのウィンドウ を配置すると決めたならば、win_gravity で指定される親ウィンドウの境界上 における位置は、ウィンドウマネージャがなければ本来クライアントの ウィンドウとなっていた場所になる。

マクロ の利用は極めて好ましくない点に注意すること。

返り値

要求されたリソースやサーバメモリの割り当てにサーバが失敗した。

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

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

関連項目
XAllocClassHint(3X11), XAllocIconSize(3X11), XAllocWMHints(3X11), XFree(3X11), XSetCommand(3X11), XSetTransientForHint(3X11), XSetTextProperty(3X11), XSetWMClientMachine(3X11), XSetWMColormapWindows(3X11), XSetWMIconName(3X11), XSetWMName(3X11), XSetWMProperties(3X11), XSetWMProtocols(3X11), XStringListToTextProperty(3X11)
Xlib - C Language X Interface