#!/usr/bin/fish

# configured for wayland
set LOCKPROG swaylock
set OPTIONAL_CMDS grep sed grim lockscreen-blur
set CONFIG "$HOME/.config/sway/swaylock.config"
set FALLBACK_ARGS --config $CONFIG --color "302f3b"
set BLUR_FACTOR 40

# check if lock program is running
if ps -e | grep " $LOCKPROG\$"
	echo "$LOCKPROG is already running"
	exit 1
end

for cmd in $OPTIONAL_CMDS
	if not command -v $cmd &>/dev/null
		echo "$cmd could not be found, falling back to basic mode."
		$LOCKPROG $FALLBACK_ARGS
		exit 0
	end
end


{% if hostname == "buran" %}
# list display outputs using hyprctl
set outputs (hyprctl monitors | rg Monitor | sed 's/Monitor //' | sed 's/ (ID.*$//')
{% elif hostname == "sputnik" %}
# list display outputs using hyprctl
set outputs (hyprctl monitors | rg Monitor | sed 's/Monitor //' | sed 's/ (ID.*$//')
{% else %}
# list display outputs using swaymsg
set outputs (swaymsg -t get_outputs -r | grep "name" | sed 's/^.*"name": "//' | sed 's/",$//')
{% end %}

# take one screenshot of each output
for output in $outputs
	set img "/tmp/lock-$output.png"
	grim -o $output -t ppm - | lockscreen-blur -o $img -b $BLUR_FACTOR --stamp ~/.config/wallpapers/ferris-stamp.png &
	set -a images "--image"
	set -a images "$output:$img"
end

wait

$LOCKPROG --config $HOME/.config/sway/swaylock.config $images

