Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Linux中使用哪个库开发Windows Manager?_Linux_Gtk - Fatal编程技术网

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

在Linux中使用哪个库开发Windows Manager?,linux,gtk,Linux,Gtk,我想开发一个简单的windows管理器,但不知道使用哪个库。要求: 利用现有的高级库处理字体、图像。像GTK+、杂波、GDK。但是,不要考虑与设计相关的东西,我应该使用哪些库?因为我试着使用XCB,这真的很痛苦。我听说过Wayland,如果我用XCB写的话,它就不能移植到Wayland了 我读过一些关于WM开发的帖子,通常使用XCB和Xlib,我认为它们太低级了,我不想重复其他的工作。我想要一个更加用户友好的WM,但要保持简单和灵活。最大的问题不是要使用的库。这是需求的复杂性,由和决定 标准兼容

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

利用现有的高级库处理字体、图像。像GTK+、杂波、GDK。但是,不要考虑与设计相关的东西,我应该使用哪些库?因为我试着使用XCB,这真的很痛苦。我听说过Wayland,如果我用XCB写的话,它就不能移植到Wayland了


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

最大的问题不是要使用的库。这是需求的复杂性,由和决定

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

您可以使用现有的WM

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


而且我不确定Wayland是否有窗口管理器

我会将项目分为核心X11库之上的低级窗口管理器,以及实现UI以控制窗口管理器的高级部分,利用您觉得合适的任何工具包

<> P>使用工具箱的困难在于,这些工具不是设计用来从窗口管理器内部使用的,即工具包可能希望能够向窗口管理器发送消息并接收回复而不返回中间的用户代码。
此外,这使得在不同环境中使用窗口管理器时具有更大的灵活性-桌面集成商可能会选择重写一些控制UI以更好地匹配系统的其余部分,从而使核心服务不受影响。

您不能使用高级GUI工具包来开发窗口管理器。这些GUI工具包独立于窗口管理器,没有任何直接与之通信的方式——仅以标准定义的方式