Nitrogenで壁紙を自動的に変更

「タイル型ウィンドウマネージャー」を使っている方は何人いますか?しばらくすると壁紙が退屈してしまいますか? 単純な壁紙を変更できるようにするために再コンパイルする必要があること、または「窒素」を再実行して別のパラメーターをそれに渡すことさえ、非常に面倒です。

さて、今日私はあなたにbashのスクリプトを持ってきます、それは私たちのコレクションからランダムな画像を取得し、それを壁紙として置きます 窒素の壁紙を変更する、からスクリプトをダウンロードする場合 ここで ファイルから.txt拡張子を削除し、実行権限を付与することを忘れないでください

ディレクトリ=〜/画像関数my_resolution(){res = `xrandr | grep '*' | grep -o -E '[0-9] + x [0-9] +' `my_high =` echo "$ res" | cut -d "x" -f 2` my_width = `echo" $ res "| cut -d "x" -f 1`} function rand_image(){image = `ls -1 -b -R" $ディレクトリ "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | sort --random-sort | head -1` image_dir = `find" $ directory "-iname" $ image "`} function image_resolution(){rand_image high_image = `identify -format"%h "" $ image_dir "` wide_image = `identify -format" %w "" $ image_dir "`}関数の比率(){my_resolution image_resolution height_proportion = `echo $ image_high / $ my_high | bc -l` ratio_width =` echo $ image_width / $ my_width | bc -l`}関数scalar(){比率if [`echo" $ ratio_high> 1 "| bc` -eq 1 -o` echo" $ ratio_width> 1 "| bc` -eq 1]; 次に、窒素--set-zoom "$ image_dir" else窒素--set-centered "$ image_dir" fi} scale exit

次に、スクリプトの説明があります。
ディレクトリ=〜/画像 //壁紙が配置されているディレクトリに移動します

image_resolution() //この関数は、モニターの解像度を検出し、それを変数に保存します。
my_high //高い
my_width //幅

rand_image() //この関数は«ディレクトリ»内の画像を取得します

image = `ls -1 -b -R" $ディレクトリ "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | 並べ替え–ランダム並べ替え| 頭-1`

重要! 「拡張子」が.png、.jpg、.jpegのすべてのファイルをフィルタリングしていることに気付いた場合。 必要に応じて-e ".extension"を追加します。

例:

imagen=`ls -1 -b -R "$directorio" | grep -i -e ".png" -e ".jpg" -e ".jpeg" -e ".nueva_extensión" | sort --random-sort | head -1`

image_resolution() //この関数は、rand_image()関数によって取得された画像の解像度を取得します

割合() //この関数は、image_resolution / screen_resolutionの比率を取得します

登る() //この関数は、画像がモニターの解像度よりも大きい場合に画像を拡大縮小し、壁紙を設定します

ランダムな壁紙を窒素に割り当てるスクリプトができたので(そして画像がモニターに適応します)、スクリプトを頻繁に実行するだけで済みます。これは、起動時に次のコマンドを実行することで実現されます。

watch -n 4 ruta_donde_se_encuentra_el_script/nombre_del_script

この場合、このコマンドは4秒ごとに実行されます。path_where_the_script_is_foundはスクリプトが配置されているフルパスであり、script_nameはスクリプトに付けられた名前であることに注意してください。

お役に立てば幸いです。