feat: mpv wallpaper daemon and throw notif if file not found

This commit is contained in:
hesam-init 2024-02-26 17:25:16 +03:30
parent d52b472627
commit dfb73d4194
6 changed files with 48 additions and 14 deletions

View file

@ -69,9 +69,9 @@ The following packages are required for the proper functioning of Hyprland on Vo
- Waybar - Waybar
- swaybg - swaybg
- playerctl
- [swww](https://github.com/LGFae/swww) : path /usr/local/bin
- mpvpaper - mpvpaper
- [swww](https://github.com/LGFae/swww) : path /usr/local/bin
- playerctl
- swaylock or [swaylock-effects](https://github.com/mortie/swaylock-effects) - swaylock or [swaylock-effects](https://github.com/mortie/swaylock-effects)
- grim - grim
- slurp - slurp

View file

@ -7,8 +7,9 @@ export WAYBAR_DIR="$HOME/.config/waybar/$WAYBAR_THEME"
export WAYBAR_LAUNCHER="waybar -c $WAYBAR_DIR/config.jsonc -s $WAYBAR_DIR/style.css" export WAYBAR_LAUNCHER="waybar -c $WAYBAR_DIR/config.jsonc -s $WAYBAR_DIR/style.css"
export WAYBAR_INOTIFY_EVENTS="-e close_write,move,create" export WAYBAR_INOTIFY_EVENTS="-e close_write,move,create"
# wallpaper configs : # wallpaper configs - swaybg, swww, mpvpaper :
export WALLPAPER_DAEMON="mpvpaper"
export WALLPAPERS_DIR="$HOME/Wallpapers" export WALLPAPERS_DIR="$HOME/Wallpapers"
export WALLPAPER_DAEMON="swaybg" # swaybg or swww export LIVE_WALLPAPERS_DIR="$HOME/Wallpapers/Live"
export SWWW_FPS=144 export SWWW_FPS=144
export SWWW_DURATION=2 export SWWW_DURATION=2

View file

@ -0,0 +1,30 @@
#!/usr/bin/env bash
source $HOME/.config/environments/env.sh
files=($(find "${LIVE_WALLPAPERS_DIR}" -type f))
if [ ${#files[@]} -eq 0 ]; then
dunstify "No files found in the directory: ${LIVE_WALLPAPERS_DIR}"
exit 1
fi
video_files=()
for file in "${files[@]}"; do
if file -b --mime-type "$file" | grep -q "^video/"; then
video_files+=("$file")
fi
done
if [ ${#video_files[@]} -eq 0 ]; then
echo "No video files found in the directory: ${WALLPAPERS_DIR}"
exit 1
fi
random_video=${video_files[$RANDOM % ${#video_files[@]}]}
if [[ $(pidof mpvpaper) ]]; then
pkill mpvpaper
fi
mpvpaper -o "loop-file" "*" $random_video

View file

@ -5,7 +5,7 @@ source $HOME/.config/environments/env.sh
files=($(find "${WALLPAPERS_DIR}" -type f)) files=($(find "${WALLPAPERS_DIR}" -type f))
if [ ${#files[@]} -eq 0 ]; then if [ ${#files[@]} -eq 0 ]; then
echo "No files found in the directory: ${WALLPAPERS_DIR}" dunstify "No files found in the directory: ${WALLPAPERS_DIR}"
exit 1 exit 1
fi fi
@ -17,7 +17,7 @@ for file in "${files[@]}"; do
done done
if [ ${#image_files[@]} -eq 0 ]; then if [ ${#image_files[@]} -eq 0 ]; then
echo "No image files found in the directory: ${WALLPAPERS_DIR}" dunstify "No image files found in the directory: ${WALLPAPERS_DIR}"
exit 1 exit 1
fi fi

View file

@ -9,7 +9,7 @@ fi
files=($(find "${WALLPAPERS_DIR}" -type f)) files=($(find "${WALLPAPERS_DIR}" -type f))
if [ ${#files[@]} -eq 0 ]; then if [ ${#files[@]} -eq 0 ]; then
echo "No files found in the directory: ${WALLPAPERS_DIR}" dunstify "No files found in the directory: ${WALLPAPERS_DIR}"
exit 1 exit 1
fi fi
@ -21,7 +21,7 @@ for file in "${files[@]}"; do
done done
if [ ${#image_files[@]} -eq 0 ]; then if [ ${#image_files[@]} -eq 0 ]; then
echo "No image files found in the directory: ${WALLPAPERS_DIR}" dunstify "No image files found in the directory: ${WALLPAPERS_DIR}"
exit 1 exit 1
fi fi

View file

@ -9,17 +9,20 @@ fi
case $WALLPAPER_DAEMON in case $WALLPAPER_DAEMON in
"swaybg") "swaybg")
if [[ $(pidof swww-daemon) ]]; then pkill -f swww-daemon
pkill swww-daemon pkill -f mpvpaper
fi
exec $HOME/.config/hypr/scripts/swaybg-random.sh exec $HOME/.config/hypr/scripts/swaybg-random.sh
;; ;;
"swww") "swww")
if [[ $(pidof swaybg) ]]; then pkill -f swaybg
pkill swaybg pkill -f mpvpaper
fi
exec $HOME/.config/hypr/scripts/swww-random.sh exec $HOME/.config/hypr/scripts/swww-random.sh
;; ;;
"mpvpaper")
pkill -f swaybg
pkill -f swww-daemon
exec $HOME/.config/hypr/scripts/mpvpaper-random.sh
;;
*) *)
echo "Unknown value for WALLPAPER_DAEMON: $WALLPAPER_DAEMON" echo "Unknown value for WALLPAPER_DAEMON: $WALLPAPER_DAEMON"
exit 1 exit 1