Only start dunst in i3, otherwise use plasma notifications

Hey all

I’ve got Plasma and i3 installed together as I like to switch back & forth depending on my mood. However, dunst is being autostarted/autoselected in Plasma. What I’m wondering is if there’s a simple way to tell the system to only start dunst if i3 is selected at login?

I created a script that stops dunst and restarts plasmashell on login which seemed like it worked at first but doesn’t actually seem to be doing anything, dunst still steals the notifications upon logging into plasma.

Cheers,

Neal

Be 1st place look

Warning: if you install EndeavourOS-i3 aside with a full DE (XFCE4, GNOME, Plasma e.t.c.)

you need to comment out dex starter from ~/.config/i3/config file !!!

" #exec --no-startup-id dex -a -s /etc/xdg/autostart/:~/.config/autostart/ "

5 Likes

@Neal

Hi and welcome! :wave:

Try manually starting dunst instead of using systemd service.

Stop and disable the dunst systemd service

systemd --user stop dunst
systemd --user disable dunst

Now dunst will not automatically start when you log into a DE/WM.

To start dunst when logging into i3wm, add this line to ~/.config/i3/config

exec --no-startup-id dunst &

To check whether notifications are working or not, run this in a terminal:

notify-send "test"
2 Likes

Hey, thanks for your response. Yeah, that was the first place I looked after commenting out the dex line didn’t help but no sign of dunst in either /etc/xdg/ or .config/autostart that I can see

Thanks for your response. Do you mean systemctl rather than systemd? Trying systemd gives me “command not found”.

Trying systemctl --user disable dunst tells me Unit file dunst.service does not exist even though dunst is still showing the notifications (and I can see it running in ksysguard) so I must be doing something wrong.

1 Like

Perhaps also look into dunstctl to see if it could help to achieve the same goal:

$ dunstctl --help
Usage: dunstctl <command> [parameters]"
Commands:
  action                            Perform the default action, or open the
                                    context menu of the notification at the
                                    given position
  close                             Close the last notification
  close-all                         Close the all notifications
  context                           Open context menu
  count [displayed|history|waiting] Show the number of notifications
  history-pop                       Pop one notification from history
  is-paused                         Check if dunst is running or paused
  set-paused [true|false|toggle]    Set the pause status
  debug                             Print debugging information
  help                              Show this help
2 Likes

" https://wiki.archlinux.org/title/Dunst#Disable_dunst_temporarily "

1 Like

It could be that Dunst is not running as user service for you :thinking:
Try the same command without --user flag.

2 Likes

Yeah, tried without --user but same message unfortunately.

Thanks, tried it but as soon as I reboot dunst just starts again within plasma.

Tried using both dunstctl and killall in my custom autostart script but no joy.