问题标签 [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.
x11 - xcb 键盘按钮掩码含义
我试图弄清楚哪些键由以下人员处理:
- XCB_MOD_MASK_1
- XCB_MOD_MASK_2
- XCB_MOD_MASK_3
- XCB_MOD_MASK_4
- XCB_MOD_MASK_5
在 xcb 中,对于 XCB_MOD_MASK_1,它似乎是 Alt(我是正确的?),但对于其他按钮,我无法在任何地方找到映射(我在发布之前尝试用谷歌搜索它们,但没有成功)。
那么与这些面具相关的常用键是什么?
c - XCB:窗口被映射一次后不会取消映射
我有一个用 C 语言编写的小示例程序,它使用 XCB API 打开一个窗口。
严格来说,在我创建并显示了窗口之后,我会(稍后)想要隐藏窗口。
(很明显,在这个特定的例子中,我可以删除对 xcb_map_window 的调用,并且窗口将被隐藏,但我想稍后在我的较大应用程序中执行此操作,例如显示/隐藏窗口的切换,注意:我不想最小化它)。
这是示例代码(注意:由于答案,此代码现在可以工作):
我编译和运行的是:
从我在谷歌或这里可以找到的任何内容中,我做的一切都是正确的。因此,为了澄清起见,我使用的是 Unity 和 Ubuntu 12.04 LTS:
unity --version 报告:
uname -a 报告:
谁能解释我在这段代码中哪里出错了?
编辑:在 xcb_unmap_window() 之后使用 flush() 更新代码;还是不行。
EDIT2:尝试使用肉桂 WM 的代码;仍然不起作用(这不是 Unity 错误)。
EDIT3:这篇文章中更新的代码现在可以工作了。
x11 - 显示带有 XCB / 奇怪行为的窗口
我试图在主窗口内的 xcb 中显示一个窗口,但实际上没有运气。
这个想法是,当用户按下一个按钮(在这种情况下是 X 按钮)时,会显示一个小的白色窗口(仅用于测试)。
但实际上我被困在这一步。我在这里观看了示例代码: http ://en.wikibooks.org/wiki/X_Window_Programming/XCB
并试图在我的应用程序中做同样的事情。
[编辑 28/10/2013 ]现在使用该代码我可以显示一个窗口,但是如果我尝试添加其他变量,例如 int i=0 或其他变量,则该窗口不会出现,并且没有引发暴露事件(所有引发的事件是 0 或 2(即使我在其他事件中添加变量)。知道吗?
这是 XCB_KEY_PRESS 事件处理程序代码: 编辑(使用新代码)
root 是从 xcb_screen_t 变量获得的根窗口。
背景和胜利的定义如下:
我什至添加了一个 XCB_EXPOSE 事件处理程序:
该代码有什么问题?我错过了什么?(我正在尝试开发一个非常基本的窗口管理器,只是为了好玩)
(我对该程序的想法是,当按下 x 时会显示一个输入框,您对如何执行此操作有任何建议吗?)
x11 - 自定义窗口管理器和与应用程序的交互
我读过窗口管理器负责窗口装饰(标题栏、关闭按钮等)。因此,如果我可以处理,当创建窗口并以某种方式对其进行修改(为其创建标题栏、关闭按钮等)时,当单击关闭按钮时,如何通知该窗口的应用程序?在 QT 等现代工具包中总是有一些处理程序,我可以在其中对窗口关闭做出反应。必须以某种方式告诉可能的应用程序“嘿,您的窗口正在关闭,想做点什么吗?”。我找不到这种行为的解释。
c++ - xcb 鼠标移动导致输入延迟
我已经编写了一些基本的 OpenGL 应用程序,使用 XCB 作为后端(当然是用于 GLX 的 xlib),并且在我编写的每个测试中,当我将鼠标移到窗口上时,它会导致所有输入都得到某种“缓冲”并且只响应一段时间后的事件(取决于输入的数量)。
我正在调用 xcb_poll_events 并以这种方式获取事件信息,然后将其加载到自定义事件类中,但这在我的旧 xlib 实现中从来没有慢过。
什么可能导致这种滞后?
事件轮询:
和测试应用程序中的事件循环:
c - 等待终端输入时如何处理窗口事件?
我有一个跨平台(windows 和 unix+xcb)终端+graphics_window 应用程序,它大部分工作正常,直到您在输入提示符处等待太久,在重负载下图像可能会消失。:(
我有一个用于解释器(postscript 解释器)的主循环(REPL),它每次围绕它的循环调用一个事件处理函数。事件处理程序对通常是窗口的消息/事件循环执行一次迭代。但是输入是用普通的 C i/o 处理的,因此事件处理程序在阻塞时永远不会被调用fgetc()
。
图形窗口仅用于输出。它没有按钮,只需要响应 Raise、Map、Expose 等事件。
如何安排在调用堆栈更深处的输入读取循环期间调用事件处理程序?这需要可以使用 POSIX 和 win32 API 来实现。
选项似乎是
- 非阻塞 i/o
在 unix 中相对简单。看起来像窗户的痛苦 - 轮询
- 输入线程
pthreads? - 窗口线程
pthreads?
这些中的任何一个都可能比其他的痛苦少吗?
如果我可以留在 unix 上,那么这似乎可以解决问题:
c++ - 在 OSX -qt-xcb 上安装 Qt5
x11 - XCB + 记录 x11 扩展示例
您能否提供通过XCB使用记录扩展的示例代码(任何语言) ?有很多关于如何使用Xlib ( https://gist.github.com/whym/402801 ) 的示例,但我不明白如何将这部分Xlib代码转换为XCB:
xcb_record_create_context(...)的 XCB 文档完全是一团糟。任何工作代码都会有所帮助。
c - 如何通过 xcb RandR 扩展获得 RandR 输出的分辨率?
我正在开发一个已经在使用 xcb 并且需要获得单个输出的分辨率而不是组合屏幕的分辨率的项目。我可以使用 xcb 的 RandR 扩展来执行此操作吗?如果是这样,我该如何使用我的xcb_connection_t
对象来做到这一点。
linux - XCB按键输入拦截?
XCB 协议中拦截关键输入的代码是什么?
为此,我在 XCB 文档中找不到任何内容(或者我看不到正确的文档/代码)。我使用 Python,但一个 C 示例有助于理解代码。谢谢。