This article will be about how I configured my screensaver script to disable dunst
notification.
Initial setup
Please check the xautolock article
I made.
Here is the screen lock script I was using for ~/bin/lockscreen.sh
#!/bin/sh set -e # enable the lock screen i3lock -c 272d2d -i ~/Documents/wallpaper-lockscreen.png
Problem
When my computer is locked, because of a meeting or a lunch break, the notification are still received by the notifier, in my case dunst
Each notification has a short timeout, you are supposed to see them when working, but when your computer is locked you don't see them
so here is what to do
#!/bin/sh # pause notifications dunstctl set-paused true # enable the lock screen i3lock --nofork -c 272d2d -i ~/Documents/wallpaper-lockscreen.png # restore notifications dunstctl set-paused false
Please note the usage of --nofork with i3lock
. Without it, the script simply exits when i3lock
is launched, so the notifications won't be paused.
Better implementation
I love using trap, it's a good way to avoid problem.
#!/bin/sh # using trap make sure to restore dunst even if something fails # restore notifications when script ends # this command is defered when the script ends trap "dunstctl set-paused false" EXIT # pause notifications dunstctl set-paused true # enable the lock screen i3lock --nofork -c 272d2d -i ~/Documents/wallpaper-lockscreen.png
Top comments (1)
This post was inspired by the conversation that occurred here
faq.i3wm.org/question/5654/how-can...