STRING
和WM_NAME
的定义在哪里?我的
xcb_atom.h
文件只包含3个函数声明,而我本来以为它应该像这样:http://www.opensource.apple.com/source/X11libs/X11libs-40/xcb-util/xcb-util-0.3.3/atom/xcb_atom.h
我还有一个包含类似原子的xcb_ewmh.h
文件,但是我找不到任何相关文档。我该如何解决这个问题?
STRING
和WM_NAME
的定义在哪里?xcb_atom.h
文件只包含3个函数声明,而我本来以为它应该像这样:http://www.opensource.apple.com/source/X11libs/X11libs-40/xcb-util/xcb-util-0.3.3/atom/xcb_atom.h
我还有一个包含类似原子的xcb_ewmh.h
文件,但是我找不到任何相关文档。正如其他答案中所提到的,这些符号在xproto.h
中,该文件被xcb.h
引入,但它们的命名不像XCB教程中那样。您需要使用XCB_ATOM_WM_NAME
和XCB_ATOM_WM_STRING
。
我使用grep命令在/usr/include/xcb
目录中搜索:
$ grep -r WM_NAME
xproto.h: XCB_ATOM_WM_NAME
因此,它们在xproto.h
中定义,这是以下内容包含的文件:
$ grep -l -r xproto.h
xvmc.h
shape.h
shm.h
xselinux.h
render.h
glx.h
xcb.h
screensaver.h
xtest.h
xkb.h
sync.h
xinerama.h
res.h
composite.h
damage.h
xprint.h
xv.h
xfixes.h
xinput.h
randr.h
dri2.h
XCB_ATOM_STRING
而不是XCB_ATOM_WM_STRING
。 - gsgx