我有一个相当大且相当旧的 C 应用程序已移植到 Linux。我负责让鼠标光标正常工作,但有一些问题。我能够使用XFontCursor提供的标准游标转换我们需要的大多数游标,方法是:
gCursorTable[waitCurs] = XCreateFontCursor(gDisplay, XC_watch);
...
XDefineCursor(gDisplay, WHostWindow(w), gCursorTable[cursor]);
XFlush(gDisplay);
这对于在 XFontCursor 提供的极其有限的(有用的)游标列表中有类似物的游标来说很好,但是我想设置其他内置的主题游标。例如,我希望能够在我的应用程序中将光标设置为 bd_double_arrow(它包含在每个光标主题中,并且是 Windows 的标准对角线大小光标),但显然不能使用 XCreateFontCursor 做到这一点。这似乎很基本,但对于我的生活,我找不到任何关于如何做到这一点的描述。
我只想知道其他 X11 应用程序是如何设置光标的,因为它们显然是从全局主题中获取光标的,而不仅仅是使用 XCreateFontCursor。