전환 사이에 feh가 페이드 아웃되도록 하는 방법이 있습니까?

전환 사이에 feh가 페이드 아웃되도록 하는 방법이 있습니까?

데스크탑 배경화면을 자르는 대신 전환 사이에 희미하게 만들고 싶습니다. feh로 할 수 있는 방법이 있나요? 아마도 xcompmgr이나 compton을 사용할 수 있을까요?

그렇지 않은 경우 다른 wm으로 변경하지 않고 이를 수행할 수 있는 방법이 있습니까? 지금은 굉장한 것을 사용하고 있습니다.

답변1

xscreensaver를 배경화면으로 사용할 수 있으며, glslideshow는 귀하의 요구를 충족시킬 수 있습니다. 옵션 이 있지만 -root일반적으로 다음이 필요합니다.xwinwrap작동하게 하려면:

xwinwrap -ov -fs -- \
    /usr/lib/xscreensaver/glslideshow -window-id WID -zoom 100
# location of xscreensavers may vary between distros

-zoom옵션은 이미지가 화면을 가득 채우도록 설정하여 패닝되지 않습니다.

이 솔루션을 사용하면 이미지를 수동으로 선택할 수 없지만 glslideshow가 임의의 이미지를 가져오는 디렉터리를 설정할 수 있습니다(하위 디렉터리로 반복됨). 이 작업은 고급 탭에서 수행하거나 xscreensaver-demo홈 디렉터리에 다음 내용이 포함된 파일을 생성하여 수행할 수 있습니다..xscreensaver

chooseRandomImages: True
imageDirectory: /your/wallpaper/path

더 많은 사용자 정의 옵션을 보려면 glscreensaver 맨페이지를 참조하세요.


xwinwrap이 없으면 glslideshow는 합성을 사용할 때(예: xcompmgr 사용) 모든 창에 그리는 등 이상한 작업을 수행할 수 있습니다. 그러나 합성이 비활성화되면 루트 이미지는 이동될 때만 다시 그려지므로 연속 이미지 전환을 수행하도록 glslideshow를 설정해야 합니다. 그렇지 않으면 마지막 다시 그리기 이후 창이 있었던 위치에 검은색 상자가 표시됩니다. 때로는 작동하지만 xwinwrap을 사용하는 것이 더 안전합니다.

답변2

추가하면imagemagick방정식에 대입하면 귀하의 질문에 대한 답은 다음과 같습니다.예.다음은 다소 조잡한 구현입니다.

mv current.bg old.bg
imagemagick convert old.bg -fill black -colorize 50% transition.bg
feh --bg-scale transition.bg
imagemagick convert new.bg -fill black -colorize 50% transition.bg
feh --bg-scale transition.bg
feh --bg-scale new.bg
mv new.bg current.bg

그래도 imagemagick선택의 폭이 꽤 넓습니다.

관련 정보