aboutsummaryrefslogtreecommitdiff
path: root/wallpaper/wpBrowser.sh
diff options
context:
space:
mode:
authorInigoGutierrez <inigogf.95@gmail.com>2022-09-20 13:54:01 +0200
committerInigoGutierrez <inigogf.95@gmail.com>2022-09-20 13:54:01 +0200
commit48cec0cfbf1a9b27d4e8d11f7cf2cf66e48362d3 (patch)
tree00b3ca57b5b5bd70228cd769375aa150a4719ebf /wallpaper/wpBrowser.sh
parent2cd81ede4a0a6b540cf370c4ef222277b8b867a6 (diff)
downloadscripts-48cec0cfbf1a9b27d4e8d11f7cf2cf66e48362d3.tar.gz
scripts-48cec0cfbf1a9b27d4e8d11f7cf2cf66e48362d3.zip
Implemented wallpaper history navigation and organized wallpaper scripts.
Diffstat (limited to 'wallpaper/wpBrowser.sh')
-rwxr-xr-xwallpaper/wpBrowser.sh102
1 files changed, 102 insertions, 0 deletions
diff --git a/wallpaper/wpBrowser.sh b/wallpaper/wpBrowser.sh
new file mode 100755
index 0000000..8fd3a8b
--- /dev/null
+++ b/wallpaper/wpBrowser.sh
@@ -0,0 +1,102 @@
+#!/bin/bash
+# _ _
+# __ ____ _| | |_ __ __ _ _ __ ___ _ __
+# \ \ /\ / / _` | | | '_ \ / _` | '_ \ / _ \ '__|
+# \ V V / (_| | | | |_) | (_| | |_) | __/ |
+# \_/\_/ \__,_|_|_| .__/ \__,_| .__/ \___|_|
+# _ |_| |_|
+# | |__ _ __ _____ _____ ___ _ __
+# | '_ \| '__/ _ \ \ /\ / / __|/ _ \ '__|
+# | |_) | | | (_) \ V V /\__ \ __/ |
+# |_.__/|_| \___/ \_/\_/ |___/\___|_|
+#
+
+folder="$1"
+indexSet=0
+
+function updateFiles {
+ files=$(ls "$folder" | grep -e .jpg -e .jpeg -e .png)
+}
+
+function updateCurrentFile {
+ [[ $indexSet -lt 1 ]] && indexSet=1 && echo "First image!"
+ i=0
+ for file in $files; do
+ i=$((i+1))
+ if [ $i -eq $indexSet ]; then
+ selectedFile="$file"
+ fi
+ done
+}
+
+function updateWp {
+ feh --no-fehbg --bg-max "$folder""$selectedFile"
+ echo "New wp: $selectedFile"
+}
+
+echo "Welcome to wp browser! Usage:"
+echo "h, l - Browse wallpapers."
+echo "r - Rename current wallpaper's file."
+echo "d - Delete current wallpaper's file."
+echo "q - Quit."
+
+updateFiles
+read -n 1 input
+while [ "$input" != "q" ]
+do
+ case $input in
+ l)
+ indexSet=$((indexSet+1))
+ clear
+ updateCurrentFile
+ updateWp
+ ;;
+ h)
+ indexSet=$((indexSet-1))
+ clear
+ updateCurrentFile
+ updateWp
+ ;;
+ r)
+ clear && echo "Rename? [y]es/[no]"
+ read -n 1 input
+ if [ "$input" = "y" ]; then
+ clear && echo "Prev name: $selectedFile" && echo "New name: "
+ read newName
+ if [ "$newName" = "$selectedFile" ]; then
+ clear && echo "Same name ($newName) - No changes"
+ else
+ # Check that name does not exist
+ if [ -f "$folder$newName" ]; then #FIX
+ clear && echo "\"$newName\" already exists - Aborting"
+ else
+ mv "$folder$selectedFile" "$folder$newName"
+ echo "$selectedFile -> $newName"
+ updateFiles
+ updateCurrentFile
+ updateWp
+ fi
+ fi
+ else
+ clear && echo "Current wp: $selectedFile"
+ fi
+ ;;
+ d)
+ clear && echo "Delete $selectedFile? [y]es/[no]"
+ read -n 1 input
+ if [ "$input" = "y" ]; then
+ rm "$folder$selectedFile"
+ clear && echo "\"$selectedFile\" deleted"
+ updateFiles
+ updateCurrentFile
+ updateWp
+ else
+ clear && echo "Not deleted." && echo "Current wp: $selectedFile"
+ fi
+ ;;
+ *)
+ clear && echo "Current wp: $selectedFile"
+ ;;
+ esac
+ read -n 1 input
+done