#!/bin/sh # assumption: the user is not an ADHD-riddled zoomer and does not use >1 mpv instance # flush secrets gnome-keyring-daemon -r -d ssh-agent -k gpgconf --kill gpg-agent # stop sounds playerctl_get_playing() { for player in $(playerctl -l) do if [ "$(playerctl -p "$player" status)" = "Playing" ]; then echo "$player" fi done } playerctl_playing="$(playerctl_get_playing)" for player in $playerctl_playing; do playerctl -p "$player" pause >/dev/null && echo "playerctl: pause" "$player" done # playerctl for mpd requires mpd-mpris running = BLOAT mpc_on="$(mpc | grep '\[playing\]')" mpc pause >/dev/null && echo "mpc: pause" ismuted="$(pamixer --get-mute)" pamixer --mute && echo "Sound server: mute" echo "Locking..." slock # continue if something was playing for player in $playerctl_playing; do playerctl -p "$player" play >/dev/null && echo "playerctl: play" "$player" done if [ -n "$mpc_on" ]; then mpc play >/dev/null && echo "mpc: play" fi if [ "$ismuted" = "false" ]; then pamixer --unmute && echo "Sound server: unmute" fi