45 lines
1.7 KiB
Bash
Executable File
45 lines
1.7 KiB
Bash
Executable File
#!/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
|