From 65ae255f16233b7351a3ae46f9ec3d65a3e1c1e9 Mon Sep 17 00:00:00 2001 From: Shahram <80352285+ShahramMohammed@users.noreply.github.com> Date: Mon, 25 Nov 2024 22:24:18 +0300 Subject: [PATCH] Enhance locking mechanism This is a (subjectively) preferable behavior for locking the system. - Pause all media players and mute audio when the system is locked. Unmute after unlocking. --- .local/bin/sysact | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.local/bin/sysact b/.local/bin/sysact index 64c2f320..85488e5e 100755 --- a/.local/bin/sysact +++ b/.local/bin/sysact @@ -13,8 +13,18 @@ wmpid(){ # This function is needed if there are multiple instances of the window echo "${tree%%)*}" } +lock(){ + mpc pause + pauseallmpv + wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle + kill -44 $(pidof dwmblocks) + slock + wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle + kill -44 $(pidof dwmblocks) +} + case "$(printf "🔒 lock\n🚪 leave $WM\n♻️ renew $WM\n🐻 hibernate\n🔃 reboot\n🖥️shutdown\n💤 sleep\n📺 display off" | dmenu -i -p 'Action: ')" in - '🔒 lock') slock ;; + '🔒 lock') lock ;; "🚪 leave $WM") kill -TERM "$(wmpid)" ;; "♻️ renew $WM") kill -HUP "$(wmpid)" ;; '🐻 hibernate') slock $ctl hibernate -i ;;