mirror of
https://github.com/kuhyx/testsAndMisc.git
synced 2026-07-04 18:43:08 +02:00
- New python_pkg/morning_routine package: sequential orchestrator runs wake alarm then workout lock as blocking subprocesses (one fullscreen owner at a time). Deployed as morning-routine.service; sleep hook updated to start it on hibernate-resume instead of the standalone wake-alarm.service. - wake_alarm: force G27Q HDMI card profile on at alarm time, poll up to 6s for sink to appear, set as default + unmute 100%. Alarm now persists until the typeable code is entered (no more silent 30-min give-up). Service gets DISPLAY=:0 + ExecStartPre sleep 1 to fix cold-boot Tkinter crash. - phone_focus_mode/config.sh: whitelist Revolut, mObywatel, VaultKitBypass. - 100% branch coverage maintained across wake_alarm and morning_routine. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
31 lines
1.4 KiB
Bash
Executable File
31 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
# systemd-sleep hook: start the unified morning routine after resume.
|
|
#
|
|
# Installed to /usr/lib/systemd/system-sleep/wake-alarm.sh by install.sh.
|
|
#
|
|
# When the PC hibernates (rtcwake -m disk) and resumes the next morning, the
|
|
# user session is restored but no morning service is running. This hook starts
|
|
# morning-routine.service, which runs the wake alarm first (it owns the
|
|
# fullscreen until dismissed) and then the workout screen lock - one coherent
|
|
# flow, with the two never fighting for the screen.
|
|
|
|
if [[ "$1" != "post" ]]; then
|
|
exit 0
|
|
fi
|
|
|
|
logger -t wake-alarm-hook "Woke from sleep (type=$2) - starting morning-routine.service for active sessions"
|
|
|
|
# Start wake-alarm.service for every logged-in user that has a running session
|
|
# bus. Works with systemd >= 219.
|
|
while IFS= read -r uid; do
|
|
runtime_dir="/run/user/$uid"
|
|
[[ -d "$runtime_dir" ]] || continue
|
|
username=$(id -nu "$uid" 2>/dev/null) || continue
|
|
logger -t wake-alarm-hook "Starting morning-routine.service for user $username (uid=$uid)"
|
|
XDG_RUNTIME_DIR="$runtime_dir" \
|
|
DBUS_SESSION_BUS_ADDRESS="unix:path=${runtime_dir}/bus" \
|
|
runuser -u "$username" -- \
|
|
systemctl --user start morning-routine.service 2>/dev/null \
|
|
|| logger -t wake-alarm-hook "Failed to start morning-routine.service for $username (non-fatal)"
|
|
done < <(loginctl list-sessions --no-legend 2>/dev/null | awk '{print $2}' | sort -u)
|