wallpaper/wallpaper.sh
2025-06-24 15:45:51 -03:00

42 lines
1.2 KiB
Bash
Executable file

#!/bin/bash
WALL_PATH="$HOME/.local/share/backgrounds/"
WALL_TEMP_CONF="$HOME/.config/hypr/hyprp.conf"
MONITOR=$(hyprctl monitors | awk '/^Monitor/ {print $2}')
function wallpaper(){
if ! command -v fzf &> /dev/null; then
echo "fzf not found, please install it to proceed"
exit 1
fi
if ! command -v hyprpaper &> /dev/null; then
echo "hyprpaper not found, please install it to proceed"
exit 1
fi
if ! command -v mpvpaper &> /dev/null; then
echo "mpvpaper not found, please install it to proceed"
exit 1
fi
SELECTED=$(find "$WALL_PATH" -maxdepth 1 -type f -printf '%f\n' | fzf)
if [[ ! -n "$SELECTED" ]]; then
echo "No wallpaper selected"
exit 1
fi
echo -e > $WALL_TEMP_CONF "preload=$WALL_PATH$SELECTED\nwallpaper=$MONITOR,$WALL_PATH$SELECTED\nsplash=false\nipc=off"
if pgrep -f hyprpaper > /dev/null; then
killall hyprpaper
fi
if pgrep -f mpvpaper > /dev/null; then
killall mpvpaper
fi
if [[ $SELECTED == *mp4 ]]; then
mpvpaper -o "--loop" $MONITOR "$WALL_PATH$SELECTED" &> /dev/null &
else
hyprpaper --config "$WALL_TEMP_CONF" &> /dev/null &
fi
disown
}
wallpaper
# vim: ft=bash:ts=4:sts=4:sw=4