use*_*758 5 x11 overlay transparent xlib
我正在尝试在另一个正在运行的应用程序上方创建一个覆盖窗口。让我们说火狐。我是通过使用 Xcreatewindow 实现的
win = XCreateWindow( display, *firefoxwindow,
50, 300, 400, 400,
0,
visualinfo.depth,
InputOutput,
visualinfo.visual,
CWColormap|CWEventMask|CWBackPixmap|CWBorderPixel,
&attr
) ;
Run Code Online (Sandbox Code Playgroud)
我使用 XQueryTree() 搜索了 *firefoxwindow
然后按照此代码 https://gist.github.com/903479
结果是当我使用 XRoot 作为父级时的透明窗口。但是,当我尝试使用 firefoxwindow 或其他应用程序窗口作为父窗口时,它变得 optique。
在您的情况下,您需要手动将窗口像素图与背景窗口合成。当您创建以 root 作为父级的窗口时,透明度由合成窗口管理器处理