From 4aacbde6a476ffbdf179c294cb4e310ee1df5b96 Mon Sep 17 00:00:00 2001 From: Penelope Gwen Date: Wed, 10 Apr 2024 15:30:03 -0600 Subject: [PATCH] New backup 2024-04-10 15:30:03 --- .../.config/sway/config.d/display.d/a2337 | 2 +- de/home/.config/sway/scripts/sway-wallpaper | 42 +++++++++++++++++++ 2 files changed, 43 insertions(+), 1 deletion(-) create mode 100755 de/home/.config/sway/scripts/sway-wallpaper diff --git a/a2337/home/.config/sway/config.d/display.d/a2337 b/a2337/home/.config/sway/config.d/display.d/a2337 index 9156f53..c237cc3 100644 --- a/a2337/home/.config/sway/config.d/display.d/a2337 +++ b/a2337/home/.config/sway/config.d/display.d/a2337 @@ -5,4 +5,4 @@ output eDP-1 { # bg $HOME/.config/sway/assets/wallpaper/eDP-1/_default.jpg fill } -exec_always $HOME/.config/sway/scripts/wallpaper +exec_always "killall sway-wallpaper;$HOME/.config/sway/scripts/sway-wallpaper" diff --git a/de/home/.config/sway/scripts/sway-wallpaper b/de/home/.config/sway/scripts/sway-wallpaper new file mode 100755 index 0000000..56ef8f2 --- /dev/null +++ b/de/home/.config/sway/scripts/sway-wallpaper @@ -0,0 +1,42 @@ +#!/bin/bash + +getpids() { + pids=( $(pgrep swaybg) ) +} + +killpids() { + for i in ${pids[@]};do + kill "${i}" && echo "killed ${i}" + 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') +} + +setbg() { + swaybg -i "$HOME/.config/sway/assets/wallpaper/${output}/${wpno}.jpg" -o "${output}" & +} + +wpno_last="9" + +getpids + +output=$(swaymsg -t get_outputs | jq -r '.[] | {name} | "\(.name)"') +workspace=$(swaymsg -t get_workspaces | jq -r '.[] | select(.focused) | {name} | "\(.name)"') +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)) + getpids + getwpno "${name}" + + if [[ "${wpno}" -ne "${wpno_last}" ]];then + setbg "${output}" "${wpno}" + killpids + fi +done