summary refs log tree commit diff
path: root/bin
diff options
context:
space:
mode:
authorRobert Günzler <r@gnzler.io>2021-11-15 12:59:03 +0100
committerRobert Günzler <r@gnzler.io>2021-11-15 12:59:03 +0100
commitcc69cba46547ad266b24b8f905d4a416e4e51647 (patch)
tree29ba134520dfa8f177cdaadb5da141ed56cd0b14 /bin
parent97e6333827f9987451c0b2f821b43621815a40cd (diff)
bin/notifmenu: handle id argument
Diffstat (limited to 'bin')
-rwxr-xr-xbin/notifmenu11
1 files changed, 7 insertions, 4 deletions
diff --git a/bin/notifmenu b/bin/notifmenu
index abee229..2666472 100755
--- a/bin/notifmenu
+++ b/bin/notifmenu
@@ -4,7 +4,10 @@ set -e
 [ -n "$DEBUG" ] && set -x
 
 manual_actions_handling=
-[ "${1}" = "-m" ] && manual_actions_handling=1
+if [ "${1}" = "-m" ]; then
+	manual_actions_handling=1
+	shift 1
+fi
 
 # check requirements
 for tool in makoctl jq bemenu; do
@@ -23,7 +26,7 @@ _menu() {
 select_notification() {
 	while read -r line; do # actually only supports 1
 		id=$(printf "%s" "${line}" | awk -F'\t' '{print $1}')
-		makoctl list | jq -r ".. | select(.id?.data==${id}) | @text"
+		makoctl list | jq -r ".. | select(.id?.data?==${id}) | @text"
 	done
 }
 
@@ -76,7 +79,7 @@ handle_action_manually() {
 }
 
 makoctl list |
-	jq -r '.data[][] | [.id.data, ."app-name".data, .summary.data, .body.data] | @tsv' |
-	_menu |
+	jq --arg id "${1}" -r '(..|select(.id?.data?==$id)) // .data[][] | [.id.data, ."app-name".data, .summary.data, .body.data] | @tsv' |
+	if [ -z "${1}" ]; then _menu; else tac | tac; fi |
 	select_notification |
 	handle