I wanted to write up an experience I had with a really cool OSX application I stumbled upon looking for a Mac equivocal of the famous sysinternals windows app bginfo
Googling around I found a variety of applications claiming to be able to add info to the background similarly to bginfo, but after trying a few out I stumbled onto Geektool. After working out how the application worked which is actually quite simple and the power of it is amazing, first I played around with ifconfig and grep, outputted some ip information, then I added the date and time and was very pleased;
I then wondered what other people had used this tool for, I found that some people had created scripts to import Spotify ‘Now listening’ functions to the tool, it looked great and like something I’d really like to have on the desktop. I found one on GitHub – here; https://github.com/bryantung/BTSpotifyGeeklet/releases which is based on some original code found here; https://github.com/Lucconouche/SpotifyNowPlaying but the original hasn’t been updated for quite a long time.
Whilst the instructions were quite clear on how to get the album text loaded, play time etc, I could not get the album art to appear, I tried other peoples album art imports but they just didn’t work, I discovered in my testing the plugin did actually get the correct URL to download the image, it just wasn’t putting it into the directory where the jpg file was meant to be going. Due to the power of Geektool, I figured well if the script knows the URL lets just dump that URL into a file, cat the file, insert the URL into a variable and then curl the file down, then simply create an image in Geektool and point it at the file outputted from the curl. I did that by creating what Geektool calls a ‘Shell Geeklet’, I then clicked on the ‘…’ highlighted below and added my code.
curl "$var" -o ~/geektool/spotify-album-art/SpotifyGeeklet/artwork.jpg
This then enabled me to add an image Geeklet which refresh’s every 5 seconds and we have the beautiful output below;
I’m quite sure I’ve more than likely done something wrong with this but, it worked for me, hope this helps someone.