Files
theme-setter/setwll
iceyrazor 5c64166a0b - themes
- removed cycle wall
- added wallpaper setter
2025-07-07 19:55:44 -05:00

89 lines
2.1 KiB
Bash
Executable File

#!/bin/bash
# may be moved to theme setter
cd "$(dirname "$0")"
listwalls=0
unload=0
secondary=""
primary=""
all=""
while getopts "h?lup:s:a:" opt; do
case "$opt" in
h)
printf "l list wallpapers\n"
printf "u unload current wall after switching\n"
printf "p set primary mon wallpaper\n"
printf "s set secondary mon wallpaper\n"
printf "a set all mon wallpaper\n"
printf "unloading only applies to hyprpaper\n"
printf "\n"
printf "add scripts to wallpaper_scripts for easier switching\n"
exit 0
;;
l) listwalls=1
;;
u) unload=1
;;
p) primary="$OPTARG"
;;
s) secondary="$OPTARG"
;;
a) all="$OPTARG"
;;
esac
done
shift $((OPTIND-1))
[ "${1:-}" = "--" ] && shift
if [ $listwalls == 1 ]; then
ls ./wallpaper_scripts
exit 0
fi
if [ "$all" ]; then
primary="$all"
secondary="$all"
fi
if [ -z "$primary" ]; then
primary="$(./wallpaper_scripts/default-primary)"
else
if [ -f "./wallpaper_scripts/$primary" ]; then
primary="$(./wallpaper_scripts/$primary)"
fi
fi
if [ -z "$secondary" ]; then
secondary="$(./wallpaper_scripts/default-secondary)"
else
if [ -f "./wallpaper_scripts/$secondary" ]; then
secondary="$(./wallpaper_scripts/$secondary)"
fi
fi
if [ "$WAYLAND_DISPLAY" ]; then
current_wal="$(hyprctl hyprpaper listactive | grep HDMI-A-1 | sed 's/HDMI-A-1 = //')"
hyprctl hyprpaper preload $primary
hyprctl hyprpaper wallpaper "HDMI-A-1,$primary"
if [ $unload == 1 ]; then
hyprctl hyprpaper unload "$current_wal"
fi
current_wal="$(hyprctl hyprpaper listactive | grep DP-1 | sed 's/DP-1 = //')"
hyprctl hyprpaper preload $secondary
hyprctl hyprpaper wallpaper "DP-1,$secondary"
if [ $unload == 1 ]; then
hyprctl hyprpaper unload "$current_wal"
fi
else
if [ -z "$1" ]; then
nitrogen --head=0 --set-zoom-fill $primary
nitrogen --head=1 --set-zoom-fill $secondary
fi
fi