X11层经理(X11 layer manager)

2019-10-16 14:37发布

我有各自具有不同的技术GUI多个应用程序。

我需要做到这一点 -

 1. Create n layers, one for each application, onto which applications draw.
 2. Have a layer manager which can perform operations on each of these layers
    (like re sizing, changing opacity etc. ) and then combine them to form a 
    single layer. 

有人可以请给一个想法,我应该怎么用这个进行呢? 哪些API可以帮助我变成了这样? 我真的不能弄清楚什么应该我在谷歌搜索来。

实现语言:C ++

平台:Linux

此外,我想知道,如果这些要求都可以独立于平台的方式来实现?

Answer 1:

如果我理解正确你的问题,你想要某种简单的窗口管理器。

如果是的话,尽量避免使用的Xlib,并使用QX11EmbedContainer 。 它是通过简单地显示/隐藏特定的容器相当简单的嵌入窗口,并形成层。

这应该是一个独立于平台的解决方案(应在不同的硬件上工作,但不能在一个非Linux OS)。


既然你已经在使用QX11EmbedContainer,并有仅使用的xlib(和C ++)的请求,你需要使用XReparentWindowDisplay功能。 这是覆盖×程序库标准的章节9.1(你可以看看它在这里 )。 它应该是相当直截了当如何使用它。



文章来源: X11 layer manager