Updated again
To use it fully requires editing a lot of widgets to suit your own computer. iStats is needed to enable cpu temp, fan speeds & battery stats. The folder in the zip file below needs to either be saved to your user library folder (Macintosh HD:Users:"YOUR USERNAME":Library) , or widgets that use those icons need to be altered to reflect the new path.
Media buttons are green when Spotify is running, blue if iTunes is.
3rd icon is volume, 4th is Now Playing, 5th is song duration. Full bar is 0% listened to, empty is %100.
Red microphone button will appear if microphone isn't muted. Disable if you don't want it there.
Press Note to type in a new note. It will display on the BTT. Visible length is limited but can easily be changed.
Long press Note to access full length note + 2 others
External hard drive/time machine buttons (show up when drives are plugged in). Time Machine one shows percentage complete of backup when TM is backing up.
Green book is a group with URL bookmarks.
Long press calendar to open group of next up calendar outputs.
Mail, Messages, & Facetime (not visible unless there's a missed call) turn green and show number of unread
Reddit needs to be edited to have your own JSON Url added
Long press weather to open 7 day forecast
PIA VPN - requires PIA client installed, server location changed, and may require utun 1/2 change.
Battery changes colour as it discharges. Charger icon on it means Macbook is plugged in.
First part is the same as main screen, but Player Position includes remaining time (top) & player position & track length.
Rainbow icon is displays the current playlist (provided you use BTT to select playlist). If you press it, it chooses a random playlist from the list under predefined actions. Remove/add playlists as you want.
Next 5 buttons are playlists. Change to the ones you want to listen to.
Button that currently says favourites is the currently playing iTunes playlist. Expand out to see a couple playlist buttons & a rating group.
QuitExcess app - I've included the app in the folder, but you can create your own in Automator. Just quits all apps except BTT, Spotify, Mail, Safari & Messages.
In case anyone decides to try this and is having problems, I've found that for unknown reasons PIA will sometimes switch from utun1 to utun2 or vice versa after my Macbook has been reset. Since the script works by checking for a connection to one of those, you may need to occasionally change the script to reflect the right utun.
And if anyone knows how to prevent this, please let me know.
Updated the PIA VPN toggles
Figured out how to almost automatically check & update which utun PIA is connected to (assuming your mac always uses utun1 or utun2 for PIA. Switch out the 2 PIA toggles for the following, and add the named trigger:
Long press on either toggle and it will run a check to see if utun1 or utun2 is being used. I put it as a named trigger because the launch "After Launch on Mac with Serial number" doesn't always work for me, but you can try that too if you want it to be fully automatic. If PIA connects through something other than utun1 or 2, you'll need to edit the scripts to match.
Great work. I'm having a number of issues but I'm not sure it's not caused by the BTTFilesKeep folder being in the wrong place. When you say "user library", do you mean the folder needs to be placed at the root of ~/Library? Also, with PIA, I took a look at the AppleScript and it's looking for PIATunnel in Applications which doesn't exist. There's an app called "Private Internet Access" and inside that package there is something called nwjs. Regarding the directory with the tunnel name, it's not clear what needs to be set where. The script looks like it's looking for a file inside of PIATunnel called utun1 or utun2 but that's not clearly spelled out.
I fixed the PIA problem. The script was creating a folder in ~/Library. I moved the folder to ~/Library/BTTFilesKEEP/ and created a file called utun2 which works now. istats stuff isn't working so I'm trying to figure that out now.
Sorry about the PIA issue. It’s supposed to be creating a folder in with the others BTT files, it’s just a reference file for the widget to keep track of which network interface PIA is using. Forgot I fixed that after uploading the preset.
By library folder I mean /Users/“your username”/Library. I might go through and check mine for any other fixes/updates I’ve made since uploading and update the above links.
edit: Updated the preset in the orginal comment. Thanks for pointing out the PIA issue.
I also had to change the font size for most of the widgets to 13 to get them to display. At 15pt they wrap and the font is too large which caused the bottom line to not display. I did this with pretty much all the two line widgets.
Strange. I have them set to 11pt (except for the clock which is 20 so I can read it without my glasses). Not sure why they show up as 15pt for you.
This is the settings I'm showing for Now Playing (Spotify).
Is anything else different on yours?
I've been using the PIA toggle from your preset and for some reason I ended up with yet another interface called utun3. I looked into other ways to possibly check if PIA is running since I didn't want to just add a ton of checks for utun0, utun1, utun2, utun3... etc. I found out that PIA saves the PID of openvpn in ~/.pia_manager/log/openvpn.pid so checking for that file is enough to test if PIA is running. Here's my applescript for the icon:
set VPNtest to do shell script "if [[ -e /Users/harry/.pia_manager/log/openvpn.pid ]]; then echo On; else echo Off; fi"
return VPNtest
This seems more lightweight and reliable than checking for a bunch of different interfaces. Enjoy!
Oh and obviously you need to swap out my name for the name of your home directory.
@harryg - is this still working for you with the new PIA interface? can't seem to get it to work for me and im having the same issue with utun1, utun2, utun3, etc.. so im looking for a simplified way to solve the problem.
I couldn't find a way to do it with the new PIA interface. It doesn't seem to be scriptable. So I've downgraded back to the old one, and I guess I'll just keep using it.
The script harryg posted does work better than the utun1 one I made, so I use that now.
this is what i'm using now. i found it was bouncing between utun1, utun2, and utun3 on reboot, wake, etc.
i dont know the first thing about scripting so it might be crazy redundant, but it works. anyone wants to take a stab at condensing it, be my guest!
-- Requires PIA client. If the toggle is saying PIA is connected/disconnected when it isn't, try change utun2 to utun1. Or run ifconfig in terminal with both PIA connected and disconnected. Have a look for the difference. Sometimes when I reset my Macbook, PIA switches to utun1, and then back after the next reset.
set VPNtest1 to do shell script "ifconfig"
set VPNTunnel1 to "utun1"
if VPNtest1 contains VPNTunnel1 then
set PIAstatus1 to "On"
else
set PIAstatus1 to "Off"
end if
set VPNtest2 to do shell script "ifconfig"
set VPNTunnel2 to "utun2"
if VPNtest2 contains VPNTunnel2 then
set PIAstatus2 to "On"
else
set PIAstatus2 to "Off"
end if
set VPNtest3 to do shell script "ifconfig"
set VPNTunnel3 to "utun3"
if VPNtest3 contains VPNTunnel3 then
set PIAstatus3 to "On"
else
set PIAstatus3 to "Off"
end if
if PIAstatus1 & PIAstatus2 & PIAstatus3 contains "On" then
return "On"
else
return "Off"
end if