Automatiškai pakeisti foną naudojant azotą

Kiek iš jūsų naudojate „Plytelių tvarkytuvę“ ir tikrai po kurio laiko mūsų tapetai mus nuobodžiauja? Labai erzina tai, kad reikia kompiliuoti, kad galėtume pakeisti paprastą ekrano užsklandą ar net paleisti „azotą“ ir perduoti jam kitą parametrą.

Na šiandien aš atnešiu jums scenarijų bash, jis gauna atsitiktinį mūsų kolekcijos vaizdą ir įdeda jį kaip foną Keisti azoto foną, jei atsisiųsite scenarijų iš čia nepamirškite iš failo pašalinti .txt plėtinį ir suteikti jam vykdyti leidimus

directory = ~ / Vaizdų funkcija my_resolution () {res = `xrandr | grep '*' | grep -o -E '[0-9] + x [0-9] +' "my_high =` aidas "$ res" | nukirpti -d "x" -f 2` my_width = `aidas" $ res "| cut -d "x" -f 1`} funkcija rand_image () {image = `ls -1 -b -R" $ katalogas "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | rūšiuoti - atsitiktinai rūšiuoti | head -1` image_dir = `rasti" $ katalogą "-iname" $ ​​image "`} funkcija image_resolution () {rand_image high_image = `identifikuoti -formatas"% h "" $ image_dir "" wide_image = `atpažinti -formatą" % w "" $ image_dir "`} funkcijos dalis () {my_resolution image_resolution height_rate = `aidas $ image_high / $ my_high | bc -l` proporcija_width =` echo $ image_width / $ my_width | bc -l`} funkcijos skaliaras () { proporcija, jei [`echo" $ height_rate> 1 "| bc` -eq 1 -o` echo" $ width_rate> 1 "| bc` -eq 1]; tada azotas - nustatykite priartinimą "$ image_dir" dar azotas - nustatykite centrą "$ image_dir" fi} skalės išėjimas

Dabar ateina scenarijaus paaiškinimas.
katalogas = ~ / Vaizdai // Pereikite į katalogą, kuriame yra jūsų fono paveikslėliai

image_resolution () // Ši funkcija aptinka mūsų monitoriaus skiriamąją gebą ir išsaugo ją kintamuosiuose:
my_high // Aukšta
my_width // Plotis

rand_image () // Ši funkcija gauna vaizdą „kataloge“

image = `ls -1 -b -R" $ katalogas "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | rūšiuoti - atsitiktinai rūšiuoti | galva -1`

SVARBU! Jei pastebėsite, kad mes filtruojame visus failus su „plėtiniu“ .png, .jpg, .jpeg. Pridėkite -e „.extension“, jei reikia.

pavyzdys:

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 () // Ši funkcija gauna vaizdo, gauto pagal rand_image () funkciją, skiriamąją gebą

proporcija () // Ši funkcija gauna santykį image_resolution / screen_resolution

lipti () // Ši funkcija keičia vaizdą, jei jis didesnis nei mūsų monitoriaus skiriamoji geba, ir nustato foną

Dabar, kai turime scenarijų, kad azotui priskirtume atsitiktinius fono paveikslėlius (ir vaizdas pritaikomas prie jūsų monitoriaus), scenarijų turime paleisti tik taip dažnai, tai pasiekiama paleidžiant šią komandą

watch -n 4 ruta_donde_se_encuentra_el_script/nombre_del_script

Tokiu atveju ši komanda vykdoma kas 4 sekundes, atkreipkite dėmesį, kad path_where_the_script_is_found yra visas kelias, kuriame yra scenarijus, ir scenarijaus pavadinimas yra scenarijui suteiktas vardas.

Tikiuosi, kad jums tai bus naudinga.


9 komentarai, palikite savo

Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.

  1.   KZKG ^ Gaara sakė

    Aš patikrinsiu, ar šiame azote nėra KDE scenarijaus, kurį noriu padaryti :)
    Kitu atveju geras įrašas ... hahahaha, puiki nuotrauka, kurią pasirinkote įrašui (Snoopy's LOL !!!)

    1.    alpj sakė

      Jjajajajjajajaja ačiū, iš tikrųjų snoopy loterija, hahahahajajajjajaj

  2.   st0rmt4il sakė

    Ačiū..

  3.   PLOTIS sakė

    Ačiū

  4.   ferchmetal sakė

    Gracias!

  5.   izzyvp sakė

    Tai netinka cinamonui, tiesa?

    1.    alpj sakė

      Neįsivaizduoju, kaip pakeisti fono paveikslėlį cinamone, bet tikras dalykas yra tas, kad funkcija rand_image jums tinka norint gauti atsitiktinį vaizdą, todėl jūs tiesiog turite jį perduoti $ dir_image
      Leisk man ištirti

  6.   + AMEM + sakė

    Ačiū, šiek tiek pakeičiau tai ateities kartoms ... tikiuosi, kad nesivarginsite
    Norėčiau žinoti, ką tu galvoji, nelabai žinau apie kalbą

    #! / bin / bash

    # ~ Originalus autorius
    #~
    # ~ halonsov: matematikas, GNU / LINUX mėgėjas, programuotojas, Debian vartotojas ir xmonad.
    #~
    # ~ Nuorodos
    #~ https://blog.desdelinux.net/cambiar-automaticamente-el-fondo-de-pantalla-con-nitrogen/
    #~
    # ~ Komanda paleisti scenarijų kas 120 sekundžių
    # ~ žiūrėti -n 120 /home/amem/backup/DataCrunch/Synaptic/RandomWallpaper.sh
    #~
    # ~ Bendradarbiavimas
    # ~ + AMEM +
    # ~ Asmeniškai aš norėčiau jį naudoti tik vieną kartą, kad nenaudočiau vietos
    # ~ įtraukimas į autostart.sh
    # ~ /home/amem/backup/DataCrunch/Synaptic/RandomWallpaper.sh &
    # ~ Asmeninis užrašas
    # ~ šį scenarijų iš pradžių sukūrė halonsovas.
    # ~ Aš jį modifikavau taip, kad tik šiek tiek įvykdyčiau #CrunchBang pradžioje!
    # ~ tikslas yra, kad visus tuos vaizdus, ​​kuriuos turite savo diske, galėtumėte juos pamatyti
    # ~ taip dažnai ir kad jie prisitaiko prie ekrano pagal savo savybes.
    # ~ šiam scenarijui nustatomos jūsų monitoriaus ypatybės,
    # ~ ir jūsų «katalogo» atvaizdo ar nuotraukos,
    # ~, kad būtų išvengta azoto + mastelio ar mastelio keitimo parametro vengiant
    # ~ pailgi, pikselių vaizdai.
    # ~ Jei šis scenarijus neatitinka jūsų poreikių, galite modifikuoti jo parametrus
    # ~ Pvz., Į azoto centrą
    # ~ centruoti vaizdą be mastelio
    # ~ Aš rekomenduoju susipažinti su azoto vadovu.

    #Katalogas
    # Vaizdų katalogas, kuris bus naudojamas kaip fonas, įskaitant pakatalogius
    #Pakeiskite katalogą, kuriame yra jūsų fono paveikslėliai
    # Pvz., Katalogas = / home /… / images
    katalogas = / home / amem / images / Wallpaper

    # Monitoriaus skiriamoji geba
    #Ši funkcija aptinka mūsų monitoriaus skiriamąją gebą ir išsaugo ją kintamuosiuose:
    funkcija my_resolution ()
    {
    # Mes gauname „xrandr“ monitoriaus skiriamąją gebą
    res = `xrandr | grep '*' | grep -o -E '[0-9] + x [0-9] +' "
    # Monitoriaus aukštis
    my_high = "aidas" $ res "| iškirpti -d "x" -f 2`
    Monitoriaus plotis
    my_width = "aidas" $ res "| iškirpti -d "x" -f 1`
    }

    # Atsitiktinis vaizdas
    #Ši funkcija gauna vaizdą „kataloge“
    funkcija rand_image ()
    {
    # Mes gauname kai kurių paveikslėlių pavadinimus kataloge $
    image = `ls -1 -b -R" $ katalogas "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | rūšiuoti - atsitiktinai rūšiuoti | galva -1`

    # SVARBU! Jei pastebėsite, kad mes filtruojame visus failus su „plėtiniu“ .png, .jpg, .jpeg. Pridėkite -e „.extension“, jei reikia.
    #Pavyzdys:
    # image = "ls -1 -b -R" $ katalogas "| grep -i -e ".png" -e ".jpg" -e ".jpeg" -e ".new_extension" | rūšiuoti - atsitiktinai rūšiuoti | galva -1`

    #Mes gauname $ image kelią
    image_dir = `suraskite„ $ direktorija “-inamą„ $ image “
    }

    # Vaizdo skiriamoji geba
    #Ši funkcija gauna vaizdo, gauto atlikus rand_imagen () funkciją, skiriamąją gebą
    funkcija image_resolution ()
    {
    rand_image
    #Mes gauname $ vaizdo aukštį
    high_image = "nustatyti -formatas"% h "" $ image_dir ""
    #Gavome $ vaizdo plotį
    wide_image = "nustatyti -formatą"% w "" $ image_dir ""
    }

    # Mes gauname santykį image_resolution / screen_resolution
    # šio padalijimo rezultatas pateikia didesnę arba mažesnę nei 1 reikšmę
    # proporcija 1 vaizdas yra didesnis nei ekranas
    funkcijos proporcija ()
    {
    mano_sprendimas
    image_resolution
    high_rate = "echo $ high_image / $ my_high | bc -l"
    width_proportion = "aidas $ width_image / $ my_width | bc -l"
    }

    # Mes gauname santykį image_high / image_width
    # šio padalijimo rezultatas pateikia didesnę arba mažesnę vertę nei 1; Nebent vaizdas yra kvadratinis Oo
    # image_proportion 1 vaizdas yra aukštesnis nei platus
    funkcijos vaizdo santykis ()
    {
    image_resolution
    ratio_image_rate = "echo $ tall_image / $ wide_image | bc -l"
    }

    #Nustatykite ekrano foną
    # Ši funkcija keičia azoto parametrus pagal vaizdo savybes, palyginti su monitoriumi
    #Paveikslas per aukštas arba didesnis nei mūsų ekranas Nustato ekrano foną keičiant vaizdą
    # –Nustatytas centre sutelktas vaizdas, kurio mastelis nėra keičiamas
    # –Nustatytas mastelis užpildo ekraną iškreiptu vaizdu
    # –Nustatyti mastelį užpildo ekraną masteliu pakeistu vaizdu į viršų
    # –Set-zoom-fill užpildo ekraną išilgai pakeisto vaizdo
    skaliarinė funkcija ()
    {
    proporcija
    jei [`echo" $ plotis_proportcija> 1 ″ | bc` -eq 1]; tada
    #Jei vaizdo skiriamoji geba yra didesnė nei mūsų ekrano, vykdykite ...
    azoto nustatomas „$ image_dir“
    kitas
    jei [`echo" $ high_rate> 1 ″ | bc` -eq 1]; tada
    #Jei vaizdo skiriamoji geba yra mažesnė nei mūsų ekrano, vykdykite ...
    azoto centre „$ image_dir“
    kitas
    # Kai vaizdas yra mažesnis nei ekranas, galime jį išplėsti iki ilgio arba pločio
    vaizdo proporcija
    jei [`echo« $ proportimage_reason> 1 ″ | bc` -eq 1]; tada
    #Jei vaizdo aukštis yra mažesnis nei mūsų ekrano, atlikite ...
    azoto nustatymas-priartinimas "$ image_dir"
    kitas
    jei [`echo« $ proportimage_reason <1 "| bc` -eq 1]; tada
    #Jei vaizdo plotis yra mažesnis nei mūsų ekrano, vykdykite ...
    azoto nustatymas-priartinimas-užpildymas „$ image_dir“
    fi
    fi
    fi
    fi
    }

    lipti

    išeiti

    1.    Halonso V. sakė

      Puiku. Ačiū.