デスクトップの壁紙を切り取るのではなく、切り替え間に薄暗くしたいと思います。 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
選択の幅はかなり広いです。