dunst

Lightweight and customizable notification daemon

OTHER License

Stars
4.3K

Bot releases are hidden (Show)

dunst - Dunst v1.10.0 Latest Release

Published by fwsmit 8 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

dunst - Dunst v1.9.2

Published by fwsmit over 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

dunst - Dunst v1.9.1

Published by fwsmit over 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

dunst - Dunst v1.9.0

Published by fwsmit over 2 years 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

dunst - Dunst v1.8.1

Published by fwsmit over 2 years ago

Fixed

New Contributors

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

dunst - Dunst v1.8.0

Published by fwsmit over 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

dunst - Dunst v1.7.3

Published by fwsmit almost 3 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).
dunst - Dunst v1.7.2

Published by fwsmit almost 3 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.
dunst - Dunst v1.7.1

Published by fwsmit almost 3 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)
dunst - Dunst v1.7.0

Published by fwsmit almost 3 years ago

This release was long overdue. There have been a lot of changes in the mean
time. For a full list of changes, see the changelog.

For users:

The wayland support of v1.6.0 was already pretty good, but this release added
fullscreen detection and improved the stability.

This release added a few improvements to the wayland support. Dunst now
automatically falls back to X11 when the wayland compositor doesn't support the
neccesary protocols.

For maintainers:

Previously the readme said dunst depended on GTK3, which hasn't been the case
for a while. Make sure that GTK3 is not included as a dependency.

The default program for opening URL's in notifications has been changed from
firefox to xdg-open.

The Makefile and dunstrc searching has been significantly changed to be more
compliant with the XDG spec. The default config directory, SYSCONFDIR, has
been changed from "/etc" to "${PREFIX}/etc/xdg/". To change back to the old
behaviour, run make with: make SYSCONFDIR="/etc" (make sure to pass the same
variables to make in subsequent calls). Take a look at the "Make parameters"
section of the readme and the FILES section of the man page for more details.

Changelog:

Added

  • context and context_all mouse actions for opening the context menu (#848)
  • open_url mouse action for opening url's in a notification (#848)
  • action_name rule for setting a default action to perform when using
    do_action (#848)
  • HiDPI support for both Wayland and X11. On wayland the scale can be set from
    your compositor's settings and is automatically picked up by dunst. On X11
    dunst will guess the scale based on the DPI of the screen. If that isn't good,
    you can set the scale variable in the settings. (#854 and #890)
  • highlight can now also be set through dbus hints with the key hlcolor
    (#862)
  • Your dunstrc is now being checked by dunst. Dunst will print a warning when
    coming across an non-existing/invalid setting. (#803)
  • Wayland fullscreen detection (#814)
  • Wayland touch support (#814)
  • Cursor is now being changed to left_ptr when hovering over dunst (Wayland)
    (#903)

Changed

  • startup_notification and verbosity are now only available as a command
    line arguments. (#803)

  • Rule settings can now also be used in the [global] section. They will then
    apply to all the notifications. (#803)

  • fullscreen, ellpsize and word_wrap are now rules. They can still be used
    in the [global] section as well (see above). (#937 and #803)

  • The appid's now also need to match when stacking notifications. (#886)

  • xdg-open is now being used by default for opening URL's. (#889)

  • geometry has been replaced by origin, width, height, offset and
    notification_height. This allows for more flexible geometry settings. (#855)

    For quickly transitioning to the new syntax, you can take the numbers from your
    old geometry config as follows:
    geometry = <width>x<height>+<offset>

    In the new config you can then set the following variables (make sure to remove
    any negative signs)

width = <width>
height = <height>
offset = <offset>
origin = top-right # or top-left, or any other direction you prefer
  • There were a bunch of changes in the installation and default locations. See
    the release notes for more information.
  • Upon seeing invalid markup, dunst is a bit smarter in stripping the markup.

Fixed

  • Lots of debug messages when idle_timeout=0 (#814)
  • follow=none not working on Wayland (#814)
  • Incorrect sorting when sort is false
  • NULL pointer dereference on Wayland
  • Dunst not redrawing after close_all action.
  • Dunst not announcing icon-static capability over dbus (#867)
  • Dunst not falling back to X11 output when it can't initialize the Wayland
    output. (#834)
  • Improve stability on Wayland. (#930 and more)

Removed

  • The [shortcuts] section with all it's settings. Use your WM/DE's shortcut
    manager and dunstctl to replace it. (#803)
  • Setting settings via command line arguments. (#803)
  • Setting settings via config.h. (#803)
dunst - Dunst v1.6.1

Published by tsipinakis over 3 years ago

Dunst v1.6.0 had the wrong version listed in the Makefile. Another item to double check for the release checklist!

1.6.1 - 2021-02-21:

Fixed

  • Incorrect version in Makefile
dunst - Dunst v1.6.0

Published by tsipinakis over 3 years ago

Added

  • Wayland support. Dunst now runs natively on wayland. This fixes several bugs
    with dunst on wayland and allows idle detection. (#781)
  • A progress bar, useful for showing volume or brightness in notifications (#775)
  • A script in contrib for using the progress bar (#791)
  • dunstctl count for showing the number of notifications (#793)
  • Expose environment variables info about the notification to scripts (#802)
  • text_icon_padding for adding padding between the notification icon and text
    (#810)

Changed

  • Dunst now installs a system-wide config in /etc/dunst/dunstrc (#798)
  • Move part of the man page to dunst(5) (#799)

Fixed

  • history_ignore flag broken when using multiple rules (#747)
  • Divide by zero in radius calculation (#750)
  • Monitor setting overriding follow_mode (#755)
  • Incorrect monitor usage when using multiple X11 screens (#762)
  • Emit signal when paused property changes (#766)
  • dunstify can pass empty appname to libnotify (#768)
  • Incorrect handling of 'do_action, close' mouse action (#778)

Removed

  • DUNST_COMMAND_{PAUSE,RESUME,TOGGLE} (#830)
dunst - v1.5.0

Published by tsipinakis about 4 years ago

Added

  • min_icon_size option to automatically scale up icons to a desired value (#674)
  • vertical_alignment option to control the text/icon alignment within the notification (#684)
  • Ability to configure multiple actions for each mouse event (#705)
  • dunstctl command line control client (#651)
  • RGBA support for all color strings (#717)
  • Ability to run multiple scripts for each notification (#735)
  • ignore_dbusclose setting (#732)

Changed

  • dunstify notification client is now installed by default (#701)
  • Keyboard follow mode falls back to the monitor with the mouse if no window has keyboard focus (#708)

Fixed

  • Overflow when setting a >=40 minute timeout (#646)
  • Unset configuration options not falling back to default values (#649)
  • Crash when $HOME environment variable is unset (#693)
  • Lack of antialiasing with round corners enabled (#713)
dunst - v1.4.1

Published by tsipinakis over 5 years ago

This is a bugfix only release

Changelog:

Fixed

  • max_icon_size not working with dynamic width (#614)
  • Failure to parse color strings with trailing comments in the config (#626)
  • Negative width in geometry being ignored (#628)
  • Incorrect handling of the argument terminator -- in dunstify
  • Crash when changing DPI while no notifications are displayed (#630)
  • Fullscreen status change not being detected in some cases (#613)
dunst - v1.4.0

Published by tsipinakis over 5 years ago

There has been significant internal refactoring since the last release which
might have introduced some new bugs. Be sure to report anything you find.
However, as usual, there has been a lot of bug-fixing and a lot of new features
have been added as well. Look at the full changelog for a breakdown.
Some important points to note:

For users:

  • Behavioural changes

    In the previous release we introduced support for clients to mark
    notifications as 'transient'. Transient notifications used to 1) bypass
    idle_threshold and 2) not be saved in history.
    The latter behaviour has been disabled by default and can be re-created using
    rules if necessary. Transient notifications will now only bypass
    idle_threshold.

    Additionally, to be compliant with the notification spec, the notification
    summary no longer accepts markup.

For maintainers:

  • Dependency on libxdg-basedir has been removed
dunst - v1.3.2

Published by tsipinakis over 6 years ago

This release fixes a crash when trying to load an invalid or corrupt icon file. It contains no other functional changes.

dunst - Dunst v1.3.1

Published by tsipinakis over 6 years ago

This release addresses a race condition that can cause the service file to be empty upon installation. It contains no other changes, refer to the release notes for 1.3 below for more info on 1.3.

dunst - v1.3.0

Published by tsipinakis almost 7 years ago

Notable changes in 1.3:

For users:

  • Behavioural changes

    Dunst respects the timeout with millisecond accuracy now. Notifications with
    a one second timeout are not shown up to three seconds.
    Additionally you can specify timeout values in milliseconds, seconds, minutes,
    hours or days using the ms, s, h, or d suffix in the config value
    respectively.

    Transient notifications time out ignoring the idle_threshold setting and are not
    saved in history. This can be overridden with a rule containing set_transient = no.
    In the same vein there is the match_transient condition to match transient
    notifications via rules.

    A prefixed tilde (~/) in path settings (browser, dmenu, script) is interpreted as the
    home folder of the user.

  • Configuration Options

    icon_folders got deprecated and renamed to icon_path. icon_folders is still
    supported, but will get removed in future.

    The option ellipsize got introduced. It controls where to ellipsize the text of
    an overlong notification if word_wrap = no.

For maintainers:

  • Dependencies

    The GTK3+ dependency got removed. Instead of this gdk-pixbuf is required
    explicitly. This had been a transient dependency before.

    In the Makefile, libxrandr is now specified to require version 1.5 or newer.
    The dependency on libxrandr >= 1.5 is not new, Dunst 1.2.0 required it too
    but there was no active check for it.

  • Installation process

    The internals of dunst's make installation process have slightly changed. The
    install routine won't install the service files for DBus and systemd in a hardcoded
    subdirectory of $PREFIX. It'll now query the dbus-1 and systemd pkg-config
    packages for those paths and will put it there.

    To overwrite the pkg-config values, you can manually specify another path.
    Use SERVICEDIR_(DBUS|SYSTEMD) vars as parameters to your make calls.

    For all introduced variables, see [the README.md].

  • Portability

    GNU-specific functions have been disabled to make dunst portable to nongnu libc's.

For a full list of changes see [CHANGELOG.md].

dunst -

Published by tsipinakis over 7 years ago

After about 3 years of inactivity, dunst is back under active development.

Version 1.2 is supposed to be fully backwards compatible with 1.1 but due to
the number of changes and the time since the last release there may be some
overlooked breakages. If one is found it should be reported to the bug tracker.

For users:

  • Markup
    The allow_markup setting has been deprecated in favour of markup which
    is a multi-value setting that can be used to control much more accurately
    how markup in notifications should be handled. Currently it only supports
    no, strip and full as values but it is planned to be expanded soon.

    To preserve backwards compatibility, allow_markup is still supported but
    users are encouraged to update their configuration files since it will be
    removed after a few major releases.

  • DPI handling
    The DPI value used is now retrieved from the Xft.dpi X resource if
    available. If not, the default value 96 will be used.

    Additionally, as an experiment a per-monitor dpi setting, which tries to
    calculate an acceptable dpi values for each monitor, has been added to the
    experimental section of the configuration file.

  • RandR and Xinerama
    Dunst switched from using the Xinerama extension to provide multi-monitor
    support to using the more modern RandR extension. While this change won't
    affect the majority of users, some legacy drivers do not support RandR. In
    that case, the force_xinerama option was added as a way to fall back to
    the old method.

    The downside of forcing Xinerama to be used is that dunst won't be able to
    detect when a monitor is added or removed meaning that follow mode might
    break if the screen layout changes.

  • Frame settings
    All the settings in the frame section of the configuration file have been
    deprecated and have been moved into the global section. The color and size
    settings became frame_color and frame_size respectively. As with
    allow_markup, the old format still works but it'll be removed in one of the
    next major releases.

  • Deprecation of urgency-specific command line flags
    The urgency specific command line flags (-li, -ni, -ci, -lf, -nf, -cf, -lb, -nb, -cb, -lfr, -nfr, -cfr, -lto, -nto, -cto) have been deprecated with no
    plan for a replacement. If you rely on them please respond to issue #328 on
    the bug tracker with your use case.

For maintainers:

  • The project homepage has been changed to https://dunst-project.org

  • The main repository has been changed to https://github.com/dunst-project/dunst

  • Dependency changes:

    • Dependency on libraries that were unused in the code but were mentioned as
      dependencies has been dropped. Dunst no longer depends on: libfreetype,
      libxft and libxext.
    • Added dependency on libxrandr and libgtk2.0.

For a full list of changes see CHANGELOG.md.

dunst - The long overdue one

Published by knopwob about 10 years ago

The main reason for this release is a fix for a nasty memoryleak which most prominantly surfaced through the notifications from the Spotify client (just to clarify: the spotify client is not at fault).

besides the usual bug fixes here are some of the more interesting changes:

  • icon support (still work in progress)
  • fix issue where keybindings arn't working when numlock is activated

Thank to all the contributors.

The release tarball can be found here

Package Rankings
Top 5.75% on Proxy.golang.org
Badges
Extracted from project README
main codecov