Files
dotfiles/mango/.deprecated/qylock-ready/lock-before-sleep.sh

56 lines
1.5 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
CUSTOM_DIR="/home/kokopi/.config/qylock-ready"
UPSTREAM_DIR="/home/kokopi/.local/share/quickshell-lockscreen"
QML="$CUSTOM_DIR/lock_shell_ready.qml"
READY_FILE="$(mktemp -u "${XDG_RUNTIME_DIR:-/tmp}/qylock-ready.XXXXXX")"
cleanup() {
rm -f "$READY_FILE"
}
trap cleanup EXIT
# Match upstream lock.sh environment setup
export QML2_IMPORT_PATH="$UPSTREAM_DIR/imports:${QML2_IMPORT_PATH:-}"
export QML_XHR_ALLOW_FILE_READ=1
export XDG_SESSION_TYPE="${XDG_SESSION_TYPE:-$(loginctl show-session "$(loginctl | grep "$(whoami)" | awk '{print $1}')" -p Type --value 2>/dev/null || echo wayland)}"
CONFIG_FILE="$HOME/.config/qylock/theme"
if [ -n "${1:-}" ]; then
export QS_THEME="${1:-nier-automata}"
elif [ -f "$CONFIG_FILE" ]; then
export QS_THEME="${1:-nier-automata}"
else
export QS_THEME="${1:-nier-automata}"
fi
if [ -d "$UPSTREAM_DIR/../themes" ] && [ ! -d "$UPSTREAM_DIR/themes_link" ]; then
export QS_THEME_PATH="$UPSTREAM_DIR/../themes/$QS_THEME"
else
export QS_THEME_PATH="$UPSTREAM_DIR/themes_link/$QS_THEME"
fi
rm -f "$READY_FILE"
killall -9 hyprlock swaylock wlogout 2>/dev/null || true
QYLOCK_READY_FILE="$READY_FILE" quickshell -p "$QML" &
pid=$!
for _ in $(seq 1 200); do
if [[ -e "$READY_FILE" ]]; then
exit 0
fi
if ! kill -0 "$pid" 2>/dev/null; then
wait "$pid"
echo "qylock exited before becoming ready" >&2
exit 1
fi
sleep 0.05
done
echo "qylock did not become ready in time" >&2
exit 1