调整 Compton 的自定义 Shader 来获得较为完善的毛玻璃特效

2015-05-12 15:11:39 +08:00
 quadpixels
图:
![Foo]()

Compton是一个Compositor,Compositor的中文也许是叫“桌面混合器”吧。
链接: https://github.com/chjj/compton
它有一个很强力的功能是支持基于Shader的毛玻璃模糊效果,这样用着XFCE的窗口管理器时也能看到好看的毛玻璃效果了。(相比之下,貌似KDE的桌面混合器是默认支持这个效果的)
但是有个问题:透明效果会同时作用于背景和文字上。也就是说如果你把背景的透明度设为50%,那文字也会变淡50%。(可见图1与图2都发生了这样的状况)。
所以有一个简单的Hack的方法:在自定义Shader中把文字的颜色特别处理一下,将其设为不透明的。这样就能达成图3的样子。
但是在图3中还有一个问题,就是图标还是透明的。所以可以再把Hack方法稍微改一下,只将背景颜色设为透明的,其它所有的颜色都设为不透明的。这样就能达成图4的样子了。
在Windows 7里的毛玻璃特效可以调节颜色浓度,无论颜色浓度如何变浅,文字的颜色都不会随之变浅,在这里想达成的效果也是那样的。


如果想达成图3的效果,就将compton-default-fshader-win.glsl的内容改为
https://gist.github.com/quadpixels/9256ddcdf8fbe6d350db

如果想达成图4的效果:
https://gist.github.com/quadpixels/62a621bd7124125ab4f2

改好后,用这个命令运行:
/compton --glx-fshader-win "$(cat compton-default-fshader-win.glsl)" -b

这只是一个比较好玩的尝试,还远远没达到完美的解决方案的程度。所以只能说“较为完善”。
4646 次点击
所在节点    Linux
2 条回复
quadpixels
2015-05-12 15:25:33 +08:00
注意:
其中的颜色值是截图量出来然后写到自定义Shader里的。
所用的主题是Greybird,前景色是0x3C3C3C = (0.234, 0.234, 0.234);背景色有三种,0xF4F4F4,0xFCFCFC,0xCECECE,按同样的方法转换就可以了。
jialiang2015
2015-05-12 18:46:49 +08:00
翻了翻,这似乎是development版本中新增的功能(我一直在用v0.1_beta2……- -)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/190447

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX