diff options
| author | JaKooLit <jimmielovejay@gmail.com> | 2023-11-12 13:51:03 +0900 |
|---|---|---|
| committer | JaKooLit <jimmielovejay@gmail.com> | 2023-11-12 13:51:03 +0900 |
| commit | b3a7ac2b3f99f5a2ffb6574b5f2b4c80b15f63c3 (patch) | |
| tree | 07ed057fd4fb222aa0a4b68d7068e4a4ebe87cdb /config/hypr/scripts/WallpaperSelect.sh | |
| parent | 022fa1b4f26d347bf976757f000af88521c49da1 (diff) | |
code clean up, no action if no wallpaper selected
Diffstat (limited to 'config/hypr/scripts/WallpaperSelect.sh')
| -rwxr-xr-x | config/hypr/scripts/WallpaperSelect.sh | 85 |
1 files changed, 38 insertions, 47 deletions
diff --git a/config/hypr/scripts/WallpaperSelect.sh b/config/hypr/scripts/WallpaperSelect.sh index f56f6df7..c989adf3 100755 --- a/config/hypr/scripts/WallpaperSelect.sh +++ b/config/hypr/scripts/WallpaperSelect.sh @@ -1,74 +1,65 @@ #!/bin/bash - # WALLPAPERS PATH DIR=$HOME/Pictures/wallpapers - -# Transition config (type swww img --help for more settings +# Transition config FPS=30 TYPE="simple" DURATION=3 - SWWW_PARAMS="--transition-fps $FPS --transition-type $TYPE --transition-duration $DURATION" -PICS=($(ls ${DIR} | grep -e ".jpg$" -e ".jpeg$" -e ".png$" -e ".gif$")) -#PICS=($(find ${DIR} -type f \( -name "*.jpg" -o -name "*.jpeg" -o -name "*.png" \))) - -RANDOM_PIC=${PICS[ $RANDOM % ${#PICS[@]} ]} -RANDOM_PIC_NAME="${#PICS[@]}. random" - -# to check if swaybg is running -if [[ $(pidof swaybg) ]]; then +# Check if swaybg is running +if pidof swaybg > /dev/null; then pkill swaybg fi -## Rofi Command +# Retrieve image files +PICS=($(ls "${DIR}" | grep -E ".jpg$|.jpeg$|.png$|.gif$")) +RANDOM_PIC="${PICS[$((RANDOM % ${#PICS[@]}))]}" +RANDOM_PIC_NAME="${#PICS[@]}. random" + +# Rofi command rofi_command="rofi -dmenu -config ~/.config/rofi/config-short.rasi" -menu(){ - # Here we are looping in the PICS array that is composed of all images in the $DIR folder - for i in ${!PICS[@]}; do - # keeping the .gif to make sue you know it is animated - if [[ -z $(echo ${PICS[$i]} | grep .gif$) ]]; then - printf "$i. $(echo ${PICS[$i]} | cut -d. -f1)\n" # n°. <name_of_file_without_identifier> - else - printf "$i. ${PICS[$i]}\n" - fi - done +menu() { + for i in "${!PICS[@]}"; do + # Displaying .gif to indicate animated images + if [[ -z $(echo "${PICS[$i]}" | grep .gif$) ]]; then + printf "$i. $(echo "${PICS[$i]}" | cut -d. -f1)\n" + else + printf "$i. ${PICS[$i]}\n" + fi + done - printf "$RANDOM_PIC_NAME" + printf "$RANDOM_PIC_NAME" } swww query || swww init main() { - choice=$(menu | ${rofi_command}) + choice=$(menu | ${rofi_command}) - # no choice case - if [[ -z $choice ]]; then return; fi + # No choice case + if [[ -z $choice ]]; then + exit 0 + fi - # random choice case - if [ "$choice" = "$RANDOM_PIC_NAME" ]; then - swww img ${DIR}/${RANDOM_PIC} $SWWW_PARAMS - return - fi - - pic_index=$(echo $choice | cut -d. -f1) - swww img ${DIR}/${PICS[$pic_index]} $SWWW_PARAMS + # Random choice case + if [ "$choice" = "$RANDOM_PIC_NAME" ]; then + swww img "${DIR}/${RANDOM_PIC}" $SWWW_PARAMS + exit 0 + fi + + pic_index=$(echo "$choice" | cut -d. -f1) + swww img "${DIR}/${PICS[$pic_index]}" $SWWW_PARAMS } # Check if rofi is already running -if pidof rofi >/dev/null; then - pkill rofi - exit 0 -else - main +if pidof rofi > /dev/null; then + pkill rofi + exit 0 fi -exec $HOME/.config/hypr/scripts/PywalSwww.sh & - -exec $HOME/.config/hypr/scripts/Refresh.sh +main -# Uncomment to launch something if a choice was made -# if [[ -n "$choice" ]]; then - # Restart Waybar -# fi
\ No newline at end of file +$HOME/.config/hypr/scripts/PywalSwww.sh & +$HOME/.config/hypr/scripts/Refresh.sh |
