在Linux中使用哪个库开发Windows Manager?

时间:2012-01-19 16:56:05

标签: linux gtk

我想开发一个简单的Windows管理器,但不知道要使用哪个库。要求:

利用现有的高级库来处理字体,图像。像GTK +,Clutter,GDK。但是要保持与设计相关的东西,我应该使用哪些库?因为我试图使用XCB,这真的很痛苦。而且我听说过Wayland,如果我用XCB写的话,它就无法移植到Wayland。

我已经阅读了一些有关WM开发的帖子,通常使用XCB和Xlib,我认为它们太低级了,我不想重复其他工作。我想要一个更加用户友好的WM,但要保持简单灵活。

3 个答案:

答案 0 :(得分:0)

最大的问题不是要使用的库。正如ICCCMEWMH所指示的那样,要求的复杂性。

标准兼容的窗口管理器非常复杂,因为定义它的标准很复杂,并且因为X11协议很复杂。

您可能会改为使用现有的WM。

但任何能够进行X11协议交换的库都可以满足要求。

我不确定Wayland是否有窗口管理员

答案 1 :(得分:0)

我将项目拆分在核心X11库之上的(低级)窗口管理器中,以及实现UI以控制窗口管理器的高级部分,使用您认为合适的工具包。 / p>

使用工具包的困难在于它们不是设计用于从窗口管理器内部使用,即工具包可能希望能够向窗口管理器发送消息并接收回复而不返回“用户”代码在中间。

另外,当使用来自不同环境的窗口管理器时,这可以提供更大的灵活性 - 桌面集成商可以选择重写一些控制UI以更好地匹配系统的其余部分,从而使核心服务不受影响。

答案 2 :(得分:0)

您无法使用高级GUI工具包来开发窗口管理器。这些GUI工具包独立于窗口管理器,无法直接与它进行通信 - 只能以标准定义的方式进行。