Vaihda taustakuva automaattisesti typellä

Kuinka moni teistä käyttää "Tiling window manager" -ohjelmaa ja varmasti jonkin ajan kuluttua taustakuvamme tylsää meitä? On erittäin ärsyttävää joutua kääntämään uudelleen voidakseen vaihtaa yksinkertaisen taustakuvan tai jopa suorittaa "typen" uudelleen ja välittää sille toisen parametrin.

No, tänään tuon sinulle käsikirjoituksen bashissa, se saa satunnaisen kuvan kokoelmastamme ja asettaa sen taustakuvaksi Vaihda typpitaustakuva, jos lataat komentosarjan osoitteesta täällä älä unohda poistaa .txt-laajennusta tiedostosta ja antaa sille suoritusoikeudet

hakemisto = ~ / Kuvatoiminto my_resolution () {res = `xrandr | grep '*' | grep -o -E '[0-9] + x [0-9] +' 'my_high = `kaiku" $ res "| leikkaa -d "x" -f 2` my_width = `kaiku '$ res" | leikkaa -d "x" -f 1`} funktio rand_image () {image = `ls -1 -b -R" $ hakemisto "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | sort --random-sort | head -1` image_dir = `etsi" $ hakemisto "-iname" $ ​​image "`} funktio image_resolution () {rand_image high_image = `tunnista -muoto"% h "" $ image_dir "" wide_image = `tunnista -muoto" % w "" $ image_dir "`} funktion osuus () {my_resolution image_resolution height_proportion = `echo $ image_high / $ my_high | bc -l` proport_width =` echo $ image_width / $ my_width | bc -l`} function scalar () { suhde, jos [`echo" $ suhde_korkeus> 1 "| bc`-eq 1 -o` echo" $ suhdeleveys> 1 "| bc`-eq 1]; sitten typpi - set-zoom "$ image_dir" muu typpi - asetettu "$ image_dir" fi} asteikon poisto

Nyt tulee selitys käsikirjoituksesta.
hakemisto = ~ / Kuvat // Vaihda hakemistoon, jossa taustakuvat sijaitsevat

image_resolution () // Tämä toiminto tunnistaa näytön tarkkuuden ja tallentaa sen muuttujiin:
my_high //Pitkä
my_width //Leveys

rand_image () // Tämä toiminto saa kuvan «hakemistoon»

image = `ls -1 -b -R" $ hakemisto "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | lajittelu –satunnais-lajittelu | pää -1 '

TÄRKEÄ! Jos huomaat suodatamme kaikki tiedostot, joiden tiedostotunniste on ".png, .jpg, .jpeg". Lisää -e ".extension" tarvittaessa.

esimerkiksi:

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 () // Tämä toiminto saa rand_image () -funktiolla saadun kuvan tarkkuuden

osuus () // Tämä toiminto saa suhde image_resolution / screen_resolution

kiivetä() // Tämä toiminto skaalaa kuvan, jos se on suurempi kuin näytön tarkkuus, ja asettaa taustakuvan

Nyt kun meillä on komentosarja satunnaisen taustakuvan määrittämiseksi typelle (ja myös kuva mukautuu näyttöön), meidän on vain tehtävä komentosarja ajamaan niin usein, tämä saavutetaan suorittamalla seuraava komento käynnistyksen yhteydessä

watch -n 4 ruta_donde_se_encuentra_el_script/nombre_del_script

Tällöin tämä komento suoritetaan 4 sekunnin välein. Huomaa, että polku_mistä_kohdan_skripti_löydetty on koko polku, jossa komentosarja sijaitsee, ja käsikirjoituksen_nimi on skriptille annettu nimi.

Toivottavasti pidät siitä hyödyllisenä.


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.

  1.   KZKG ^ Gaara dijo

    Tarkistan, että tässä typessä on KDE-komentosarja, jonka haluan tehdä :)
    Muuten hyvä viesti ... hahahaha, erinomainen valokuva, jonka olet valinnut viestiin (Snoopyn LOL !!!)

    1.    alpj dijo

      Jjajajajjajajaja kiitos, todellakin snoopy arpajaiset, hahajjajajajjajaj

  2.   st0rmt4il dijo

    Kiitos..

  3.   LEVEYS dijo

    kiitos

  4.   ferchmetal dijo

    kiitos!

  5.   izzyvp dijo

    Tämä ei toimi kanelille, eikö?

    1.    alpj dijo

      Minulla ei ole aavistustakaan kuinka vaihtaa kanelin taustakuvaa, mutta varma on, että funktio rand_image palvelee sinua saamaan satunnaisen kuvan, joten sinun on vain välitettävä se $ dir_image
      Anna minun tutkia

  6.   + AMEM + dijo

    Kiitos, muutin sitä hieman tuleville sukupolville ... Toivottavasti et vaivaudu
    Haluaisin tietää mitä mieltä olet, en tiedä paljoakaan kielestä

    #! / Bin / bash

    # ~ Alkuperäinen kirjoittaja
    #~
    # ~ halonsov: Matemaatikko, GNU / LINUX-rakastaja, ohjelmoija, Debian-käyttäjä ja xmonad.
    #~
    # ~ Viitteet
    #~ https://blog.desdelinux.net/cambiar-automaticamente-el-fondo-de-pantalla-con-nitrogen/
    #~
    # ~ Komento komentosarjan suorittamiseksi 120 sekunnin välein
    # ~ katsella -n 120 /home/amem/backup/DataCrunch/Synaptic/RandomWallpaper.sh
    #~
    # ~ Yhteistyö
    # ~ + AMEM +
    # ~ Henkilökohtaisesti haluan käyttää sitä vain kerran, jotta en käytä tilaa
    # ~ lisääminen autostart.sh-tiedostoon
    # ~ /home/amem/backup/DataCrunch/Synaptic/RandomWallpaper.sh &
    # ~ Henkilökohtainen muistiinpano
    # ~ tämän käsikirjoituksen teki alun perin halonsov.
    # ~ Muokkain sitä niin, että vain vähän, ajaa se alussa #CrunchBang!
    # ~ tarkoitus on, että kaikki levylläsi olevat kuvat näet ne
    # ~ niin usein ja että ne sopeutuvat näyttöön ominaisuuksiensa mukaan.
    # ~ tälle skripti tunnistaa näytön ominaisuudet,
    # ~ ja «hakemistosi» kuvan tai valokuvan kuvat,
    # ~ typen suorittamiseksi + skaalaus- tai zoomausparametrien välttäminen
    # ~ pitkänomaisia, pikselöityjä kuvia.
    # ~ Jos tämä komentosarja ei sovi tarpeisiisi, voit muokata sen parametreja
    # ~ Esim. Typpi-asetettu
    # ~ kuvan keskittämiseksi ilman skaalausta
    # ~ Suosittelen, että tutkit typen käsikirjan.

    #Hakemisto
    # Taustakuvana käytettävien kuvien hakemisto, mukaan lukien alihakemistot
    #Vaihda hakemistoon, jossa taustakuvat sijaitsevat
    # Esim. Hakemisto = / home /… / images
    hakemisto = / home / amem / images / Wallpaper

    # Näytön tarkkuus
    #Tämä toiminto tunnistaa näytön tarkkuuden ja tallentaa sen muuttujiin:
    funktio my_resolution ()
    {
    #Hankimme näytön tarkkuuden xrandrilla
    res = `xrandr | grep '*' | grep -o -E '[0-9] + x [0-9] +' '
    # Näytön korkeus
    my_high = `kaiku" $ res "| leikkaa -d "x" -f 2 "
    # Näytön leveys
    my_width = `kaiku" $ res "| leikkaa -d "x" -f 1 "
    }

    #Random-kuva
    #Tämä toiminto saa kuvan hakemistoon
    funktio rand_image ()
    {
    #Saat jonkin kuvan nimen hakemistossa $
    image = `ls -1 -b -R" $ hakemisto "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | lajittelu –satunnais-lajittelu | pää -1 '

    #TÄRKEÄ! Jos huomaat, suodatamme kaikki tiedostot, joiden tiedostotunniste on ".png, .jpg, .jpeg. Lisää -e ".extension" tarvittaessa.
    #Esimerkki:
    # image = `ls -1 -b -R" $ hakemisto "| grep -i -e ".png" -e ".jpg" -e ".jpeg" -e ".uusi_laajennus" | lajittelu –satunnais-lajittelu | pää -1 '

    #Hankimme $ -kuvan polun
    image_dir = `etsi" $ hakemisto "-iname" $ ​​image "`
    }

    # Kuvan tarkkuus
    #Tämä toiminto saa rand_imagen () -funktiolla saadun kuvan tarkkuuden
    funktio image_resolution ()
    {
    rand_image
    #Saamme kuvan $ korkeuden
    high_image = `tunnistaa -formaatti"% h "" $ image_dir ""
    #Saat kuvan $ leveyden
    wide_image = `tunnistaa -formaatti"% w "" $ image_dir ""
    }

    # Saamme suhde image_resolution / screen_resolution
    # tämän jaon tulos palauttaa arvon, joka on suurempi tai pienempi kuin 1
    # osuus 1 kuva on suurempi kuin näyttö
    funktion osuus ()
    {
    my_resolution
    image_resolution
    ratio_high = `echo $ image_high / $ my_high | bc -l '
    width_proportion = `echo $ width_image / $ my_width | bc -l '
    }

    # Saamme suhde image_high / image_width
    # tämän jaon tulos palauttaa arvon, joka on suurempi tai pienempi kuin 1; Ellei kuva ole neliö Oo
    # image_proportion 1 kuva on pitempi kuin leveä
    funktion kuvan suhde ()
    {
    image_resolution
    ratio_image_rate = `echo $ tall_image / $ wide_image | bc -l '
    }

    # Aseta taustakuva
    # Tämä toiminto muuttaa typpiparametreja kuvan ominaisuuksien mukaan suhteessa näyttöön
    #Kuva liian pitkä tai suurempi kuin ruudumme Asettaa taustakuvan skaalaamalla kuvaa
    # –Set-centered keskittää skaalaamattoman kuvan
    # –Set-scaled täyttää ruudun vääntyneellä kuvalla
    # –Set-zoom täyttää näytön skaalatulla kuvalla ylhäältä
    # –Set-zoom-fill täyttää ruudun skaalatulla kuvalla
    funktion skalaari ()
    {
    osa
    jos [`echo" $ width_proportion> 1 ″ | bc`-eq 1]; sitten
    #Jos kuvan tarkkuus on suurempi kuin ruudullamme, suorita ...
    typpi-asetettu skaalattu "$ image_dir"
    muu
    jos [`echo" $ high_rate> 1 ″ | bc`-eq 1]; sitten
    #Jos kuvan tarkkuus on pienempi kuin ruudullamme, suorita ...
    typpi-asetettu "$ image_dir"
    muu
    #Kun kuva on pienempi kuin näyttö, voimme laajentaa sen pituudeksi tai leveydeksi
    kuvan suhde
    jos [`echo« $ proportimage_reason> 1 ″ | bc`-eq 1]; sitten
    #Jos kuvan korkeus on pienempi kuin ruudullemme, suorita ...
    typpi-set-zoom "$ image_dir"
    muu
    jos [`echo« $ proportimage_reason <1 "| bc` -eq 1]; niin
    #Jos kuvan leveys on pienempi kuin ruudullemme, suorita ...
    typpi-set-zoom-fill "$ image_dir"
    fi
    fi
    fi
    fi
    }

    kiivetä

    poistua

    1.    Halonsus V dijo

      Erinomainen. Kiitos.