C-使用X11协议获取叠加窗口所需的内容,没有任何合成器运行



使用X11协议的LISP实现,当没有合作仪运行时,Get-Overlay-Window冻结。如果我杀死了LISP过程,则将XID打印出来。这也冻结了我的LISP窗口管理器在另一个LISP线程中运行的,尽管是相同的过程。基本上X的行为就像被抓住了,所以感谢上帝ctrl-alt-f1。

关于复合材料的一些以前的问题显示,当没有合成器运行时,其他问题陷入了类似的问题。

我猜测服务器也许正在等待某种规模授权或其他类型的东西?或必须完成的特定事件序列?

当另一个合作社处于活动状态时,可以访问覆盖窗口,这对于编写Compositor无济于事!

显然我的阅读理解失败了协议描述,或者他们的写作失败。

要求复合材料重定向Windows会自动确保绘制Windows内容。它不能确保他们被覆盖所吸引!覆盖物似乎也不是透明的。因此,即使设置要自动更新的所有窗口,当覆盖窗口被调用映射以获取其XID时,它也会阻止您看到屏幕上的任何其他更新并阻止所有输入。

在某种意义上使覆盖层并不是很有用。或对重定向窗口进行自动更新的请求无用。无论哪种方式,似乎都必须绘制我们不感兴趣的窗户的每个像素。

也许只是驱动程序的东西?