scripts reorganize
This commit is contained in:
66
scripts/hypr-scripts/bg.fish
Executable file
66
scripts/hypr-scripts/bg.fish
Executable file
@@ -0,0 +1,66 @@
|
||||
#!/usr/bin/env fish
|
||||
|
||||
# This script randomly switches the background (through fehbg) every 5 to 30 minutes.
|
||||
# It selects a random image from the ~/Pictures/Wallpapers folder (including subdirectories)
|
||||
# Any hidden files in this folder are excluded.
|
||||
|
||||
# in-place awk script
|
||||
set awkcommand '
|
||||
BEGIN {
|
||||
FS=", "
|
||||
width=1920
|
||||
height=1080
|
||||
}
|
||||
|
||||
|
||||
NR == 1 {
|
||||
x = $1
|
||||
y = $2
|
||||
|
||||
if (x < 0) {
|
||||
x = width + x
|
||||
}
|
||||
|
||||
if (y < 0) {
|
||||
y = height + y
|
||||
}
|
||||
|
||||
print x "," y
|
||||
}
|
||||
'
|
||||
|
||||
# kill old instances
|
||||
for i in (ps -C (basename (status filename)) | awk 'FNR>1 {print $1}')
|
||||
if test $i -ne $fish_pid
|
||||
kill $i
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
# set bg
|
||||
swaybg -i $(find ~/Pictures/wallpapers -type f -regextype posix-extended -iregex "/(.*/)*[^\.]*\.(png|jpe?g|webp|gif)" | sort -R | head -n1)
|
||||
while true
|
||||
set rand (math "(floor $(random 300 1800) / 60) * 60")
|
||||
|
||||
# countdown
|
||||
while test $rand -gt 0
|
||||
set minutes (math "floor $rand / 60 ")
|
||||
|
||||
printf '\r\033[K%.2d:00' $minutes
|
||||
|
||||
sleep 60
|
||||
set rand (math $rand - 60 )
|
||||
end
|
||||
|
||||
# update wallpaper
|
||||
swaybg -i $(find ~/Pictures/wallpapers -type f -regextype posix-extended -iregex "/(.*/)*[^\.]*\.(png|jpe?g|webp|gif)" | sort -R | head -n1)
|
||||
set newpid $last_pid
|
||||
sleep 0.2
|
||||
for pid in (pgrep -x swaybg)
|
||||
if test $pid -ne $last_pid
|
||||
kill $pid
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user