#!/bin/sh # This script does the following: # Run by itself, set the wallpaper (at X start). # If given a file, set that as the new wallpaper. # If given a directory, choose random file in it. # If wal is installed, also generates a colorscheme. # Location of link to wallpaper link. bgloc="${XDG_DATA_HOME:-$HOME/.local/share/}/bg" trueloc="$(readlink -f "$1")" && case "$(file --mime-type -b "$trueloc")" in image/* ) ln -sf "$(readlink -f "$1")" "$bgloc" ;; inode/directory ) trueloc=$(find "$trueloc" -iregex '.*.\(jpg\|jpeg\|png\|gif\)' -type f | shuf -n 1) && ln -sf "$trueloc" "$bgloc" ;; *) notify-send "Error" "Not a valid image." ; exit 1;; esac [ -z "$trueloc" ] && trueloc="$(readlink -f "$bgloc")" # If pywal is installed, use it. # command -v wal >/dev/null 2>&1 && # wal -i "$trueloc" -n -o "${XDG_CONFIG_HOME:-$HOME/.config}/wal/postrun" >/dev/null 2>&1 && # dwmc xrdb xwallpaper --no-randr --zoom "$bgloc" parent_dir=$(dirname "$trueloc") filename=$(basename "$trueloc") filename_without_extension=${filename%.*} split_dir="${parent_dir}_split" left_image="${split_dir}/${filename_without_extension}_left.jpg" right_image="${split_dir}/${filename_without_extension}_right.jpg" # Check if left and right images exist if [ -e "$left_image" ] && [ -e "$right_image" ]; then kwriteconfig5 --file "$HOME/.config/plasma-org.kde.plasma.desktop-appletsrc" \ --group 'Containments' --group '127' --group 'Wallpaper' --group 'org.kde.image' \ --group 'General' --key 'Image' "$left_image" kwriteconfig5 --file "$HOME/.config/plasma-org.kde.plasma.desktop-appletsrc" \ --group 'Containments' --group '94' --group 'Wallpaper' --group 'org.kde.image' \ --group 'General' --key 'Image' "$right_image" fi