#!/bin/bash set -e -u SCRIPTNAME=termux-notification show_usage () { echo "Usage: termux-notification [-c content] [-i id] [-t title] [-u url]" echo "Display a system notification." echo "" echo " -c,--content content notification content to show" echo " -i id notification id (will overwrite any previous notification with the same id)" echo " --led-color color of the blinking led as RRGGBB (default: none)" echo " --led-on number of milliseconds for the LED to be on while it's flashing (default: 800)" echo " --led-off number of milliseconds for the LED to be off while it's flashing (default: 800)" echo " --priority notification priority (high/low/max/min/default)" echo " --sound play a sound with the notification" echo " -t,--title title notification title to show" echo " -u url notification url when clicking on it" echo " --vibrate pattern vibrate pattern, comma separated as in 500,1000,200" echo "" exit 0 } CONTENT_OR_TITLE_SET=no ARG_C="" OPT_C="" OPT_ID="" ARG_T="" OPT_T="" ARG_U="" OPT_U="" OPT_PRIORITY="" OPT_LED_COLOR="" OPT_LED_ON="" OPT_LED_OFF="" OPT_VIBRATE="" OPT_SOUND="" TEMP=`busybox getopt \ -n $SCRIPTNAME \ -o hc:i:t:u: \ --long content:,help,id:,led-color:,led-on:,led-off:,priority:,sound,vibrate: \ -s bash \ -- "$@"` eval set -- "$TEMP" while true; do case "$1" in -c | --content) ARG_C="--es content"; OPT_C="$2"; CONTENT_OR_TITLE_SET=yes; shift 2;; -h | --help) show_usage;; -i | --id) OPT_ID="$2"; shift 2;; --led-color) OPT_LED_COLOR="$2"; shift 2;; --led-on) OPT_LED_ON="$2"; shift 2;; --led-off) OPT_LED_OFF="$2"; shift 2;; --priority) OPT_PRIORITY="$2"; shift 2;; --sound) OPT_SOUND="true"; shift 1;; -t | --title) ARG_T="--es title"; OPT_T="$2"; CONTENT_OR_TITLE_SET=yes; shift 2;; -u) ARG_U="--es url"; OPT_U="$2"; shift 2;; --vibrate) OPT_VIBRATE="$2"; shift 2;; --) shift; break ;; esac done 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 "$OPT_ID" ]; then set -- "$@" --es id "$OPT_ID"; fi if [ -n "$ARG_T" ]; then set -- "$@" $ARG_T "$OPT_T"; fi if [ -n "$ARG_U" ]; then set -- "$@" $ARG_U "$OPT_U"; fi if [ -n "$OPT_LED_COLOR" ]; then set -- "$@" --es led-color "$OPT_LED_COLOR"; fi if [ -n "$OPT_LED_ON" ]; then set -- "$@" --ei led-on "$OPT_LED_ON"; fi if [ -n "$OPT_LED_OFF" ]; then set -- "$@" --ei led-off "$OPT_LED_OFF"; fi if [ -n "$OPT_PRIORITY" ]; then set -- "$@" --es priority "$OPT_PRIORITY"; fi if [ -n "$OPT_SOUND" ]; then set -- "$@" --ez sound "$OPT_SOUND"; fi if [ -n "$OPT_VIBRATE" ]; then set -- "$@" --ela vibrate "$OPT_VIBRATE"; fi @TERMUX_API@ Notification "$@"