我是一名 Java 程序员,对 Linux 还很陌生。我使用的是 Suse / Gnome,我需要创建一个窗口:
- 视觉上是半透明/透明的。这是通常的 Alpha 混合,它将前景图像与背景图像组合在一起,同时允许背景图像“透过”前景图像可见。
- 对鼠标事件是透明的,换句话说,窗口不接受鼠标事件,并且所有此类事件都会传递到下面的任何内容。
我成功获得了视觉透明度,但没有获得鼠标事件透明度。当我使用 Java 测试环境半透明功能时,我得到:
- TRANSLUCENT = false
- PERPIXEL_TRANSPARENT = true
- PERPIXEL_TRANSLUCENT = true
合成已激活。我将合成类型从 OpenGL 更改为 XRender,反之亦然。但这并没有改变任何事情。我是否必须更改窗口管理器或激活某些选项?
答案1
您必须将鼠标事件的透明度编程为窗口行为。视觉透明是您选择的窗口系统提供的。