diff options
Diffstat (limited to '.local/bin/makewall')
-rwxr-xr-x | .local/bin/makewall | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/.local/bin/makewall b/.local/bin/makewall new file mode 100755 index 0000000..f0fc854 --- /dev/null +++ b/.local/bin/makewall @@ -0,0 +1,28 @@ +#!/bin/sh + +wallDir="$XDG_CONFIG_HOME/wallpapers" + +# Acquire the list of connected displays +displays=$(xrandr | grep " connected" | sed 's/^\([a-Z,0-9,-]*\).*/\1/') + +# If there is a wallpaper with a filename matching the display +# name, set it as the wallpaper for that display. +# ex: DP-1.jpg and DP-1.png are both valid filenames +# Otherwise, set the wallpaper to the default wallpaper +# (default.png or default.jpg) +setDisplay() { + case $(ls $wallDir) in + *"$1"*) + wall=$(ls $wallDir | grep "$1" | head -n 1) + xwallpaper --output $1 --zoom $wallDir/$wall ;; + *) + wall=$(ls $wallDir | grep "default" | head -n 1) + xwallpaper --output $1 --zoom $wallDir/$wall ;; + esac +} + +# Set the wallpaper for each display +for display in $displays; do + setDisplay $display +done + |