22 lines
565 B
Bash
22 lines
565 B
Bash
#!/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
|