#!/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 '\ue709%s\n' "${color}" "${display_num}"