Hur många av er använder en "Takfönsterhanterare" och säkert efter en stund tröttnar vår tapeter oss? Det är väldigt irriterande att behöva kompilera om för att kunna ändra en enkel bakgrund, eller till och med att köra om "kväve" och skicka en annan parameter till den.
Tja idag ger jag dig ett manus i bash, det får en slumpmässig bild från vår samling och lägger den som en bakgrund Byt kvävebakgrund, om du laddar ner skriptet från här glöm inte att ta bort .txt-tillägget från filen och ge det körbehörigheter
katalog = ~ / Bilder fungerar min_upplösning () {res = `xrandr | grep '*' | grep -o -E '[0-9] + x [0-9] +' `my_high =` echo "$ res" | klipp -d "x" -f 2` my_width = `echo" $ res "| klipp -d "x" -f 1`} funktion rand_image () {image = `ls -1 -b -R" $ katalog "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | sort - slumpmässig sortering | head -1` image_dir = `hitta" $ katalog "-namn" $ image "`} funktion image_resolution () {rand_image high_image = `identifiera -format"% h "" $ image_dir "` wide_image = `identifiera -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 skalär () { proportion om [`echo" $ ratio_high> 1 "| bc` -eq 1 -o` echo" $ ratio_width> 1 "| bc` -eq 1]; sedan kväve --set-zoom "$ image_dir" annars kväve --set-centrerad "$ image_dir" fi} skala utgång
Nu kommer förklaringen av manuset.
katalog = ~ / bilder // Byt till katalogen där dina bakgrundsbilder finns
bildupplösning () // Denna funktion upptäcker upplösningen på vår bildskärm och sparar den i variablerna:
min_hög //Hög
min_bredd //Bredd
rand_image () // Denna funktion får en bild i "katalog"
image = `ls -1 -b -R" $ katalog "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | sortera – slumpmässig sortering | huvud -1 '
Exempelvis:
imagen=`ls -1 -b -R "$directorio" | grep -i -e ".png" -e ".jpg" -e ".jpeg" -e ".nueva_extensión" | sort --random-sort | head -1`
bildupplösning () // Denna funktion erhåller upplösningen för bilden som erhålls med funktionen rand_image ()
andel() // Denna funktion får förhållandet image_resolution / screen_resolution
klättra() // Denna funktion skalar bilden om den är större än upplösningen på vår skärm och ställer in bakgrunden
Nu när vi har skriptet för att tilldela kväve slumpmässig bakgrundsbild (och även bilden anpassar sig till din bildskärm) behöver vi bara göra att skriptet körs så ofta, detta uppnås genom att utföra följande kommando vid start
watch -n 4 ruta_donde_se_encuentra_el_script/nombre_del_script
I det här fallet körs det här kommandot var fjärde sekund, notera att sökvägen_var_skriften_is_hittade är hela sökvägen där skriptet finns och skriptnamn är namnet som gavs till skriptet.
Jag hoppas att du tycker att det är användbart.
Jag kommer att kontrollera detta kväve för ett skript för KDE som jag vill göra :)
Annars bra inlägg ... hahahaha, utmärkt foto du har valt för inlägget (Snoopy LOL !!!)
Jjajajajjajajaja tack, verkligen snoopy tombola, hahajjajajajjajaj
Tack ..
tack
tack!
Detta fungerar inte för kanel, eller hur?
Jag har ingen aning om hur jag byter tapet i kanel, men det säkra är att funktionen rand_image fungerar för dig för att få en slumpmässig bild, så du måste bara skicka den $ dir_image
Låt mig undersöka
Tack, jag ändrade det lite för framtida generationer ... Jag hoppas att du inte bryr dig
Jag skulle vilja veta vad du tycker, jag vet inte mycket om språket
#! / Bin / bash
# ~ Originalförfattare
#~
# ~ halonsov: Matematiker, GNU / LINUX älskare, programmerare, Debian och xmonad-användare.
#~
# ~ Referenser
#~ https://blog.desdelinux.net/cambiar-automaticamente-el-fondo-de-pantalla-con-nitrogen/
#~
# ~ Kommando att köra skriptet var 120: e sekund
# ~ watch -n 120 /home/amem/backup/DataCrunch/Synaptic/RandomWallpaper.sh
#~
# ~ Samarbete
# ~ + AMEM +
# ~ Personligen föredrar jag att använda den bara en gång för att inte använda utrymme
# ~ lägger till i autostart.sh
# ~ /home/amem/backup/DataCrunch/Synaptic/RandomWallpaper.sh &
# ~ Personlig anteckning
# ~ detta manus skapades ursprungligen av halonsov.
# ~ Jag ändrade det så att bara lite, för att köra det i början av # CrunchBang!
# ~ Syftet är att alla de bilder som du har på din disk kan se dem
# ~ så ofta och att de anpassar sig till skärmen efter deras egenskaper.
# ~ för detta identifierar detta skript egenskaperna för din bildskärm,
# ~ och de på bilden eller fotot i din «katalog»,
# ~ för att utföra kväve + en skalning eller zoomparameter som undviks
# ~ långsträckta, pixelerade bilder.
# ~ Om detta skript inte passar dina behov kan du ändra dess parametrar
# ~ Exempelvis kväve - sätecentrerad
# ~ för att centrera bilden utan att skalas
# ~ Jag rekommenderar att du studerar kvävehandboken.
#Katalog
#Katalog över bilder som ska användas som bakgrund, inklusive underkataloger
#Byt till katalogen där dina bakgrundsbilder finns
# T.ex. katalog = / hem / ... / bilder
katalog = / hem / amem / bilder / Bakgrund
# Bildskärmsupplösning
# Den här funktionen upptäcker upplösningen på vår bildskärm och sparar den i variablerna:
funktion min_upplösning ()
{
#Vi får upplösningen på vår bildskärm med xrandr
res = `xrandr | grep '*' | grep -o -E '[0-9] + x [0-9] +' '
# Skärmens höjd
my_high = `echo" $ res "| klipp -d "x" -f 2`
# Skärmbredd
my_width = `echo" $ res "| klipp -d "x" -f 1`
}
#Random Image
#Denna funktion får en bild i "katalog"
funktion rand_image ()
{
#Vi får namnet på någon bild i $ -katalogen
image = `ls -1 -b -R" $ katalog "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | sortera – slumpmässig sortering | huvud -1 '
#VIKTIG! Om du märker att vi filtrerar alla filer med "förlängning" .png, .jpg, .jpeg. Lägg till -e ".extension" efter behov.
#Exempel:
# image = `ls -1 -b -R" $ katalog "| grep -i -e ".png" -e ".jpg" -e ".jpeg" -e ".new_extension" | sortera – slumpmässig sortering | huvud -1 '
#Vi får vägen till $ image
image_dir = `hitta" $ katalog "-namn" $ bild ""
}
# Bildupplösning
#Denna funktion erhåller upplösningen för bilden som erhålls med funktionen rand_imagen ()
funktion image_resolution ()
{
rand_image
#Vi får höjden på $ image
high_image = `identifiera -format"% h "" $ image_dir ""
#Vi får bredden på $ image
wide_image = `identifiera -format"% w "" $ image_dir ""
}
#Vi får förhållandet image_resolution / screen_resolution
# resultatet av denna division returnerar ett värde som är större eller mindre än 1
# proportion 1 bilden är större än skärmen
funktionsproportion ()
{
min_upplösning
bildupplösning
ratio_high = `echo $ image_high / $ my_high | bc -l`
width_proportion = `echo $ width_image / $ my_width | bc -l`
}
#Vi får förhållandet image_high / image_width
# resultatet av denna division returnerar ett värde som är större eller mindre än 1; Om inte bilden är kvadratisk Oo
# image_proportion 1 bilden är högre än den är bred
funktion bild andel ()
{
bildupplösning
ratio_image_reason = `echo $ tall_image / $ wide_image | bc -l`
}
# Ställ in bakgrunden
# Denna funktion ändrar kväveparametrarna i enlighet med bildens egenskaper i förhållande till bildskärmen
#Bild för hög eller större än vår skärm Ställer in bakgrunden genom att skala bilden
# –Set-centrerad centrerar den oskalade bilden
# –Set-skalad fyller skärmen med den snedställda bilden
# –Set-zoom fyller skärmen med den skalade bilden uppe
# –Set-zoom-fyllning fyller skärmen med den skalade bilden längs
skalarfunktion ()
{
andel
om [`echo" $ width_proportion> 1 ″ | bc` -eq 1]; sedan
#Om bildens upplösning är större än vår skärm, kör ...
kväve-set-skalad "$ image_dir"
annars
om [`echo" $ high_rate> 1 ″ | bc` -eq 1]; sedan
# Om bildens upplösning är mindre än skärmen, kör ...
kväve-set-centrerad "$ image_dir"
annars
#När bilden är mindre än skärmen kan vi expandera den till längd eller bredd
bildproportion
om [`echo« $ proportionimage_reason> 1 ″ | bc` -eq 1]; sedan
#Om höjden på bilden är mindre än skärmen, kör ...
kväve-set-zoom "$ image_dir"
annars
om [`echo« $ proportionimage_reason <1 "| bc` -eq 1]; då
#Om bildens bredd är mindre än vår skärm, kör ...
kväve –set-zoom-fyll "$ image_dir"
fi
fi
fi
fi
}
klättra
avsluta
Utmärkt. Tack.