使用compton的GTK窗口的不透明度问题

时间:2019-01-18 13:36:33

标签: gtk x11

我有一个程序,可以使用EGL和OPENGL ES API在GTK窗口上呈现。 在同一个程序中,我做了4次以制作4个视频的图块。

在后台,我启动了康普顿。

现在,当我开始播放第一个视频时,它是透明的(不是按照我的要求)。 2、3、4影片效果完美。但是,如果我杀死渲染第一个视频的线程并重新开始,那么它也可以正常工作;或者,如果我杀死了康普顿,则在透明的第一个视频之后也可以正常工作。

Compton出了点问题,它不允许将数据传输到第一个屏幕,或者使数据与窗口一起透明。

我正在使用康普顿的以下配置

backend = "xrender";
paint-on-overlay = true;
unredir-if-possible = false;

我系统上的窗口管理器是openbox-lxde

1 个答案:

答案 0 :(得分:1)

我已经解决了这个问题。在此处发布它,因为它可能对将来的某个人有所帮助。

简而言之,因为我的第一个窗口是FULLSCREEN,所以才出现此问题。当X11窗口分辨率与屏幕分辨率匹配时,有一些属性/属性在合成器的影响下是透明的(这里我使用的是compton)

首先,我创建大小为0、0、1919、1079的窗口,然后将其大小调整为0、0、1920、1080,一切都很好,窗口不会变得透明并完美显示数据。

还有一个谜,就是使全屏窗口具有这种特性的属性是什么?如果找到就会发布。