25 lines
749 B
Bash
Executable File
25 lines
749 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# screensaver-start.sh — exec the start command from modules/screensaver.lua.
|
|
# Usage: screensaver-start.sh [force] (forwarded to .sh targets, e.g. the tte
|
|
# launcher's toggle bypass; dropped for bare commands like `hyprsaver`).
|
|
|
|
set -euo pipefail
|
|
|
|
CMD="$(lua -e 'print(dofile(os.getenv("HOME").."/.config/hypr/modules/screensaver.lua").start)' 2>/dev/null)" || {
|
|
echo "screensaver-start: cannot read modules/screensaver.lua" >&2
|
|
exit 1
|
|
}
|
|
CMD="${CMD/#\~/$HOME}"
|
|
[[ -n "$CMD" ]] || {
|
|
echo "screensaver-start: empty start command" >&2
|
|
exit 1
|
|
}
|
|
|
|
if [[ "$CMD" == *.sh ]]; then
|
|
exec "$CMD" "$@"
|
|
else
|
|
# Bare command, may carry flags (e.g. "hyprsaver --quit").
|
|
# shellcheck disable=SC2086
|
|
exec $CMD
|
|
fi
|