Samodejno zamenjajte ozadje z dušikom

Koliko od vas uporablja "Upravitelj oken za polaganje ploščic" in nas zagotovo čez nekaj časa naša ozadja dolgočasi? Zelo nadležno je, da je treba ponovno sestaviti, da lahko spremenite preprosto ozadje ali celo znova zaženete "dušik" in mu prenesete drug parameter.

No, danes vam prinašam skript v bash, iz naše zbirke dobi naključno sliko in jo postavi kot ozadje Spremenite ozadje dušika, če prenesete skript iz tukaj ne pozabite odstraniti končnice .txt iz datoteke in ji dati dovoljenja za izvajanje

directory = ~ / Slikovna 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 "| cut -d "x" -f 1`} funkcija rand_image () {image = `ls -1 -b -R" $ directory "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | sort --random-sort | head -1` image_dir = `najdi" $ directory "-iname" $ ​​image "`} funkcija image_resolution () {rand_image high_image = `identify -format"% h "" $ image_dir "` wide_image = `identify -format" % w "" $ image_dir "`} delež funkcije () {my_resolution image_resolution height_rate = `echo $ image_high / $ my_high | bc -l` proportion_width =` echo $ image_width / $ my_width | bc -l`} funkcijski skalar () { razmerje, če [`echo" $ ratio_high> 1 "| bc` -eq 1 -o` echo" $ ratio_width> 1 "| bc` -eq 1]; nato dušik --set-zoom "$ image_dir" else dušik - set-centrirano "$ image_dir" fi} lestvica izhod

Zdaj sledi razlaga scenarija.
imenik = ~ / Slike // Preklopite v imenik, v katerem so ozadja

image_resolution () // Ta funkcija zazna ločljivost našega monitorja in jo shrani v spremenljivke:
my_high // Visoko
moja_širina //Premer

rand_image () // Ta funkcija dobi sliko znotraj "imenika"

image = `ls -1 -b -R" $ imenik "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | razvrsti –naključno-razvrsti | glava -1`

POMEMBNO! Če opazite, da filtriramo vse datoteke s pripono .png, .jpg, .jpeg. Po potrebi dodajte -e ".extention".

Primer:

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 () // Ta funkcija pridobi ločljivost slike, pridobljene s funkcijo rand_image ()

delež () // Ta funkcija dobi razmerje image_resolution / screen_resolution

vzpon () // Ta funkcija prilagodi sliko, če je večja od ločljivosti našega monitorja, in nastavi ozadje

Zdaj, ko imamo skript za dodeljevanje naključnih ozadij dušiku (in tudi slika se prilagodi vašemu monitorju), moramo le, da se skript zažene vsake toliko časa, to dosežemo z naslednjim ukazom ob zagonu

watch -n 4 ruta_donde_se_encuentra_el_script/nombre_del_script

V tem primeru se ta ukaz izvrši vsake 4 sekunde. Upoštevajte, da je path_where_the_script_is_found celotna pot, kjer se skript nahaja, in script_name je ime, ki je bilo dano skriptu.

Upam, da se vam zdi koristen.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.

  1.   KZKG ^ Gaara je dejal

    Ta dušik bom preveril za skript KDE, ki ga želim narediti :)
    Sicer dobra objava ... hahahaha, odlična fotografija, ki ste jo izbrali za objavo (Snoopy's LOL !!!)

    1.    alpj je dejal

      Jjajajajjajajaja hvala, res snoopy tombola, hahajjajajajjajaj

  2.   st0rmt4il je dejal

    Hvala vam..

  3.   PREMER je dejal

    hvala

  4.   fermetal je dejal

    hvala!

  5.   izzyvp je dejal

    To ne deluje pri cimetu, kajne?

    1.    alpj je dejal

      Nimam pojma, kako spremeniti ozadje v cimetu, toda gotovo je, da funkcija rand_image deluje tako, da dobite naključno sliko, zato jo morate preprosto poslati $ dir_image
      Naj raziščem

  6.   + AMEM + je dejal

    Hvala, nekoliko sem jo spremenil za prihodnje generacije ... Upam, da se ne motite
    Rad bi vedel, kaj misliš, o jeziku ne vem veliko

    #! / Bin / bash

    # ~ Prvotni avtor
    #~
    # ~ halonsov: matematik, ljubitelj GNU / LINUX, programer, uporabnik Debiana in xmonad.
    #~
    # ~ Reference
    #~ https://blog.desdelinux.net/cambiar-automaticamente-el-fondo-de-pantalla-con-nitrogen/
    #~
    # ~ Ukaz za zagon skripta vsakih 120 sekund
    # ~ watch -n 120 /home/amem/backup/DataCrunch/Synaptic/RandomWallpaper.sh
    #~
    # ~ Sodelovanje
    # ~ + AMEM +
    # ~ Osebno ga raje uporabljam le enkrat, da ne bi uporabljal prostora
    # ~ dodajanje v autostart.sh
    # ~ /home/amem/backup/DataCrunch/Synaptic/RandomWallpaper.sh &
    # ~ Osebna nota
    # ~ je ta skript prvotno izdelal halonsov.
    # ~ Spremenil sem ga tako, da sem ga le malce zagnal na začetku #CrunchBang!
    # ~ namen je, da jih vidite vse slike, ki jih imate na disku
    # ~ vsake toliko in da se prilagodijo zaslonu glede na njihove lastnosti.
    # ~ za to ta skript določa značilnosti vašega monitorja,
    # ~ in slike slike ali fotografije vašega «imenika»,
    # ~ za izvajanje dušika + izogibanje parametru skaliranja ali povečave
    # ~ podolgovate, pikselirane slike.
    # ~ Če ta skript ne ustreza vašim potrebam, lahko spremenite njegove parametre
    # ~ Npr. Dušik - v središču
    # ~ za centriranje slike brez spreminjanja merila
    # ~ Priporočam, da preučite priročnik za dušik.

    #Directory
    # Imenik slik za ozadje, vključno z podimeniki
    # Preklopite v imenik, v katerem so ozadja
    # Npr. Direktorij = / home /… / images
    directory = / home / amem / images / Wallpaper

    # Ločljivost monitorja
    # Ta funkcija zazna ločljivost našega monitorja in jo shrani v spremenljivke:
    funkcija my_resolution ()
    {
    # Ločljivost našega monitorja dobimo z xrandr
    res = `xrandr | grep '*' | grep -o -E '[0-9] + x [0-9] +' "
    # Višina monitorja
    my_high = `odmev" $ res "| cut -d "x" -f 2`
    # Nadzirajte širino
    my_width = `echo" $ res "| cut -d "x" -f 1`
    }

    # Naključna slika
    #Ta funkcija dobi sliko v "imeniku"
    funkcija rand_image ()
    {
    # V imeniku $ dobimo ime neke slike
    image = `ls -1 -b -R" $ imenik "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | razvrsti –naključno-razvrsti | glava -1`

    # POMEMBNO! Če opazite, da filtriramo vse datoteke s pripono .png, .jpg, .jpeg. Po potrebi dodajte -e ".extention".
    #Primer:
    # image = `ls -1 -b -R" $ imenik "| grep -i -e ".png" -e ".jpg" -e ".jpeg" -e ".ne__ Extension" | razvrsti –naključno-razvrsti | glava -1`

    # Dobimo pot $ image
    image_dir = `poišči" $ directory "-iname" $ ​​image "`
    }

    # Ločljivost slike
    # Ta funkcija pridobi ločljivost slike, pridobljene s funkcijo rand_imagen ()
    funkcija image_resolution ()
    {
    rand_image
    # Dobimo višino $ image
    high_image = `identificiraj -format"% h "" $ image_dir "`
    # Dobimo širino $ image
    wide_image = `identificiraj -format"% w "" $ image_dir "`
    }

    # Dobimo razmerje image_resolution / screen_resolution
    # rezultat te delitve vrne vrednost, večjo ali manjšo od 1
    # proportion 1 slika je večja od zaslona
    delež funkcije ()
    {
    moja_resolucija
    image_resolution
    ratio_high = `echo $ image_high / $ my_high | bc -l`
    width_proportion = `echo $ width_image / $ my_width | bc -l`
    }

    # Dobimo razmerje image_high / image_width
    # rezultat te delitve vrne vrednost, večjo ali manjšo od 1; Razen, če je slika kvadratna Oo
    # image_proportion 1 slika je višja kot široka
    razmerje slike slike ()
    {
    image_resolution
    ratio_image_reason = `echo $ tall_image / $ wide_image | bc -l`
    }

    # Nastavite ozadje
    # Ta funkcija spreminja parametre dušika glede na lastnosti slike glede na monitor
    #Image previsoka ali večja od našega zaslona Nastavi ozadje s skaliranjem slike
    # –Set-centrirano centrira sliko brez merila
    # –Set-scaled napolni zaslon z ukrivljeno sliko
    # –Set-zoom napolni zaslon s pomanjšano sliko do vrha
    # –Set-zoom-fill zapolni zaslon s pomanjšano sliko
    skalarna funkcija ()
    {
    razmerje
    if [`echo" $ width_proportion> 1 ″ | bc` -eq 1]; potem
    # Če je ločljivost slike večja od ločljivosti našega zaslona, ​​izvedite ...
    dušik - nastavljen na "$ image_dir"
    ostalo
    if [`echo" $ high_rate> 1 ″ | bc` -qq 1]; potem
    # Če je ločljivost slike manjša od ločljivosti našega zaslona, ​​izvedite ...
    dušik - nastavljen na "$ image_dir"
    ostalo
    # Kadar je slika manjša od zaslona, ​​jo lahko razširimo na dolžino ali širino
    razmerje slike
    if [`echo« $ proportionimage_reason> 1 ″ | bc` -qq 1]; potem
    # Če je višina slike manjša od višine našega zaslona, ​​izvedite ...
    dušik –nastavi-povečavo "$ image_dir"
    ostalo
    if [`echo« $ proportionimage_reason <1 "| bc` -eq 1]; potem
    # Če je širina slike manjša od širine našega zaslona, ​​izvedite ...
    dušik –set-zoom-fill "$ image_dir"
    fi
    fi
    fi
    fi
    }

    vzpenjati

    izhod

    1.    Halonsus V je dejal

      Odlično. Hvala vam.