用氮氣自動更換牆紙

你們當中有多少人使用“平鋪窗口管理器”? 必須重新編譯才能更改簡單的牆紙,甚至重新運行“氮氣”並向其傳遞另一個參數,這非常煩人。

好吧,今天我帶給您一個bash腳本,它從我們的收藏中獲取隨機圖像,並將其作為牆紙 更換氮氣壁紙,如果您從以下位置下載腳本 這裡 不要忘記從文件中刪除.txt擴展名並授予其執行權限

目錄=〜/圖片函數my_resolution(){res =`xrandr | grep'*'| grep -o -E'[0-9] + x [0-9] +'`my_high =`echo“ $ res” | 切-d“ x” -f 2` my_width =`echo“ $ res” | cut -d“ x” -f 1`}函數rand_image(){image =`ls -1 -b -R“ $ directory” | grep -i -e“ .png” -e“ .jpg” -e“ .jpeg” | 排序--random-sort | head -1` image_dir =`find“ $目錄” -iname“ $圖像”`}函數image_resolution(){image_rand high_image =`identify -format“%h”“ $ image_dir”`wide_image =`identify -format“ %w“” $ image_dir“`}函數比例(){my_resolution image_resolution height_proportion =`echo $ image_high / $ my_high | bc -l`比例寬度=`echo $ image_width / $ my_width | bc -l`}函數標量(){ if [`echo“ $ ratio_high> 1” | bc` -eq 1 -o` echo“ $ ratio_width> 1” | bc` -eq 1]; 然後以氮氣--set-zoom“ $ image_dir”否則以氮氣--set-centered“ $ image_dir” fi}標度退出

現在介紹腳本。
目錄=〜/圖片 //轉到牆紙所在的目錄

image_resolution() //此函數檢測監視器的分辨率,並將其保存在變量中:
my_high //高
my_width //寬度

rand_image() //此函數獲取«目錄»中的圖像

圖片=`ls -1 -b -R“ $目錄” | grep -i -e“ .png” -e“ .jpg” -e“ .jpeg” | 排序–隨機排序| -1

重要! 如果您注意到我們正在過濾所有帶有“擴展名” .png,.jpg,.jpeg的文件。 根據需要添加-e“ .extension”。

例如:

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() //此函數獲取由rand_image()函數獲取的圖像的分辨率

比例() //此函數獲取image_resolution / screen_resolution的比率

爬() //如果圖像的尺寸大於顯示器的分辨率,則此功能會縮放圖像並設置牆紙

現在我們有了腳本,可以為氮氣分配隨機的牆紙(並且圖像也適合您的顯示器),我們只需要使腳本經常運行,這可以通過在啟動時執行以下命令來實現

watch -n 4 ruta_donde_se_encuentra_el_script/nombre_del_script

在這種情況下,此命令每4秒執行一次,請注意path_where_the_script_is_found是腳本所在的完整路徑,而script_name是為腳本指定的名稱。

希望對你有幫助。


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。

  1.   KZKG ^ Gaara 他說:

    我將在此氮氣源中查找我想做的KDE腳本:)
    否則不錯的帖子...哈哈哈哈,您為帖子選擇的出色照片(史努比的笑聲!!!)

    1.    阿爾皮 他說:

      Jjajajajjajajaja謝謝,的確是史努比抽獎活動,hahajjajajajjajaj

  2.   s0rmt4il 他說:

    謝謝

  3.   寬度 他說:

    謝謝

  4.   金屬 他說:

    謝謝!

  5.   伊茲維普 他說:

    這不適用於肉桂吧?

    1.    阿爾皮 他說:

      我不知道如何更改肉桂中的牆紙,但是可以肯定的是,rand_image函數可為您獲取隨機圖像,因此您只需傳遞它$ dir_image
      我調查一下

  6.   + AMEM + 他說:

    謝謝,我為後代做了一些修改...希望您不要打擾
    我想知道你的想法,我對該語言不太了解

    #!/斌/慶典

    #〜原始作者
    #~
    #〜halonsov:數學家,GNU / LINUX愛好者,程序員,Debian和xmonad用戶。
    #~
    #〜參考
    #~ https://blog.desdelinux.net/cambiar-automaticamente-el-fondo-de-pantalla-con-nitrogen/
    #~
    #〜命令每120秒運行一次腳本
    #〜觀看-n 120 /home/amem/backup/DataCrunch/Synaptic/RandomWallpaper.sh
    #~
    #〜合作
    #〜+ AMEM +
    #〜我個人更喜歡只使用一次,以免浪費空間
    #〜添加autostart.sh
    #〜/home/amem/backup/DataCrunch/Synaptic/RandomWallpaper.sh&
    #〜個人筆記
    #〜該腳本最初由halonsov製作。
    #〜我對其進行了修改,以便僅在#CrunchBang的開頭執行它!
    #〜目的是讓您在磁盤上擁有的所有映像都可以看到
    #〜如此頻繁,並根據其屬性調整到屏幕。
    #〜為此,該腳本標識了顯示器的特性,
    #〜以及«目錄»的圖片或照片,
    #〜為了執行氮氣+避免縮放或縮放參數
    #〜細長的像素化圖像。
    #〜如果此腳本不符合您的需求,則可以修改其參數
    #〜以氮氣為中心
    #〜使圖像居中而不縮放
    #〜我建議您學習氮氣手冊。

    #目錄
    #將用作牆紙的圖像目錄,包括子目錄
    #更改到牆紙所在的目錄
    #例如目錄= / home /…/ images
    目錄= /主頁/ amem /圖片/壁紙

    #顯示器分辨率
    #此函數檢測顯示器的分辨率,並將其保存在變量中:
    函數my_resolution()
    {
    #我們使用xrandr獲得顯示器的分辨率
    res =`xrandr | grep'*'| grep -o -E'[0-9] + x [0-9] +'`
    #顯示器的高度
    my_high =`echo“ $ res” | 切開-d“ x” -f 2`
    #顯示器寬度
    my_width =`echo“ $ res” | 切-d“ x” -f 1`
    }

    #隨機圖片
    #此函數在“目錄”中獲取圖片
    函數rand_image()
    {
    #我們在$目錄中獲得某些圖像的名稱
    圖片=`ls -1 -b -R“ $目錄” | grep -i -e“ .png” -e“ .jpg” -e“ .jpeg” | 排序–隨機排序| -1

    #重要! 如果您注意到我們正在過濾所有帶有“擴展名” .png,.jpg,.jpeg的文件。 根據需要添加-e“ .extension”。
    #例:
    #image =`ls -1 -b -R“ $ directory” | grep -i -e“ .png” -e“ .jpg” -e“ .jpeg” -e“ .new_extension” | 排序–隨機排序| -1

    #我們得到$ image的路徑
    image_dir =`find“ $目錄” -iname“ $圖片”
    }

    #圖像分辨率
    #此函數獲取由rand_imagen()函數獲得的圖像的分辨率
    函數image_resolution()
    {
    rand_image
    #我們得到$圖片的高度
    high_image =`identify -format“%h”“ $ image_dir”`
    #我們得到$圖片的寬度
    wide_image =`identify -format“%w”“ $ image_dir”`
    }

    #我們得到圖像分辨率/屏幕分辨率的比率
    #該除法的結果返回大於或小於1的值
    #比例1圖像大於屏幕
    功能比例()
    {
    my_resolution
    圖像分辨率
    ratio_high =`echo $ image_high / $ my_high | bc -l`
    width_proportion =`echo $ width_image / $ my_width | bc -l`
    }

    #我們得到比率image_high / image_width
    #該除法的結果返回大於或小於1的值; 除非圖像是方形Oo
    #image_proportion 1圖像比寬高
    功能圖片比例()
    {
    圖像分辨率
    ratio_image_rate =`echo $ tall_image / $ wide_image | bc -l`
    }

    #設置牆紙
    #此功能根據與監視器有關的圖像屬性修改氮參數
    #圖片太大或大於屏幕尺寸通過縮放圖片設置牆紙
    #–以設置為中心,將未縮放的圖像居中
    #–按比例縮放將扭曲的圖像填充到屏幕中
    #–Set-zoom將縮放圖像填充到屏幕頂部
    #–Set-zoom-fill用縮放的圖像填充屏幕
    標量函數()
    {
    比例
    如果[`echo“ $ width_proportion> 1''| bc` -eq 1]; 然後
    #如果圖像分辨率大於屏幕分辨率,請執行...
    氮氣-設定比例的“ $ image_dir”
    其他
    if [`echo“ $ high_rate> 1''| bc` -eq 1]; 然後
    #如果圖像的分辨率小於我們的屏幕分辨率,請執行...
    以氮為中心的“ $ image_dir”
    其他
    #當圖片小於屏幕時,我們可以將其擴展為長度或寬度
    圖像比例
    如果[`echo«$比例圖像_原因> 1''| bc` -eq 1]; 然後
    #如果圖像的高度小於屏幕的高度,請執行...
    氮氣–set-zoom“ $ image_dir”
    其他
    如果[`echo«$比例圖像_reason <1“ | bc` -eq 1];則
    #如果圖像寬度小於屏幕寬度,請執行...
    氮氣–設置縮放填充“ $ image_dir”
    fi
    fi
    fi
    fi
    }

    爬上

    出口

    1.    哈龍索五世 他說:

      優秀的。 謝謝。