gpt4 book ai didi

xlib - 哪里有一些好的 Xlib 编程指南?

转载 作者:行者123 更新时间:2023-12-04 13:29:33 30 4
gpt4 key购买 nike

我现在对 Xlib 编程有点困惑。几周前我开始使用 dwm(一个轻量级的窗口管理器),我想找一些 Xlib 编程书籍或在线资源来定制 dwm。

然而,在网上谷歌搜索后,我并没有看到很多关于 Xlib 的新文章?? Amazon 上最新的 X 窗口系统编程指南是 1994 年的!? Xlib没有新文章是因为老书就够了,还是有一些我不知道的新技术?或者,也许我没有在网络上搜索的正确关键字。如果是这种情况,有人可以指出我正确的地方吗?

最佳答案

据我所知,没有任何最新的书籍。你真的只需要阅读一堆规范和源代码。幸运的是,这并不复杂。

我想说的是阅读 gtk+/gdk/x11(GTK 的 X 后端)的源代码和您最喜欢的几个 WM 的源代码会大有帮助。 ICCCM 和 EMWH 规范是必不可少的。

自从旧指南以来,X 编程的一个巨大变化是,没有人喜欢再使用许多服务器端工具进行绘图、字体、打印等。所以 XDrawFoo 函数,关于字体、XPrint、GC、颜色映射的一切,所有这些或多或少都已经过时了。现在绘图通常在客户端使用 Cairo 或 Skia 等库完成。

不过,那些旧书中关于 windows 和像素图的内容以及 X 的基本工作方式仍然是准确的。

如果您正在使用 WM,一些很好的通用 X 建议:

  • 您需要响应事件而不是获取状态。例如,始终将您的尺寸视为获得 ConfigureNotify 的最后一个尺寸;不要调用 XGetGeometry 或其他方法来获取您的大小。获取状态有两个问题:它会降低性能(阻塞往返 = 性能死亡)并且它会引入竞争条件。
  • 在 WM 中,您正在处理其他应用程序的窗口,它们可以随时销毁,如果您触摸该窗口,则会导致错误。所以你在窗口上调用的任何函数都可能失败。
  • 永远不要使用 CurrentTime,始终使用真实的时间戳,否则您会创建怪异的竞争条件错误,让您发疯

  • 我想还有很多技巧,但这是三个让您开始避免常见错误的技巧;-)

    关于xlib - 哪里有一些好的 Xlib 编程指南?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3266521/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com