มีคุณกี่คนที่ใช้ "Tiling window manager" และหลังจากนั้นไม่นานวอลล์เปเปอร์ของเราก็ทำให้เราเบื่อ เป็นเรื่องที่น่ารำคาญมากที่ต้องรวบรวมใหม่เพื่อให้สามารถเปลี่ยนวอลเปเปอร์ธรรมดา ๆ หรือแม้แต่เรียกใช้ "ไนโตรเจน" ใหม่และส่งผ่านพารามิเตอร์อื่นไป
วันนี้ผมนำสคริปต์มาให้คุณได้รับภาพสุ่มจากคอลเลกชันของเราและนำมาเป็นภาพพื้นหลัง เปลี่ยนวอลเปเปอร์ไนโตรเจนหากคุณดาวน์โหลดสคริปต์จากไฟล์ ที่นี่ อย่าลืมลบนามสกุล. 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" | เรียงลำดับ - แบบสุ่ม | head -1` image_dir = `find" $ directory "-iname" $ image "`} function image_resolution () {rand_image high_image = `ระบุ -format"% h "" $ image_dir "` wide_image = `ระบุ -format" % w "" $ image_dir "`} สัดส่วนฟังก์ชัน () {my_resolution image_resolution height_proportion = `echo $ image_high / $ my_high | bc -l` ratio_width =` echo $ image_width / $ my_width | bc -l`} ฟังก์ชันสเกลาร์ () { สัดส่วนถ้า [`echo" $ ratio_high> 1 "| bc` -eq 1 -o` echo" $ ratio_width> 1 "| bc` -eq 1]; จากนั้นไนโตรเจน - set-zoom "$ image_dir" else ไนโตรเจน - กำหนดเป็นศูนย์กลาง "$ image_dir" fi} ออกจากสเกล
ตอนนี้มาถึงคำอธิบายของสคริปต์
ไดเรกทอรี = ~ / รูปภาพ // เปลี่ยนเป็นไดเร็กทอรีที่มีวอลเปเปอร์ของคุณอยู่
image_resolution () // ฟังก์ชันนี้ตรวจจับความละเอียดของจอภาพของเราและบันทึกไว้ในตัวแปร:
my_high //สูง
my_width // ความกว้าง
Rand_image () // ฟังก์ชันนี้รับรูปภาพภายใน«ไดเร็กทอรี»
image = `ls -1 -b -R" $ directory "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | เรียง - สุ่มเรียง | หัว -1`
ตัวอย่าง:
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 เป็นชื่อที่กำหนดให้กับสคริปต์
ฉันหวังว่าคุณพบว่ามีประโยชน์.
ฉันจะตรวจสอบไนโตรเจนนี้สำหรับสคริปต์ KDE ที่ฉันต้องการทำ :)
ไม่งั้นโพสต์ดี ... ฮ่า ๆ ๆ รูปสวย ๆ ที่คุณเลือกโพสต์ (สนูปปี้ฮ่า ๆ !!!)
Jjajajajajajajaja ขอบคุณจริงๆ snoopy raffle, hahajjajajajajajaj
ขอขอบคุณ..
กราเซีย
Gracias!
นี่ใช้ไม่ได้กับอบเชยใช่ไหม
ฉันไม่รู้ว่าจะเปลี่ยนวอลเปเปอร์เป็นอบเชยได้อย่างไร แต่สิ่งที่แน่นอนก็คือฟังก์ชัน rand_image ทำหน้าที่ให้คุณได้ภาพแบบสุ่มดังนั้นคุณเพียงแค่ส่งมันไป $ dir_image
ให้ฉันตรวจสอบ
ขอบคุณฉันแก้ไขเล็กน้อยสำหรับคนรุ่นหลัง ... ฉันหวังว่าคุณจะไม่รำคาญ
ฉันอยากรู้ว่าคุณคิดยังไงฉันไม่รู้เรื่องภาษามากนัก
#! / bin / ทุบตี
# ~ ผู้เขียนต้นฉบับ
#~
# ~ 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!
# ~ จุดประสงค์คือสามารถมองเห็นภาพทั้งหมดที่คุณมีในดิสก์ของคุณได้
# ~ ทุก ๆ ครั้งและปรับให้เข้ากับหน้าจอตามคุณสมบัติของมัน
# ~ สำหรับสคริปต์นี้ระบุลักษณะของจอภาพของคุณ
# ~ และรูปภาพหรือรูปถ่ายของ«ไดเร็กทอรี»ของคุณ
# ~ เพื่อเรียกใช้ไนโตรเจน + พารามิเตอร์การปรับขนาดหรือการซูมที่หลีกเลี่ยง
# ~ ภาพแบบพิกเซลยาว
# ~ หากสคริปต์นี้ไม่ตรงกับความต้องการของคุณคุณสามารถแก้ไขพารามิเตอร์ได้
# ~ เช่นไนโตรเจน - ตั้งศูนย์กลาง
# ~ เพื่อจัดกึ่งกลางภาพโดยไม่ต้องปรับขนาด
# ~ ขอแนะนำให้คุณศึกษาคู่มือไนโตรเจน
#Directory
# ไดเร็กทอรีรูปภาพที่จะใช้เป็นวอลเปเปอร์รวมถึงไดเร็กทอรีย่อย
# เปลี่ยนเป็นไดเรกทอรีที่วอลเปเปอร์ของคุณอยู่
# เช่นไดเรกทอรี = / home / … / images
ไดเรกทอรี = / home / amem / images / Wallpaper
# ความละเอียดจอภาพ
# ฟังก์ชั่นนี้จะตรวจจับความละเอียดของจอภาพของเราและบันทึกไว้ในตัวแปร:
ฟังก์ชัน 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 ()
{
# เราได้รับชื่อของภาพบางส่วนในไดเรกทอรี $
image = `ls -1 -b -R" $ directory "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | sort --random-sort | หัว -1`
#สำคัญ! หากคุณสังเกตเห็นว่าเรากำลังกรองไฟล์ทั้งหมดที่มี "นามสกุล" .png, .jpg, .jpeg เพิ่ม -e ".extension" ตามความเหมาะสม
#ตัวอย่าง:
# image = `ls -1 -b -R" $ directory "| grep -i -e ".png" -e ".jpg" -e ".jpeg" -e ".new_extension" | sort --random-sort | หัว -1`
# เราได้รับเส้นทางของ $ image
image_dir = `ค้นหา" $ directory "- ชื่อ" $ image "`
}
# ความละเอียดของภาพ
# ฟังก์ชั่นนี้รับความละเอียดของภาพที่ได้จากฟังก์ชัน rand_imagen ()
ฟังก์ชัน image_resolution ()
{
Rand_image
# เราได้ความสูงของ $ image
high_image = `ระบุ - รูปแบบ"% h "" $ image_dir "`
# เราได้ความกว้างของ $ image
wide_image = `ระบุ - รูปแบบ"% w "" $ image_dir "`
}
# เราได้อัตราส่วน image_resolution / screen_resolution
# ผลลัพธ์ของการหารนี้จะส่งกลับค่าที่มากกว่าหรือน้อยกว่า 1
# สัดส่วน 1 ภาพมีขนาดใหญ่กว่าหน้าจอ
สัดส่วนฟังก์ชัน ()
{
my_resolution
image_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 ภาพสูงกว่าความกว้าง
ฟังก์ชั่นอัตราส่วนภาพ ()
{
image_resolution
Ratio_image_reason = `echo $ tall_image / $ wide_image | bc -l`
}
# ตั้งวอลล์เปเปอร์
# ฟังก์ชันนี้จะปรับเปลี่ยนพารามิเตอร์ไนโตรเจนตามคุณสมบัติของภาพที่สัมพันธ์กับจอภาพ
# ภาพสูงเกินไปหรือใหญ่กว่าหน้าจอของเราตั้งค่าวอลเปเปอร์โดยการปรับขนาดภาพ
# –Set-centered จัดกึ่งกลางภาพที่ไม่มีการปรับขนาด
# –Set-scaled ทำให้ภาพบิดเบี้ยวเต็มหน้าจอ
# –Set-zoom เติมเต็มหน้าจอโดยปรับขนาดภาพไปด้านบนสุด
# –Set-zoom-fill เติมเต็มหน้าจอด้วยภาพที่ปรับขนาดตาม
ฟังก์ชันสเกลาร์ ()
{
สัดส่วน
ถ้า [`echo" $ width_proportion> 1″ | bc` -eq 1]; แล้ว
# หากความละเอียดของภาพใหญ่กว่าหน้าจอให้ดำเนินการ ...
ไนโตรเจนที่กำหนดมาตราส่วน "$ image_dir"
อื่น
ถ้า [`echo" $ high_rate> 1″ | bc` -eq 1]; แล้ว
# หากความละเอียดของภาพเล็กกว่าหน้าจอของเราให้ดำเนินการ ...
ไนโตรเจนที่ตั้งเป็นศูนย์กลาง "$ image_dir"
อื่น
# เมื่อภาพมีขนาดเล็กกว่าหน้าจอเราสามารถขยายให้ยาวหรือกว้างได้
สัดส่วนภาพ
ถ้า [`echo « $ ratioimage_reason> 1″ | bc` -eq 1]; แล้ว
# ถ้าความสูงของภาพเล็กกว่าหน้าจอให้ดำเนินการ ...
ไนโตรเจน –set-zoom "$ image_dir"
อื่น
ถ้า [`echo « $ ratioimage_reason <1" | bc` -eq 1]; แล้ว
# ถ้าความกว้างของภาพเล็กกว่าหน้าจอให้ดำเนินการ ...
ไนโตรเจน –set-zoom-fill "$ image_dir"
fi
fi
fi
fi
}
ปีนขึ้นไป
ทางออก
ยอดเยี่ยม. ขอขอบคุณ.