blob: 4edb900e86582c517730a01ce801a3e9ff7cdde7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
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 updateBg {
feh --no-fehbg --bg-max "$folder""$selectedFile"
echo "New bg: $selectedFile"
}
echo "Welcome to bg 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
updateBg
;;
h)
indexSet=$((indexSet-1))
clear
updateCurrentFile
updateBg
;;
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
updateBg
fi
fi
else
clear && echo "Current bg: $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
updateBg
else
clear && echo "Not deleted." && echo "Current bg: $selectedFile"
fi
;;
*)
clear && echo "Current bg: $selectedFile"
;;
esac
read -n 1 input
done
|