Linux 如何开始编写合成WM?
我想写一个基本的硬件加速窗口管理器,所以我一直在寻找一些关于如何开始的文档,但我只找到了,它使用了一个过时的杂乱版本,并且不会使用当前可用的任何版本构建。关于如何做到这一点,还有其他好的资源吗?或者,有一个真正的简单合成WM来查看原始演示合成管理器的来源吗?我建议您了解底层的X扩展 如果您使用OpenGL进行硬件加速渲染,则需要从_pixmap扩展阅读Linux 如何开始编写合成WM?,linux,x11,clutter,compositing,Linux,X11,Clutter,Compositing,我想写一个基本的硬件加速窗口管理器,所以我一直在寻找一些关于如何开始的文档,但我只找到了,它使用了一个过时的杂乱版本,并且不会使用当前可用的任何版本构建。关于如何做到这一点,还有其他好的资源吗?或者,有一个真正的简单合成WM来查看原始演示合成管理器的来源吗?我建议您了解底层的X扩展 如果您使用OpenGL进行硬件加速渲染,则需要从_pixmap扩展阅读EXT\u texture\u,以避免通过用户空间复制窗口内容。该扩展允许您对这些拷贝使用硬件加速的BLIT 您可能还对允许同步到垂直回溯的无撕裂
EXT\u texture\u,以避免通过用户空间复制窗口内容。该扩展允许您对这些拷贝使用硬件加速的BLIT
您可能还对允许同步到垂直回溯的无撕裂渲染的规范感兴趣。您的问题有两个部分:1)如何编写WM 2)如何编写复合管理器
有助于理解第二部分的一些链接(除xcompmgr源代码外):
- (使用Qt,但非常通用且级别较低)
窗口管理器,“第一部分”:
- 我在JavaScript中有简单的~100 loc wm:
- 另一个极简主义wm(在C中),作为参考开始很好:
- 最重要的关键字:
子结构重定向
事件掩码。一点文档