小智 0
我最近也想知道这一点,据我了解,我不相信 gtkcss 目前支持过滤器。
我想到的方法是通过 glsl 着色器向杂乱(嘟哝)的 actor 添加着色器效果。
我设法让它产生良好的模糊效果,我正在处理的示例是一个名为blyr的 GNOME 扩展。
我的 glsl 文件和项目代码可以在这里找到,以供参考。
您可以在代码中调用 glsl 并将其应用到演员上,例如
var shaderEffectVer = new Clutter.ShaderEffect(Clutter.ShaderType.FRAGMENT_SHADER);
var wallpaper_actor = new GtkClutter.Actor ();
shaderEffectVer.set_shader_source("shader.glsl"));
shaderEffectVer.set_uniform_value("dir", 1.0);
shaderEffectVer.set_uniform_value("width", g_width);
shaderEffectVer.set_uniform_value("height", g_height);
shaderEffectVer.set_uniform_value("radius", 10.0);
shaderEffectVer.set_uniform_value("brightness", 0.98);
wallpaper_actor.add_effect_with_name("blur",shaderEffectVer);
Run Code Online (Sandbox Code Playgroud)
希望对您有帮助
我知道这已经很老了——但我觉得我至少应该简短地回答一下。
至于希望 CSS 的子集能够使用“background-filter”:
浏览器能做什么和操作系统能做什么是完全不同的事情。有些操作系统支持本机模糊功能,有些则不支持。非 Web 中提供的 CSS,如 pango 和 gtk 等,通常是CSS 的子集。这发生了很大变化,所以情况可能已经不再是这样了。
基本上,如果你想要模糊的背景,你将需要一个合成器来做到这一点,但可能需要一些设置才能做到这一点。我认为康普顿有这种能力,但正如我所说,这需要一些努力,而不是你可以塞进主题的东西。
您还可以查看 Compiz/Fusion(它们现在是其中之一),它非常酷,而且 IIRC 您可以在那里做一些带有模糊甚至更多功能的奇特的事情。另外,它比我上次尝试的 KWin 更快、更小,所以就是这样。不过,如果你必须拥有绝对的效率,你可能应该坚持使用康普顿。
如果您只是想模糊终端
如今有一大堆黑客工具可以实现这一目标。新的经理现在已经内置了这个功能,所以毫不费力。Windows 用户可能需要等待更长时间。Mac 和 Linux 用户现在已经有了这个。
| 归档时间: |
|
| 查看次数: |
4332 次 |
| 最近记录: |