c - 将 X11 光标设置为箭头

标签 c x11 xlib mouse-cursor

我在调用 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 是必需的,因为这是一个与工具包无关的程序。

预计到达时间:有额外的上下文可用;参见 create_ctt_windowsource file 的第 35 行开始.

最佳答案

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

关于c - 将 X11 光标设置为箭头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6751928/

相关文章:

c - 不一致的未定义行为

c - 读取但不写入共享变量是否线程安全?

ubuntu - x在ubuntu中启动后如何启动应用程序?

linux - 如何在远程机器上打开 x-window 应用程序并使该窗口显示在我的本地机器上

python - Unicode解码错误: can't install PyAutoGUI using pip install

c++ - 使用 C++ 获取 xorg.conf serverLayout

c - 如何强制在 C 中读取未被优化的未使用内存?

c - 对 C 枚举的部分字节访问

c - X11透明窗口: click-through only where alpha = 0

linux - 是由 xlib 实现的剪贴板还是由单独的应用程序实现