57 lines
1.6 KiB
Bash
Executable file
57 lines
1.6 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
getpids() {
|
|
pids=( $(pgrep swaybg) )
|
|
}
|
|
|
|
killpids() {
|
|
# sleep 5
|
|
for i in ${pids[@]};do
|
|
# kill "${i}" && echo "killed ${i}"
|
|
echo "${pids[@]}"
|
|
done
|
|
}
|
|
|
|
getwpno() {
|
|
# wpno_last="${wpno}"
|
|
wpno=$(printf "%02d\n" $(($(echo "$1" | awk '{print $1}' | grep -o "^[1-9]*")-1)) | cut -c 1 | sed 's/[^0-9]*//g')
|
|
echo "${wpno}" | tee "$HOME/.cache/sway-wallpaper/${2}"
|
|
}
|
|
|
|
setbg() {
|
|
# swaybg -i "$HOME/.config/sway/assets/wallpaper/${output}/${wpno}.jpg" -o "${output}" &
|
|
for d in ${outputs[@]};do
|
|
d_wpno=$(cat "$HOME/.cache/sway-wallpaper/${d}")
|
|
# echo "hi ${d}"
|
|
swaymsg output "${d}" bg "$HOME/.config/sway/assets/wallpaper/${d}/${d_wpno}.jpg" fill
|
|
# swaybg -i "$HOME/.config/sway/assets/wallpaper/${output}/${wpno}.jpg" -o "${output}"
|
|
done
|
|
}
|
|
|
|
#wpno_last="9"
|
|
|
|
getpids
|
|
|
|
output=$(swaymsg -t get_outputs | jq -r '.[] | select(.focused) | {name} | "\(.name)"')
|
|
outputs=( $(swaymsg -t get_outputs | jq -r '.[] | {name} | "\(.name)"') )
|
|
workspace=$(swaymsg -t get_workspaces | jq -r '.[] | select(.focused) | {name} | "\(.name)"')
|
|
getwpno "${workspace}" "${output}"
|
|
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 $name
|
|
echo $output
|
|
getpids
|
|
wpno_last=$(cat "$HOME/.cache/sway-wallpaper/${output}")
|
|
getwpno "${name}" "${output}"
|
|
echo "${wpno_last}"
|
|
|
|
if [[ "${wpno}" -ne "${wpno_last}" ]];then
|
|
echo "hi"
|
|
setbg "${output}" "${wpno}"
|
|
killpids
|
|
fi
|
|
done
|