dotfiles/de/home/.config/sway/scripts/wallpapera
2024-04-10 15:15:03 -06:00

55 lines
1.5 KiB
Bash
Executable file

#!/bin/bash
getpids() {
pids=( $(pgrep swaybg) )
}
killpids() {
for i in ${pids[@]};do
kill "${i}" && echo "killed ${i}"
done
}
getwpno() {
wpno_last="${wpno}"
# echo "set wpno_last to ${wpno_last}"
# echo $1
wpno1=$(($(echo "$1" | awk '{print $1}' | grep -o "^[1-9]*")-1))
# echo "${wpno1}"
wpno=$(printf "%02d\n" ${wpno1} | cut -c 1)
# wpno=$(printf "%02d\n" $(($(echo "$1" | awk '{print $1}' | grep -o "^[1-9]*")-1)) | cut -c 1)
# wpno=$(printf "%02d\n" $(($(echo "$1" | awk '{print $1}' | grep -o "^[1-9]*")-1)) | cut -c 1)
# wpno=$(printf "%02d\n" $(($(echo "$1" | awk '{print $1}' | grep -o "^[1-9]*")-1)) | cut -c 1)
# echo "set wpno to ${wpno}"
}
setbg() {
swaybg -i "$HOME/.config/sway/assets/wallpaper/${output}/${wpno}.jpg" -o "${output}" &
}
getpids
output=$(swaymsg -t get_outputs | jq -r '.[] | {name} | "\(.name)"')
# echo "set display to ${display}"
workspace=$(swaymsg -t get_workspaces | jq -r '.[] | select(.focused) | {name} | "\(.name)"')
# echo "set workspace to ${workspace}"
getwpno "${workspace}"
setbg "${output}" "${wpno}"
killpids
swaymsg -r -t subscribe -m '["workspace"]' | jq -rc --unbuffered 'select(.change == "focus") | .current | "\(.name) \(.output)"' | while read name output;do
wsno=$(($(echo "$name" | awk '{print $1}' | grep -o "^[1-9]*")-1))
echo $wsno
echo $name
getpids
getwpno
if [[ "${wpno}" -ne "${wpno_last}" ]];then
# echo "wallpaper numbers are different!"
getwpno "${name}"
# echo "$wpno"
setbg "${output}" "${wpno}"
killpids
fi
done