Skip to content

Releases: dunst-project/dunst

Dunst v1.12.0

30 Nov 15:24
42d2bf8
Compare
Choose a tag to compare

There have been many important contributions in the last few months.
Some notable changes are: adding hot-reload for the configuration, exporting
rules via dunstctl, adding color gradients, removing default hard-coded icons.
For detailed information consult the changelog.

Important notice for all users:

The behaviour of the setting height has been changed in a breaking way.
Before you could specify a single value that would be used as the max height
of a notification. In this release the dynamic height was implemented to make
this settings behave more similarly to width.
Now the values accepted are either a single number (for a fixed height) or
a tuple of numbers (for a min/max range).

The way of specifying a maximum height before was:
height = 300

The equivalent way now is:
height = (0, 300)

Furthermore the preferred syntax for the offset settings has been changed
from NxN to (N,N). The old syntax is supported nevertheless.

If you are a maintainer it would be helpful to include the message above when
an user updates from an older version of dunst.

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

Added

  • Export rules via dbus with dunstctl rules [--json] (#1212)
  • Added checks and messages for missing DBUS_SESSION_BUS_ADDRESS (#1389)
  • Add -e/--exit flag to dunstctl is-paused to exit with 1 when paused (#1378)
  • Add color gradients for the progress bar (by providing a list of colors instead of one) (#1370)
  • Use TESTDIR env var as the base for the test program (#1376)
  • Add dunstctl reload to hot reload the configuration (#1350)
  • Add an optional id to dunstctl close (#1351)
  • Print compile-time options in dunst --version (#1336)

Changed

  • BREAKING: Implement dynamic height (changes the the height setting, see manual) (#1342)
  • Change the preferred syntax of offset from NxN to (N,N) (#1330)
  • Install the systemd service file in the session.slice (#1397)
  • Open url with dunstctl action if no action is present (#1345,#1395)
  • Remove default icons (now no icons are hard-coded) (#1365,#1358)
  • Various updates to documentation and test suite

Fixed

  • Order of context menu was reversed (#1394,#1375)
  • Resolve ~ and $HOME in icon_path (#1383,#1371)
  • Fix broken link to freedesktop's notification specs in man page (#1381)
  • Remove the message about shortcuts deprecation (#1353)
  • Fix vertical padding behaviour (#1342)
  • Fix bash completion (#1347)
  • Fix file suffix for fish completions during installation (#1339)

New Contributors

Full Changelog: v1.11.0...v1.12.0

Dunst v1.11.0

15 Apr 20:49
13a74dd
Compare
Choose a tag to compare

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: v1.10.0...v1.11.0

New maintainers:

Dunst v1.10.0

19 Feb 21:16
Compare
Choose a tag to compare

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: v1.9.2...v1.10.0

Dunst v1.9.2

20 Apr 16:59
Compare
Choose a tag to compare

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: v1.9.1...v1.9.2

Dunst v1.9.1

08 Mar 12:20
Compare
Choose a tag to compare

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: v1.9.0...v1.9.1

Dunst v1.9.0

27 Jun 12:57
Compare
Choose a tag to compare

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

  • Rule attribute to override timeout set by dbus by @rpbranco in #1038
  • Scale offset according to DPI by @livanh in #1039
  • Fixes dunstctl history command by @stremlenye in #1060
  • Add support for notification gaps by @paddyw2 in #1053
  • Mako wayland fixes by @fwsmit in #1067
  • follow=keyboard: Fix regression where we don't fall back to mouse by @cdown in #1062
  • Recursive icons: Use min_icon_size and max_icon_size instead of icon_size. by @fwsmit in #1069
  • Fix notifications sometimes not disappearing by @fwsmit in #1073

New Contributors

Full Changelog: v1.8.1...v1.9.0

Dunst v1.8.1

02 Mar 11:03
Compare
Choose a tag to compare

Fixed

  • Dunst sometimes not using the right config file, sometimes falling back to the
    internal defaults by @alebastr in #1042

New Contributors

Full Changelog: v1.8.0...v1.8.1

Dunst v1.8.0

24 Feb 11:41
Compare
Choose a tag to compare

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: v1.7.3...v1.8.0

Dunst v1.7.3

08 Dec 10:50
Compare
Choose a tag to compare

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).

Dunst v1.7.2

30 Nov 12:51
Compare
Choose a tag to compare

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.