Automaticky měnit tapetu pomocí dusíku

Kolik z vás používá „správce oken obkladů“ a naše tapeta nás jistě po chvíli nudí? Je velmi nepříjemné muset překompilovat, aby bylo možné změnit jednoduchou tapetu, nebo dokonce znovu spustit „dusík“ a předat mu další parametr.

Dnes vám přinesu skript v bash, získá náhodný obrázek z naší sbírky a umístí jej jako tapetu Změňte tapetu dusíku, pokud si stáhnete skript z zde nezapomeňte odstranit příponu .txt ze souboru a udělit mu oprávnění ke spuštění

adresář = ~ / Obrázky fungují 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`} funkce rand_image () {image = `ls -1 -b -R" $ adresář "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | sort --random-sort | head -1` image_dir = `find" $ directory "-iname" $ ​​image "`} funkce image_resolution () {rand_image high_image = `identify -format"% h "" $ image_dir "` `wide_image =` identify -format "% w "" $ image_dir "`} funkční poměr () {my_resolution image_resolution height_proportion = `echo $ image_high / $ my_high | bc -l` proporce_width =` echo $ image_width / $ my_width | bc -l`} funkce skalární () {poměr pokud [`echo" $ ratio_high> 1 "| bc` -eq 1 -o` echo" $ ratio_width> 1 "| bc` -eq 1]; pak dusík --set-zoom "$ image_dir" jiný dusík --set-střed "$ image_dir" fi} měřítko

Nyní přichází vysvětlení skriptu.
adresář = ~ / Obrázky // Přejděte do adresáře, kde jsou umístěny vaše tapety

image_resolution () // Tato funkce detekuje rozlišení našeho monitoru a ukládá jej do proměnných:
my_high //Vysoký
my_width //Šířka

rand_image () // Tato funkce získá obrázek uvnitř «adresáře»

image = `ls -1 -b -R" $ adresář "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | třídit –hodně třídit | hlava -1`

DŮLEŽITÉ! Pokud si všimnete, filtrujeme všechny soubory s příponou .png, .jpg, .jpeg. Podle potřeby přidejte -e „.extension“.

příklad:

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 () // Tato funkce získá rozlišení obrazu získané funkcí rand_image ()

podíl () // Tato funkce získá poměr image_resolution / screen_resolution

stoupání () // Tato funkce změní měřítko obrazu, pokud je větší než rozlišení našeho monitoru, a nastaví tapetu

Nyní, když máme skript pro přiřazení náhodných tapet dusíku (a také obrázek se přizpůsobí vašemu monitoru), musíme skript spouštět jen tak často, čeho lze dosáhnout provedením následujícího příkazu při spuštění

watch -n 4 ruta_donde_se_encuentra_el_script/nombre_del_script

V tomto případě se tento příkaz provede každé 4 sekundy. Všimněte si, že path_where_the_script_is_found je úplná cesta, kde je skript umístěn, a script_name je název daný skriptu.

Doufám, že vám to bude užitečné.


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.

  1.   KZKG ^ Gaara řekl

    Zkontroluji tento dusík pro skript pro KDE, který chci udělat :)
    Jinak dobrý příspěvek ... hahahaha, vynikající fotka, kterou jste pro příspěvek vybrali (Snoopy's LOL !!!)

    1.    alpj řekl

      Jjajajajjajajaja děkuji, opravdu snoopy tombola, hahajjajajajjajaj

  2.   ST0RMT4IL řekl

    Děkuji vám ..

  3.   ŠÍŘKA řekl

    díky

  4.   železný kov řekl

    Děkuji vám!

  5.   izzyvp řekl

    To nefunguje pro skořici, že?

    1.    alpj řekl

      Nemám ponětí, jak změnit tapetu ve skořici, ale jistá věc je, že funkce rand_image vám slouží k získání náhodného obrázku, takže jej musíte předat $ dir_image
      Nechte mě vyšetřit

  6.   + AMEM + řekl

    Děkuji, trochu jsem to upravil pro budoucí generace ... doufám, že se neobtěžujete
    Chtěl bych vědět, co si myslíte, nevím toho jazyka moc

    #! / bin / bash

    # ~ Původní autor
    #~
    # ~ halonsov: Matematik, milovník GNU / LINUX, programátor, uživatel Debianu a xmonad.
    #~
    # ~ Odkazy
    #~ https://blog.desdelinux.net/cambiar-automaticamente-el-fondo-de-pantalla-con-nitrogen/
    #~
    # ~ Příkaz ke spuštění skriptu každých 120 sekund
    # ~ hodinky -n 120 /home/amem/backup/DataCrunch/Synaptic/RandomWallpaper.sh
    #~
    # ~ Spolupráce
    # ~ + AMEM +
    # ~ Osobně dávám přednost použití pouze jednou, abych nevyužil prostor
    # ~ přidání v autostart.sh
    # ~ /home/amem/backup/DataCrunch/Synaptic/RandomWallpaper.sh &
    # ~ Osobní poznámka
    # ~ tento skript původně vytvořil halonsov.
    # ~ Upravil jsem to tak, aby to bylo trochu spuštěno na začátku #CrunchBang!
    # ~ účelem je, aby byly viditelné všechny obrázky, které máte na disku
    # ~ každý tak často a že se přizpůsobí obrazovce podle svých vlastností.
    # ~ pro tento skript identifikuje vlastnosti vašeho monitoru,
    # ~ a obrázky nebo fotografie vašeho «adresáře»,
    # ~ za účelem provedení dusíku + vyhnutí se měřítku nebo zvětšení parametru
    # ~ podlouhlé pixelové obrázky.
    # ~ Pokud tento skript nevyhovuje vašim potřebám, můžete upravit jeho parametry
    # ~ Např. Dusík - střed
    # ~ k vycentrování obrazu bez změny měřítka
    # ~ Doporučuji prostudovat si příručku o dusíku.

    #Adresář
    # Adresář obrázků, které se mají použít jako tapety, včetně podadresářů
    # Přejděte do adresáře, kde se nacházejí vaše tapety
    # Např. Adresář = / home /… / obrázky
    adresář = / home / amem / images / tapety

    # Rozlišení monitoru
    # Tato funkce detekuje rozlišení našeho monitoru a ukládá jej do proměnných:
    funkce my_resolution ()
    {
    # Rozlišení našeho monitoru získáme pomocí xrandr
    res = `xrandr | grep '*' | grep -o -E '[0-9] + x [0-9] +' '
    # Výška monitoru
    my_high = `echo" $ res "| cut -d "x" -f 2`
    # Šířka monitoru
    my_width = `echo" $ res "| cut -d "x" -f 1`
    }

    # Náhodný obrázek
    # Tato funkce získá obrázek do „adresáře“
    funkce rand_image ()
    {
    # Dostaneme název nějakého obrázku uvnitř $ adresáře
    image = `ls -1 -b -R" $ adresář "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | třídit –hodně třídit | hlava -1`

    #DŮLEŽITÉ! Pokud si všimnete, filtrujeme všechny soubory s příponou .png, .jpg, .jpeg. Podle potřeby přidejte -e „.extension“.
    #Příklad:
    # image = `ls -1 -b -R" $ adresář "| grep -i -e ".png" -e ".jpg" -e ".jpeg" -e ".new_extension" | třídit –hodně třídit | hlava -1`

    # Dostaneme cestu $ image
    image_dir = `najít" $ adresář "-iname" $ ​​image ""
    }

    # Rozlišení obrazu
    # Tato funkce získává rozlišení obrazu získaného funkcí rand_imagen ()
    funkce image_resolution ()
    {
    rand_image
    # Dostaneme výšku $ obrazu
    high_image = `identify -format"% h "" $ image_dir "`
    # Dostaneme šířku $ obrázku
    image_width = `identify -format"% w "" $ image_dir "`
    }

    # Získáme poměr image_resolution / screen_resolution
    # výsledek tohoto rozdělení vrátí hodnotu větší nebo menší než 1
    # proporce 1 je obraz větší než obrazovka
    funkční poměr ()
    {
    my_resolution
    image_resolution
    ratio_high = `echo $ image_high / $ my_high | bc -l`
    width_proportion = `echo $ width_image / $ my_width | bc -l`
    }

    # Získáme poměr image_high / image_width
    # výsledek tohoto dělení vrátí hodnotu větší nebo menší než 1; Pokud obrázek není čtvercový Oo
    # image_proportion 1 obrázek je vyšší než široký
    funkční poměr obrazu ()
    {
    image_resolution
    ratio_image_rate = `echo $ tall_image / $ wide_image | bc -l`
    }

    # Nastavte tapetu
    # Tato funkce upravuje parametry dusíku podle vlastností obrazu ve vztahu k monitoru
    # Obrázek je příliš vysoký nebo větší než naše obrazovka Nastaví tapetu změnou velikosti obrázku
    # –Nastavení na střed vycentruje obraz bez měřítka
    # - Nastavené měřítko vyplní obrazovku pokřiveným obrazem
    # –Set-zoom vyplní obrazovku zvětšeným obrázkem nahoru
    # –Set-zoom-fill vyplní obrazovku zvětšeným obrázkem
    funkce skalární ()
    {
    poměr
    if [`echo" $ width_proportion> 1 ″ | bc` -eq 1]; pak
    # Pokud je rozlišení obrazu větší než rozlišení naší obrazovky, proveďte ...
    dusík - nastaveno měřítko „$ image_dir“
    jiný
    if [`echo" $ high_rate> 1 ″ | bc` -eq 1]; pak
    # Pokud je rozlišení obrazu menší než rozlišení naší obrazovky, proveďte ...
    dusík - centrovaný na „$ image_dir“
    jiný
    # Když je obrázek menší než obrazovka, můžeme jej rozšířit na délku nebo šířku
    poměr obrázku
    pokud [`echo« $ proporce_obrázku> 1 ″ | bc`-ekvivalent 1]; pak
    # Pokud je výška obrazu menší než výška naší obrazovky, proveďte ...
    dusík –set-zoom "$ image_dir"
    jiný
    if [`echo« $ proporce obrazu_rozsah <1 "| bc`-ekv. 1]; pak
    # Pokud je šířka obrazu menší než šířka naší obrazovky, proveďte ...
    dusík –set-zoom-fill "$ image_dir"
    fi
    fi
    fi
    fi
    }

    vylézt

    výstup

    1.    Halonsus V řekl

      Výborný. Děkuju.