gpt4 book ai didi

c - Gtk+/X11 : semitransparent windows with and without composite managers?

转载 作者:太空宇宙 更新时间:2023-11-04 01:14:25 26 4
gpt4 key购买 nike

我需要一些代码来使我的窗口(最好是它上面的所有小部件)半透明。我知道我可以使用 gtk_window_set_opacity(),但它仅在复合管理器运行时有效,但如果不运行怎么办?我在谷歌上搜索了很多,发现很多代码大多甚至无法编译、无法工作或只是概念验证。没有令人满意的解决方案。我不想弄乱 X11 Xlib 糟糕的 API(我只是没有时间学习它)。

从哪里获得这样的库/代码片段?

最佳答案

对此没有好的答案(这是发明合成管理器的一个很好的部分)。如果您已经可以做到这一点,人们就不会发明整个合成管理器机制。

在旧的“透明终端”等中使用的唯一一种答案是基于对窗口下方的内容进行屏幕截图,然后在您自己的窗口中绘制屏幕截图。这是一个涉及 Xlib 的困惑,很难做到大部分正确,不可能完全正确,而且效率低下。不过,你也许可以做到。查看支持透明的终端的旧版本,我认为 VTE 曾经有这个代码,ZVT 小部件肯定有。例如,Enlightenment 终端也是如此。

但真正的方法是退回到没有 CM 的用户不透明。

关于c - Gtk+/X11 : semitransparent windows with and without composite managers?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4965219/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com