一些好的Xlib编程指南在哪里?

时间:2010-07-16 15:38:31

标签: xlib

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

然而,谷歌搜索网络后,我没有看到很多新文章谈论Xlib?亚马逊X窗口系统的最新编程指南是在1994年!?没有Xlib的新文章,因为旧书已经足够,或者因为有一些我不知道的新技术?或者,也许我没有正确的关键字来搜索网络。如果是这样的话,请有人指点我到正确的地方吗?

1 个答案:

答案 0 :(得分:14)

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

我说要读取gtk + / gdk / x11(X后端到GTK)的源代码,你最喜欢的几个WM的来源会有很长的路要走。 ICCCM和EMWH规范至关重要。

X编程的一个巨大变化,因为旧的指南是没有人喜欢使用许多服务器端设施进行绘图,字体,打印等。所以XDrawFoo的功能,所有关于字体,XPrint,GC,色彩映射的功能,或多或少都是过时的。绘图通常在客户端进行,现在使用Cairo或Skia等库。

关于窗口和像素图的内容以及X在旧书中运作的基本方式仍然是准确的。

如果你搞乱WM,可以提供一些很好的X建议:

  • 你需要回应事件而不是获得状态。例如,始终将您的大小视为您获得ConfigureNotify的最后一个大小;不要调用XGetGeometry或其他东西来获得你的大小。获得国家有两个问题:它会杀死表现(阻止往返=表演死亡)并引入竞争条件。

  • 在WM中,您正在处理其他应用程序的窗口,它们可能随时被销毁,如果您触摸该窗口,将导致错误。所以你在窗口上调用的任何函数都可能失败。

  • 永远不会使用CurrentTime,总是使用真正的时间戳,否则你会制造怪异的竞争条件错误会让你发疯“

我想有更多的提示,但这些是三个让你开始避免常见错误; - )