#!/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