问题标签 [xcb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
window - 如何在 xcb 中使用 shm pixmap?
我尝试学习如何在 xcb 库中使用共享内存像素图。你们中是否有人有这方面的经验并想分享示例代码和/或信息?这将非常有帮助。
谢谢
resize - XCB - 如何设置 WM_SIZE_HINTS?
我正在为 xcb 中的窗口创建编写一个简约的库。我希望能够创建一个不可调整大小的窗口。我发现,可以通过以下方式向窗口管理器提供提示:
我试图用这个函数改变 WM_NORMAL_HINTS 和 WM_SIZE_HINTS,但是我怎么知道我必须在 *data 参数中放入什么数据?是 XCB_ATOM_INTEGER 类型还是其他类型?
x11 - 从 xlib 移植到 xcb 的代码不起作用
这是一个发送鼠标点击的示例代码(使用 xlib)。为简单起见,事件被发送到全屏窗口(根和窗口坐标相同),并使用 wmctrl 获得窗口 ID。
上面的代码工作正常。我将它移植到 xcb:
XCB 代码不起作用:目标窗口没有收到任何事件。怎么了 ?
Edit1 当我使用以下代码进行连接时:
然后:
它也不起作用。
linux - RHEL 7.0 上的最新 xcb-proto 和 libxcb 版本
RHEL 7.0 上最新版本的 xcb-proto 和 libxcb 是什么?
到目前为止,我们已经探索了 xcb-proto 的最新版本是 1.8,而 libxcb 的最新版本是 1.9。但是我们在多线程程序中仍然遇到以下错误:
java: xcb_conn.c:186: write_vec: 断言 `!c->out.queue_len' 失败。
c++ - 如何使用 XCB 在根窗口上绘图?
我有一个 XLib 代码,使用它可以正常工作:
...我需要对 XCB 做同样的事情。
我用 XCB 写了尽可能多的类似代码:
但是在程序开始时我看不到矩形。
我做错了什么?
c - XCB 获取所有窗口的事件 X.Org
我目前正在为 Linux 进行延迟测试。为了尽量减少副作用,我尝试编写一个使用 XCB 直接访问 X-Server 的 C 程序。因为没有任何 C 方面的经验,而只有 Java 方面的经验,也没有 XCB 方面的经验,所以我遇到了一些困难。
应用程序应该做的就是显示一个白框,如果在任何时候(在窗口外)按下鼠标按钮,它应该会立即变为黑色。测试应用程序不必以任何方式美观或安全,但只需快速反应即可。它仅用于这一项测试(请不要判断我的蹩脚风格;-))。
鼠标不能在同一个窗口中,因为还有另一个独立的应用程序也需要处理事件(测量延迟的那个)。
阅读XCB 教程后,我修改了示例代码以打开一个窗口并在窗口内记录鼠标点击:
为了获取所有窗口的事件,我想我必须将window
变量更改为根窗口。但是我尝试的任何东西都会产生分段错误,或者根本不起作用。
也许 root 的孩子(我的应用程序)没有足够的权限来获取它的父母的事件?但那是如何xwininfo -root
工作的呢?最佳尝试:
如何更改上述代码以响应整个 X.Org-Server 上的所有 BUTTON_PRESS 事件?
xorg - 解析 X 服务器授权文件
是否有任何 API 或文档有助于解析 X 服务器的授权文件?
我xcb
用来连接显示器。它接受xcb_auth_info_t
授权信息的结构。但是,我找不到有关如何构建此结构的任何信息。似乎没有任何关于 X 服务器授权文件格式的文档。
我解决的解决方案:
事实证明,对于MIT-MAGIC-COOKIE-1
X 类授权文件,Xauth
结构(来自X11/Xauth.h
)成员直接映射到xcb_auth_info_t
成员。Xauth
因此,只需使用 .从您的 X 授权文件中读取结构XauReadAuth
。然后复制name
、name_length
、data
和data_length
成员。
如果你想要一种更便携的方式来解析 X 权限文件,可以参考xcb
的源代码。它非常混乱,但是根据您自己的目的调整它们的源代码应该不会太难。xcb_util.c
有关如何打开显示器的套接字的详细信息,请参阅。拥有套接字后,您可以使用 from 方法xcb_auth.c
来创建xcb_auth_info_t
结构(请参阅方法_xcb_get_auth_info
、get_auth_ptr
和compute_auth
)。
我只需要通过 unix 套接字 ( AF_UNIX
) 进行连接,因此我移植的代码非常少。我大多只是使用该compute_auth
方法(及其依赖项)。
c - X11 应用程序无法使用双缓冲进行绘制
我有一个在 Linux 上运行的用 C 语言编写的小应用程序,它创建一个简单的 X 窗口,带有一个双缓冲区,写入一些像素然后刷新。
我注意到,如果我不添加延迟,刷新的图片不会出现,我在这里做错了什么?
小应用程序基本上是:
我的机器是带有 openbox 和合成器 (compton) 的 64 位 Linux Debian。对于 X11,我使用 libx11-xcb-dev 和 intel 驱动程序,没有专用 GPU。
qt5 - 在 Linux 上从 Qt4 转到 Qt5:此应用程序无法启动,因为它无法找到或加载 Qt 平台插件“xcb”
我正在交叉构建环境(GAR 环境、MiniMyth2 项目)中从 Qt4(4.8.6)迁移到 Qt5(5.4.1)。
我已经完美地构建和运行了 Qt4。我已经成功交叉编译并安装了 Qt5。供参考 - 这是配置输出:
不幸的是,任何尝试朗姆 Qt 应用程序都会返回:
运行 LDD 显示所有库都存在我认为
我试图添加
还是不行:-(
基本上我不知道问题可能出在哪里......
有任何想法吗?