我在调用XCreateWindow()时尝试了以下操作:
unsigned long ctt_attribute_mask = CWWinGravity | CWCursor;
ctt_attributes->win_gravity = NorthEastGravity;
ctt_attributes->cursor = XC_arrow;
ctt_window = XCreateWindow(dpy, parent, ctt_xpos, ctt_ypos,
ctt_xy_size, ctt_xy_size, ctt_border,
ctt_depth, ctt_class, ctt_visual,
ctt_attribute_mask, ctt_attributes);
这将创建一个窗口,但当鼠标悬停在窗口上时,它不会影响指针。
我想在鼠标出现在我的窗口上时使用用户桌面环境的标准指针光标。
需要Xlib,因为这是一个与工具包无关的程序。 ETA: 可以查看源文件中第35行开始的
create_ctt_window
获得更多上下文信息。
char *XcursorGetTheme(Display *dpy)
也会返回NULL,而Cursor XcursorLibraryLoadCursor(Display *dpy, const char *name)
似乎也没有实际作用。当然,我可能做错了什么。看来当涉及到低级别的X11编程时,我是个倒霉蛋。 :) - Michael Trausch