V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
quadpixels
V2EX  ›  Linux

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

  •  
  •   quadpixels ·
    quadpixels · 2015-05-12 15:11:39 +08:00 · 4647 次点击
    这是一个创建于 3513 天前的主题,其中的信息可能已经有所发展或是发生改变。
    图:
    ![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的内容改为


    如果想达成图4的效果:


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

    这只是一个比较好玩的尝试,还远远没达到完美的解决方案的程度。所以只能说“较为完善”。
    2 条回复    2015-05-12 18:46:49 +08:00
    quadpixels
        1
    quadpixels  
    OP
       2015-05-12 15:25:33 +08:00
    注意:
    其中的颜色值是截图量出来然后写到自定义Shader里的。
    所用的主题是Greybird,前景色是0x3C3C3C = (0.234, 0.234, 0.234);背景色有三种,0xF4F4F4,0xFCFCFC,0xCECECE,按同样的方法转换就可以了。
    jialiang2015
        2
    jialiang2015  
       2015-05-12 18:46:49 +08:00
    翻了翻,这似乎是development版本中新增的功能(我一直在用v0.1_beta2……- -)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1493 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 17:08 · PVG 01:08 · LAX 09:08 · JFK 12:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.