XSetWMProperties(3X11)

名前
XSetWMProperties, XmbSetWMProperties - 標準のウィンドウプロパティを設定する

書式
void XSetWMProperties(display, w, window_name, icon_name, argv, argc, normal_hints, wm_hints, class_hints)
      Display *display;
      Window w;
      XTextProperty *window_name;
      XTextProperty *icon_name;
      char **argv;
      int argc;
      XSizeHints *normal_hints;
      XWMHints *wm_hints;
      XClassHint *class_hints;

void XmbSetWMProperties(display, w, window_name, icon_name, argv, argc,
                      normal_hints, wm_hints, class_hints)
      Display *display;
      Window w;
      char *window_name;
      char *icon_name;
      char *argv[];
      int argc;
      XSizeHints *normal_hints;
      XWMHints *wm_hints;
      XClassHint *class_hints;

引き数

argc
    引き数の数を指定。

argv
    アプリケーションの引き数リストを指定。

class_hints
    使用される 構造体を指定。

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

icon_name
    アイコン名を指定する。 これは NULL で終わる文字列でなければならない。

normal_hints
    通常の状態でのウィンドウの、サイズのヒントを指定。

w   ウィンドウを指定。

window_name
    ウィンドウ名を指定。 これは NULL で終わる文字列でなければならない。

wm_hints
    使用される 構造体を指定する。

説明
簡易関数 は、他のクライアント(特にウィンドウマネージャやセッションマネージャ)との通 信に使われる重要なウィンドウプロパティを設定するための単一のプログラミ ングインタフェースを提供する。

引き数 window_name がNULLでなければ、 は を呼び出し、WM_NAME プロパティを設定する(14.1.4 節を参照のこと)。 引き数 icon_name がNULLでなければ、 は を呼び出し、WM_ICON_NAME プロパティを設定する(14.1.5 節を参照)。 引き数 argv が NULL でなければ、 は を呼び出し、WM_COMMAND プロパティを設定する(14.2.1節参照)。
 argc を 0 にすることも可能である点に注意。この場合には長さがゼロのコ マンドを既述することになる。 また、このマシンのホスト名は を使って保存されている点にも注意せよ。

引き数 normal_hints が NULLでなければ、 は .ZN XSetWMNormalHints を呼び出し、これがWM_NORMAL_HINTS を設定する(14.1.7 節参照)。 引き数 wm_hints がNULLでなければ、 ZN XSetWMProperties は を呼び、WM_HINTS プロパティを設定する(14.1.6 節参照)。

引き数 class_hints がNULLでなければ、 は を呼び、WM_CLASS プロパティを設定する(14.1.8 節参照)。 構造体の res_name メンバに NULL ポインタがセットされていて RESOURCE_NAME 環境変数がセットされていれば、環境変数の値が res_name に 代入される。 もし res_name メンバがNULLであり、 環境変数がセットされておらず、 argvと argv[0] がセットされている場合には argv[0] の値からディレクトリのプレフィックスを取り除いたものが res_name に代入される。

簡易関数 は他のクライアント(特にウィンドウマネージャとセッションマネージャ)との 通信に用いられる重要なウィンドウプロパティをセットするための、単一のプ ログラミングインタフェースを与える。

もし引き数 window_name が非NULL であれば、 が WM_NAME プロパティをセットする。 もし引き数 icon_name が非NULLであれば、 が WM_ICON_NAME プロパティをセットする。 window_name と icon_name の各引き数は、現在のロケールのエンコーディング で、NULLで終わる文字列である。 もし引き数が完全に STRING エンコーディングに変換できる場合、プロパティは ``STRING''型で生成される。 そうでない場合、引き数はコンパウンドテキスト(compound text)に変換され、 プロパティは ``COMPOUND_TEXT'' 型で生成される。

引き数 normal_hints がNULLでない場合、 は を呼び、WM_NORMAL_HINTS プロパティをセットする(14.1.7節を参照)。 引き数 wm_hints がNULLでない場合、 は を呼び、WM_HINTS プロパティをセットする(14.1.6節参照)。

引き数 argv が NULL でない場合、 は argv と argc より WM_COMMAND プロパティをセットする。 argc を 0 の場合は、コマンド長さが 0 であるという意味になる。

マシンのホスト名は を用いて格納される(14.2.2 節参照)。

引き数 class_hints が NULL でない場合、 で WM_CLASS プロパティがセットされる。 構造体の res_name メンバに NULL ポインタがセットされていて、環境変数 RESOURCE_NAME が設定されている場合、環境変数の値が res_name に代入され る。 res_name メンバが NULL で、環境変数の値も設定されておらず、argv と argv[0] が設定されている場合には、argv[0]の値からディレクトリのプレフィッ クスを取り除いたものが res_name に代入される。

与えられる class_hints.res_name, argv, 環境変数 RESOURCE_NAME, マシン のホスト名のエンコーディングは、LC_CTYPE カテゴリに対してアナウンスさ れたロケールのエンコーディングであるものと仮定される(POSIX 準拠のシス テムでは環境変数 LC_CTYPE、そうでなければ 環境変数 LANG)。 対応する WM_CLASS, WM_COMMAND, WM_CLIENT_MACHINE プロパティはローカル ホストのロケールアナウンサに従って型付けされる。 プロパティへの格納の前にはエンコーディングの変換は行われない。

ロケールに従ってプロパティテキストを扱う必要があるクライアントのために、 は WM_LOCALE_NAME プロパティに現在のロケールの名前をセットする。 この名前はエンコーディングがホストポータブル文字エンコーディングであり、 STRING に変換されてプロパティに格納されるものと想定される。

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

プロパティ

WM_CLASS
    ウィンドウマネージャやセッションマネージャがリソースデータベースからア プリケーションのリソースを取得できるよう、アプリケーションプログラムに よって設定される。

WM_CLIENT_MACHINE
    クライアントが動作しているマシンの名前を表す文字列。

WM_COMMAND
    アプリケーションの起動に使われた、NULL で終わるコマンドと引き数。

WM_HINTS
    ウィンドウマネージャに使われるようにクライアントが設定する、追加のヒン トのセット。 このプロパティの C 言語における型は である。

WM_ICON_NAME
    アイコンで使用される名前。

WM_NAME
    アプリケーションの名前。

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

返り値

サーバが、要求されたリソースやサーバメモリのアロケートに失敗した。

引き数 Window の値が、定義されたウィンドウを指していない。

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