Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ XSetWMProperties(3X11) — NEWS-os 4.1C

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

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)

XSetWMProperties(3X11)  —  NEWS-OS Programmer’s Manual

関数

XSetWMProperties、XWMGeometry − ウィンドウマネージャ用関数

シンタックス

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;
      XSize_hints ∗normal_hints;
      XWMHints ∗wm_hints;
      XClassHint ∗class_hints; int XWMGeometry(display, screen, user_geom, def_geom, bwidth, hints, x_return, y_return,
                width_return, height_return, gravity_return)
      Display ∗display;
      int screen;
      char ∗user_geom;
      char ∗def_geom;
      unsigned int bwidth;
      XSizeHints ∗hints;
      int ∗x_return, ∗y_return;
      int ∗width_return;
      int ∗height_return;
      int ∗gravity_return;

引数

argc引数の数を指定します。

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

bwidthウィンドウ枠の幅を指定します。

class_hintsXClassHint 構造体を指定します。

def_geomアプリケーションのデフォルト位置またはナルを指定します。

displayXサーバへの接続を指定します。

gravity_return
ウィンドウのグラビティ(位置制御)を返します。

hints通常時のウィンドウのサイズヒントを指定します。

icon_nameナルで終わるアイコン名を指定します。

normal_hints通常時のウィンドウのサイズヒントを指定します。

screenスクリーンを指定します。

user_geomユーザ定義の位置またはナルを指定します。

x_return

y_returnxおよびyのオフセットを返します。

width_return

height_return
決められた幅および高さの値を返します。

wウィンドウを指定します。

window_name
ナルで終わるウィンドウ名を指定します。

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

解説

XSetWMProperties 用関数には、 他のクライアント(特に、 ウィンドウおよびセションマネージャ)との通信時に使う際に有効なウィンドウ属性を設定する為に、 一つのプログラミングインターフェースがあります。 引数window_nameがナル以外であれば、 XSetWMProperties は XSetWMName をコールし、 WM_NAME属性(9.1.4を参照)が設定されます。 引数icon_nameがナル以外であれば、 XSetWMProperties が XSetWMIconName をコールし、 WM_ICON_NAME属性(9.1.5を参照)が設定されます。 引数argvがナル以外であれば、 XSetWMProperties は XSetCommand をコールし、 WM_COMMAND属性が設定されます(9.2.1を参照)。 ゼロのargcがデータ長ゼロのコマンドを示すようになっています。 また、 このマシンのホスト名が XSetWMClientMachine (9.2.2を参照)を使って格納されています。 引数normal_hintsがナル以外であれば、 XSetWMProperties は XSetWMNormalHints を呼び、 WM_NORMAL_HINTS属性(9.1.7を参照)が設定されます。 引数wm_hintsがナル以外であれば、 XSetWMProperties は XSetWMHints をコールし、 WM_HINTS属性(9.1.6を参照)が設定されます。 引数class_hintsがナル以外であれば、 XSetWMProperties は XSetClassHint を呼び、WM_CLASS属性(9.1.8を参照)が設定されます。 XClassHint 構造体のres_nameメンバがナルポインタに設定され、 RESOURCE_NAME環境変数が設定されれば、 環境変数の値はres_nameの代りになります。 res_nameメンバがナルになり、 環境変数が設定されず、 argvおよびargv[0]が設定されれば、 ディレクトリプレフィックスがストリップされ、 argv[0]の値がres_nameの代りになります。 XSetWMProperties で発生するエラーには、 BadAlloc および BadWindow エラーがあります。 XWMGeometry 関数は、ユーザまたはサイズヒント(普通、WM_NORMAL_HINTSに格納されています)のある呼出プログラムで指定する位置情報 (XParseGeometry で使われるフォーマットにある)を分割し、ウィンドウの定義となる位置、 サイズ、そしてグラビティ(位置制御) (NorthWestGravity、 NorthEastGravity、 SouthEastGravity または SouthWestGravity) を返します。 基本サイズが XSizeHints 構造体に設定されてなければ、 最小のサイズが設定されたものと扱われます。 そうでなければ、基本のサイズは無しと扱われます。 ヒント構造体に最小のサイズが設定されなければ、 基本サイズが使われます。 ユーザ定義からの値および位置座標が右下隅を基にしているかどうかを示すマスク (XParseGeometry で返された形式)が返ります。(それはすでにx_returnおよびy_returnの値とされています。) 間違った位置の仕様は幅および高さをゼロにして返すことがあります。 呼び出し側では、 直接ヒントを更新する為に、 win_gravityフィールドのヒントのアドレスをgravity_returnとして認めることも出来ます。

属性

WM_CLASS ウィンドウマネージャおよびセションマネージャがリソースデータベースからアプリケーションリソースを得るようにアプリケーションプログラムで設定されます。

WM_CLIENT_MACHINE
アプリケーションが実行中のマシン名(文字列)

WM_COMMAND
アプリケーションを呼び出す際のコマンドおよび引数。 ASCIIのナルによって分けられます。

WM_HINTS ウィンドウマネージャが使う為の追加ヒントのクライアント設定。 この属性のC言語のタイプは XWMHints

WM_ICON_NAME
アイコンで使われる名称

WM_NAME アプリケーション名

WM_NORMAL_HINTS
通常時のウィンドウに対するサイズヒント。 この属性のC言語のタイプは XSizeHints

診断

BadAlloc サーバがリクエストされたリソースまたはサーバメモリの割り当てに失敗した。

BadWindow
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)
Xlib − C Language X Interface

NEWS-OSRelease 4.1C

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026