53 lines
1.3 KiB
Bash
Executable File
53 lines
1.3 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
|
|
|
|
set --
|
|
if [ -n "$ARG_C" ]; then set -- "$@" $ARG_C "$OPT_C"; fi
|
|
if [ -n "$ARG_I" ]; then set -- "$@" $ARG_I "$OPT_I"; fi
|
|
if [ -n "$ARG_T" ]; then set -- "$@" $ARG_T "$OPT_T"; fi
|
|
if [ -n "$ARG_U" ]; then set -- "$@" $ARG_U "$OPT_U"; fi
|
|
|
|
@TERMUX_API@ Notification "$@"
|