#!/bin/sh which swaylock grim pixelate > /dev/null || exit 1 umask 077 monitors="$(xrandr --listactivemonitors | awk '/^ [0-9]/ {print $4}')" for monitor in $monitors do file="/tmp/locker-$monitor.png" grim -l 0 -o "$monitor" "$file" pixelate "$file" "$file" > /dev/null 2>&1 # Create image command for swaylock img_opt="--image $monitor:$file $img_opt" files="$files $file" done swaylock --indicator-radius 0 $img_opt shred -uz -- $files