Dunst is a lightweight and customizable notification daemon that displays desktop notifications across X11 and Wayland environments.
Dunst solves the problem of managing desktop notifications by providing a daemon that intercepts and displays notifications sent via the libnotify protocol over D-Bus. It works by listening for incoming notifications and rendering them according to user-defined rules and styling preferences. The tool emphasizes minimal resource consumption while offering extensive customization through a configuration file, allowing users to control fonts, icons, timeouts, colors, and keyboard shortcuts without modifying code.
Dunst suits developers and users who want a lightweight alternative to heavier notification systems and need fine-grained control over notification behavior. It is particularly valuable for those running minimal desktop environments or tiling window managers where resource efficiency matters. The project's rule system enables pattern-matching on notifications to apply different styling or behavior—for example, highlighting messages from specific contacts or preventing certain notifications from auto-dismissing. The scripting capability allows running custom commands when notifications match specified patterns, enabling integrations like text-to-speech or conditional actions. The pause feature with numeric levels lets users temporarily suppress notifications while preserving urgent ones, and the history system allows replaying recent notifications via keyboard shortcuts.
The project maintains steady activity with regular commits addressing bug fixes and feature refinements. Development shows responsiveness to user-reported issues and pull requests. The codebase remains focused on its core mission of lightweight notification handling without feature bloat. Documentation is comprehensive, with detailed man pages covering configuration options and a wiki providing installation guides and troubleshooting resources.