我目前正在开发一个名为 Xpad 的现有 Linux 应用程序,这是一个用 C 编写的便签应用程序。我尝试实现透明度,但我很难实现我想要的。便笺看起来像这样。
我有一个带有 gtk_textview 的(顶层)gtk_window。如果使用函数 gtk_widget_override_background_color() 将 textview 的背景颜色设置为透明颜色(GdkRGBA,其中 alpha 值小于 1),则其后面的 gtk_window 的颜色变得更加明显。
但是,我不想看到gtk_window,而是gtk_window后面的应用程序,比如浏览器,libreoffice,或者桌面。
如果使用 gtk_widget_override_background_color() 或 gtk_widget_set_opacity() 将 gtk_window 设置为某种透明度,则整个小部件,包括窗口装饰,将(部分)透明。
为了使可见对象之间的关系更加清晰,我创建了一个不同部分的图表,并标记了我认为发生透明度问题的位置。
任何人有任何想法如何使 textview 背景透明,而不使窗口装饰透明,所以我可以看到这个应用程序背后的任何内容?