termux-packages/packages/termux-api/termux-notification

47 lines
1.1 KiB
Bash
Executable File

#!/bin/sh
set -e -u
SCRIPTNAME=termux-notification
show_usage () {
echo "usage: termux-notification [OPTIONS]"
echo "Display a system notification."
echo ""
echo " -c <content> notification content to show"
echo " -i <id> notification id (will overwrite the previous notification with the same id)"
echo " -t <title> notification title to show"
echo " -u <url> notification url when clicking on it"
exit 1
}
CONTENT_OR_TITLE_SET=no
ARG_C=""
OPT_C=""
ARG_I=""
OPT_I=""
ARG_T=""
OPT_T=""
ARG_U=""
OPT_U=""
while getopts :hc:i:t:u: option
do
case "$option" in
h) show_usage;;
c) ARG_C="--es content"; OPT_C="$OPTARG"; CONTENT_OR_TITLE_SET=yes;;
i) ARG_I="--es id"; OPT_I="$OPTARG";;
t) ARG_T="--es title"; OPT_T="$OPTARG"; CONTENT_OR_TITLE_SET=yes;;
u) ARG_U="--es url"; OPT_U="$OPTARG";;
?) echo "$SCRIPTNAME: illegal option -$OPTARG"; exit 1;
esac
done
shift $(($OPTIND-1))
if [ $# != 0 ]; then echo "$SCRIPTNAME: too many arguments"; exit 1; fi
if [ $CONTENT_OR_TITLE_SET = "no" ]; then
echo "$SCRIPTNAME: no title or content set"
exit 1
fi
@TERMUX_API@ Notification $ARG_C "$OPT_C" $ARG_I "$OPT_I" $ARG_T "$OPT_T" $ARG_U "$OPT_U"