Skift tapet automatisk med kvælstof

Hvor mange af jer bruger en "Tiling Window Manager" og efterhånden keder vores tapet os efter et stykke tid? Det er meget irriterende at skulle kompilere igen for at kunne ændre et simpelt tapet eller endda køre "nitrogen" igen og videregive en anden parameter til det.

Nå, i dag bringer jeg dig et bash-script, det får et tilfældigt billede fra vores samling og sætter det som tapet Skift kvælstofbaggrund, hvis du downloader scriptet fra her glem ikke at fjerne .txt-udvidelsen fra filen og give den udførelse af tilladelser

bibliotek = ~ / Billeder funktion my_resolution () {res = `xrandr | grep '*' | grep -o -E '[0-9] + x [0-9] +' `my_high =` echo "$ res" | klip -d "x" -f 2` my_width = `ekko" $ res "| klip -d "x" -f 1`} funktion rand_image () {image = `ls -1 -b -R" $ katalog "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | sorter - tilfældig sortering | head -1` image_dir = `find" $ directory "-navn" $ image "`} funktion image_resolution () {rand_image high_image = `identificer -format"% h "" $ image_dir "` wide_image = `identificer -format" % w "" $ image_dir "`} funktionsandel () {my_resolution image_resolution height_rate = `echo $ image_high / $ my_high | bc -l` proportion_width =` echo $ image_width / $ my_width | bc -l`} funktion skalar () { proportion hvis [`echo" $ ratio_high> 1 "| bc` -eq 1 -o` echo" $ ratio_width> 1 "| bc` -eq 1]; derefter kvælstof - sæt-zoom "$ image_dir" ellers kvælstof - sæt-centreret "$ image_dir" fi} skala udgang

Nu kommer forklaringen på scriptet.
mappe = ~ / billeder // Skift til den mappe, hvor dine baggrunde er placeret

image_opløsning () // Denne funktion registrerer opløsningen på vores skærm og gemmer den i variablerne:
min_høj //Høj
min_bredde //Bredde

rand_image () // Denne funktion får et billede inde i "bibliotek"

image = `ls -1 -b -R" $ mappe "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | sorter – tilfældig slags | hoved -1 '

VIGTIG! Hvis du bemærker, filtrerer vi alle filer med "udvidelse" .png, .jpg, .jpeg. Tilføj -e ".extension" efter behov.

Eksempel:

imagen=`ls -1 -b -R "$directorio" | grep -i -e ".png" -e ".jpg" -e ".jpeg" -e ".nueva_extensión" | sort --random-sort | head -1`

image_opløsning () // Denne funktion opnår opløsningen af ​​billedet opnået med funktionen rand_image ()

del() // Denne funktion får forholdet image_resolution / screen_resolution

klatre() // Denne funktion skalerer billedet, hvis det er større end opløsningen på vores skærm og indstiller tapetet

Nu hvor vi har scriptet til at tildele tilfældigt tapet til nitrogen (og også billedet tilpasser sig din skærm), behøver vi kun at få scriptet til at køre så ofte, dette opnås ved at udføre følgende kommando ved opstart

watch -n 4 ruta_donde_se_encuentra_el_script/nombre_del_script

I dette tilfælde udføres denne kommando hvert 4. sekund. Bemærk, at sti_hvor_skriften_er_fundet er den fulde sti, hvor scriptet er placeret, og scriptnavn er det navn, der blev givet til scriptet.

Jeg håber, du finder det nyttigt.


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.

  1.   KZKG ^ Gaara sagde han

    Jeg vil kontrollere dette kvælstof for et KDE-script, som jeg vil gøre :)
    Ellers godt indlæg ... hahahaha, fremragende billede, du har valgt til indlægget (Snoopy LOL !!!)

    1.    alpj sagde han

      Jjajajajjajajaja tak, faktisk snoopy tombola, hahahahajajajjajaj

  2.   st0rmt4il sagde han

    Tak skal du have..

  3.   BREDDE sagde han

    Tak

  4.   ferchmetal sagde han

    Tak!

  5.   izzyvp sagde han

    Dette virker ikke for kanel, ikke?

    1.    alpj sagde han

      Jeg har ingen idé om, hvordan man ændrer tapetet i kanel, men det sikre er, at funktionen rand_image tjener dig til at få et tilfældigt billede, så du skal bare videregive $ dir_image
      Lad mig undersøge det

  6.   + AMEM + sagde han

    Tak, jeg ændrede det lidt til fremtidige generationer ... Jeg håber du ikke gider
    Jeg vil gerne vide, hvad du synes, jeg ved ikke meget om sproget

    #! / Bin / bash

    # ~ Oprindelig forfatter
    #~
    # ~ halonsov: Matematiker, GNU / LINUX elsker, programmør, Debian og xmonad bruger.
    #~
    # ~ Referencer
    #~ https://blog.desdelinux.net/cambiar-automaticamente-el-fondo-de-pantalla-con-nitrogen/
    #~
    # ~ Kommando til at køre scriptet hvert 120 sekund
    # ~ watch -n 120 /home/amem/backup/DataCrunch/Synaptic/RandomWallpaper.sh
    #~
    # ~ Samarbejde
    # ~ + AMEM +
    # ~ Personligt foretrækker jeg kun at bruge det en gang for ikke at bruge plads
    # ~ tilføjer i autostart.sh
    # ~ /home/amem/backup/DataCrunch/Synaptic/RandomWallpaper.sh &
    # ~ Personlig note
    # ~ dette script blev oprindeligt lavet af halonsov.
    # ~ Jeg har ændret det, så kun lidt at udføre det i starten af ​​# CrunchBang!
    # ~ formålet er, at alle de billeder, du har på din disk, kan se dem
    # ~ så ofte, og at de tilpasser sig skærmen i henhold til deres egenskaber.
    # ~ til dette identificerer dette script karakteristika for din skærm,
    # ~ og de af billedet eller fotoet af din «bibliotek»,
    # ~ for at udføre kvælstof + en skalerings- eller zoomparameter, der undgås
    # ~ langstrakte, pixelerede billeder.
    # ~ Hvis dette script ikke passer til dine behov, kan du ændre dets parametre
    # ~ F.eks. Kvælstof-sæt-centreret
    # ~ for at centrere billedet uden skalering
    # ~ Jeg anbefaler dig at studere kvælstofmanualen.

    #Vejviser
    #Katalog over billeder, der skal bruges som tapet, inklusive underkataloger
    # Skift til det bibliotek, hvor dine baggrunde er placeret
    # F.eks. Bibliotek = / hjem / ... / billeder
    mappe = / hjem / amem / billeder / Baggrund

    # Skærmopløsning
    #Denne funktion registrerer opløsningen på vores skærm og gemmer den i variablerne:
    funktion min_opløsning ()
    {
    #Vi får opløsningen på vores skærm med xrandr
    res = `xrandr | grep '*' | grep -o -E '[0-9] + x [0-9] +' '
    # Højde på skærmen
    my_high = `ekko" $ res "| klip -d "x" -f 2`
    # Skærmbredde
    my_width = `ekko" $ res "| klip -d "x" -f 1`
    }

    # Tilfældigt billede
    # Denne funktion får et billede inde i "bibliotek"
    funktion rand_image ()
    {
    #Vi får navnet på et eller andet billede i $ -mappen
    image = `ls -1 -b -R" $ mappe "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | sorter – tilfældig slags | hoved -1 '

    #VIGTIG! Hvis du bemærker, filtrerer vi alle filer med "udvidelse" .png, .jpg, .jpeg. Tilføj -e ".extension" efter behov.
    #Eksempel:
    # image = `ls -1 -b -R" $ mappe "| grep -i -e ".png" -e ".jpg" -e ".jpeg" -e ".nyt_udvidelse" | sorter – tilfældig slags | hoved -1 '

    #Vi får stien til $ image
    image_dir = `find" $ directory "-navn" $ image ""
    }

    # Billedopløsning
    # Denne funktion opnår opløsningen af ​​det billede, der er opnået med funktionen rand_imagen ()
    funktion image_resolution ()
    {
    rand_billede
    #Vi får højden af ​​$ image
    high_image = `identificer -format"% h "" $ image_dir ""
    #Vi får bredden på $ image
    image_width = `identificer -format"% w "" $ image_dir "`
    }

    #Vi får forholdet image_resolution / screen_resolution
    # resultatet af denne division returnerer en værdi større eller mindre end 1
    # proportion 1 billedet er større end skærmen
    funktion andel ()
    {
    min_opløsning
    image_opløsning
    high_rate = `echo $ high_image / $ my_high | bc -l`
    width_proportion = `echo $ width_image / $ my_width | bc -l`
    }

    #Vi får forholdet image_high / image_width
    # resultatet af denne division returnerer en værdi større eller mindre end 1; Medmindre billedet er firkantet Oo
    # image_proportion 1 billedet er højere end det er bredt
    funktion billedforhold ()
    {
    image_opløsning
    ratio_image_rate = `echo $ tall_image / $ wide_image | bc -l`
    }

    #Sæt tapetet
    # Denne funktion ændrer kvælstofparametrene i henhold til billedets egenskaber i forhold til skærmen
    #Billedet er for højt eller større end vores skærm Indstiller baggrunden ved at skalere billedet
    # –Set-centreret centrerer det uskalerede billede
    # –Set-skaleret udfylder skærmen med det skæve billede
    # –Set-zoom udfylder skærmen med det skalerede billede til toppen
    # –Set-zoom-fyld fylder skærmen med det skalerede billede sammen
    skalarfunktion ()
    {
    del
    hvis [`echo" $ width_proportion> 1 ″ | bc` -eq 1]; derefter
    #Hvis billedets opløsning er større end den på vores skærm, skal du udføre ...
    kvælstof – sæt-skaleret "$ image_dir"
    andet
    hvis [`echo" $ high_rate> 1 ″ | bc` -eq 1]; derefter
    #Hvis billedets opløsning er mindre end vores skærm, skal du udføre ...
    kvælstof – sæt-centreret "$ image_dir"
    andet
    #Når billedet er mindre end skærmen, kan vi udvide det til længde eller bredde
    billedforhold
    hvis [`ekko« $ proportionimage_reason> 1 ″ | bc` -eq 1]; derefter
    #Hvis billedets højde er mindre end skærmbilledet, skal du udføre ...
    kvælstof – sæt-zoom "$ image_dir"
    andet
    hvis [`echo« $ proportionimage_reason <1 "| bc` -eq 1]; så
    #Hvis billedets bredde er mindre end skærmbilledet, skal du udføre ...
    kvælstof – sæt-zoom-fyld "$ image_dir"
    fi
    fi
    fi
    fi
    }

    opstigning

    frakørsel

    1.    Halonsus V sagde han

      Fremragende. Tak skal du have.