问题标签 [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.

0 投票
1 回答
2993 浏览

window - 如何在 xcb 中使用 shm pixmap?

我尝试学习如何在 xcb 库中使用共享内存像素图。你们中是否有人有这方面的经验并想分享示例代码和/或信息?这将非常有帮助。

谢谢

0 投票
2 回答
2643 浏览

resize - XCB - 如何设置 WM_SIZE_HINTS?

我正在为 xcb 中的窗口创建编写一个简约的库。我希望能够创建一个不可调整大小的窗口。我发现,可以通过以下方式向窗口管理器提供提示:

我试图用这个函数改变 WM_NORMAL_HINTS 和 WM_SIZE_HINTS,但是我怎么知道我必须在 *data 参数中放入什么数据?是 XCB_ATOM_INTEGER 类型还是其他类型?

0 投票
1 回答
530 浏览

x11 - 从 xlib 移植到 xcb 的代码不起作用

这是一个发送鼠标点击的示例代码(使用 xlib)。为简单起见,事件被发送到全屏窗口(根和窗口坐标相同),并使用 wmctrl 获得窗口 ID。

上面的代码工作正常。我将它移植到 xcb:

XCB 代码不起作用:目标窗口没有收到任何事件。怎么了 ?

Edit1 当我使用以下代码进行连接时:

然后:

它也不起作用。

0 投票
2 回答
653 浏览

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' 失败。

0 投票
2 回答
4151 浏览

c++ - 如何使用 XCB 在根窗口上绘图?

我有一个 XLib 代码,使用它可以正常工作:

...我需要对 XCB 做同样的事情。

我用 XCB 写了尽可能多的类似代码:

但是在程序开始时我看不到矩形。

我做错了什么?

0 投票
1 回答
4416 浏览

c - XCB 获取所有窗口的事件 X.Org

我目前正在为 Linux 进行延迟测试。为了尽量减少副作用,我尝试编写一个使用 XCB 直接访问 X-Server 的 C 程序。因为没有任何 C 方面的经验,而只有 Java 方面的经验,也没有 XCB 方面的经验,所以我遇到了一些困难。

应用程序应该做的就是显示一个白框,如果在任何时候(在窗口外)按下鼠标按钮,它应该会立即变为黑色。测试应用程序不必以任何方式美观或安全,但只需快速反应即可。它仅用于这一项测试(请不要判断我的蹩脚风格;-))。

鼠标不能在同一个窗口中,因为还有另一个独立的应用程序也需要处理事件(测量延迟的那个)。


阅读XCB 教程后,我修改了示例代码以打开一个窗口并在窗口内记录鼠标点击:

为了获取所有窗口的事件,我想我必须将window变量更改为根窗口。但是我尝试的任何东西都会产生分段错误,或者根本不起作用。

也许 root 的孩子(我的应用程序)没有足够的权限来获取它的父母的事件?但那是如何xwininfo -root工作的呢?最佳尝试:


如何更改上述代码以响应整个 X.Org-Server 上的所有 BUTTON_PRESS 事件?

0 投票
2 回答
1448 浏览

c++ - 如何用 XCB 去除窗饰?

我正在尝试做与这个问题相同的事情。

到目前为止,我是从官方文档xcb_change_property中了解功能的。

但是下面的代码仍然没有给出任何结果。

我究竟做错了什么?

0 投票
2 回答
763 浏览

xorg - 解析 X 服务器授权文件

是否有任何 API 或文档有助于解析 X 服务器的授权文件?

xcb用来连接显示器。它接受xcb_auth_info_t授权信息的结构。但是,我找不到有关如何构建此结构的任何信息。似乎没有任何关于 X 服务器授权文件格式的文档。

我解决的解决方案:

事实证明,对于MIT-MAGIC-COOKIE-1X 类授权文件,Xauth结构(来自X11/Xauth.h)成员直接映射到xcb_auth_info_t成员。Xauth因此,只需使用 .从您的 X 授权文件中读取结构XauReadAuth。然后复制namename_lengthdatadata_length成员。

如果你想要一种更便携的方式来解析 X 权限文件,可以参考xcb的源代码。它非常混乱,但是根据您自己的目的调整它们的源代码应该不会太难。xcb_util.c有关如何打开显示器的套接字的详细信息,请参阅。拥有套接字后,您可以使用 from 方法xcb_auth.c来创建xcb_auth_info_t结构(请参阅方法_xcb_get_auth_infoget_auth_ptrcompute_auth)。

我只需要通过 unix 套接字 ( AF_UNIX) 进行连接,因此我移植的代码非常少。我大多只是使用该compute_auth方法(及其依赖项)。

0 投票
1 回答
2076 浏览

c - X11 应用程序无法使用双缓冲进行绘制

我有一个在 Linux 上运行的用 C 语言编写的小应用程序,它创建一个简单的 X 窗口,带有一个双缓冲区,写入一些像素然后刷新。

我注意到,如果我不添加延迟,刷新的图片不会出现,我在这里做错了什么?

小应用程序基本上是:

我的机器是带有 openbox 和合成器 (compton) 的 64 位 Linux Debian。对于 X11,我使用 libx11-xcb-dev 和 intel 驱动程序,没有专用 GPU。

0 投票
0 回答
2069 浏览

qt5 - 在 Linux 上从 Qt4 转到 Qt5:此应用程序无法启动,因为它无法找到或加载 Qt 平台插件“xcb”

我正在交叉构建环境(GAR 环境、MiniMyth2 项目)中从 Qt4(4.8.6)迁移到 Qt5(5.4.1)。

我已经完美地构建和运行了 Qt4。我已经成功交叉编译并安装了 Qt5。供参考 - 这是配置输出:

不幸的是,任何尝试朗姆 Qt 应用程序都会返回:

运行 LDD 显示所有库都存在我认为

我试图添加

还是不行:-(

基本上我不知道问题可能出在哪里......

有任何想法吗?