XCreateSimpleWindow

ウィンドウの生成には、XCreateSimpleWindowを使う。

Manpage of XCreateWindow

XCreateWindowもあるが、まずはよりシンプルなXCreateSimpleWindowにする。

第2引数は親ウィンドウ(の番号)を指定するのだが、自分が親ウィンドウの場合は、RootWindowマクロで、デフォルト(ここではスクリーン0)のルートウィンドウを指定。(この辺はいずれ扱う。)
戻り値wrは、Windowなんだけど、これは定数値で、XIDという定数値でもあり、結局はunsigned longである。
この値を出力してみる。

$ vi XCreateSimpleWindow.c
$ gcc XCreateSimpleWindow.c -lX11 -o XCreateSimpleWindow
$ ./XCreateSimpleWindow
d = 02333260
wr = 02000001
$

wrは、

http://refspecs.linuxfoundation.org/LSB_3.1.1/LSB-Desktop-generic/LSB-Desktop-generic/libx11-ddefs.html

ここのBad~っていうエラーコードの値とは違いそうなので、

X Window Systemプログラミングを勉強してみた〜ウィンドウを表示する〜 - Tomitomi's blog

ここでいうウィンドウを表す番号というかIDを返してるとは思うけど、このIDとエラーコードの仕様というか範囲がわからない・・・。

Sample/xlib/XCreateSimpleWindow/XCreateSimpleWindow/src/XCreateSimpleWindow at master · bg1bgst333/Sample · GitHub