将 X11 光标设置为箭头

Mic*_*sch 3 c x11 mouse cursor xlib

我在调用 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);
Run Code Online (Sandbox Code Playgroud)

这会创建窗口,但是当它在窗口上滚动时它不会影响指针。

当鼠标出现在我的窗口上时,我想使用用户桌面环境的标准指针光标。

Xlib 是必需的,因为这是一个与工具包无关的程序。

ETA:额外的上下文可用;请参阅create_ctt_window源文件中的第 35 行开始。

n. *_* m. 5

  1. ctt_attributes->cursor = XCreateFontCursor(dpy, XC_arrow);
  2. 这不是桌面环境的标准指针光标,这是 X11 相当丑陋的位图光标。如果您想要主题游标,请使用 libXcursor。我没有这方面的经验。