115 lines
5.2 KiB
Bash
Executable File
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
|