dotfiles/env/.local/bin/scripts/setwll

78 lines
1.6 KiB
Bash
Executable File

#!/bin/bash
# may be moved to theme setter
cd "$(dirname "$0")"
listwalls=0
unload=0
secondary=""
primary=""
all=""
while getopts "lup:s:a:" opt; do
case "$opt" in
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