Automatski promijenite pozadinu dušikom

Koliko vas koristi „Upravitelj prozora za popločavanje pločica“ i sigurno će nam nakon nekog vremena dosaditi naša tapeta? Vrlo je neugodno morati ponovno sastaviti da biste mogli promijeniti jednostavnu pozadinu ili čak ponovno pokrenuti "dušik" i prenijeti mu drugi parametar.

Pa, danas vam donosim skriptu na bashu, ona dobiva slučajnu sliku iz naše kolekcije i stavlja je kao pozadinu Promijenite pozadinu dušika, ako preuzmete skriptu s ovdje ne zaboravite ukloniti .txt ekstenziju iz datoteke i dati joj dopuštenja za izvršavanje

direktorij = ~ / slika funkcija 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 "| izrezati -d "x" -f 1`} funkcija rand_image () {image = `ls -1 -b -R" $ direktorij "| 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 "`} omjer funkcije () {my_resolution image_resolution high_rate = `echo $ high_image / $ my_high | bc -l` width_proportion =` echo $ image_width / $ my_width | bc -l`} skalar funkcije () {omjer ako [`echo" $ height_rate> 1 "| bc` -eq 1 -o` echo" $ width_rate> 1 "| bc` -eq 1]; zatim dušik --set-zoom "$ image_dir" ostalo dušik - set-centrirano "$ image_dir" fi} skala izlaz

Sada dolazi objašnjenje scenarija.
direktorij = ~ / Slike // Promijenite u direktorij u kojem se nalaze vaše pozadine

image_resolution () // Ova funkcija otkriva razlučivost našeg monitora i sprema je u varijable:
moj_visoko // Visoko
moja_širina //Širina

slika_randa () // Ova funkcija dobiva sliku unutar "direktorija"

slika = `ls -1 -b -R" $ direktorij "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | sortiraj –naključno-sortiraj | glava -1`

VAŽNO! Ako primijetite da filtriramo sve datoteke s "nastavkom" .png, .jpg, .jpeg. Po potrebi dodajte -e ".extention".

primjer:

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 () // Ova funkcija dobiva razlučivost slike dobivenu funkcijom rand_image ()

proporcija () // Ova funkcija dobiva omjer image_resolution / screen_resolution

uspon () // Ova funkcija skalira sliku ako je veća od razlučivosti našeg monitora i postavlja pozadinu

Sada kada imamo skriptu za dodjeljivanje nasumičnih pozadina dušiku (a također se i slika prilagođava vašem monitoru), skriptu moramo pokretati svako toliko često, to se postiže izvršavanjem sljedeće naredbe na početku

watch -n 4 ruta_donde_se_encuentra_el_script/nombre_del_script

U ovom se slučaju ova naredba izvršava svake 4 sekunde, imajte na umu da je path_where_the_script_is_found puna staza na kojoj se skripta nalazi, a script_name ime koje je dato skripti.

Nadam se da će vam biti korisna.


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   KZKG ^ Gaara dijo

    Provjerit ću ovaj dušik za KDE skriptu koju želim napraviti :)
    Inače dobar post ... hahahaha, izvrsna fotografija koju ste izabrali za post (Snoopy's LOL !!!)

    1.    alpj dijo

      Jjajajajjajajaja hvala, zaista snoopy tombola, hahajjajajajajajaj

  2.   st0rmt4il dijo

    Hvala vam..

  3.   ŠIRINA dijo

    hvala

  4.   ferhmetal dijo

    hvala ti!

  5.   izzyvp dijo

    Ovo ne uspijeva za cimet, zar ne?

    1.    alpj dijo

      Nemam pojma kako promijeniti pozadinu u cimetu, ali sigurno je da funkcija rand_image radi tako da dobijete slučajnu sliku, pa je jednostavno morate proslijediti $ dir_image
      Dopustite mi da istražim

  6.   + AMEM + dijo

    Hvala vam, malo sam ga modificirao za buduće generacije ... Nadam se da se nećete truditi
    Volio bih znati što mislite, ne znam puno o jeziku

    #! / bin / bash

    # ~ Izvorni autor
    #~
    # ~ halonsov: Matematičar, ljubitelj GNU / LINUX-a, programer, korisnik Debiana i xmonada.
    #~
    # ~ Reference
    #~ https://blog.desdelinux.net/cambiar-automaticamente-el-fondo-de-pantalla-con-nitrogen/
    #~
    # ~ Naredba za pokretanje skripte svakih 120 sekundi
    # ~ watch -n 120 /home/amem/backup/DataCrunch/Synaptic/RandomWallpaper.sh
    #~
    # ~ Suradnja
    # ~ + AMEM +
    # ~ Osobno ga više volim koristiti samo jednom kako ne bih koristio prostor
    # ~ dodavanje u autostart.sh
    # ~ /home/amem/backup/DataCrunch/Synaptic/RandomWallpaper.sh &
    # ~ Osobna bilješka
    # ~ ovu skriptu izvorno je izradio halonsov.
    # ~ Izmijenio sam ga tako da ga samo malo, da ga izvedem na početku #CrunchBang!
    # ~ svrha je da ih možete vidjeti sve one slike koje imate na disku
    # ~ svako toliko, i da se prilagode zaslonu u skladu sa svojim svojstvima.
    # ~ za ovo ova skripta identificira karakteristike vašeg monitora,
    # ~ i one sa slike ili fotografije iz vašeg «direktorija»,
    # ~ kako bi se izveo dušik + izbjegavanje parametra skaliranja ili zumiranja
    # ~ izdužene, pikselizirane slike.
    # ~ Ako ova skripta ne odgovara vašim potrebama, možete izmijeniti njene parametre
    # ~ Npr. Dušik - usredotočen na skup
    # ~ za centriranje slike bez skaliranja
    # ~ Preporučujem vam da proučite priručnik za dušik.

    #Imenik
    #Direktorij slika koje će se koristiti kao pozadina, uključujući poddirektorijume
    #Promijenite se u direktorij u kojem se nalaze vaše pozadine
    # Npr. Direktorij = / home / ... / images
    direktorij = / home / amem / images / Wallpaper

    # Razlučivost monitora
    # Ova funkcija otkriva razlučivost našeg monitora i sprema je u varijable:
    funkcija my_resolution ()
    {
    # Rezoluciju svog monitora dobivamo s xrandr
    res = `xrandr | grep '*' | grep -o -E '[0-9] + x [0-9] +' `
    # Visina monitora
    my_high = `echo" $ res "| izrezati -d "x" -f 2`
    # Širina monitora
    my_width = `echo" $ res "| izrezati -d "x" -f 1`
    }

    #Slučajna slika
    # Ova funkcija dobiva sliku unutar "direktorija"
    funkcija rand_image ()
    {
    # Dobivamo ime neke slike unutar $ direktorija
    slika = `ls -1 -b -R" $ direktorij "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | sortiraj –naključno-sortiraj | glava -1`

    #VAŽNO! Ako primijetite da filtriramo sve datoteke s "nastavkom" .png, .jpg, .jpeg. Po potrebi dodajte -e ".extention".
    #Primjer:
    # image = `ls -1 -b -R" $ direktorij "| grep -i -e ".png" -e ".jpg" -e ".jpeg" -e ".novo_proširenje" | sortiraj –naključno-sortiraj | glava -1`

    # Dobivamo put do $ image
    image_dir = `pronađi" $ direktorij "-iname" $ ​​image "`
    }

    # Razlučivost slike
    # Ova funkcija dobiva razlučivost slike dobivenu funkcijom rand_imagen ()
    funkcija image_resolution ()
    {
    slika_randa
    # Dobivamo visinu $ image
    high_image = `identificiraj -format"% h "" $ image_dir "`
    # Dobivamo širinu $ image
    image_width = `identificiraj -format"% w "" $ image_dir "`
    }

    # Dobivamo omjer image_resolution / screen_resolution
    # rezultat ove podjele vraća vrijednost veću ili manju od 1
    # proporcija 1 slika je veća od zaslona
    udio funkcije ()
    {
    moja_resolucija
    image_resolution
    ratio_high = `echo $ image_high / $ my_high | bc -l`
    width_proportion = `eho $ width_image / $ my_width | bc -l`
    }

    # Dobivamo omjer slike_visoke / širine slike
    # rezultat ove podjele vraća vrijednost veću ili manju od 1; Osim ako je slika kvadratna Oo
    # image_proportion 1 slika je viša nego što je široka
    omjer funkcije slike ()
    {
    image_resolution
    ratio_image_reason = `echo $ tall_image / $ wide_image | bc -l`
    }

    # Postavite pozadinu
    # Ova funkcija mijenja parametre dušika u skladu sa svojstvima slike u odnosu na monitor
    # Slika previsoka ili veća od našeg zaslona Postavlja pozadinu skaliranjem slike
    # –Set-centrirano centrira sliku bez skale
    # –Set-scaled ispunjava zaslon iskrivljenom slikom
    # –Set-zoom ispunjava zaslon umanjenom slikom do vrha
    # –Set-zoom-fill ispunjava zaslon umanjenom slikom
    skalarna funkcija ()
    {
    razmjer
    if [`echo" $ width_proportion> 1 ″ | bc` -eq 1]; zatim
    #Ako je razlučivost slike veća od one na našem zaslonu, izvršite ...
    dušik –prilagoden "$ image_dir"
    drugo
    if [`echo" $ high_rate> 1 ″ | bc` -eq 1]; zatim
    #Ako je razlučivost slike manja od one na našem zaslonu, izvršite ...
    dušik - usredotočen na skup "$ image_dir"
    drugo
    # Kad je slika manja od zaslona, ​​možemo je proširiti na duljinu ili širinu
    proporcija slike
    if [`echo« $ proportionimage_reason> 1 ″ | bc` -eq 1]; zatim
    #Ako je visina slike manja od visine našeg zaslona, ​​izvršite ...
    dušik –set-zum "$ image_dir"
    drugo
    if [`echo« $ proportionimage_reason <1 "| bc` -eq 1]; tada
    #Ako je širina slike manja od širine našeg zaslona, ​​izvršite ...
    dušik –postavi-zum-ispuni "$ image_dir"
    fi
    fi
    fi
    fi
    }

    popeti se

    izlaz

    1.    Halonsus V dijo

      Izvrsno. Hvala vam.