=head1 NAME

dunstctl - command line control utility for dunst

=head1 SYNOPSIS

dunstctl COMMAND [PARAMETER]

=head1 COMMANDS

=over 4

=item B<action> notification_position

Performs the default action or, if not available, opens the context menu of the
notification at the given position (starting count at the top, first
notification being 0).

=item B<close> [ID]

Close the topmost notification currently being displayed.
You can optionally pass an ID to close the matching notification (if present).

=item B<close-all>

Close all notifications currently being displayed.

=item B<context>

Open the context menu, presenting all available actions and urls for the
currently open notifications.

=item B<count> [displayed/history/waiting]

Returns the number of displayed, shown and waiting notifications. If no argument
is provided, everything will be printed.

=item B<history>

Exports the history as JSON.

=item B<history-clear>

Deletes all notifications from the history.

=item B<history-pop> [ID]

Redisplay the notification that was most recently closed. This can be called
multiple times to show older notifications, up to the history limit configured
in dunst. You can optionally pass an ID to history-pop, in which case the
notification with the given ID will be shown.

=item B<history-rm> ID

Removes the notification with the given ID from the history.

=item B<is-paused>

Check if dunst is currently running or paused. If dunst is paused notifications
will be kept but not shown until it is unpaused.

=item B<set-paused> true/false/toggle

Set the paused status of dunst. If false, dunst is running normally, if true,
dunst is paused (with maximum pause level of 100).
See the is-paused command and the dunst man page for more information.

=item B<get-pause-level>

Get current dunst's pause level, where 0 is not paused and 100 is maximally
paused.

This can be combined with notification's override_pause_level to selectively
display specific notifications while paused.

=item B<set-pause-level> [level]

Set the pause level, where 0 is not paused and 100 is maximally paused.

This can be combined with notification's override_pause_level to selectively
display specific notifications while paused.

=item B<rule> rule_name enable/disable/toggle

Enables, disables or toggles the rule identified by its name. This can be used
to temporarily activate or deactivate specific rules.

=item B<rules> [--json]

Exports all currently configured rules (optionally JSON formatted).

=item B<reload> [dunstrc ...]

Reload the settings of the running dunst instance. You can optionally specify
which configuration files to use. Otherwise, the config specified by the first invocation
of dunst will be reloaded.
When dunst is reloaded all the rules are reapplied to the original notification,
so modifications made by previous rules are not taken into account.

=item B<debug>

Tries to contact dunst and checks for common faults between dunstctl and dunst.
Useful if something isn't working.

=item B<help>

Show all available commands with a brief description.

=back

=head1 COPYRIGHT

Copyright 2011-2014 Sascha Kruse

Copyright 2014-2026 Dunst contributors

Dunst is released under the BSD 3-Clause License, see LICENSE for more information.

If you feel that copyrights are violated, please send an email to the maintainers.

=head1 SEE ALSO

dunst(5), dmenu(1), notify-send(1), dunstify(1)
