Files
I-Dotfiles/.config/hypr/hypr-old/scripts/Workspace_Wallpapers.sh
T

115 lines
5.2 KiB
Bash
Executable File

#!/bin/zsh
export XDG_RUNTIME_DIR="/run/user/1000"
num_workspaces=10
random_images=()
background_dir="/home/inorishio/Pictures/Backgrounds/"
populate_random_images() {
local images=($(find $background_dir -type f | shuf -n $num_workspaces))
random_images=("${images[@]}")
}
wal_ran_for_ws=(0 0 0 0 0 0 0 0 0 0)
set_wal_for_workspace() {
for i in {1..10}; do
wal_ran_for_ws[$i]=0
done
}
handle_background() {
case $1 in
"workspace>>1") swww img --transition-type none "${random_images[1]}"
if [[ "$(hyprctl activewindow | grep 'initialClass:' | awk '{print $2}')" == "footclient" && "$(hyprctl activewindow | grep 'workspace:' | awk '{print $2}')" -eq 1 ]]; then
if [[ "${wal_ran_for_ws[1]}" -eq 0 ]]; then
wal -i "${random_images[1]}" -I cursor
set_wal_for_workspace 1
fi
wal_ran_for_ws[1]=1
fi ;;
"workspace>>2") swww img --transition-type none "${random_images[2]}"
if [[ "$(hyprctl activewindow | grep 'initialClass:' | awk '{print $2}')" == "footclient" && "$(hyprctl activewindow | grep 'workspace:' | awk '{print $2}')" -eq 2 ]]; then
if [[ "${wal_ran_for_ws[2]}" -eq 0 ]]; then
wal -i "${random_images[2]}" -I cursor
set_wal_for_workspace 2
fi
wal_ran_for_ws[2]=1
fi ;;
"workspace>>3") swww img --transition-type none "${random_images[3]}"
if [[ "$(hyprctl activewindow | grep 'initialClass:' | awk '{print $2}')" == "footclient" && "$(hyprctl activewindow | grep 'workspace:' | awk '{print $2}')" -eq 3 ]]; then
if [[ "${wal_ran_for_ws[3]}" -eq 0 ]]; then
wal -i "${random_images[3]}" -I cursor
set_wal_for_workspace 3
fi
wal_ran_for_ws[3]=1
fi ;;
"workspace>>4") swww img --transition-type none "${random_images[4]}"
if [[ "$(hyprctl activewindow | grep 'initialClass:' | awk '{print $2}')" == "footclient" && "$(hyprctl activewindow | grep 'workspace:' | awk '{print $2}')" -eq 4 ]]; then
if [[ "${wal_ran_for_ws[4]}" -eq 0 ]]; then
wal -i "${random_images[4]}" -I cursor
set_wal_for_workspace 4
fi
wal_ran_for_ws[4]=1
fi ;;
"workspace>>5") swww img --transition-type none "${random_images[5]}"
if [[ "$(hyprctl activewindow | grep 'initialClass:' | awk '{print $2}')" == "footclient" && "$(hyprctl activewindow | grep 'workspace:' | awk '{print $2}')" -eq 5 ]]; then
if [[ "${wal_ran_for_ws[5]}" -eq 0 ]]; then
wal -i "${random_images[5]}" -I cursor
set_wal_for_workspace 5
fi
wal_ran_for_ws[5]=1
fi ;;
"workspace>>6") swww img --transition-type none "${random_images[6]}"
if [[ "$(hyprctl activewindow | grep 'initialClass:' | awk '{print $2}')" == "footclient" && "$(hyprctl activewindow | grep 'workspace:' | awk '{print $2}')" -eq 6 ]]; then
if [[ "${wal_ran_for_ws[6]}" -eq 0 ]]; then
wal -i "${random_images[6]}" -I cursor
set_wal_for_workspace 6
fi
wal_ran_for_ws[6]=1
fi ;;
"workspace>>7") swww img --transition-type none "${random_images[7]}"
if [[ "$(hyprctl activewindow | grep 'initialClass:' | awk '{print $2}')" == "footclient" && "$(hyprctl activewindow | grep 'workspace:' | awk '{print $2}')" -eq 7 ]]; then
if [[ "${wal_ran_for_ws[7]}" -eq 0 ]]; then
wal -i "${random_images[7]}" -I cursor
set_wal_for_workspace 7
fi
wal_ran_for_ws[7]=1
fi ;;
"workspace>>8") swww img --transition-type none "${random_images[8]}"
if [[ "$(hyprctl activewindow | grep 'initialClass:' | awk '{print $2}')" == "footclient" && "$(hyprctl activewindow | grep 'workspace:' | awk '{print $2}')" -eq 8 ]]; then
if [[ "${wal_ran_for_ws[8]}" -eq 0 ]]; then
wal -i "${random_images[8]}" -I cursor
set_wal_for_workspace 8
fi
wal_ran_for_ws[8]=1
fi ;;
"workspace>>9") swww img --transition-type none "${random_images[9]}"
if [[ "$(hyprctl activewindow | grep 'initialClass:' | awk '{print $2}')" == "footclient" && "$(hyprctl activewindow | grep 'workspace:' | awk '{print $2}')" -eq 9 ]]; then
if [[ "${wal_ran_for_ws[9]}" -eq 0 ]]; then
wal -i "${random_images[9]}" -I cursor
set_wal_for_workspace 9
fi
wal_ran_for_ws[9]=1
fi ;;
"workspace>>10") swww img --transition-type none "${random_images[10]}"
if [[ "$(hyprctl activewindow | grep 'initialClass:' | awk '{print $2}')" == "footclient" && "$(hyprctl activewindow | grep 'workspace:' | awk '{print $2}')" -eq 10 ]]; then
if [[ "${wal_ran_for_ws[10]}" -eq 0 ]]; then
wal -i "${random_images[10]}" -I cursor
set_wal_for_workspace 10
fi
wal_ran_for_ws[10]=1
fi ;;
esac
}
populate_random_images
socat -U - UNIX-CONNECT:$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock |
while read -r line; do
handle_background "$line"
done