How to create a Beeminder BitBar plugin for Mac

  • Install BitBar
  • Launch BitBar
  • When prompted, create or select the directory where you’d like to keep BitBar plugins
  • Inside the plugins directory, create a new file called bm.sh
  • Paste the following code, modifying with your Beeminder username and token:
#!/usr/bin/env bash

BM_USER='[YOUR USERNAME]'
BM_TOKEN='[YOUR TOKEN]'
URL="https://www.beeminder.com/api/v1/users/${BM_USER}/goals.json?auth_token=${BM_TOKEN}"
DATA=$(curl -s "$URL")

echo "$DATA" | python -c 'import json,sys;obj=json.load(sys.stdin);print obj[0]["slug"] + ": " + obj[0]["limsumdays"]'
  • In terminal, navigate to the same folder and run chmod +x bm.sh
  • Run ./bm.sh to test that it can access Beeminder successfully
  • From the BitBar menu in the top Mac bar, refresh all plugins
  • Hold the command key on your keyboard and drag the resulting toolbar item to your desired location

You’re done!

Screen Shot 2021-02-01 at 9.47.46 AM

Wishlist:

  • Color coded by days due.
  • Showing countdown timer.
  • Cycling through all goals due at next deadline.
  • Menu item allowing you to launch dashboard.
  • Menu item allowing you to launch next due goal.
  • Menu item allowing you to submit a new datapoint with the same value as the most previous datapoint.
  • Add notifications using my preferred zeno schedule variant.
  • Refresh data on the same modified zeno schedule.
  • Fix issue with widget losing position in taskbar when data is refreshed.
2 Likes

Nice!

I think I just told Danny about bcongdon’s bitbar plugin last week… interesting synchronicity!

Just to help tie the forum together, we talked about touchbar and indicators and bitbar over here too: A Touchy Subject - #14 by ken_vega

2 Likes

Not a coincidence! @dreev mentioned you told him about it over on the discord, which is got me interested in trying it out. :smiley:

1 Like

Seems relevant to scheduling refreshes:

1 Like

Success!

1 Like