#!/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