diff --git a/docs/dunstctl.pod b/docs/dunstctl.pod index 87dcc81..8dc7a69 100644 --- a/docs/dunstctl.pod +++ b/docs/dunstctl.pod @@ -29,6 +29,11 @@ Close all notifications currently being displayed Open the context menu, presenting all available actions and urls for the currently open notifications. +=item B [displayed/history/waiting] + +Returns the number of displayed, shown and waiting notifications. If no argument +is provided, everything will be printed. + =item B Redisplay the notification that was most recently closed. This can be called @@ -46,11 +51,6 @@ Set the paused status of dunst. If false, dunst is running normally, if true, dunst is paused. See the is-paused command and the dunst man page for more information. -=item B [displayed/history/waiting] - -Returns the number of displayed, shown and waiting notifications. If no argument -is provided, everything will be printed. - =item B Tries to contact dunst and checks for common faults between dunstctl and dunst. diff --git a/dunstctl b/dunstctl index 71f2938..c166fd8 100755 --- a/dunstctl +++ b/dunstctl @@ -14,18 +14,18 @@ show_help() { cat <<-EOH Usage: dunstctl [parameters]" Commands: - action Perform the default action, or open the - context menu of the notification at the - given position - close Close the last notification - close-all Close the all notifications - context Open context menu - history-pop Pop one notification from history - is-paused Check if dunst is running or paused - set-paused [true|false|toggle] Set the pause status - status [displayed|history|waiting] Show the number of notifications - debug Print debugging information - help Show this help + action Perform the default action, or open the + context menu of the notification at the + given position + close Close the last notification + close-all Close the all notifications + context Open context menu + count [displayed|history|waiting] Show the number of notifications + history-pop Pop one notification from history + is-paused Check if dunst is running or paused + set-paused [true|false|toggle] Set the pause status + debug Print debugging information + help Show this help EOH } dbus_send_checked() { @@ -62,6 +62,17 @@ case "${1:-}" in "context") method_call "${DBUS_IFAC_DUNST}.ContextMenuCall" >/dev/null ;; + "count") + [ $# -eq 1 ] || [ "${2}" = "displayed" ] || [ "${2}" = "history" ] || [ "${2}" = "waiting" ] \ + || die "Please give either 'displayed', 'history', 'waiting' or none as count parameter." + if [ $# -eq 1 ]; then + property_get waiting | ( read -r _ _ waiting; printf " Waiting: %s\n" "${waiting}" ) + property_get displayed | ( read -r _ _ displayed; printf " Currently displayed: %s\n" "${displayed}" ) + property_get history | ( read -r _ _ history; printf " History: %s\n" "${history}") + else + property_get ${2} | ( read -r _ _ notifications; printf "%s\n" "${notifications}"; ) + fi + ;; "history-pop") method_call "${DBUS_IFAC_DUNST}.NotificationShow" >/dev/null ;; @@ -84,17 +95,6 @@ case "${1:-}" in property_set paused variant:boolean:"$2" fi ;; - "status") - [ $# -eq 1 ] || [ "${2}" = "displayed" ] || [ "${2}" = "history" ] || [ "${2}" = "waiting" ] \ - || die "Please give either 'displayed', 'history', 'waiting' or none as status parameter." - if [ $# -eq 1 ]; then - property_get waiting | ( read -r _ _ waiting; printf " Waiting: %s\n" "${waiting}" ) - property_get displayed | ( read -r _ _ displayed; printf " Currently displayed: %s\n" "${displayed}" ) - property_get history | ( read -r _ _ history; printf " History: %s\n" "${history}") - else - property_get ${2} | ( read -r _ _ notifications; printf "%s\n" "${notifications}"; ) - fi - ;; "help"|"--help"|"-h") show_help ;;