aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDeluxo <l.levickas@protonmail.com>2017-12-09 03:03:02 +0200
committerPavan Jadhaw <pavanjadhaw96@gmail.com>2017-12-09 01:03:02 +0000
commitb1abdc8590ad74147daf4d4d36944a5173029736 (patch)
treef500866b15138735f11f19a619a2d41c516f9eac
parentbb74d3f3ed34742e1b82469f1d601f62d55ea630 (diff)
cleanup (#1)
repeated tasks with pre-lock, lock, post-lock are made into functions. spaces + tabs => tabs only removed consecutive empty lines moved resolution rectangles calculation to --update where it's only used
-rwxr-xr-xlock.sh517
1 files changed, 219 insertions, 298 deletions
diff --git a/lock.sh b/lock.sh
index 7033468..e1e7c67 100755
--- a/lock.sh
+++ b/lock.sh
@@ -5,33 +5,12 @@
# Project Repository : https://github.com/pavanjadhaw/betterlockscreen
# ratio for rectangle to be drawn for time background on lockscreen
-rectangles=" "
-SR=$(xrandr --query | grep ' connected' | grep -o '[0-9][0-9]*x[0-9][0-9]*[^ ]*')
-for RES in $SR; do
- SRA=(${RES//[x+]/ })
- CX=$((${SRA[2]} + 25))
- CY=$((${SRA[1]} - 30))
- rectangles+="rectangle $CX,$CY $((CX+300)),$((CY-80)) "
-done
-
-
-# find your resolution so images can be resized to match your screen resolution
-y_res=$(xdpyinfo | grep dimensions | sed -r 's/^[^0-9]*([0-9]+x[0-9]+).*$/\1/')
-# echo " "
-# echo " "
-# echo "Your screen resolution is : $y_res"
-# echo " "
-# echo " "
-
# Original Image
orig_wall=$HOME/.wall.png
# create folder in /tmp directory
folder="/tmp/lock"
-# User supplied Image
-user_image="$folder/user_image.png"
-
# Versions (from here)
# You can use these images to set different versions as wallpaper
# lockscreen background.
@@ -49,283 +28,225 @@ l_blur="$folder/l_blur.png"
l_dimblur="$folder/l_dimblur.png"
-# Options
-case "$1" in
- "")
-
-
- if [ ! -f $l_dim ]; then
- echo "Important : Update the image cache, Ex. ./lock.sh -g path/to/image.jpg"
- echo
- echo "See also : For other set of options and help use help command."
- echo "Ex. ./lock.sh -h or ./lock.sh --help"
- echo
- echo "See : https://github.com/pavanjadhaw/betterlockscreen for addition info..."
- exit 1
- else
- echo
- echo "Seems you havent provided any argument, see below for usage info"
- echo
- echo "See also : For other set of options and help use help command."
- echo "Ex. ./lock.sh -h or ./lock.sh --help"
- echo
- echo "See : https://github.com/pavanjadhaw/betterlockscreen for addition info..."
- echo
- exit 1
- fi
-
- ;;
-
- -h | --help)
-
- echo "Important : Update the image cache, Ex: ./lock.sh -g path/to/image.jpg"
- echo
- echo
- echo "See : https://github.com/pavanjadhaw/betterlockscreen for additional info..."
- echo
- echo
- echo "Options:"
- echo
- echo " -h --help"
- echo " For help. Ex: ./lock.sh -h or ./lock.sh --help"
- echo
- echo
- 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
- echo
- echo " -l --lock"
- echo " to lock screen, Ex. ./lock.sh -l"
- echo " you can also use dimmed or blurred background for lockscreen"
- echo " Ex: ./lock.sh -l dim (for dimmed background)"
- echo " Ex: ./lock.sh -l blur (for blurred background)"
- echo " Ex: ./lock.sh -l dimblur (for dimmed + blurred background)"
- echo
- echo
- echo " -w --wall"
- echo " you can also set lockscreen background as wallpaper"
- echo " to set wallpaper. Ex ./lock.sh -w or ./lock.sh --wall"
- echo " you can also use dimmed or blurred variants"
- echo " Ex: ./lock.sh -w dim (for dimmed wallpaper)"
- echo " Ex: ./lock.sh -w blur (for blurred wallpaper)"
- echo " Ex: ./lock.sh -w dimblur (for dimmed + blurred wallpaper)"
- echo
- ;;
-
- -l | --lock)
-
-
- case "$2" in
-
- "")
-
- # default lockscreen
- # stop dunst from showing notifications on lockscreen
- pkill -u "$USER" -USR1 dunst
-
- i3lock \
- -n -i "$l_resized" \
- --timepos="x-90:h-ch+30" \
- --datepos="tx+24:ty+25" \
- --clock --datestr "type password to unlock..." \
- --insidecolor=00000000 --ringcolor=ffffffff --line-uses-inside \
- --keyhlcolor=d23c3dff --bshlcolor=d23c3dff --separatorcolor=00000000 \
- --insidevercolor=fecf4dff --insidewrongcolor=d23c3dff \
- --ringvercolor=ffffffff --ringwrongcolor=ffffffff --indpos="x+280:h-70" \
- --radius=20 --ring-width=3 --veriftext="" --wrongtext="" \
- --textcolor="ffffffff" --timecolor="ffffffff" --datecolor="ffffffff"
-
- # enable notifications once unlocked
- pkill -u "$USER" -USR2 dunst
- ;;
-
-
- dim)
-
-
- # lockscreen with dimmed background
- # stop dunst from showing notifications on lockscreen
- pkill -u "$USER" -USR1 dunst
-
- i3lock \
- -n -i "$l_dim" \
- --timepos="x-90:h-ch+30" \
- --datepos="tx+24:ty+25" \
- --clock --datestr "Type password to unlock..." \
- --insidecolor=00000000 --ringcolor=ffffffff --line-uses-inside \
- --keyhlcolor=d23c3dff --bshlcolor=d23c3dff --separatorcolor=00000000 \
- --insidevercolor=fecf4dff --insidewrongcolor=d23c3dff \
- --ringvercolor=ffffffff --ringwrongcolor=ffffffff --indpos="x+280:h-70" \
- --radius=20 --ring-width=3 --veriftext="" --wrongtext="" \
- --textcolor="ffffffff" --timecolor="ffffffff" --datecolor="ffffffff"
-
- # enable notifications once unlocked
- pkill -u "$USER" -USR2 dunst
- ;;
-
- blur)
-
-
- # set lockscreen with blurred background
- # stop dunst from showing notifications on lockscreen
- pkill -u "$USER" -USR1 dunst
-
- i3lock \
- -n -i "$l_blur" \
- --timepos="x-90:h-ch+30" \
- --datepos="tx+24:ty+25" \
- --clock --datestr "Type password to unlock..." \
- --insidecolor=00000000 --ringcolor=ffffffff --line-uses-inside \
- --keyhlcolor=d23c3dff --bshlcolor=d23c3dff --separatorcolor=00000000 \
- --insidevercolor=fecf4dff --insidewrongcolor=d23c3dff \
- --ringvercolor=ffffffff --ringwrongcolor=ffffffff --indpos="x+280:h-70" \
- --radius=20 --ring-width=3 --veriftext="" --wrongtext="" \
- --textcolor="ffffffff" --timecolor="ffffffff" --datecolor="ffffffff"
-
- # enable notifications once unlocked
- pkill -u "$USER" -USR2 dunst
- ;;
-
-
- dimblur)
-
-
- # set lockscreen with dimmed + blurred background
- # stop dunst from showing notifications on lockscreen
- pkill -u "$USER" -USR1 dunst
-
- i3lock \
- -n -i "$l_dimblur" \
- --timepos="x-90:h-ch+30" \
- --datepos="tx+24:ty+25" \
- --clock --datestr "Type password to unlock..." \
- --insidecolor=00000000 --ringcolor=ffffffff --line-uses-inside \
- --keyhlcolor=d23c3dff --bshlcolor=d23c3dff --separatorcolor=00000000 \
- --insidevercolor=fecf4dff --insidewrongcolor=d23c3dff \
- --ringvercolor=ffffffff --ringwrongcolor=ffffffff --indpos="x+280:h-70" \
- --radius=20 --ring-width=3 --veriftext="" --wrongtext="" \
- --textcolor="ffffffff" --timecolor="ffffffff" --datecolor="ffffffff"
-
- # enable notifications once unlocked
- pkill -u "$USER" -USR2 dunst
- ;;
-
-
- esac
- ;;
-
-
- -w | --wall)
-
-
- # w = set wallpaper
- case "$2" in
- "")
-
-
- # set resized image as wallpaper if no argument is supplied by user
- feh --bg-fill $resized
- ;;
-
-
- dim)
-
- # set dimmed image as wallpaper
- feh --bg-fill $dim
- ;;
-
-
- blur)
-
- # set blurred image as wallpaper
- feh --bg-fill $blur
- ;;
-
-
- dimblur)
-
- # set dimmed + blurred image as wallpaper
- feh --bg-fill $dimblur
- ;;
+prelock() {
+ pkill -u "$USER" -USR1 dunst
+}
+
+lock() {
+ #$1 image path
+ letterEnteredColor=d23c3dff
+ letterRemovedColor=d23c3dff
+ passwordCorrect=00000000
+ passwordIncorrect=d23c3dff
+ background=00000000
+ foreground=ffffffff
+ i3lock \
+ -n -i "$1" \
+ --timepos="x-90:h-ch+30" \
+ --datepos="tx+24:ty+25" \
+ --clock --datestr "Type password to unlock..." \
+ --insidecolor=$background --ringcolor=$foreground --line-uses-inside \
+ --keyhlcolor=$letterEnteredColor --bshlcolor=$letterRemovedColor --separatorcolor=$background \
+ --insidevercolor=$passwordCorrect --insidewrongcolor=$passwordIncorrect \
+ --ringvercolor=$foreground --ringwrongcolor=$foreground --indpos="x+280:h-70" \
+ --radius=20 --ring-width=4 --veriftext="" --wrongtext="" \
+ --textcolor="$foreground" --timecolor="$foreground" --datecolor="$foreground"
+}
+
+postlock() {
+ pkill -u "$USER" -USR2 dunst
+}
- esac
-
- ;;
-
- -u | --update)
-
-
- # create folder
- if ! [[ -d $folder ]]; then
- mkdir -p "$folder"
- fi
-
- # get user image
- cp "$2" "$user_image"
- if [ ! -f $user_image ]; then
- echo "Please specify the path to the image you would like to use"
- exit 1
- fi
-
- # replace orignal with user image
- cp "$user_image" "$orig_wall"
- rm "$user_image"
-
- echo "Generating alternate images based on the image you specified,"
- echo "please wait this might take few seconds..."
-
-
- # wallpapers {{{
-
-
- echo
- echo "Converting provided image to match your resolution..."
- # resize image
- convert "$orig_wall" -resize "$y_res""^" -gravity center -extent "$y_res" "$resized"
-
- echo
- echo "Applying dim and blur effect to resized image"
- # dim
- convert "$resized" -fill black -colorize 40% "$dim"
-
- # blur
- convert "$resized" -blur 0x5 "$blur"
-
- # dimblur
- convert "$dim" -blur 0x5 "$dimblur"
-
-
- # }}}
-
-
- # lockscreen backgrounds {{{
-
-
- echo
- echo "caching images for faster screen locking"
- # resized
- convert "$resized" -draw "fill black fill-opacity 0.4 $rectangles" "$l_resized"
-
- # dim
- convert "$dim" -draw "fill black fill-opacity 0.4 $rectangles" "$l_dim"
-
- # blur
- convert "$blur" -draw "fill black fill-opacity 0.4 $rectangles" "$l_blur"
-
- # blur
- convert "$dimblur" -draw "fill black fill-opacity 0.4 $rectangles" "$l_dimblur"
-
-
-
- # }}}
-
-
- echo
- echo "All required changes have been applied"
- ;;
-
-
- esac
+# Options
+case "$1" in
+ "")
+ if [ ! -f $l_dim ]; then
+ echo "Important : Update the image cache, Ex. ./lock.sh -g path/to/image.jpg"
+ echo
+ echo "See also : For other set of options and help use help command."
+ echo "Ex. ./lock.sh -h or ./lock.sh --help"
+ echo
+ echo "See : https://github.com/pavanjadhaw/betterlockscreen for addition info..."
+ exit 1
+ else
+ echo
+ echo "Seems you havent provided any argument, see below for usage info"
+ echo
+ echo "See also : For other set of options and help use help command."
+ echo "Ex. ./lock.sh -h or ./lock.sh --help"
+ echo
+ echo "See : https://github.com/pavanjadhaw/betterlockscreen for addition info..."
+ echo
+ exit 1
+ fi
+ ;;
+
+ -h | --help)
+ echo "Important : Update the image cache, Ex: ./lock.sh -g path/to/image.jpg"
+ echo
+ echo
+ echo "See : https://github.com/pavanjadhaw/betterlockscreen for additional info..."
+ echo
+ echo
+ echo "Options:"
+ echo
+ echo " -h --help"
+ echo " For help. Ex: ./lock.sh -h or ./lock.sh --help"
+ echo
+ echo
+ 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
+ echo
+ echo " -l --lock"
+ echo " to lock screen, Ex. ./lock.sh -l"
+ echo " you can also use dimmed or blurred background for lockscreen"
+ echo " Ex: ./lock.sh -l dim (for dimmed background)"
+ echo " Ex: ./lock.sh -l blur (for blurred background)"
+ echo " Ex: ./lock.sh -l dimblur (for dimmed + blurred background)"
+ echo
+ echo
+ echo " -w --wall"
+ echo " you can also set lockscreen background as wallpaper"
+ echo " to set wallpaper. Ex ./lock.sh -w or ./lock.sh --wall"
+ echo " you can also use dimmed or blurred variants"
+ echo " Ex: ./lock.sh -w dim (for dimmed wallpaper)"
+ echo " Ex: ./lock.sh -w blur (for blurred wallpaper)"
+ echo " Ex: ./lock.sh -w dimblur (for dimmed + blurred wallpaper)"
+ echo
+ ;;
+
+ -l | --lock)
+ case "$2" in
+ "")
+ # default lockscreen
+ prelock
+ playerctl pause
+ lock "$l_resized"
+ postlock
+ ;;
+
+ dim)
+ # lockscreen with dimmed background
+ prelock
+ lock "$l_dim"
+ postlock
+ ;;
+
+ blur)
+ # set lockscreen with blurred background
+ prelock
+ lock "$l_blur"
+ postlock
+ ;;
+
+ dimblur)
+ # set lockscreen with dimmed + blurred background
+ prelock
+ lock "$l_dimblur"
+ postlock
+ ;;
+ esac
+ ;;
+
+ -w | --wall)
+ case "$2" in
+ "")
+ # set resized image as wallpaper if no argument is supplied by user
+ feh --bg-fill $resized
+ ;;
+
+ dim)
+ # set dimmed image as wallpaper
+ feh --bg-fill $dim
+ ;;
+
+ blur)
+ # set blurred image as wallpaper
+ feh --bg-fill $blur
+ ;;
+
+ dimblur)
+ # set dimmed + blurred image as wallpaper
+ feh --bg-fill $dimblur
+ ;;
+ esac
+
+ ;;
+
+ -u | --update)
+ rectangles=" "
+ SR=$(xrandr --query | grep ' connected' | grep -o '[0-9][0-9]*x[0-9][0-9]*[^ ]*')
+ for RES in $SR; do
+ SRA=(${RES//[x+]/ })
+ CX=$((${SRA[2]} + 25))
+ CY=$((${SRA[1]} - 30))
+ rectangles+="rectangle $CX,$CY $((CX+300)),$((CY-80)) "
+ done
+
+ # User supplied Image
+ user_image="$folder/user_image.png"
+
+ # find your resolution so images can be resized to match your screen resolution
+ y_res=$(xdpyinfo | grep dimensions | sed -r 's/^[^0-9]*([0-9]+x[0-9]+).*$/\1/')
+
+ # create folder
+ if ! [[ -d $folder ]]; then
+ mkdir -p "$folder"
+ fi
+
+ # get user image
+ cp "$2" "$user_image"
+ if [ ! -f $user_image ]; then
+ echo "Please specify the path to the image you would like to use"
+ exit 1
+ fi
+
+ # replace orignal with user image
+ cp "$user_image" "$orig_wall"
+ rm "$user_image"
+
+ echo "Generating alternate images based on the image you specified,"
+ echo "please wait this might take few seconds..."
+
+ # wallpapers
+
+ echo
+ echo "Converting provided image to match your resolution..."
+ # resize image
+ convert "$orig_wall" -resize "$y_res""^" -gravity center -extent "$y_res" "$resized"
+
+ echo
+ echo "Applying dim and blur effect to resized image"
+ # dim
+ convert "$resized" -fill black -colorize 40% "$dim"
+
+ # blur
+ convert "$resized" -blur 0x5 "$blur"
+
+ # dimblur
+ convert "$dim" -blur 0x5 "$dimblur"
+
+ # lockscreen backgrounds
+
+ echo
+ echo "caching images for faster screen locking"
+ # resized
+ convert "$resized" -draw "fill black fill-opacity 0.4 $rectangles" "$l_resized"
+
+ # dim
+ convert "$dim" -draw "fill black fill-opacity 0.4 $rectangles" "$l_dim"
+
+ # blur
+ convert "$blur" -draw "fill black fill-opacity 0.4 $rectangles" "$l_blur"
+
+ # blur
+ convert "$dimblur" -draw "fill black fill-opacity 0.4 $rectangles" "$l_dimblur"
+
+ echo
+ echo "All required changes have been applied"
+ ;;
+esac