Craft macOS Menu Bar Applications with Rscript
Mat Ryer’s macOS utility https://getbitbar.com/ enables any script to become a menu bar application. Tools are provided to make it easier to craft these scripts.
If you have homebrew installed, you can do:
brew cask install bitbar
Otherwise grab the latest release and install it the hard way.
Open the application and choose the directory you want to be your
plugins directory. This is where your menubar scripts will go. (I use
~/Library/BitBar/Plugins
but you can pick any directory; just make
sure it isn’t one with a gazillion files as that impacts BitBar’s
performance).
The following functions are implemented:
add_entry
: Add an entry to the menuapplescript
: Execute AppleScript and Return Resultsb64_image
: Return a base64 encoded string of an image (local filesystem or URL)bitbar_plugins_dir
: BitBar plugins directorynew_bitbar_script
: Helper to get started with a new BitBar bitbar scriptopen_bitbar_dir
: Open BitBar Plugins Directory in the Finderr_logo_small
: Images that come with the packagereachable
: Is the internet accessible?
There are also two RStudio Addins, one with a GUI for entering in the script metadata & starting a new BitBar {bitbar} script and one for opening up the BitBar plugins directory in the Finder.
remotes::install_git("https://git.rud.is/hrbrmstr/bitbar.git")
# or
remotes::install_git("https://git.sr.ht/~hrbrmstr/bitbar")
# or
remotes::install_gitlab("hrbrmstr/bitbar")
# or
remotes::install_bitbucket("hrbrmstr/bitbar")
# or
remotes::install_github("hrbrmstr/bitbar")
NOTE: To use the ‘remotes’ install options you will need to have the {remotes} package installed.
library(bitbar)
# current version
packageVersion("bitbar")
## [1] '0.1.0'
This will open up a my-awesome-bitbar-script.R
in RStudio (if
available) or whatever editor file.edit()
is configured to use.
new_bitbar_script(
save_as = file.path(bitbar_plugins_dir(), "my-awesome-bitbar-script.R"),
title = ":blue_heart:",
description = "Example BitBar Script"
)
Lang | # Files | (%) | LoC | (%) | Blank lines | (%) | # Lines | (%) |
---|---|---|---|---|---|---|---|---|
R | 12 | 0.92 | 221 | 0.94 | 63 | 0.73 | 122 | 0.75 |
Rmd | 1 | 0.08 | 13 | 0.06 | 23 | 0.27 | 41 | 0.25 |
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.