有没有办法在AwesomeWM上使用淡入淡出过渡效果切换壁纸?

问题描述 投票:0回答:2

这是关于在Awesome Windows Manager上切换壁纸的问题。

我想用淡入淡出的过渡效果平滑地切换我的壁纸。目前,我使用qazxsw poi API随机更改我的壁纸,这里是代码qazxsw poi的一部分。

谁能给我一点建议?我不想使用外部工具。

lua fade wallpaper awesome-wm
2个回答
1
投票

一种方式,是的,当然,但不是一个漂亮的方式。

您可以使用gears.wallpaperhttps://p.ume.ink/t/cbbM预渲染每个帧(假设在更改壁纸之前每个事件循环超过5秒,以避免延迟)。然后使用LGI Cairo API设置每个帧以及设置为30hz或60hz的Cairo composition operators

虽然没那么多工作,但绝对不简单。


1
投票

一些完全未经测试的代码可能会或可能不会有效,希望能为Emmanuel的建议提供更多细节:

gears.wallpaper

请注意,这并不像Emmanuel所建议的那样“预渲染”帧。但是,实际混合是在表面上完成的,该表面是通过来自旧墙纸的create_similar()的create_similar()创建的。因此,这不是一个cairo图像表面,而是一个cairo XCB表面和混合是在X11服务器上完成而不是很棒。这可能会或可能不会有助于加快速度......

© www.soinside.com 2019 - 2024. All rights reserved.