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

Pat*_*ick 6 xlib

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

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

Hav*_*c P 14

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

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

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

关于windows和pixmaps的东西以及X在旧书中的基本方式仍然是准确的.

如果你搞乱WM,一些好的一般X建议:

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

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

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

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