Awtomatikong baguhin ang wallpaper gamit ang Nitrogen

Ilan sa inyo ang gumagamit ng isang "Tiling window manager" at tiyak na makalipas ang ilang sandali ay binabato tayo ng aming wallpaper? Nakakainis na kailangang muling mag-ipon upang mabago ang isang simpleng wallpaper, o kahit na patakbuhin muli ang "nitrogen" at ipasa ang isa pang parameter dito.

Ngayon dinadala ko sa iyo ang isang script sa bash, nakakakuha ito ng isang random na imahe mula sa aming koleksyon at inilalagay ito bilang isang wallpaper Baguhin ang Nitrogen Wallpaper, kung na-download mo ang script mula sa dito huwag kalimutang alisin ang .txt extension mula sa file at bigyan ito ng mga pahintulot na magpatupad

direktoryo = ~ / Mga imahe gumana my_resolution () {res = `xrandr | grep '*' | grep -o -E '[0-9] + x [0-9] +' `my_high =` echo "$ res" | gupitin -d "x" -f 2` my_width = `echo" $ res "| gupitin -d "x" -f 1`} pag-andar rand_image () {image = `ls -1 -b -R" $ direktoryo "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | pag-uuri --random-sort | ulo -1` image_dir = `hanapin ang" $ direktoryo "-iname" $ ​​imahe "`} function image_resolution () {rand_image high_image = `kilalanin -format"% h "" $ image_dir "` wide_image = `kilalanin -format" % w "" $ image_dir "`} proporsyon ng pag-andar () {my_resolution image_resolution taas_rate = `echo $ image_high / $ my_high | bc -l` proportion_width =` echo $ image_width / $ my_width | bc -l`} function scalar () { proporsyon kung [`echo" $ ratio_high> 1 "| bc` -eq 1 -o` echo" $ ratio_width> 1 "| bc` -eq 1]; pagkatapos nitrogen --set-zoom "$ image_dir" iba pa nitrogen --set-centered "$ image_dir" fi} scale exit

Dumating na ngayon ang paliwanag ng script.
direktoryo = ~ / Mga Larawan // Baguhin ang direktoryo kung saan matatagpuan ang iyong mga wallpaper

image_resolution () // Nakita ng pagpapaandar na ito ang resolusyon ng aming monitor, at nai-save ito sa mga variable:
aking_taas // Mataas
my_width // Lapad

rand_image () // Ang pagpapaandar na ito ay nakakakuha ng isang imahe sa loob ng "direktoryo"

imahe = `ls -1 -b -R" $ direktoryo "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | pag-uuri –random-sort | ulo -1`

MAHALAGA! Kung napansin mong sinasala namin ang lahat ng mga file na may "mga extension" .png, .jpg, .jpeg. Idagdag -e ".extension" kung naaangkop.

Halimbawa:

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 () // Ang pagpapaandar na ito ay nakakakuha ng resolusyon ng imahe na nakuha ng rand_image () na pagpapaandar

proporsyon () // Ang pagpapaandar na ito ay nakakakuha ng ratio ng imahe_resolution / screen_resolution

umakyat () // Sinusukat ng pagpapaandar na ito ang imahe kung ito ay mas malaki kaysa sa resolusyon ng aming monitor at itinatakda ang wallpaper

Ngayon na mayroon kaming script upang magtalaga ng random na wallpaper sa nitrogen (at ang imahe ay umaangkop sa iyong monitor) kailangan lamang naming patakbuhin ang script nang madalas, nakakamit ito sa pamamagitan ng pagpapatupad ng sumusunod na utos sa pagsisimula

watch -n 4 ruta_donde_se_encuentra_el_script/nombre_del_script

Sa kasong ito, ang utos na ito ay isinasagawa tuwing 4 na segundo, tandaan na ang path_where_the_script_is_found ay ang buong landas kung saan matatagpuan ang script at script_name ang pangalan na ibinigay sa script.

Inaasahan kong kapaki-pakinabang ito.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.

  1.   KZKG ^ Gaara dijo

    Susuriin ko ang Nitrogen na ito para sa isang script para sa KDE na nais kong gawin :)
    Kung hindi man magandang post ... hahahaha, napakahusay na larawan na napili mo para sa post (Snoopy's LOL !!!)

    1.    alpj dijo

      Jjajajajjajajaja salamat, talaga snoopy raffle, hahajjajajajjajaj

  2.   st0rmt4il dijo

    Salamat..

  3.   LUPA dijo

    Salamat

  4.   ferchmetal dijo

    Salamat!

  5.   izzyvp dijo

    Hindi ito gagana para sa kanela diba?

    1.    alpj dijo

      Wala akong ideya kung paano baguhin ang wallpaper sa kanela, ngunit ang sigurado na bagay ay ang pagpapaandar sa rand_image ay nagsisilbi sa iyo upang makakuha ng isang random na imahe, kaya kailangan mo lamang ipasa ito $ dir_image
      Hayaan akong mag-imbestiga

  6.   + AMEM + dijo

    Salamat, binago ko ito nang kaunti para sa hinaharap na mga henerasyon ... sana ay huwag kayong mag-abala
    Nais kong malaman kung ano ang iniisip mo, hindi ko masyadong alam ang tungkol sa wika

    #! / bin / bash

    # ~ Orihinal na may-akda
    #~
    # ~ halonsov: Matematika, GNU / LINUX kalaguyo, programmer, Debian at xmonad na gumagamit.
    #~
    # ~ Mga Sanggunian
    #~ https://blog.desdelinux.net/cambiar-automaticamente-el-fondo-de-pantalla-con-nitrogen/
    #~
    # ~ Command na patakbuhin ang script tuwing 120 segundo
    # ~ panonood -n 120 /home/amem/backup/DataCrunch/Synaptic/RandomWallpaper.sh
    #~
    # ~ Pakikipagtulungan
    # ~ + AMEM +
    # ~ Personal na ginusto kong gamitin ito nang isang beses lamang upang hindi magamit ang puwang
    # ~ pagdaragdag sa autostart.sh
    # ~ /home/amem/backup/DataCrunch/Synaptic/RandomWallpaper.sh &
    # ~ Personal na tala
    # ~ ang script na ito ay orihinal na ginawa ni halonsov.
    # ~ Binago ko ito upang kaunti lamang, upang maisagawa ito sa simula ng #CrunchBang!
    # ~ ang layunin ay ang lahat ng mga imaheng mayroon ka sa iyong disk maaari mong makita ang mga ito
    # ~ tuwing madalas, at nagsasaayos sila sa screen ayon sa kanilang mga pag-aari.
    # ~ para dito kinikilala ng script na ito ang mga katangian ng iyong monitor,
    # ~ at sa mga larawan o larawan ng iyong «direktoryo»,
    # ~ upang maipatupad ang nitrogen + isang pag-iwas sa pag-scale o pag-zoom
    # ~ pinahabang, pixelated na mga imahe.
    # ~ Kung ang script na ito ay hindi umaangkop sa iyong mga pangangailangan, maaari mong baguhin ang mga parameter nito
    # ~ Halimbawa ng nitrogen – nakasentro sa set
    # ~ upang isentro ang imahe nang walang pag-scale
    # ~ Inirerekumenda kong pag-aralan mo ang manwal ng nitrogen.

    # Direktoryo
    # Direktoryo ng mga imahe na gagamitin bilang wallpaper, kabilang ang mga subdirectory
    #Baguhin ang direktoryo kung saan matatagpuan ang iyong mga wallpaper
    # Hal direktoryo = / home /… / mga imahe
    direktoryo = / bahay / amem / mga imahe / Wallpaper

    # Resolution ng monitor
    Nakita ng pagpapaandar na ito ang resolusyon ng aming monitor, at nai-save ito sa mga variable:
    pagpapaandar my_resolution ()
    {
    # Nakukuha namin ang resolusyon ng aming monitor gamit ang xrandr
    res = `xrandr | grep '*' | grep -o -E '[0-9] + x [0-9] +' `
    # Taas ng monitor
    my_high = `echo" $ res "| gupitin -d "x" -f 2`
    # Lapad ng monitor
    my_width = `echo" $ res "| gupitin -d "x" -f 1`
    }

    #Random Image
    # Ang pagpapaandar na ito ay nakakakuha ng isang imahe sa loob ng "direktoryo"
    function rand_image ()
    {
    # Nakakuha kami ng pangalan ng ilang imahe sa loob ng $ direktoryo
    imahe = `ls -1 -b -R" $ direktoryo "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | pag-uuri –random-sort | ulo -1`

    # MAHALAGA! Kung napansin mong sinasala namin ang lahat ng mga file na may "extension" .png, .jpg, .jpeg. Idagdag -e ".extension" kung naaangkop.
    # Halimbawa:
    # image = `ls -1 -b -R" $ direktoryo "| grep -i -e ".png" -e ".jpg" -e ".jpeg" -e ".new_extension" | pag-uuri –random-sort | ulo -1`

    # Nakakuha kami ng landas ng $ imahe
    image_dir = `hanapin ang" $ direktoryo "-pangalanan ang" $ imahe "`
    }

    # Resolusyon ng imahe
    # Ang pagpapaandar na ito ay nakakakuha ng resolusyon ng imahe na nakuha ng rand_imagen () na pagpapaandar
    pag-andar ng image_resolution ()
    {
    rand_image
    # Nakakuha kami ng taas ng $ imahe
    high_image = `kilalanin -format"% h "" $ image_dir "`
    # Nakukuha namin ang lapad ng $ imahe
    image_width = `kilalanin -format"% w "" $ image_dir "`
    }

    # Nakukuha namin ang ratio ng imahe_resolution / screen_resolution
    # ang resulta ng paghahati na ito ay nagbabalik ng halagang mas malaki o mas mababa sa 1
    # proporsyon 1 ang imahe ay mas malaki kaysa sa screen
    proporsyon ng pag-andar ()
    {
    my_resolution
    imahe_resolution
    ratio_high = `echo $ image_high / $ my_high | bc -l`
    width_proportion = `echo $ width_image / $ my_width | bc -l`
    }

    # Nakukuha namin ang ratio ng image_high / image_width
    # ang resulta ng paghahati na ito ay nagbabalik ng halagang mas malaki o mas mababa sa 1; Maliban kung ang imahe ay parisukat Oo
    # image_proportion 1 ang imahe ay mas mataas kaysa sa malapad nito
    proporsyon ng imahe ng function ()
    {
    imahe_resolution
    ratio_image_reason = `echo $ taas_image / $ wide_image | bc -l`
    }

    #Itakda ang wallpaper
    # Binabago ng pagpapaandar na ito ang mga parameter ng nitrogen ayon sa mga pag-aari ng imahe na may kaugnayan sa monitor
    #Image masyadong matangkad o mas malaki kaysa sa aming screen Itinatakda ang wallpaper sa pamamagitan ng pag-scale ng imahe
    # –Nagtutuon ng naka-set na sentro ang hindi naka-iskala na imahe
    # –Set-scale na pinunan ang screen ng warped na imahe
    # –Set-zoom pinupunan ang screen na may naka-scale na imahe sa itaas
    # –Set-zoom-fill punan ang screen na may naka-scale na imahe kasama
    pagpapaandar ng scalar ()
    {
    proporsyon
    kung [`echo" $ width_proportion> 1 ″ | bc` -eq 1]; tapos
    #Kung ang resolusyon ng imahe ay mas malaki kaysa sa aming screen, ipatupad ...
    nitrogen –set-scale na "$ image_dir"
    iba
    kung [`echo" $ high_rate> 1 ″ | bc` -eq 1]; tapos
    #Kung ang resolusyon ng imahe ay mas maliit kaysa sa aming screen, ipatupad ...
    nitrogen –set-centered na "$ image_dir"
    iba
    #Kapag ang imahe ay mas maliit kaysa sa screen maaari namin itong palawakin sa haba o lapad
    proporsyon ng imahe
    kung [`echo« $ proportionimage_reason> 1 ″ | bc` -eq 1]; tapos
    #Kung ang taas ng imahe ay mas maliit kaysa sa aming screen, ipatupad ...
    nitrogen –set-zoom "$ image_dir"
    iba
    kung [`echo« $ proportionimage_reason <1 "| bc` -eq 1]; kung gayon
    #Kung ang lapad ng imahe ay mas maliit kaysa sa aming screen, ipatupad ...
    nitrogen –set-zoom-punan ang "$ image_dir"
    fi
    fi
    fi
    fi
    }

    umakyat

    lumabas

    1.    Halonsus V dijo

      Napakahusay Salamat.