Muutke taustapilti automaatselt lämmastikuga

Kui paljud teist kasutavad "plaatide aknahaldurit" ja mõne aja pärast tüdistab meid meie taustpilt? On väga tüütu, kui peate uuesti kompileerima, et oleks võimalik lihtsat taustapilti vahetada või isegi uuesti lämmastikku käivitada ja sellele veel üks parameeter edastada.

Täna ma toon teile skripti bash, see saab meie kollektsioonist juhusliku pildi ja asetab selle taustpildiks Muutke lämmastiku taustapilti, kui laadite skripti alla siin ärge unustage failist laiendit .txt eemaldada ja anda sellele täitmisõigused

directory = ~ / Piltide funktsioon my_resolution () {res = `xrandr | grep '*' | grep -o -E '[0-9] + x [0-9] +' "my_high =" kaja "$ res" | cut -d "x" -f 2` minu_laius = "kaja" $ res "| lõika -d "x" -f 1`} funktsioon rand_image () {image = "ls -1 -b -R" $ kataloog "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | sort - juhuslik-sort | head -1` image_dir = `otsi" $ directory "-iname" $ ​​image ""} funktsioon image_resolution () {rand_image high_image = "identifitseeri -formaat"% h "" $ image_dir "" wide_image = `identifitseeri -vorming" % w "" $ image_dir ""} funktsiooni kuvasuhe () {minu_resolutsiooni pildi_resolutsiooni kõrguse_määr = "echo $ image_high / $ my_high | bc -l" aspekti_laius = "echo $ image_width / $ my_width | bc -1"} funktsiooni skalaar () {suhe, kui ["kaja" $ suhe_kõrgus> 1 "| bc`-eq 1 -o` kaja" $ suhe_laius> 1 "| bc` -eq XNUMX]; siis lämmastik - set-zoom "$ image_dir" muu lämmastik - setetsentreeritud "$ image_dir" fi} skaala väljumine

Nüüd tuleb stsenaariumi selgitus.
kataloog = ~ / pildid // Minge kataloogi, kus asuvad teie taustapildid

image_resolution () // See funktsioon tuvastab meie monitori eraldusvõime ja salvestab selle muutujatesse:
my_high // Kõrge
my_width // Laius

rand_image () // See funktsioon saab pildi kataloogi

pilt = `ls -1 -b -R" $ kataloog "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | sort –random-sort | pea -1 "

TÄHTIS! Kui märkate, et filtreerime kõiki faile laiendiga .png, .jpg, .jpeg. Lisage vastavalt vajadusele -e ".extension".

Näide:

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 () // See funktsioon saab pildi eraldusvõime, mis on saadud funktsiooni rand_image () abil

proportsioon () // See funktsioon saab suhtarvu image_resolution / screen_resolution

ronima () // See funktsioon suurendab pilti, kui see on suurem kui meie monitori eraldusvõime, ja määrab taustpildi

Nüüd, kui meil on olemas skript lämmastiku juhusliku taustpildi määramiseks (ja ka pilt kohandub teie monitoriga), peame skripti käitama ainult nii tihti, et see saavutatakse käivitamisel järgmise käsu käivitamisega

watch -n 4 ruta_donde_se_encuentra_el_script/nombre_del_script

Sel juhul käivitatakse see käsk iga 4 sekundi tagant. Pange tähele, et path_where_the_script_is_found on täielik tee, kus skript asub, ja script_name on skriptile antud nimi.

Loodan, et leiate sellest kasu.


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutab: Miguel Ángel Gatón
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.

  1.   KZKG ^ Gaara DIJO

    Ma kontrollin seda lämmastikku KDE skripti jaoks, mida ma tahan teha :)
    Muidu hea postitus ... hahahaha, suurepärane foto, mille olete postituse jaoks valinud (Snoopy LOL !!!)

    1.    alpj DIJO

      Jjajajajjajajaja aitäh, tõepoolest snoopy loosimine, hahahahajajajjajaj

  2.   st0rmt4il DIJO

    Aitäh..

  3.   LAIUS DIJO

    tänan

  4.   fermetall DIJO

    Gracias!

  5.   izzyvp DIJO

    Kaneeli puhul see ei sobi?

    1.    alpj DIJO

      Mul pole aimugi, kuidas kaneelis taustapilti muuta, kuid kindel on see, et funktsioon Rand_image töötab juhusliku pildi saamiseks teie jaoks, nii et peate selle lihtsalt edastama $ dir_image
      Las ma uurin

  6.   + AMEM + DIJO

    Aitäh, ma muutsin seda tulevaste põlvede jaoks natuke ... loodan, et te ei viitsi
    Tahaksin teada, mida te arvate, ma ei tea keelt eriti

    #! / bin / bash

    # ~ Algne autor
    #~
    # ~ halonsov: matemaatik, GNU / LINUX väljavalitu, programmeerija, Debiani ja xmonadi kasutaja.
    #~
    # ~ Viited
    #~ https://blog.desdelinux.net/cambiar-automaticamente-el-fondo-de-pantalla-con-nitrogen/
    #~
    # ~ Käsk skripti käivitamiseks iga 120 sekundi järel
    # ~ watch -n 120 /home/amem/backup/DataCrunch/Synaptic/RandomWallpaper.sh
    #~
    # ~ Koostöö
    # ~ + AMEM +
    # ~ Isiklikult eelistan seda kasutada ainult üks kord, et mitte ruumi kasutada
    # ~ lisamine autostart.sh
    # ~ /home/amem/backup/DataCrunch/Synaptic/RandomWallpaper.sh &
    # ~ Isiklik märkus
    # ~ selle skripti tegi algselt halonsov.
    # ~ Muutsin seda nii, et ainult natuke, et see käivitada #CrunchBang alguses!
    # ~ eesmärk on, et kõik teie kettal olevad pildid näeksid neid
    # ~ nii tihti ja et nad kohanduvad ekraanile vastavalt oma omadustele.
    # ~ selle skripti puhul tuvastatakse teie monitori omadused,
    # ~ ja teie kataloogi pildi või foto pildid,
    # ~ lämmastiku + skaleerimise või suumimise parameetri vältimiseks
    # ~ piklikud, pikslitega pildid.
    # ~ Kui see skript ei vasta teie vajadustele, saate selle parameetreid muuta
    # ~ Nt lämmastikukeskne
    # ~ pildi tsentreerimiseks ilma skaleerimiseta
    # ~ Soovitan teil uurida lämmastiku kasutusjuhendit.

    #Kataloog
    # Taustpildina kasutatavate piltide kataloog, sealhulgas alamkataloogid
    # Vaheta kataloogi, kus asuvad teie taustapildid
    # Nt kataloog = / home /… / images
    kataloog = / home / amem / images / taustpilt

    # Monitori eraldusvõime
    #See funktsioon tuvastab meie monitori eraldusvõime ja salvestab selle muutujatesse:
    funktsioon my_resolution ()
    {
    #Me saame monitori eraldusvõime xrandriga
    res = `xrandr | grep '*' | grep -o -E '[0-9] + x [0-9] +' "
    # Monitori kõrgus
    my_high = "kaja" $ res "| lõika -d "x" -f 2 "
    # Monitori laius
    my_width = "kaja" $ res "| lõika -d "x" -f 1 "
    }

    #Juhuslik pilt
    #See funktsioon saab pildi kataloogi
    funktsioon rand_image ()
    {
    #Meie kataloogi $ sees on mõne pildi nimi
    pilt = `ls -1 -b -R" $ kataloog "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | sort –random-sort | pea -1 "

    #TÄHTIS! Kui märkate, et filtreerime kõiki faile laiendiga .png, .jpg, .jpeg. Lisage vastavalt vajadusele -e ".extension".
    # Näide:
    # image = "ls -1 -b -R" $ kataloog "| grep -i -e ".png" -e ".jpg" -e ".jpeg" -e ".uus_pikendamine" | sort –random-sort | pea -1 "

    #Me saame $ image tee
    image_dir = `leidke" $ kataloog "-iname" $ ​​image ""
    }

    # Pildi eraldusvõime
    #See funktsioon saavutab funktsiooni rand_imagen () abil saadud pildi eraldusvõime
    funktsioon image_resolution ()
    {
    rand_image
    #Me saame $ pildi kõrguse
    high_image = "identifitseeri -vorming"% h "" $ image_dir ""
    #Me saame pildi $ laiuse
    image_width = "identifitseeri -vorming"% w "" $ image_dir ""
    }

    #Me saame suhe image_resolution / screen_resolution
    # selle jagamise tulemus tagastab väärtuse, mis on suurem või väiksem kui 1
    # proportsioon 1 on pilt ekraanist suurem
    funktsiooni proportsioon ()
    {
    minu_resolutsioon
    pilt_resolutsioon
    ratio_high = "kaja $ image_high / $ my_high | bc -l"
    width_proportion = "kaja $ width_image / $ my_width | bc -l"
    }

    #Me saame suhe image_high / image_width
    # selle jagamise tulemus tagastab väärtuse, mis on suurem või väiksem kui 1; Kui pilt pole ruudukujuline Oo
    # image_proportion 1 pilt on pikem kui lai
    funktsiooni pildi proportsioon ()
    {
    pilt_resolutsioon
    ratio_image_rate = "kaja $ tall_image / $ wide_image | bc -l"
    }

    #Määra taustapilt
    # See funktsioon muudab lämmastiku parameetreid vastavalt pildi omadustele monitori suhtes
    # Pilt on liiga pikk või suurem kui meie ekraan. Taustapildi määramiseks suurendage pilti
    # –Set-centered tsentreerib skaleerimata pildi
    # –Set-scaled täidab ekraani kõverdatud pildiga
    # –Set-zoom täidab ekraani ülaosaga skaleeritud pildiga
    # –Set-zoom-fill täidab ekraani piki skaleeritud pilti
    skalaarfunktsioon ()
    {
    proportsioon
    kui ["echo" $ width_proportion> 1 "| bc`-eq 1]; siis
    #Kui pildi eraldusvõime on suurem kui meie ekraanil, siis käivitage ...
    lämmastikukomplektiga "$ image_dir"
    teine
    kui ["echo" $ high_rate> 1 "| bc`-eq 1]; siis
    #Kui pildi eraldusvõime on meie ekraani omast väiksem, käivitage ...
    lämmastikukeskne "$ image_dir"
    teine
    #Kui pilt on ekraanist väiksem, saame seda laiendada pikkusele või laiusele
    pildi proportsioon
    if [`kaja« $ proportimage_reason> 1 "| bc`-eq 1]; siis
    #Kui pildi kõrgus on meie ekraani omast väiksem, käivitage ...
    lämmastik - seadistage suum "$ image_dir"
    teine
    kui [echo «$ proportimage_reason <1" | bc` -eq 1]; siis
    #Kui pildi laius on väiksem kui meie ekraani laiendus, käivitage ...
    lämmastik - seada-suum-täida "$ image_dir"
    fi
    fi
    fi
    fi
    }

    ronida

    väljumiseks

    1.    Halonsus V DIJO

      Suurepärane. Aitäh.