切换工作空间时如何消除背景闪烁?

切换工作空间时如何消除背景闪烁?

我正在compton使用i3.当启用 compton 并且根 X 窗口上有图像 (png) 时,您可以在切换工作空间时看到闪烁。

在此输入图像描述

当 compton 被禁用或根窗口为纯色时没有问题。这一切对我来说都是不能接受的。由于纯色不会引起问题,我认为使用低级工具应该可以解决问题。我已经替换了fehhsetroot没有任何改变。我也测试过xloadimage,但当启用 compton 时,它不起作用(X root 反映当前工作空间,原因未知)。 Gui 应用程序nitrogen产生相同的效果。

官方存储库似乎过于超载,问题需要等待数月才能得到答复。康普顿与 i3(或任何其他轻量级 wm)是相当流行的无泪决定,我不认为人们不设置壁纸或忽略这些烦人的事情。我使用以下命令启动 compton (v0.1_beta2.5)。

compton --daemon \
--config /dev/null \
--vsync opengl-swc \
--xrender-sync \
--xrender-sync-fence \
--fading \
--fade-in-step 0.2 \
--fade-out-step 0.2 \
--unredir-if-possible \
--paint-on-overlay \
--backend glx

禁用褪色并不能解决问题。

答案1

自从 Picom 进行此转换以来,我一直使用 Picom 而不是 Compton,但无论如何,这也应该适用于 Compton。

将此行添加到配置中~/.config/picom/picom.conf应该可以解决问题:

# Fix background flickering during workspace switching
fading = true; # Fade windows during opacity changes
fade-delta = 50; # The time between steps in a fade in milliseconds
fade-in-step = 1; # Opacity change between steps while fading in
fade-out-step = 1; # Opacity change between steps while fading out

参考问题

答案2

那是很久以前的事了,我不想深入研究它,因为这个问题不再困扰我,但由于@Barnercart做了一些研究,我决定用 i3 测试它。虽然这些设置没有闪烁,但我不想接受答案,因为它包含不必要的配置。启用衰落并将 fade-*-step 设置为 1 没有任何意义,这基本上意味着根本没有衰落。因此,该问题的正确答案是禁用淡入淡出(默认情况下)。如果@Barnercart 不介意改变他的答案,那么我会接受。

对于那些喜欢淡入淡出的人,我建议使用不同的窗口管理器,例如 dwm。解决方案在于其有关窗口管理的逻辑。 IIRC,i3 调用 X11 来隐藏看不见的窗口,迫使合成器应用淡入淡出,而 dwm 将它们移出屏幕。这就是为什么当切换工作区时,我们在窗口后面看不到任何东西,因为它的不透明度没有改变。

相关内容