screensaver vs dunst

ccoveille

Christophe Colombier

Posted on August 10, 2022

screensaver vs dunst

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode
💖 💪 🙅 🚩
ccoveille
Christophe Colombier

Posted on August 10, 2022

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related

screensaver vs dunst
devjournal screensaver vs dunst

August 10, 2022