显然窗口管理器(在我的情况下为Compiz)处理你在Ubuntu中所有Xlib窗口下看到的阴影,因此与X Window系统的通信不会影响我创建的窗口上生成的默认阴影在我的代码中。因此,如何通过我的代码与Compiz进行通信,在新创建的窗口下分配更大/更小/不同的颜色阴影?
编辑:我只使用c ++和xlib库,而不是QT
编辑:与窗口管理器交谈的方法看起来越复杂,我尝试的越多,所以任何人都有其他建议吗?可能是原版背后的第二个窗口,有某种设置吗?
答案 0 :(得分:1)
你需要编写复合管理器以获得阴影/透明度和类似的效果(我假设你这样做是为了了解它是如何工作的。如果你只需要阴影 - 几乎每个comp管理器都有这个选项,请阅读xcompmgr / compiz手册)
这是一个非常good introduction的复合/伤害扩展。您需要重定向所有顶层窗口并在特殊的叠加窗口上手动绘制它们