diff options
Diffstat (limited to 'setwll')
| -rwxr-xr-x | setwll | 87 |
1 files changed, 87 insertions, 0 deletions
@@ -0,0 +1,87 @@ +#!/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 +-u unload current wall after switching +-p set primary mon wallpaper +-s set secondary mon wallpaper +-a set all mon wallpaper + +unloading only applies to hyprpaper +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.sh)" +else + if [ -f "./wallpaper_scripts/$primary.sh" ]; then + primary="$(./wallpaper_scripts/$primary.sh)" + fi +fi + +if [ -z "$secondary" ]; then + secondary="$(./wallpaper_scripts/default-secondary.sh)" +else + if [ -f "./wallpaper_scripts/$secondary.sh" ]; then + secondary="$(./wallpaper_scripts/$secondary.sh)" + 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 |
