#!/usr/bin/env bash set -eo pipefail mkdir -p /tmp/lockscreen || true monitor_lines=$(hyprctl monitors -j | jq -r '.[] | select (.name | contains ("DP")) | [.name, .description]| @tsv') while IFS= read -r m; do name=$(echo "$m" | awk -F $'\t' '{print $1}') sum=$(echo "$m" | awk -F $'\t' '{printf $2}' | sha256sum | awk '{print substr($1,1,8)}') grim -o "$name" "/tmp/lockscreen/$sum.png" || true done <<< "$monitor_lines" # Only lock if not already running if [ -z "$(pgrep hyprlock)" ] then exec hyprlock else echo "Already locked" fi