diff options
Diffstat (limited to 'mac/.config/sketchybar/plugins/github.sh')
| -rw-r--r-- | mac/.config/sketchybar/plugins/github.sh | 108 |
1 files changed, 0 insertions, 108 deletions
diff --git a/mac/.config/sketchybar/plugins/github.sh b/mac/.config/sketchybar/plugins/github.sh deleted file mode 100644 index bf09991..0000000 --- a/mac/.config/sketchybar/plugins/github.sh +++ /dev/null @@ -1,108 +0,0 @@ -#!/bin/bash - -update() { - source "$CONFIG_DIR/colors.sh" - source "$CONFIG_DIR/icons.sh" - - NOTIFICATIONS="$(gh api notifications)" - COUNT="$(echo "$NOTIFICATIONS" | jq 'length')" - args=() - if [ "$NOTIFICATIONS" = "[]" ]; then - args+=(--set $NAME icon=$BELL label="0") - else - args+=(--set $NAME icon=$BELL_DOT label="$COUNT") - fi - - PREV_COUNT=$(sketchybar --query github.bell | jq -r .label.value) - # For sound to play around with: - # afplay /System/Library/Sounds/Morse.aiff - - args+=(--remove '/github.notification\.*/') - - COUNTER=0 - COLOR=$BLUE - args+=(--set github.bell icon.color=$COLOR) - - while read -r repo url type title; do - COUNTER=$((COUNTER + 1)) - IMPORTANT="$(echo "$title" | egrep -i "(deprecat|break|broke)")" - COLOR=$BLUE - PADDING=0 - - if [ "${repo}" = "" ] && [ "${title}" = "" ]; then - repo="Note" - title="No new notifications" - fi - case "${type}" in - "'Issue'") - COLOR=$GREEN - ICON=$GIT_ISSUE - URL="$(gh api "$(echo "${url}" | sed -e "s/^'//" -e "s/'$//")" | jq .html_url)" - ;; - "'Discussion'") - COLOR=$WHITE - ICON=$GIT_DISCUSSION - URL="https://www.github.com/notifications" - ;; - "'PullRequest'") - COLOR=$MAGENTA - ICON=$GIT_PULL_REQUEST - URL="$(gh api "$(echo "${url}" | sed -e "s/^'//" -e "s/'$//")" | jq .html_url)" - ;; - "'Commit'") - COLOR=$WHITE - ICON=$GIT_COMMIT - URL="$(gh api "$(echo "${url}" | sed -e "s/^'//" -e "s/'$//")" | jq .html_url)" - ;; - esac - - if [ "$IMPORTANT" != "" ]; then - COLOR=$RED - ICON= - args+=(--set github.bell icon.color=$COLOR) - fi - - notification=( - label="$(echo "$title" | sed -e "s/^'//" -e "s/'$//")" - icon="$ICON $(echo "$repo" | sed -e "s/^'//" -e "s/'$//"):" - icon.padding_left="$PADDING" - label.padding_right="$PADDING" - icon.color=$COLOR - position=popup.github.bell - icon.background.color=$COLOR - drawing=on - click_script="open \"$URL\"; sketchybar --set github.bell popup.drawing=off; sleep 5; sketchybar --trigger github.update" - ) - - args+=(--clone github.notification.$COUNTER github.template - --set github.notification.$COUNTER "${notification[@]}") - done <<<"$(echo "$NOTIFICATIONS" | jq -r '.[] | [.repository.name, .subject.latest_comment_url, .subject.type, .subject.title] | @sh')" - - sketchybar -m "${args[@]}" >/dev/null - - if [ $COUNT -gt $PREV_COUNT ] 2>/dev/null || [ "$SENDER" = "forced" ]; then - sketchybar --animate tanh 15 --set github.bell label.y_offset=5 label.y_offset=0 - fi -} - -popup() { - sketchybar --set $NAME popup.drawing=$1 -} - -case "$SENDER" in -"routine" | "forced" | "github.update") - update - ;; -"system_woke") - sleep 10 && update # Wait for network to connect - ;; -"mouse.entered") - popup on - ;; -"mouse.exited" | "mouse.exited.global") - popup off - ;; -"mouse.clicked") - popup toggle - ;; -esac |
