From 2ce5d405aa3a37ff2d3e39983811131398a3089d Mon Sep 17 00:00:00 2001 From: Nemo Date: Tue, 24 Jul 2018 18:52:48 +0530 Subject: [PATCH] Adds i3lock-fancy --- cbz-convertor.sh | 2 +- i3lock-fancy | 104 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 105 insertions(+), 1 deletion(-) create mode 100755 i3lock-fancy diff --git a/cbz-convertor.sh b/cbz-convertor.sh index aa5b8d4..ea7008f 100755 --- a/cbz-convertor.sh +++ b/cbz-convertor.sh @@ -20,7 +20,7 @@ done < <(find . -mindepth 3 -maxdepth 3 -type d) # Sync it as well for dir in *; do cd $dir - rsync --archive --include '*.cbz' --recursive * nemo@192.168.1.111:/mnt/xwing/media/EBooks/Comics/ --verbose --exclude '*.jpg' --exclude '*.png' --exclude '.sync' --prune-empty-dirs + rsync --archive --include '*.cbz' --recursive * nemo@10.8.0.14:/mnt/xwing/media/EBooks/Comics/ --verbose --exclude '*.jpg' --exclude '*.png' --exclude '.sync' --prune-empty-dirs cd .. done diff --git a/i3lock-fancy b/i3lock-fancy new file mode 100755 index 0000000..2374f3e --- /dev/null +++ b/i3lock-fancy @@ -0,0 +1,104 @@ +#!/bin/bash + +# Defaults + + +DISPLAY_RE="([0-9]+)x([0-9]+)\\+([0-9]+)\\+([0-9]+)" +IMAGE_RE="([0-9]+)x([0-9]+)" +FOLDER="/home/nemo/projects/personal/avatars/lockscreen" +LOCK="/home/nemo/projects/scripts/lock-icon.png" +TEXT="/home/nemo/projects/scripts/i3lock-text.png" +PARAMS="" +OUTPUT_IMAGE="/tmp/i3lock.png" +DISPLAY_TEXT=true +PIXELATE=false +BLURTYPE="1x1" + +# Read user input +POSITIONAL=() +for i in "$@" +do + case $i in + -h|--help) + echo "lock: Syntax: lock [-n|--no-text] [-p|--pixelate] [-b=VAL|--blur=VAL]" + echo "for correct blur values, read: http://www.imagemagick.org/Usage/blur/#blur_args" + exit + shift + ;; + -b=*|--blur=*) + VAL="${i#*=}" + BLURTYPE=(${VAL//=/ }) + shift + ;; + -n|--no-text) + DISPLAY_TEXT=false + shift # past argument + ;; + -p|--pixelate) + PIXELATE=true + shift # past argument + ;; + *) # unknown option + echo "unknown option: $i" + exit + POSITIONAL+=("$1") # save it in an array for later + shift # past argument + ;; + esac +done +set -- "${POSITIONAL[@]}" # restore positional parameters + +#Take screenshot: +scrot -z $OUTPUT_IMAGE + +#Get dimensions of the lock image: +LOCK_IMAGE_INFO=`identify $LOCK` +[[ $LOCK_IMAGE_INFO =~ $IMAGE_RE ]] +IMAGE_WIDTH=${BASH_REMATCH[1]} +IMAGE_HEIGHT=${BASH_REMATCH[2]} + +if $DISPLAY_TEXT ; then + #Get dimensions of the text image: + TEXT_IMAGE_INFO=`identify $TEXT` + [[ $TEXT_IMAGE_INFO =~ $IMAGE_RE ]] + TEXT_WIDTH=${BASH_REMATCH[1]} + TEXT_HEIGHT=${BASH_REMATCH[2]} +fi + +#Execute xrandr to get information about the monitors: +while read LINE +do + #If we are reading the line that contains the position information: + if [[ $LINE =~ $DISPLAY_RE ]]; then + #Extract information and append some parameters to the ones that will be given to ImageMagick: + WIDTH=${BASH_REMATCH[1]} + HEIGHT=${BASH_REMATCH[2]} + X=${BASH_REMATCH[3]} + Y=${BASH_REMATCH[4]} + POS_X=$(($X+$WIDTH/2-$IMAGE_WIDTH/2)) + POS_Y=$(($Y+$HEIGHT/2-$IMAGE_HEIGHT/2)) + + PARAMS="$PARAMS '$LOCK' '-geometry' '+$POS_X+$POS_Y' '-composite'" + + if $DISPLAY_TEXT ; then + TEXT_X=$(($X+$WIDTH/2-$TEXT_WIDTH/2)) + TEXT_Y=$(($Y+$HEIGHT/2-$TEXT_HEIGHT/2+200)) + PARAMS="$PARAMS '$TEXT' '-geometry' '+$TEXT_X+$TEXT_Y' '-composite'" + fi + fi +done <<<"`xrandr`" + +#Execute ImageMagick: +if $PIXELATE ; then + PARAMS="'$OUTPUT_IMAGE' '-scale' '10%' '-scale' '1000%' $PARAMS '$OUTPUT_IMAGE'" +else + PARAMS="'$OUTPUT_IMAGE' '-level' '0%,100%,0.6' '-blur' '$BLURTYPE' $PARAMS '$OUTPUT_IMAGE'" +fi + +eval convert $PARAMS + +#Lock the screen: +i3lock -i $OUTPUT_IMAGE -t + +#Remove the generated image: +rm $OUTPUT_IMAGE \ No newline at end of file