CutBox developer bitbar
Last active
May 15, 2018 10:26
-
-
Save jasonm23/d18c1d4e850c0202e28d87c8bd12f67e to your computer and use it in GitHub Desktop.
bitbar config
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
data |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
PATH=/usr/local/bin:/usr/libexec:/usr/bin:/bin:/sbin | |
WORKSPACE="$HOME/workspace" | |
FORK_ICON=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 | |
ec() { | |
emacsclient -n $@ 2> /dev/null | |
if [[ $? == 1 ]]; then | |
open -a Emacs.app -- $@ | |
fi | |
} | |
notify() { | |
osascript <<EOF | |
display notification "$1" with title "$2" sound name "Submarine" | |
EOF | |
} | |
case $1 in | |
"finder") | |
open "$WORKSPACE/$2" | |
$0 | |
;; | |
"emacs") | |
ec "$WORKSPACE/$2" | |
;; | |
"xcode") | |
open "$(find "$WORKSPACE/$2" | grep -o ".*$2.xcworkspace" | head -1)" | |
;; | |
"clonehttp") | |
notify "Cloning $2" "git clone https://github.com/$2 to $WORKSPACE/$3" | |
git clone "https://github.com/$2" "$WORKSPACE/$3" | |
open "$WORKSPACE/$3" | |
;; | |
*) | |
esac | |
url="$(pbpaste)" | |
psed() { | |
# use like non -i sed | |
perl -C -Mutf8 -pe $1 | |
} | |
if [[ $url =~ ^https:\/\/github\.com\/.*\/.*\/?.*$ ]]; then | |
echo "| templateImage=$FORK_ICON " | |
group_and_project=$(psed 's%^https://github.com/([^\/]*)/([^\/]*).*%\1/\2%' <<< "${url}") | |
project=$(psed 's|([^/]*)/([^/*])|\2|' <<< "${group_and_project}") | |
else | |
echo "| templateImage=$FORK_ICON " | |
fi | |
echo "---" | |
if [[ -z $group_and_project ]]; then | |
echo "Copy Github project URL" | |
else | |
clone_project_title() { | |
echo "clone ${group_and_project} $1 :arrow_right: to ~/workspace/${project}" | |
} | |
if [[ ! -d "$WORKSPACE/$project" ]]; then | |
echo "$(clone_project_title http) | terminal=false \ | |
bash=$0 \ | |
param1=clonehttp \ | |
param2=$group_and_project \ | |
param3=$project" | |
else | |
echo "open ${HOME}/workspace/${project} in Finder | terminal=false bash=$0 param1=finder param2=${project}" | |
echo "open ${HOME}/workspace/${project} in Emacs | terminal=false bash=$0 param1=emacs param2=${project}" | |
echo "open ${project}.xcworkspace | terminal=false bash=$0 param1=xcode param2=${project}" | |
fi | |
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/zsh | |
# <bitbar.title>CutBox builder</bitbar.title> | |
# <bitbar.desc>Cut a new release of CutBox</bitbar.desc> | |
# <bitbar.version>v1.0</bitbar.version> | |
# <bitbar.author>Jason Milkins</bitbar.author> | |
# <bitbar.author.github>jasonm23</bitbar.author.github> | |
# <bitbar.image>https://github.com/CutBox/CutBox/raw/master/CutBox/CutBox/GraphicAssets/cutbox-icon-2-preview.png</bitbar.image> | |
# <bitbar.dependencies>bash,gsort</bitbar.dependencies> | |
# <bitbar.abouturl>http://cutbox.github.io/</bitbar.abouturl> | |
PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin:/usr/local/share/npm/bin:/Users/jason/go/bin:/usr/local/opt/go/libexec/bin:/usr/local/opt/rbenv/shims/" | |
REPO="$HOME/workspace/CutBox" | |
INFOPLIST_FILE="${REPO}/CutBox/CutBox/Info.plist" | |
CUTBOX_PNG=iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAAvwAAAL8BYqQFcwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAIQSURBVDiNXdTJapRBFAXgr4d0JtPpGAcQ40LUIKiooBhdmIUoDgQVNBgVBCErfQEfyQcQQRRciYjDSnfqA4gDgTZOiYu6P33zFxTddf5b955z6la10MaawZjEX3TxK7AemmjFtxYmMJZiQCOCv9ewB3iZsOHY/C1hx/EErxI22kY/NlSV9uE1niXm3VDyNW2ewd5awk6WWY2lJDOraIdMOIQjOIk9gY0rthB/xnAauwIbw0it2JYosFgj0IiEWtiEoZB1GG+DegMXwo4etkXsPTzCn4hbDaaf0GkqHvaD3dO07uNoSFpNcyWSVTEfMRXf+hXtrTgbEocCm4tkt8M/mI7fG0nyZMhdSJhbtYAmrsV6OIKHDA5lFsfCgupkF7AZTiknVo0OltNmuBjy87iL7WndwHIbV/FO6SvBbg4PlYOi9Ogd7EwJ5vABPxO2n+LP5QT2Qkr2ZBGjMSmenzO4klWBvdWG3ThocMVEkSnJG4OevJmKVZ7n3kSR3kvrhnJYmX0bJ2z0fBzXhefN9OGFjcavB/N1nIk5j/t4n+KqNlupM+zivIHkTlTPV29C6dUrCVtSrBrPyaZDYjOSSoly/1WnPq90xazyjBF2tRRfWkprrMemLr7gn/KEdYNZ9W5+xiXswOPAfmOyHVR/JLZvFJNnElY9XfmBPYDnab0WBIzYOKo2qGMTBne6wnq1OP8B6qVTpEnzLDcAAAAASUVORK5CYII= | |
ec() { | |
emacsclient -n $@ 2> /dev/null | |
[[ $? != 0 ]] && open -a Emacs.app -- $@ | |
} | |
notify() { | |
osascript <<EOF | |
display notification "$2" with title "$1" | |
EOF | |
} | |
cutbox_version() { | |
/usr/libexec/PlistBuddy -c \ | |
"Print CFBundleShortVersionString" \ | |
"${INFOPLIST_FILE}" | |
} | |
VERSION=$(cutbox_version) | |
export GITHUB_TOKEN=$(< $(dirname $0)/data/github_token ) | |
LATEST_TAG_APPCAST=$(git --git-dir="$REPO/cutbox.github.io/.git" tag \ | |
| \ | |
gsort -V \ | |
| \ | |
tail -1) | |
LATEST_TAG=$(git --git-dir="$REPO/.git" tag \ | |
| \ | |
gsort -V \ | |
| \ | |
tail -1) | |
PUSH_APPCAST=$( [[ "$LATEST_TAG" != "$LATEST_TAG_APPCAST" ]] && echo ":cherry_blossom:" ) | |
unpushed_commits() { | |
git --git-dir="$REPO/.git" log origin/master..HEAD --oneline | |
} | |
commits_since() { | |
git --git-dir="$REPO/.git" log ${VERSION}..HEAD --oneline | |
} | |
git_status() { | |
git --git-dir="$REPO/.git" --work-tree="$REPO" $@ status -s | |
} | |
has_changes() { | |
git_status | grep -E -o " [MADRCU]|\?" | |
} | |
VER_COLOR=32 | |
WAIT="" | |
[[ "$LATEST_TAG" != "$VERSION" ]] && WAIT=":cherry_blossom:" | |
DIRTY=":seedling:" | |
[[ "$(has_changes)" == "" ]] && DIRTY="" | |
FONT="font='Helvetica' size='15'" | |
case $1 in | |
visit_bitbar_repo) | |
open https://gist.github.com/jasonm23/d18c1d4e850c0202e28d87c8bd12f67e | |
;; | |
copy_line) | |
notify "Copied to clipboard" "$2" | |
pbcopy <<< "$2" | |
exit 0 | |
;; | |
copy_local_commits) | |
git --git-dir="$REPO/.git" log origin/master..HEAD --oneline | pbcopy | |
notify "Copied local commit log" | |
exit 0 | |
;; | |
copy_commits_since) | |
commits_since | pbcopy | |
notify "Copied commit log since $VERSION" | |
exit 0 | |
;; | |
edit_bitbar) | |
ec $0 | |
exit 0 | |
;; | |
edit_release_notes) | |
ec $REPO/cutbox.github.io/release-notes.md | |
exit 0 | |
;; | |
build_and_release) | |
notify "XCode archive" "CutBox building and archiving" | |
osascript <<EOF | |
set theDialogText to "Are release-notes up to date?" | |
display dialog theDialogText buttons {"Don't Continue", "Continue"} default button "Continue" cancel button "Don't Continue" | |
EOF | |
if [[ $? != 0 ]]; then | |
notify "Cancelled release" "Do you need to update release notes?" | |
exit 0 | |
fi | |
cd $REPO | |
rm CutBox.dmg | |
xcodebuild \ | |
-workspace CutBox/CutBox.xcworkspace \ | |
-scheme CutBox \ | |
archive | |
if [[ $? != 0 ]];then | |
notify "Error" "CutBox xarchive build failed" | |
exit 1 | |
else | |
notify "Success" "CutBox xarchive build complete" | |
fi | |
bin/release_latest_version ${GITHUB_TOKEN} | |
exit 0 | |
;; | |
xcode) | |
open "$REPO/CutBox/CutBox.xcworkspace" | |
exit 0 | |
;; | |
gitup) | |
cd "$REPO" | |
gitup | |
exit 0 | |
;; | |
magit) | |
cd "$REPO" | |
ec -e "(magit-status)" | |
exit 0 | |
;; | |
push_commits) | |
cd "$HOME/workspace/CutBox" | |
git pull --rebase --autostash && git push | |
exit 0 | |
;; | |
update_appcast) | |
cd "$HOME/workspace/CutBox/cutbox.github.io" | |
git pull --rebase --autostash | |
bin/update_web_and_sparkle | |
exit 0 | |
;; | |
bump_pages) | |
cd "$HOME/workspace/CutBox/cutbox.github.io" | |
git pull --rebase --autostash | |
git add . | |
git commit -m "Stashing changes" | |
git push -u origin head | |
cd .. | |
git add cutbox.github.io | |
git commit -m "Sync pages" | |
git pull --rebase --autostash | |
git push -u origin head | |
notify "Pages synced" "appcast / web is up to date" | |
exit 0 | |
;; | |
open_issues) | |
;; | |
new_issue) | |
;; | |
esac | |
echo "\e[37mCutBox\e[${VER_COLOR}m $VERSION \e[37m $DIRTY $PUSH_APPCAST $WAIT | $FONT ansi=true templateImage=$CUTBOX_PNG " | |
echo "---" | |
echo "Release | $FONT" | |
if [[ "$PUSH_APPCAST" == "" ]]; then | |
echo "--Build New Release | bash=$0 param1=build_and_release terminal=false $FONT " | |
else | |
echo "--[\e[37m Released ${VERSION} :cherry_blossom:\e[39m ] | $FONT" | |
echo "--\e[36mUpdate appcast.xml | bash=$0 param1=update_appcast terminal=false $FONT" | |
fi | |
echo "--Update release-notes.md | bash=$0 param1=edit_release_notes terminal=false $FONT" | |
echo "--Sync/Bump pages submodule | bash=$0 param1=bump_pages terminal=false $FONT" | |
echo "Github | $FONT" | |
if [[ $WAIT == "" ]]; then | |
echo "--$(commits_since | wc -l | tr -d ' ') commit(s) since last release...| $FONT" | |
commits_since | while read commit; do | |
sha=$(echo "${commit}" | cut -c-7) | |
echo "----\e[36m${commit} (\e[37mvisit\e[36m) | href='https://github.com/cutbox/CutBox/commit/${sha}' $FONT" | |
echo "----\e[36m${commit} (\e[37mcopy\e[36m) | alternate=true terminal=false bash=$0 param1=copy_line param2=\"${commit}\" $FONT" | |
done | |
echo "----\e[37mCopy all to Clipboard | size='10' bash='$0' param1='copy_commits_since' terminal=false" | |
echo "----\e[37mCopy all to Clipboard | alternate=true size='10' bash='$0' param1='copy_commits_since' terminal=false" | |
fi | |
if [[ "$(git_status -c color.status=always)" != "" ]]; then | |
echo "--Status | terminal=false bash=$0 param1=gitup $FONT" | |
git_status -c color.status=always | while read line; do | |
echo "----${line} | $FONT" | |
done | |
fi | |
if [[ "$(unpushed_commits)" != "" ]]; then | |
echo "--\e[37mLocal commits... | $FONT" | |
git --git-dir="$REPO/.git" log origin/master..HEAD --oneline | while read line; do | |
echo "----\e[36m$line (click to copy) | bash=$0 param1=copy_line param2=\"$line\" terminal=false $FONT" | |
done | |
echo "----\e[36m$line (click to copy all) | bash=$0 param1=copy_local_commits param2=\"$line\" $FONT size='8' terminal=false" | |
echo "----Push | terminal=false bash=$0 param1=push_commits $FONT" | |
fi | |
echo "--Gitup | bash=$0 param1=gitup terminal=false $FONT" | |
echo "--Magit | alternate=true bash=$0 param1=magit terminal=false $FONT" | |
echo "--Open CutBox releases page | href=https://github.com/cutbox/CutBox/releases $FONT" | |
echo "--Start new feature issue | href=https://github.com/cutbox/CutBox/issues/new?template=feature.md $FONT" | |
echo "---" | |
echo "Open in XCode | bash=$0 param1=xcode terminal=false $FONT" | |
echo "---" | |
echo "BitBar | $FONT" | |
echo "--Edit this script | bash=$0 param1=edit_bitbar terminal=false $FONT" | |
echo "--Open repo | bash=$0 param1=visit_bitbar_repo terminal=false $FONT" | |
echo "--Refresh | refresh=true $FONT" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# <bitbar.title>Active WIFI Name</bitbar.title> | |
# <bitbar.author>Jiri</bitbar.author> | |
# <bitbar.author.github>CzechJiri</bitbar.author.github> | |
# <bitbar.desc>Displays currently connected WIFI Name</bitbar.desc> | |
WIFI_IMAGE=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 | |
WIFINAME=$(/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I | awk '/ SSID/ {print substr($0, index($0, $2))}') | |
echo "$WIFINAME | templateImage=${WIFI_IMAGE}" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Tiny release dashboard via BitBar.app