一个重要的决定是您将如何与X服务器通信。您可以将Xlib绑定用于您选择的语言,也可以使用更高级别的XCB绑定。(如果您很疯狂,则可以直接打开X服务器的套接字。)
要了解窗口管理器的行为方式,有两个文档指定了约定和策略:EWMH和ICCCM
1。符合这些要求意味着您的窗口管理器在GNOME,KDE,XFCE和随之而来的任何其他桌面环境中都将表现良好,尽管在初次尝试时只需忽略它们当然会更容易。
窗口管理器不必是庞大而复杂的C球—成功的窗口管理器已经用Lisp,Haskell和Python等高级语言编写,甚至C语言中的一些语言仍然很小并且可读性强。用Haskell编写的XMonad在1000行以下停留了相当长的时间。StumpWM(通用Lisp)和DWM(C)都非常简约。您也许可以阅读其源代码,以获取有关如何设计WM的灵感。
1伊利亚·纽伦(Elijah Newren)写道:
不要去看这些东西。他们是真的,真的很乏味。如果这样做,您可能最终会赶上睡眠,而不是在metacity上乱砍。;-)
想到这一点,metacity的文档很好地说明了它如何与Windows交互以及它支持哪种扩展属性。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)