有没有办法让 feh 在转换之间淡入淡出?

ash*_*gpu 8 desktop wallpaper x11 awesome

我希望我的桌面墙纸在过渡而不是剪切之间淡入淡出。有没有办法用feh做到这一点?也许使用 xcompmgr 或 compton?

如果没有,有没有办法在不更改为不同的 wm 的情况下做到这一点?我目前正在使用 awesome。

cra*_*150 2

您可以使用 xscreensaver 作为壁纸,glslideshow 可以满足您的需求。尽管它有一个-root选项,但您通常需要xwinwrap才能使其正常工作:

xwinwrap -ov -fs -- \
    /usr/lib/xscreensaver/glslideshow -window-id WID -zoom 100
# location of xscreensavers may vary between distros
Run Code Online (Sandbox Code Playgroud)

-zoom选项将图像设置为填满屏幕,这样它们就不会平移。

您无法使用此解决方案手动选择图像,但您可以设置一个目录,glslideshow 将从该目录中获取随机图像(它递归到子目录)。这可以在“高级”选项卡上完成,也可以通过在主目录中xscreensaver-demo创建一个包含以下内容的文件来完成:.xscreensaver

chooseRandomImages: True
imageDirectory: /your/wallpaper/path
Run Code Online (Sandbox Code Playgroud)

有关更多自定义选项,请参阅 glscreensaver 的联机帮助页。


如果没有 xwinwrap,glslideshow 可能会做奇怪的事情,例如在使用合成(例如使用 xcompmgr)时在所有窗口上绘制。但是,当禁用合成时,根图像仅在移动时才会重绘,因此您必须设置 glslideshow 来进行连续图像转换,否则自上次重绘后窗口所在的位置将出现黑框。有时它可以工作,但使用 xwinwrap 更安全。