From 1c59e5930959ee0f77cce679b193494ebcaf2be2 Mon Sep 17 00:00:00 2001 From: AUTplayed Date: Sun, 10 Dec 2017 23:52:33 +0100 Subject: added recursive function for getting a random file --- lock.sh | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) (limited to 'lock.sh') diff --git a/lock.sh b/lock.sh index 5a7ef13..7f1b0ac 100755 --- a/lock.sh +++ b/lock.sh @@ -57,6 +57,17 @@ postlock() { pkill -u "$USER" -USR2 dunst } +rec_get_random() { + dir="$1" + if [ ! -d "$dir" ]; then + user_input="$dir" + return + fi + dir=($dir/*) + dir=${dir[RANDOM % ${#dir[@]}]} + rec_get_random "$dir" +} + # Options case "$1" in @@ -98,6 +109,7 @@ case "$1" in echo " -u --update" echo " to update image cache, you should do this before using any other options" echo " Ex: ./lock.sh -u path/to/image.png when image.png is custom background" + echo " Or you can use ./lock.sh -u path/to/imagedir and a random file will be selected" echo echo echo " -l --lock" @@ -198,12 +210,8 @@ case "$1" in fi # get random file in dir if passed argument is a dir - user_input=$2 - if [ -d $user_input ]; then - user_input=($user_input/*) - user_input=${user_input[RANDOM % ${#user_input[@]}]} - fi - + rec_get_random "$2" + # get user image cp "$user_input" "$user_image" if [ ! -f $user_image ]; then -- cgit v1.2.3 From fade2d5bbdda4f8254d79add2efc96611267d4bf Mon Sep 17 00:00:00 2001 From: AUTplayed Date: Sun, 10 Dec 2017 23:55:43 +0100 Subject: fixed intendation --- lock.sh | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'lock.sh') diff --git a/lock.sh b/lock.sh index 7f1b0ac..7aebb9b 100755 --- a/lock.sh +++ b/lock.sh @@ -58,14 +58,14 @@ postlock() { } rec_get_random() { - dir="$1" - if [ ! -d "$dir" ]; then - user_input="$dir" - return - fi - dir=($dir/*) - dir=${dir[RANDOM % ${#dir[@]}]} - rec_get_random "$dir" + dir="$1" + if [ ! -d "$dir" ]; then + user_input="$dir" + return + fi + dir=($dir/*) + dir=${dir[RANDOM % ${#dir[@]}]} + rec_get_random "$dir" } @@ -109,7 +109,7 @@ case "$1" in echo " -u --update" echo " to update image cache, you should do this before using any other options" echo " Ex: ./lock.sh -u path/to/image.png when image.png is custom background" - echo " Or you can use ./lock.sh -u path/to/imagedir and a random file will be selected" + echo " Or you can use ./lock.sh -u path/to/imagedir and a random file will be selected" echo echo echo " -l --lock" -- cgit v1.2.3