Cambia automaticamente lo sfondo con Nitrogen

Quanti di voi usano un "Tiling window manager" e sicuramente dopo un po 'la nostra carta da parati ci annoia? È molto fastidioso dover ricompilare per poter cambiare un semplice sfondo, o anche per rieseguire "azoto" e passargli un altro parametro.

Bene, oggi vi porto uno script in bash, ottiene un'immagine casuale dalla nostra raccolta e la mette come sfondo Cambia lo sfondo dell'azoto, se scarichi lo script da qui non dimenticare di rimuovere l'estensione .txt dal file e di dargli i permessi di esecuzione

directory = ~ / Funzione immagini 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`} funzione rand_image () {immagine = `ls -1 -b -R" $ directory "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | sort --random-sort | head -1` dir_immagine = `trova" $ directory "-iname" $ ​​immagine "`} funzione risoluzione_immagine () {rand_image high_image = `identifica -format"% h "" $ dir_immagine "` wide_image = `identifica -formato" % w "" $ image_dir "`} funzione proporzione () {mia_resolution image_resolution height_proportion = `echo $ image_high / $ my_high | bc -l` proporzion_width =` echo $ image_width / $ my_width | bc -l`} funzione scalare () { proporzione if [`echo" $ rapporto_altezza> 1 "| bc` -eq 1 -o` echo" $ larghezza_rapporto> 1 "| bc` -eq 1]; quindi azoto --set-zoom "$ dir_immagine" altrimenti azoto --set-centrato "$ dir_immagine" fi} scala uscita

Ora arriva la spiegazione del copione.
directory = ~ / Immagini // Passa alla directory in cui si trovano i tuoi sfondi

risoluzione dell'immagine () // Questa funzione rileva la risoluzione del nostro monitor e la salva nelle variabili:
my_high // Alto
my_width //Larghezza

rand_image () // Questa funzione ottiene un'immagine all'interno della «directory»

immagine = `ls -1 -b -R" $ directory "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | sort –random-sort | testa -1`

IMPORTANTE! Se noti che stiamo filtrando tutti i file con "estensione" .png, .jpg, .jpeg. Aggiungi -e ".extension" come appropriato.

Esempio:

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

risoluzione dell'immagine () // Questa funzione ottiene la risoluzione dell'immagine ottenuta dalla funzione rand_image ()

proporzione() // Questa funzione ottiene il rapporto image_resolution / screen_resolution

scalata() // Questa funzione ridimensiona l'immagine se è più grande della risoluzione del nostro monitor e imposta lo sfondo

Ora che abbiamo lo script per assegnare uno sfondo casuale all'azoto (e anche l'immagine si adatta al tuo monitor) dobbiamo solo eseguire lo script ogni tanto, questo si ottiene eseguendo il seguente comando all'avvio

watch -n 4 ruta_donde_se_encuentra_el_script/nombre_del_script

In questo caso, questo comando viene eseguito ogni 4 secondi, notare che path_where_the_script_is_found è il percorso completo in cui si trova lo script e script_name è il nome che è stato dato allo script.

Spero che ti sia utile.


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   KZKG ^ Gaara suddetto

    Controllerò questo Nitrogen per uno script KDE che voglio fare :)
    Altrimenti buona post ... hahahaha, ottima foto che hai scelto per il post (LOL di Snoopy !!!)

    1.    alp suddetto

      Jjajajajjajajaja grazie, davvero snoopy lotteria, hahajjajajajjajaj

  2.   st0rmt4il suddetto

    Grazie ..

  3.   LARGHEZZA suddetto

    grazie

  4.   ferchmetal suddetto

    grazie!

  5.   izzyvp suddetto

    Questo non funziona per la cannella, giusto?

    1.    alp suddetto

      Non ho idea di come cambiare lo sfondo in cannella, ma la cosa sicura è che la funzione rand_image ti serve per ottenere un'immagine casuale, quindi devi solo passarla $ dir_image
      Fammi indagare

  6.   + AMEM + suddetto

    Grazie, l'ho modificato un po 'per le generazioni future ... spero che non ti preoccupi
    Vorrei sapere cosa ne pensate, non so molto della lingua

    #! / Bin / bash

    # ~ Autore originale
    #~
    # ~ halonsov: matematico, amante di GNU / LINUX, programmatore, utente Debian e xmonad.
    #~
    # ~ Riferimenti
    #~ https://blog.desdelinux.net/cambiar-automaticamente-el-fondo-de-pantalla-con-nitrogen/
    #~
    # ~ Comando per eseguire lo script ogni 120 secondi
    # ~ watch -n 120 /home/amem/backup/DataCrunch/Synaptic/RandomWallpaper.sh
    #~
    # ~ Collaborazione
    # ~ + AMEM +
    # ~ Personalmente preferisco usarlo una sola volta per non utilizzare lo spazio
    # ~ aggiungendo in autostart.sh
    # ~ /home/amem/backup/DataCrunch/Synaptic/RandomWallpaper.sh &
    # ~ Nota personale
    # ~ questo script è stato originariamente realizzato da halonsov.
    # ~ L'ho modificato in modo che solo un po ', per eseguirlo all'inizio di #CrunchBang!
    # ~ lo scopo è che tutte quelle immagini che hai sul disco le puoi vedere
    # ~ ogni tanto e che si adattano allo schermo in base alle loro proprietà.
    # ~ per questo questo script identifica le caratteristiche del tuo monitor,
    # ~ e quelli dell'immagine o della foto della tua «directory»,
    # ~ per eseguire azoto + evitare un parametro di ridimensionamento o zoom
    # ~ immagini allungate e pixelate.
    # ~ Se questo script non soddisfa le tue esigenze, puoi modificarne i parametri
    # ~ Ad esempio, centrato sull'azoto
    # ~ per centrare l'immagine senza ridimensionarla
    # ~ Ti consiglio di studiare il manuale dell'azoto.

    #Directory
    # Directory di immagini che verranno utilizzate come sfondo, comprese le sottodirectory
    # Passa alla directory in cui si trovano i tuoi sfondi
    # Es. Directory = / home /… / images
    directory = / home / amem / images / Wallpaper

    # Risoluzione del monitor
    # Questa funzione rileva la risoluzione del nostro monitor e la salva nelle variabili:
    funzione my_resolution ()
    {
    # Otteniamo la risoluzione del nostro monitor con xrandr
    res = `xrandr | grep '*' | grep -o -E '[0-9] + x [0-9] +' `
    #Altezza del monitor
    my_high = `echo" $ res "| tagliare -d "x" -f 2`
    # Larghezza del monitor
    my_width = `echo" $ res "| tagliare -d "x" -f 1`
    }

    # Immagine casuale
    #Questa funzione ottiene un'immagine all'interno di "directory"
    funzione rand_image ()
    {
    # Otteniamo il nome di un'immagine all'interno di $ directory
    immagine = `ls -1 -b -R" $ directory "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | sort –random-sort | testa -1`

    #IMPORTANTE! Se noti che stiamo filtrando tutti i file con "estensione" .png, .jpg, .jpeg. Aggiungi -e ".extension" come appropriato.
    #Esempio:
    # immagine = `ls -1 -b -R" $ directory "| grep -i -e ".png" -e ".jpg" -e ".jpeg" -e ".new_extension" | sort –random-sort | testa -1`

    # Otteniamo il percorso di $ image
    dir_immagine = `trova" $ directory "-iname" $ ​​immagine "`
    }

    # Risoluzione dell'immagine
    #Questa funzione ottiene la risoluzione dell'immagine ottenuta dalla funzione rand_imagen ()
    funzione image_resolution ()
    {
    rand_image
    # Otteniamo l'altezza di $ image
    immagine_alta = `identifica -format"% h "" $ dir_immagine "`
    # Otteniamo la larghezza di $ image
    wide_image = `identifica -format"% w "" $ dir_immagine "`
    }

    # Otteniamo il rapporto risoluzione_immagine / risoluzione_schermo
    # il risultato di questa divisione restituisce un valore maggiore o minore di 1
    # proporzione 1 l'immagine è più grande dello schermo
    funzione proporzione ()
    {
    my_resolution
    risoluzione dell'immagine
    ratio_high = `echo $ altezza_immagine / $ altezza_mio | bc -l`
    proporzione_larghezza = `echo $ immagine_larghezza / $ larghezza_mio | bc -l`
    }

    # Otteniamo il rapporto image_high / image_width
    # il risultato di questa divisione restituisce un valore maggiore o minore di 1; A meno che l'immagine non sia quadrata Oo
    # image_proportion 1 l'immagine è più alta che larga
    rapporto immagine funzione ()
    {
    risoluzione dell'immagine
    ratio_image_rate = `echo $ immagine_altezza / $ immagine_larga | bc -l`
    }

    # Imposta lo sfondo
    # Questa funzione modifica i parametri dell'azoto in base alle proprietà dell'immagine rispetto al monitor
    #Immagine troppo alta o più grande del nostro schermo Imposta lo sfondo ridimensionando l'immagine
    # –Set-centered centra l'immagine non in scala
    # –Set-scaled riempie lo schermo con l'immagine distorta
    # –Set-zoom riempie lo schermo con l'immagine scalata verso l'alto
    # –Set-zoom-fill riempie lo schermo con l'immagine ridimensionata
    funzione scalare ()
    {
    proporzione
    if [`echo" $ proporzione_ampiezza> 1 ″ | bc` -eq 1]; poi
    #Se la risoluzione dell'immagine è maggiore di quella del nostro schermo, esegui ...
    "$ dir_immagine" impostato su scala di azoto
    altro
    if [`echo" $ velocità_alta> 1 ″ | bc` -eq 1]; poi
    #Se la risoluzione dell'immagine è inferiore a quella del nostro schermo, esegui ...
    "$ dir_immagine" centrata sull'azoto
    altro
    #Quando l'immagine è più piccola dello schermo, possiamo espanderla in lunghezza o larghezza
    proporzione dell'immagine
    if [`echo« $ proporzionimage_reason> 1 ″ | bc` -eq 1]; poi
    #Se l'altezza dell'immagine è inferiore a quella del nostro schermo, esegui ...
    azoto –set-zoom "$ dir_immagine"
    altro
    if [`echo« $ proporzionimage_reason <1 "| bc` -eq 1]; allora
    #Se la larghezza dell'immagine è inferiore a quella del nostro schermo, esegui ...
    azoto –set-zoom-fill "$ dir_immagine"
    fi
    fi
    fi
    fi
    }

    salita

    exit

    1.    halonso v suddetto

      Eccellente. Grazie.