#!/bin/sh which swaylock grim pixelate > /dev/null || exit 1 umask 077 monitors="$(hyprctl monitors -j | jq -r '.[].name' | xargs)" for monitor in $monitors do file="/tmp/locker-$monitor.png" grim -l 0 -o "$monitor" "$file" pixelate "$file" "$file" # Create image command for swaylock img_opt="--image $monitor:$file $img_opt" files="$files $file" done swaylock -f -u $img_opt shred -uz -- $files