Ubah wallpaper secara otomatis dengan Nitrogen

Berapa banyak dari Anda yang menggunakan "Tiling window manager" dan tentunya setelah beberapa saat wallpaper kami membuat kami bosan? Sangat menjengkelkan harus mengkompilasi ulang untuk dapat mengubah wallpaper sederhana, atau bahkan menjalankan kembali "nitrogen" dan memberikan parameter lain padanya.

Nah hari ini saya membawakan Anda skrip di bash, itu memperoleh gambar acak dari koleksi kami dan meletakkannya sebagai wallpaper Ubah Wallpaper Nitrogen, jika Anda mengunduh skrip dari di sini jangan lupa untuk menghapus ekstensi .txt dari file tersebut dan berikan izin eksekusi

direktori = ~ / Gambar fungsi 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`} fungsi rand_image () {image = `ls -1 -b -R" $ directory "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | sort --random-sort | head -1` image_dir = `temukan" $ directory "-iname" $ ​​image "`} function image_resolution () {image_rand high_image = `identifikasikan -format"% h "" $ image_dir "` wide_image = `identifikasikan -format" % w "" $ image_dir "`} proporsi fungsi () {my_resolution image_resolution height_proportion = `echo $ image_high / $ my_high | bc -l` proporsi_width =` echo $ image_width / $ my_width | bc -l`} function scalar () { proporsi jika [`echo" $ ratio_high> 1 "| bc` -eq 1 -o` echo" $ ratio_width> 1 "| bc` -eq 1]; lalu keluar skala nitrogen --set-zoom "$ image_dir" else nitrogen --set-centered "$ image_dir" fi}

Sekarang sampai pada penjelasan naskahnya.
direktori = ~ / Gambar // Ubah ke direktori tempat wallpaper Anda berada

resolusi gambar () // Fungsi ini mendeteksi resolusi monitor kita, dan menyimpannya dalam variabel:
my_high //Tinggi
my_width //Lebar

rand_image () // Fungsi ini mendapatkan gambar di dalam «direktori»

gambar = `ls -1 -b -R" $ direktori "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | sort –random-sort | kepala -1`

PENTING! Jika Anda perhatikan kami memfilter semua file dengan "ekstensi" .png, .jpg, .jpeg. Tambahkan -e ".extension" yang sesuai.

Contoh:

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

resolusi gambar () // Fungsi ini memperoleh resolusi gambar yang diperoleh dengan fungsi rand_image ()

proporsi() // Fungsi ini mendapatkan rasio image_resolution / screen_resolution

mendaki() // Fungsi ini menskalakan gambar jika lebih besar dari resolusi monitor kami dan mengatur wallpaper

Sekarang kita memiliki skrip untuk menetapkan wallpaper acak ke nitrogen (dan juga gambar menyesuaikan dengan monitor Anda), kita hanya perlu membuat skrip berjalan sesekali, ini dicapai dengan menjalankan perintah berikut saat memulai

watch -n 4 ruta_donde_se_encuentra_el_script/nombre_del_script

Dalam hal ini, perintah ini dijalankan setiap 4 detik, perhatikan bahwa path_where_the_script_is_found adalah jalur lengkap tempat skrip berada dan nama_krip adalah nama yang diberikan ke skrip.

Semoga bermanfaat bagi Anda.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.

  1.   KZKG ^ Gaara dijo

    Saya akan memeriksa Nitrogen ini untuk skrip KDE yang ingin saya lakukan :)
    Jika tidak, pos yang bagus ... hahahaha, foto luar biasa yang telah Anda pilih untuk pos tersebut (Snoopy LOL !!!)

    1.    alpj dijo

      Terimakasih Jjajajajjajajaja memang snoopy undian hahajjajajajjajaj

  2.   st0rmt4il.dll dijo

    Terima kasih ..

  3.   LEBAR dijo

    terima kasih

  4.   ferchmetal.dll dijo

    Terima kasih!

  5.   izzyvp.dll dijo

    Ini tidak bekerja untuk kayu manis kan?

    1.    alpj dijo

      Saya tidak tahu cara mengganti wallpaper di kayu manis, tetapi yang pasti adalah fungsi rand_image berfungsi untuk Anda mendapatkan gambar acak, jadi Anda hanya perlu meneruskannya $ dir_image
      Biar saya selidiki

  6.   + AMEM + dijo

    Terima kasih saya telah mengubahnya sedikit untuk generasi mendatang ... Saya harap Anda tidak repot
    Saya ingin tahu apa yang Anda pikirkan, saya tidak tahu banyak tentang bahasanya

    #! / bin / bash

    # ~ Penulis asli
    #~
    # ~ halonsov: Ahli matematika, pecinta GNU / LINUX, programmer, Debian dan pengguna xmonad.
    #~
    # ~ Referensi
    #~ https://blog.desdelinux.net/cambiar-automaticamente-el-fondo-de-pantalla-con-nitrogen/
    #~
    # ~ Perintah untuk menjalankan skrip setiap 120 detik
    # ~ tonton -n 120 /home/amem/backup/DataCrunch/Synaptic/RandomWallpaper.sh
    #~
    # ~ Kolaborasi
    # ~ + AMEM +
    # ~ Secara pribadi saya lebih suka menggunakannya hanya sekali agar tidak menggunakan ruang
    # ~ menambahkan autostart.sh
    # ~ /home/amem/backup/DataCrunch/Synaptic/RandomWallpaper.sh &
    # ~ Catatan pribadi
    # ~ Skrip ini aslinya dibuat oleh halonsov.
    # ~ Saya memodifikasinya sehingga hanya sedikit, untuk mengeksekusinya di awal #CrunchBang!
    # ~ Tujuannya adalah agar semua gambar yang Anda miliki di disk Anda dapat melihatnya
    # ~ sesekali, dan mereka menyesuaikan ke layar sesuai dengan propertinya.
    # ~ untuk ini skrip ini mengidentifikasi karakteristik monitor Anda,
    # ~ dan gambar atau foto dari «direktori» Anda,
    # ~ untuk mengeksekusi nitrogen + menghindari penskalaan atau parameter zoom
    # ~ gambar memanjang dan berpiksel.
    # ~ Jika skrip ini tidak sesuai dengan kebutuhan Anda, Anda dapat mengubah parameternya
    # ~ Misalnya nitrogen -pusat-set
    # ~ untuk memusatkan gambar tanpa penskalaan
    # ~ Saya sarankan Anda mempelajari manual nitrogen.

    #Direktori
    #Directory of images that will be used as wallpaper, include subdirectories
    #Ubah ke direktori tempat wallpaper Anda berada
    # Misalnya direktori = / home /… / images
    direktori = / home / amem / images / Wallpaper

    # Resolusi monitor
    #Fungsi ini mendeteksi resolusi monitor kami, dan menyimpannya dalam variabel:
    function my_resolution ()
    {
    #Kami mendapatkan resolusi monitor kami dengan xrandr
    res = `xrandr | grep '*' | grep -o -E '[0-9] + x [0-9] +' `
    #Tinggi monitor
    my_high = `echo" $ res "| potong -d "x" -f 2`
    # Lebar monitor
    my_width = `echo" $ res "| potong -d "x" -f 1`
    }

    #Random Image
    #Fungsi ini mendapatkan gambar di dalam "direktori"
    function rand_image ()
    {
    #Kita mendapatkan nama dari beberapa gambar di dalam $ direktori
    gambar = `ls -1 -b -R" $ direktori "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | sort –random-sort | kepala -1`

    #PENTING! Jika Anda perhatikan kami memfilter semua file dengan "ekstensi" .png, .jpg, .jpeg. Tambahkan -e ".extension" yang sesuai.
    #Contoh:
    # image = `ls -1 -b -R" $ directory "| grep -i -e ".png" -e ".jpg" -e ".jpeg" -e ".new_extension" | sort –random-sort | kepala -1`

    #Kita mendapatkan jalur $ image
    image_dir = `temukan" $ directory "-iname" $ ​​image "`
    }

    # Resolusi gambar
    # Fungsi ini mendapatkan resolusi gambar yang diperoleh dengan fungsi rand_imagen ()
    function image_resolution ()
    {
    rand_image
    #Kita mendapatkan tinggi $ image
    high_image = `identifikasi -format"% h "" $ image_dir "`
    #Kita mendapatkan lebar $ image
    wide_image = `identifikasi -format"% w "" $ image_dir "`
    }

    #Kita mendapatkan rasio image_resolution / screen_resolution
    # hasil dari pembagian ini mengembalikan nilai yang lebih besar atau kurang dari 1
    # Proporsi 1 gambar lebih besar dari layar
    proporsi fungsi ()
    {
    my_resolution
    resolusi gambar
    rasio_high = `echo $ image_high / $ my_high | bc -l`
    width_proportion = `echo $ width_image / $ my_width | bc -l`
    }

    #Kita mendapatkan rasio image_high / image_width
    # hasil pembagian ini mengembalikan nilai yang lebih besar atau kurang dari 1; Kecuali jika gambarnya persegi Oo
    # image_proportion 1 gambar lebih tinggi daripada lebarnya
    proporsi gambar fungsi ()
    {
    resolusi gambar
    ratio_image_rate = `echo $ tall_image / $ wide_image | bc -l`
    }

    #Setel wallpaper
    # Fungsi ini mengubah parameter nitrogen sesuai dengan properti gambar yang terkait dengan monitor
    #Gambar terlalu tinggi atau lebih besar dari layar kita Mengatur wallpaper dengan menskalakan gambar
    # –Pusat-set memusatkan gambar yang tidak diskalakan
    # –Set-skala memenuhi layar dengan gambar yang melengkung
    # –Set-zoom memenuhi layar dengan gambar yang diperkecil ke atas
    # –Set-zoom-fill mengisi layar dengan gambar yang diperkecil
    fungsi skalar ()
    {
    proporsi
    jika [`echo" $ width_proportion> 1 ″ | bc` -eq 1]; kemudian
    # Jika resolusi gambar lebih besar dari layar kami, jalankan ...
    nitrogen –set-scale "$ image_dir"
    lain
    jika [`echo" $ high_rate> 1 ″ | bc` -eq 1]; kemudian
    # Jika resolusi gambar lebih kecil dari layar kami, jalankan ...
    nitrogen –set-centered "$ image_dir"
    lain
    #Ketika gambar lebih kecil dari layar, kami dapat memperluasnya menjadi panjang atau lebar
    proporsi gambar
    jika [`echo« $ proporsiimage_reason> 1 ″ | bc` -eq 1]; kemudian
    # Jika tinggi gambar lebih kecil dari layar kita, jalankan ...
    nitrogen –set-zoom "$ image_dir"
    lain
    jika [`echo« $ proporsimage_reason <1 "| bc` -eq 1]; lalu
    # Jika lebar gambar lebih kecil dari layar kita, jalankan ...
    nitrogen –set-zoom-fill "$ image_dir"
    fi
    fi
    fi
    fi
    }

    memanjat

    keluar

    1.    Halonsus V dijo

      Sangat baik. Terima kasih.