cfg/bin/lock
Knut Ahlers 870b25c741
Fix: Needs to look up status in user service
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2022-07-04 08:34:25 +02:00

39 lines
918 B
Bash
Executable File

#!/bin/bash
set -euo pipefail
program_kills=(
Discord
)
systemd_services=(
streamdeck
)
function log() {
echo "$@" >&2
}
# Stop MPD playback when mpc client was found
(which mpc >/dev/null 2>&1) && mpc stop
# Disable systemd user services
for svc in "${systemd_services[@]}"; do
systemctl --user is-active ${svc} >/dev/null 2>&1 && systemctl --user stop ${svc} || log "Service ${svc} not active / not found"
done
# Terminate Discord in order to get mobile notifications
for prog in "${program_kills[@]}"; do
killall -TERM ${prog} || true
done
# Mute default sink & source
pactl set-sink-mute @DEFAULT_SINK@ true || true
pactl set-source-mute @DEFAULT_SOURCE@ true || true
i3lock -e -f -n -c 000000
# Restart user-services
for svc in "${systemd_services[@]}"; do
systemctl --user is-enabled ${svc} >/dev/null 2>&1 && systemctl --user start ${svc} || log "Service ${svc} not enabled, skipping start"
done