Xwindow父级的透明窗口

时间:2012-05-21 12:12:49

标签: overlay x11 transparent xlib

我正在尝试在另一个正在运行的应用程序上创建一个叠加窗口。 让我们说firefox。我通过使用实现 Xcreatewindow

win = XCreateWindow( display, *firefoxwindow,
                   50, 300, 400, 400,
                   0,
                   visualinfo.depth,
                   InputOutput,
                   visualinfo.visual,
                   CWColormap|CWEventMask|CWBackPixmap|CWBorderPixel,
                   &attr
                   ) ;

我使用XQueryTree()

搜索了* firefoxwindow

然后按照此代码 https://gist.github.com/903479

当我将XRoot用作父级时,结果是透明窗口。 但是,当我尝试使用firefoxwindow或其他应用程序窗口作为父级时,它变得非常敏感。

1 个答案:

答案 0 :(得分:1)

在您的情况下,您需要手动合成窗口像素图和背景窗口。当您使用root创建窗口时,父透明度由合成窗口管理器

处理