38 lines
975 B
Bash
Executable file
38 lines
975 B
Bash
Executable file
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
program_kills=(
|
|
'electron.*discord/resources/app.asar'
|
|
)
|
|
|
|
systemd_services=(
|
|
streamdeck
|
|
)
|
|
|
|
function log() {
|
|
echo "$@" >&2
|
|
}
|
|
|
|
# Stop MPD playback when mpc client was found
|
|
(which mpc >/dev/null 2>&1) && mpc stop || true
|
|
|
|
# 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
|
|
kill -TERM $(pgrep -fo "${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
|