Dunst Documentation

repository·master·Indexed 26 days ago

https://github.com/dunst-project/dunst

A highly configurable and lightweight notification daemon for Linux environments supporting X11 and Wayland. Features include deep customization of appearance and behavior via dunstrc, notification scripting, rule-based filtering, and history management.

Tokens
887
Snippets
1
Records
4
Agent score
41%

What's inside Dunst

  1. Configure Dunst via dunstrc

    master

    Dunst is highly customizable via its configuration file (dunstrc). You can modify fonts, icons, timeouts, colors, and keyboard shortcuts.

    Advanced Features

    • Scripting: Run custom scripts when notifications match specific patterns (e.g., using espeak for text-to-speech).
    • Rules: Change the appearance or behavior of notifications based on patterns (e.g., changing colors for specific senders or preventing certain notifications from disappearing).
    • Pause: Pause notifications temporarily. You can set numeric pause levels to allow urgent notifications through while keeping less urgent ones paused.
    • History: Use keyboard shortcuts to replay the last notification or view notification history.
  2. Install Dunst from source

    master

    You can build and install Dunst using either make or meson. Ensure you have the necessary dependencies installed for your distribution first.

    Dependencies

    • Runtime: dbus
    • Required Libraries: libxinerama, libxrandr, libxss, glib, pango/cairo, gdk-pixbuf
    • Optional/Conditional:
      • libnotify: Required if you want to use dunstify.
      • wayland-client: Required for Wayland support.
      • wayland-protocols: For recompiling protocols.
      • xdg-utils: For xdg-open functionality.
      • jq: For completions and tools in contrib.
      • busctl: For dunstctl rules and history.
    ### Using Makefile
    ```bash
    git clone https://github.com/dunst-project/dunst.git
    cd dunst
    make
    sudo make install

    Using Meson

    meson setup build
    ninja -C build
    ninja -C build install
  3. Configure Dunst build parameters

    master

    When building Dunst, you can pass several parameters to customize the installation. Note: You must use the same parameter set for both the build and install steps (e.g., make PREFIX=/usr and make PREFIX=/usr install).

    Either X11 or WAYLAND must be set to 1 for the project to compile.

    Key Build Parameters

    ParameterDescription
    DESTDIR=<PATH>Destination directory of the installation (Default: /)
    PREFIX=<PATH>Prefix of the installation (Default: /usr/local)
    BINDIR=<PATH>Path to the dunst executable (Default: ${PREFIX}/bin)
    DATADIR=<PATH>Path for shared files (Default: ${PREFIX}/share)
    SYSCONFDIR=<PATH>Base directory for system config files (Default: ${PREFIX}/etc/xdg)
    SYSCONFFILE=<PATH>Absolute path to the default dunstrc (Default: ${SYSCONFDIR}/dunst/dunstrc)
    SYSCONF_FORCE_NEW=(0|1)Overwrite existing ${SYSCONFFILE} (Default: 0)
    SYSTEMD=(0|1)Enable/Disable the systemd unit (Default: autodetect)
    WAYLAND=(0|1)Enable/Disable wayland support (Default: 1)
    X11=(0|1)Enable/Disable X11 support (Default: 1)
    DUNSTIFY=(0|1)Enable/Disable the libnotify dunstctl utility (Default: 1)
    COMPLETIONS=(0|1)Enable/Disable installation of shell completions (Default: 1)
  4. Access Dunst documentation

    master

    Detailed information about Dunst can be found in the following locations:

    • General usage: Consult the dunst(1) man page.
    • Configuration options: Consult the dunst(5) man page for a full list of all configuration keys.
    • Guides and Installation: Visit the Dunst Wiki.
    • Troubleshooting: Check the FAQ on the official website.