Dunst Versions Save

Lightweight and customizable notification daemon

v1.11.0

4 weeks ago

This release hopefully marks the start of a new period of active development and contributions and a shift away from the previous lower maintenance mode.

For users:

This is the perfect time to engage with the project and other dunst users. Some of the features and changes to include in the v2 release are starting to be proposed or implemented. Everyone's opinion is important, so feel free to participate in the issues proposing new features (or redesigns of the old ones).

This version mainly contains bug fixes and QoL improvements, and can be considered a preparatory release for the various things that will come in the future (overhaul of the rule syntax, multiple windows support, aesthetic and customization options, refactor of the drawing system, etc).

For maintainers:

X11 support is now optional and can be disabled in build by setting the X11 make flag to 0. This means that you can offer Wayland-only builds.

Shell completions are now considered official and can be installed/uninstalled from the Makefile. By default they are installed and can be disabled by setting the COMPLETIONS flag to 0.

Take a look at the changelog for all the bug fixes and improvements.

Added

  • Add corners, progress_bar_corners and icon_corners options to control which corners to round (#1268)
  • Support GTK/CSS cursor names on Wayland (#1276)
  • Make dunst more portable (#1288)
  • Print detected monitors names (X11) (#1332)

Changed

  • Make X11 optional in build (this allows wayland-only dunst) (#1290)
  • Shell completions are now official and can be installed from the Makefile (#1262, #1263)
  • Don't search for icon path if icons are disabled (#1301)
  • Eagerly parse and cache colors (#1306)
  • Update dunstctl manpage (#1298)
  • Update documentation (#1315, #1334)

Fixed

  • Fix settings initialization (this prevented --print and --startup_notification from working) (#1299)
  • Rework timer logic and fix error about Glib source ID for good (#1308, #1196)
  • Prevent memory corruption in XrmSetDatabase (#1256, #1291)
  • Don't try to print NULL strings (#1323)
  • Do not resolve icon paths twice (#1307, #1314)
  • Don't crash the test suite if librsvg is not present (#1329)
  • Fix memory leak in DBus RuleEnable (#1328)
  • Fix dunstctl rule (#1281)
  • Remove newlines from icon logging (#1296)
  • Prevent make from failing if git tags are not found (#1287)
  • Fix some typos (#1324, #1325, #1279)

Full Changelog: https://github.com/dunst-project/dunst/compare/v1.10.0...v1.11.0

New maintainers:

v1.10.0

2 months ago

It's been a while since the last release. That does not mean that the development has been stagnent. There are some long requested features have been implemented, like a do not disturb mode in the form of multiple pause levels. You can specify the priority of notification and selectively pause them. The progress bar rendering for low progress values has been fixed, with preparation work being done for more progress bar customization.

Since dunst gained Wayland support, Wayland received a lot of development. Dunst needed to do some catchup for that. A new Wayland idle protocol is implemented and support for Wayland touch screens and multi-seat has been added. It's now also possible to specify displays by their port name, instead of number.

Take a look at the changelog for all the bug fixes and improvements.

Added

  • Unofficial fish and bash completions (#1205, 1209)
  • Multiple pause levels to allow selective pausing of notifications (#1193)
  • --startup_notification option as an alternative to -startup_notification (#1208)
  • Expand variables, like $HOME in path in your dunstrc. See man 3 wordexp for the details (#1215)
  • Support for stable output names for the monitor (eDP-1, HDMI-1, etc). This is more relyable than the order of monitors. (#1250)
  • Wayland multiseat and touchscreen support (#1250)

Changed

  • The cursor is now being drawn by the compositor, making sure the right cursor theme and scaling is being used (#1250)

Fixed

  • Various documentation issues
  • Icon path not being interpreted as a path (#1210)
  • Handling of some commandline options (#1208)
  • Improved handling of fallback fonts (#1222)
  • Progress bar not rendering correctly for big corner radiusses compared to width (#1227)
  • Whitespace and brackets in dunstctl usage output (#1230, #1233)
  • Errors about Glib source ID spamming the log (#1257)
  • Idle idle_threshold not working anymore in Wayland due to Wayland protocol changes (#1250)

New Contributors

Full Changelog: https://github.com/dunst-project/dunst/compare/v1.9.2...v1.10.0

v1.9.2

1 year ago

This release fixes two issues with high cpu usage one of which was introduced when trying to fix another cpu usage issue. So if you have experienced dunst making your fans spin harder than usual that should be fixed with this release.

Thanks a lot to @bakkeby and @tobast for investigating these issues and coming up with fixes!

Fixed

  • Various documentation issues (#1151, #1154, #1162)
  • High cpu usage when show_age_treshold = -1 (#1164)
  • High cpu usage in some situation. This is often correlated with being idle. (#1158)

New Contributors

Full Changelog: https://github.com/dunst-project/dunst/compare/v1.9.1...v1.9.2

v1.9.1

1 year ago

For users:

If you like rounded corners, this release is for you. You can now add rounded corners to your progress bar and notification icons. Dunstctl added more options for changing the notification history, so I'm excited for what you can build with that. Dunst also is even more stable now with a crash being fixed and not using 100% of your cpu anymore in some situations.

For maintainers:

Libnotify and dunst are now optional to build by setting the DUNSTIFY make flag to 0. (enabled by default)

Take a look at the changelog for a more detailed change description.

Changelog

Added

  • zsh completion for dunst and dunstctl (#1107 and #1108)
  • dunstctl history-clear command to delete all notifications from history (#1131)
  • dunstctl history-rm command to remove a single notification from history (#1128)
  • progress_bar_corner_radius option for adding rounded corners to the progress bar (off by default) (#1119)
  • icon_corner_radius option for adding rounded corners to notification icons (#1139)

Changed

  • Make libnotify and dunstify optional in build (#1129)

Fixed

  • Man page typo's and readability (#1088 and #1121)
  • Length changes not being emitted over D-Bus (#1127)
  • Crash when locking screen with swaylock on Sway (#1148)
  • Dunst using 100% in some configurations with idle_threshold turned on (#1140)

New Contributors

Full Changelog: https://github.com/dunst-project/dunst/compare/v1.9.0...v1.9.1

v1.9.0

1 year ago

This release marks the point for a few big features to be useable. The recursive icon lookup is marked stable and is used by default for new users. It is now also possible to add gaps between notifications, although it is not done with separate windows, so clicks in between notification will not register to the below window. You'll also need a compositor for the transparancy to take effect.

Added

  • override_dbus_timeout setting to override the notification timeout set via dbus. (#1035)
  • Support notification gaps via the gap_size setting. Note that since the notifications are not separate windows, you cannot click in between the notifications. (#1053)
  • Make min_icon_size and max_icon_size a rule for even more flexibility (#1069)

Changed

  • The window offset is now scaled according to scale as well. This way notification stay visually in the same place on higher DPI screens. (#1039)
  • For the recursive icon lookup, revert to using min_icon_size and max_icon_size instead of icon_size. min_icon_size is used as the size to look for in icon themes. This way of defining icon size is more flexible and compatible with the old icon lookup. The new icon lookup should now be superior for all use cases. (#1069)
  • Recursive icon lookup is no longer experimental.
  • Recursive icon lookup is enabled in the default dunstrc. This does not change your settings when you have a custom dunstrc.

Fixed

  • Added back the action_name setting that was accidentally dropped. (#1051)
  • Broken dunstctl history. (#1060)
  • Merged a few wayland fixes from mako (https://github.com/emersion/mako) (#1067)
  • follow=keyboard: Fix regression where we don't fall back to mouse (#1062)
  • Raw icons not being scaled according to icon size (#1043)
  • Notifications not disappearing. For some people notifications would sometimes stay on screen until a new notification appeared. This should not happen anymore (#1073).

Merged pull requests

New Contributors

Full Changelog: https://github.com/dunst-project/dunst/compare/v1.8.1...v1.9.0

v1.8.1

2 years ago

Fixed

New Contributors

Full Changelog: https://github.com/dunst-project/dunst/compare/v1.8.0...v1.8.1

v1.8.0

2 years ago

Lots of exciting and useful features are being added to dunst, all while making dunst even more configurable and reliable.

For users:

This release re-adds the keyboard shortcuts for those who have been missing them. Also, support for drop-in files has been implemented. Files placed in dunstrc.d/*.conf will be read after the main dunstrc. This may be useful for theming (with pywal or otherwise). In the future we will add example drop-in files for different default themes and special configuration.

For maintainers:

Not much has been changed for maintainers. Maybe you'll find the drop-in files useful for distro-specific fixes. Note that only the files in the directory of the used dunstrc will be read (see dunst(1) for documentation).

Changelog

Added

  • Implemented progress_bar_min_width. Before it was an unused setting. (#1006)
  • progress_bar_horizontal_alignment for changing the alignment of the progress bar. (#1021)
  • Support for config drop-ins. You can add as many configuration files as you want in dunstrc.d. See the man page dunst(1) for more information. This was done with help from @WhitePeter. (#997)
  • Thanks to @m-barlett you can place your icons at the center of your notifications with icon_position = top.
  • icon_position is now a rule (also by @m-barlett).
  • hide_text for hiding all text of a notification. This also removes all padding that would be present for a notification without text. (also by @m-barlett) (#985)
  • The previously removed keyboard shortcuts have been added again, but now they are in the [global] section of the config. Not everything that was possible with the keyboard shortcuts was possible with dunstctl on X11. Mainly activating a keyboard shortcut only when notifications are on screen. Thanks to @wgmayer0 for testing. (#1033).

Changed

  • Improved the man page regarding transitioning from the old geometry.
  • The default alignment of the progress bar is now center instead of left.
  • Better regex matching for rules. When you set enable_posix_regex. Take a look at https://en.m.wikibooks.org/wiki/Regular_Expressions/POSIX-Extended_Regular_Expressions for how the new regex syntax works. Note that you cannot do inverse matching yet, I'm working on that in #1040. (#1017)
  • Thanks to @kurogetsusai you can once again use negative offsets to put a notification window slightly off-screen if you so like. (#1027)
  • As mentioned above, the keyboard shortcuts have been moved to the [global] section. Please move your settings there.

Fixed

  • Crash when open_url was used without URL's. (#1000)
  • Icons sometimes being incorrectly sized with the new icon lookup. (#1003)
  • Incorrect defaults mentioned in the documentation. (#1004, #1029 and more)
  • Crash when icon could not be read by glib. (#1023)
  • Not being able to override anymore raw icons with new_icon (#1009)
  • High cpu usage when selecting an action in dmenu or similar. This was caused by dunst not going to sleep when waiting for a response. (#898)
  • Updated default values documentation (with help from @profpatch) (#1004 and more)

New Contributors

Full Changelog: https://github.com/dunst-project/dunst/compare/v1.7.3...v1.8.0

v1.7.3

2 years ago

1.7.3 -- 2021-12-08

Added

Changed

  • follow is now none again by default. This was the case before v1.7.0 as well. (#990).

Fixed

  • dunstctl action is now working again.
  • Segfault in experimental icon lookup when an inherited theme doesn't exist.
  • icon_position = off not being respected (#996).

v1.7.2

2 years ago

1.7.2 -- 2021-11-30

Added

  • Experimental recursive icon lookup. This is not enabled by default and can be enabled by setting enable_recursive_icon_lookup=true. Setting icon sizes still doesn't work entirely as it's supposed to and will be improved in future releases. (#965)
  • You can now enable or disable rules on the fly with dunstctl rule $name$ enable/disable. (#981)
  • dunstctl history lists your notification history in JSON format for processing by scripts. (#970)
  • You can now pop specific notifications from history by passing a notification ID to dunstctl history-pop. (#970)
  • default_icon setting for setting the icon when no icons are given (#984)
  • Implemented display size detection in Wayland. (#973)

Fixed

  • Text being cut off on X11 when using fractional scaling. (#975)
  • Incorrect hitbox for notification on X11 with scaling. (#980)
  • Improved warning messages for deprecated sections. (#974)
  • icon being interpreted as a filter and not being allowed in the special urgency sections. This is a compatibility fix, but it's recommended to replace all usages of icon in these sections with default_icon to prevent confusion with the icon rule in other sections. (#984)
  • new_icon being used in the default dunstrc where default_icon is the intended settings. This was commented by default, so it doesn't affect any default behaviour. (#984)
  • Notifications bleeding to other screens when the width was big enough. Now the notification's width is lowered when it would otherwise leave the display.

v1.7.1

2 years ago

1.7.1 -- 2021-11-01

Added

  • Script environment variable DUNST_DESKTOP_ENTRY. (#874)
  • Rule set_category for change a notifications category with rules. (1b72b2a)

Fixed

  • Dunst not building with WAYLAND=0. (#938)
  • Wrong icon being shown in chromium-based browsers. (#939)
  • set_stack_tag not working anymore. (#942)
  • Outdated documentation. (#943, #944 and more)
  • Empty strings not being allowed in settings. (#946)
  • Dunst crashing when compositor doesn't support zwlr_foreign_toplevel_v1. (#948)
  • Xmore notifications showing a progress bar and icon. (#915)
  • Markup is now a rule again. Before this was undocumented behaviour. (#955)
  • Double free when setting XDG_CONFIG_DIR. (#957)
  • Dunst crashing on some compositors. (#948)
  • Dunst not exiting when wayland compositor quits. (#961)
  • Now the separators are not responsive to mouse clicks anymore. (#960)
  • Mouse action stopping the rest of the actions. (bf58928)