#!/bin/sh LOCK="$XDG_CACHE_HOME/lock.png" # Cache the lock image if [ ! -f "$LOCK" ]; then touch "$LOCK" # Get the resolution of the primary monitor RES="$(xrandr -q | grep ' connected primary' \ | grep -Eo '[0-9]{3,4}x[0-9]{3,4}' | head -c -1)" # Generate lock image convert "$(dirname "$0")/lock.png" -background none -gravity center -extent "$RES" "$LOCK" fi # Disable screensaver revert() { xset s off xset -dpms } # Set screensaver to 30 seconds trap revert HUP INT TERM xset +dpms dpms 30 30 30 i3lock -n -i "$LOCK" -B 6 -S 1 -e \ --radius=47 \ --ring-width=5.0 \ --verifcolor=00000000 \ --wrongcolor=00000000 \ --timecolor=00000000 \ --datecolor=00000000 \ --layoutcolor=00000000 \ --insidecolor=00000000 \ --insidevercolor=00000000 --insidewrongcolor=00000000 \ --ringcolor=00000000 \ --ringvercolor=FFFFFFC0 --ringwrongcolor=DA2825C0 \ --keyhlcolor=FFFFFFC0 --bshlcolor=DA2825C0 \ --linecolor=00000000 --separatorcolor=00000000 \ -k \ --timesize=64 --datesize=24 \ --timestr="%I:%M %p" --datestr="%A, %B %e" \ --timepos="ix:iy-250" --datepos="ix:iy-200" \ --timecolor=FFFFFFC0 --datecolor=FFFFFFC0 revert