This repo contains scripts, programs and command-line tools that add functionality to BitBar.
- Just drop the plugin into your BitBar plugins folder
- Make sure it's executable (in Terminal, do
chmod +x plugin.sh
) - Then choose
Reset
from the BitBar menus
###Available Plugins
####AWS
- ELB (shows percentage of in service instances with total in/out in dropdown)
####Bitcoin
- Bitstamp last BTC Price
- Coinbase.com BTC Index
- WinkDex BTC Index
####Developer
- Homebrew available updates
- Jenkins build status
- TravisCI check
####Finance
- Stock tracker
####Lifestyle
- Sleeping Time Cycles
- Current Task Reminder
####Music
- iTunes (shows current track information from iTunes)
- Spotify (Shows current track information from Spotify)
####Network
- Bandwidth Usage
- External IP
- Internal IP
- Ping
- VPN connection checker
####System
- Clipboard History
- Real CPU Usage
- Real CPU Usage Chart
- Unix time
- Uptime
- USB Device Info
- Screen Lock
- Mounted Disk Capacity
#####Battery
- Battery percentage for bluetooth Mouse
- Battery percentage for bluetooth Keyboard
####Time
- Fuzzy clock
####Web
- SAP version
- StackOverflow
####Weather
- forecast.io
- Open Weather Map
- Weather Underground
##Contributors
Special thanks to everyone who has contributed:
- Bhagya Silva - http://about.me/bhagyas
- Jason Tokoph - http://jasontokoph.com
- Trung Đinh Quang - https://github.com/trungdq88
- Dylan Evans - https://github.com/whonut)
- Daniel Seripap - https://github.com/seripap
- Alexandre Espinosa Menor - https://github.com/alexandregz
- Dan Turkel - https://danturkel.com/
- Marian Schubert - https://github.com/maio
- Stratos Xakoustos - https://github.com/Stratouklos
- Chris Tomkins-Tinch - https://github.com/tomkinsc
- Raemond Bergstrom-Wood - https://github.com/RaemondBW
- Ant Cosentino - https://github.com/skibz
- Nicolas Lassaux - https://github.com/nico401
- Pierre-Louis Dubouilh - https://github.com/pldubouilh
- Jonathan Keith - http://jonkeith.com
- Jean Caillé - http://jcaille.github.io
- Carlson Orozco - https://github.com/carlsonorozco
- Taylor Zane Glaeser - https://www.taylorzane.com
- Wiktor Mociun - https://medium.com/@voter101
- Srinivas Gorur-Shandilya - http://srinivas.gs
- Adam Snodgrass - https://github.com/asnodgrass
- Baron Reznik http://www.reznik.net
We're always looking for new plugins, so please send us pull requests if you write anything cool or useful.
If you've got ideas, or want to report a bug, nip over to our issues page and let us know.
If you want to contribute, please send us a pull request and we'll add it to our repos.
- Ensure the plugin is executable
- Include an update to the list of plugins on https://github.com/matryer/bitbar/blob/master/Plugins/README.md
- Please add your name and a link to the Contributors list on https://github.com/matryer/bitbar/blob/master/Plugins/README.md
Anything that can write to standard out is supported, but here is a list that have been explicitally tested.
- Ruby
- Status: Working
- Output:
puts "your string here"
- Python2
- Status: Working
- Output:
print "your string here"
- Python3
- Status: Working
- Output:
print("your string here")
- JavaScript (
node
) - Status: Working
- Caveats: Shebang has to be in the format
#!/usr/bin/env /path/to/the/node/executable
- Output:
console.log("your string here")
- Notes:
1.
process.stdout.write
doesn't output desired text. 1. There may be a better way to run JavaScript files. - CoffeeScript (
coffee
) - Status: Working
- Caveats:
1. Shebang has to be in the format
#!/usr/bin/env /path/to/the/coffee/executable
1.coffee
shebang also had to be modified.#!/usr/bin/env /path/to/the/node/executable
- Output:
console.log "your string here"
- Notes:
1.
process.stdout.write
doesn't output desired text. 1. There may be a better way to run CoffeeScript files. - Swift (Interpreted)
- Status: Working
- Output:
print("your string here")
- Swift (Compiled)
- Status: Working
- Caveats: You still need a file extension (
file.cswift
) - Output:
print("your string here")
- Notes:
1. To compile a swift file, use:
xcrun -sdk macosx swiftc -o file.1s.cswift file.1s.swift
- To write a plugin, just write some form of executable script that outputs to the standard output.
- Multiple lines will be cycled through over and over.
- If your output contians a line consisting only of
---
, the lines below it will appear in the dropdown for that plugin, but won't appear in the menu bar itself. - Your lines might contain
|
to separate the title from other parameters, such as...href=..
to make the dropdown items clickablecolor=..
to change their text color. eg.color=red
orcolor=#ff0000
font=..
to change their text font. eg.font=UbuntuMono-Bold
size=..
to change their text size. eg.size=12
bash=..
to make the dropdown run a given script terminal with your script e.g.bash="/Users/user/BitBar_Plugins/scripts/nginx.restart.sh --verbose"
terminal=..
if need to start bash script without open Terminal may be true or falserefresh=..
to make the dropdown items refresh the plugin it belongs todropdown=..
May be set totrue
orfalse
. Iffalse
, the line will only appear and cycle in the status bar but not in the dropdown
- If you're writing scripts, ensure it has a shebang at the top.
- You can add to
PATH
by including something likeexport PATH='/usr/local/bin:/usr/bin:$PATH'
in your plugin script. - You can use emoji in the output (find an example in the Music/vox Plugin).
#!/bin/bash
date
#!/bin/bash
# the current date and time
date
# the current username
echo $USER
# the current user id
id -u
#!/bin/bash
echo "One"
echo "Two"
echo "Three"
echo "---"
echo "Four"
echo "Five"
echo "Six"
- Only One, Two and Three will appear in the top bar
- Clicking the plugin menu item will show all lines
#!/bin/bash
curl -m 1 http://example.com -I >/dev/null 2>&1
[ $? -gt 0 ] && echo "FAIL | color=red" || echo "OK | color=green"
echo "---"
echo "Show Graphs | color=#123def href=http://example.com/graph?foo=bar"
echo "Show KPI Report | color=purple href=http://example.com/report"
#!/bin/zsh
FONT=( 'size=14' 'font=UbuntuMono' )
if ((0)); then echo "DO | $FONT color=orange"
else echo "DO | $FONT color=cadetblue"
echo "---"
...