24 lines
661 B
Bash
Executable file
24 lines
661 B
Bash
Executable file
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
# In case we got a click, open the notifications page
|
|
[ -n "${BLOCK_BUTTON:-}" ] && xdg-open "https://github.com/notifications" >/dev/null 2>&1
|
|
|
|
# Get token from vault
|
|
gh_token=$(vault read -field=token secret/private/github/notifications)
|
|
[ -z "${gh_token}" ] && exit 1
|
|
|
|
# Get unread notifications (capped, no pagination!)
|
|
count=$(curl -su "api:${gh_token}" https://api.github.com/notifications | jq '. | length')
|
|
|
|
# No updates: Gray
|
|
color="#7f7f7f"
|
|
display_num=""
|
|
|
|
# Normal updates: White
|
|
[ $count -gt 0 ] && {
|
|
color="#ffffff"
|
|
display_num=" ${count}"
|
|
}
|
|
|
|
printf '<span color="%s">\ue709%s</span>\n' "${color}" "${display_num}"
|