5

我正在尝试在另一个正在运行的应用程序上方创建一个覆盖窗口。比方说火狐。我通过使用 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 或其他应用程序窗口作为父窗口时,它变得很漂亮。

4

1 回答 1

4

在您的情况下,您需要手动将窗口像素图与背景窗口合成。当您创建以根为父级的窗口时,透明度由合成窗口管理器处理

于 2012-05-22T04:30:15.680 回答