diff options
| author | EuAndreh <eu@euandre.org> | 2022-05-12 10:31:44 -0300 |
|---|---|---|
| committer | EuAndreh <eu@euandre.org> | 2022-05-12 10:31:44 -0300 |
| commit | e598c486e317b563fb502ebc7352f71cdc003ffd (patch) | |
| tree | 46f9a260357b2c838a2ec28ae92b49d89cd813b3 /.usr/bin/msg | |
| parent | .config/newsboat/urls: Add link to private repo (diff) | |
| download | dotfiles-e598c486e317b563fb502ebc7352f71cdc003ffd.tar.gz dotfiles-e598c486e317b563fb502ebc7352f71cdc003ffd.tar.xz | |
git mv .local/bin/ .usr/bin/
Diffstat (limited to '.usr/bin/msg')
| -rwxr-xr-x | .usr/bin/msg | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/.usr/bin/msg b/.usr/bin/msg new file mode 100755 index 0000000..f3e893e --- /dev/null +++ b/.usr/bin/msg @@ -0,0 +1,90 @@ +#!/bin/sh +set -eu + +usage() { + cat <<-'EOF' + Usage: + msg -X XMPP_MESSAGE -s -S SOUND_MESSAGE -m EMAIL -D DESKTOP -b + msg -h + EOF +} + +help() { + cat <<-'EOF' + + Options: + -X XMPP_MESSAGE send XMPP using the `xmpp` command + -s play ~/Desktop/medium.ogg sound + -S SOUND_MESSAGE say SOUND_MESSAGE using `speak` + -m EMAIL_SUBJECT send email with EMAIL_SUBJECT and empty body + -D DESKTOP_MESSAGE the desktop message for `notify-send` + -b print terminal bell + -h, --help show this message + EOF +} + +for flag in "$@"; do + case "$flag" in + --) + break + ;; + --help) + usage + help + exit + ;; + *) + ;; + esac +done + +sound() { + play ~/Desktop/medium.ogg 2>/dev/null & +} + +ACTION_DONE=false +while getopts 'X:sS:m:D:bh' flag; do + case "$flag" in + X) + xmpp -m "$OPTARG" eu@euandreh.xyz + ACTION_DONE=true + ;; + s) + sound + ACTION_DONE=true + ;; + S) + echo "$OPTARG" | speak -v pt-BR + ACTION_DONE=true + ;; + m) + echo "" | email -s "$OPTARG" eu@euandre.org + ACTION_DONE=true + ;; + D) + notify-send "$OPTARG" + ACTION_DONE=true + ;; + b) + printf '\a' + ACTION_DONE=true + ;; + h) + usage + help + exit + ;; + *) + usage >&2 + exit 2 + ;; + esac +done + +if [ "$ACTION_DONE" = false ]; then + sound + usage + help +fi + +wait |
