我想用这两种语言(最好是 ruby)制作一个窗口管理器。老实说,我不知道从哪里开始,除了我需要加载某种 X 模块。因此,如果有人有线索,如果您能指出我正确的方向,那就太好了。谢谢
问问题
3441 次
4 回答
6
XCB 是 X 的下一代 API,它使用 XML 格式来定义 X 协议并使用脚本生成特定的语言绑定。它在概念上与 SWIG 相似,只是它不是描述 C API,而是描述 X 协议。
目前,存在 C 和 Python 的绑定。理论上,Ruby 移植只需编写一个从 XML 协议定义语言到 Ruby 的翻译器。生成的 Ruby 代码可以包装 C API 或在纯 Ruby 中实现有线协议(我推荐后者)。
与阻塞 I/O 相关的传统 Xlib 相比,该 API 显然具有一些固有的优势。奇怪的是,它还有一个 Windows 端口。
于 2009-09-11T23:27:03.530 回答
2
你看过http://ruby-xlib-wrap.sourceforge.net/吗?这似乎为 XLib 提供了 Ruby 绑定。
在尝试编写窗口管理器之前,您可能想尝试使用 XWindows。
为什么不从桌面开始,这样你就可以获得一些经验。
于 2009-09-06T21:43:15.750 回答
2
笔记:
1) Awesome 不是用 lua 写的,它是用 C 写的。它使用 Lua 作为脚本/配置接口。
2) Qtile 和 Samurai-X 是两个用 python 编写的 wm。
3) Subtle 是一个使用 ruby 作为脚本语言的 wm。
Qtile 和 Subtle 都是平铺窗口管理器。
于 2009-11-25T05:22:14.630 回答