#!/bin/sh
# L'autostart XDG può precedere la registrazione del server della shell sul bus.
# Un server assente non deve trattenere il login oltre 30 secondi.
timeout 30s sh -c '
    until busctl --user --timeout=1 status org.freedesktop.Notifications >/dev/null 2>&1; do
        sleep 0.5
    done
    # niri avvia le shell fuori dalla transazione dell autostart: After= non basta.
    # DMS possiede gia il bus durante il caricamento asincrono dei popup.
    while systemctl --user show --value -p ActiveState dms.service noctalia.service 2>/dev/null |
            grep -qx activating; do
        sleep 0.5
    done
' || :
exit 0
