Skip to content

Instantly share code, notes, and snippets.

@bearloga
Forked from hrbrmstr/notify.R
Last active Dec 26, 2015
Embed
What would you like to do?
notify <- function(msg="Operation complete") {
in.osx <- (Sys.info()['sysname'] == "Darwin")
in.rstudio <- (Sys.getenv("RSTUDIO") == "1")
in.rgui <- (Sys.getenv("R_GUI_APP_REVISION") != "")
if (in.rstudio) { # hack to see if running in RStudio
title <- "RStudio"
sender <- activate <- "org.rstudio.RStudio"
}
if (in.rgui) { # running in R GUI app?
title <- "R GUI"
sender <- activate <- "org.R-project.R"
}
# if running in RStudio or R GUI app use NotificationCenter otherwise use message()
if ((in.rstudio | in.rgui) & in.osx) {
system(sprintf("/Users/mikhail/Downloads/terminal-notifier-1.5.0/terminal-notifier.app/Contents/MacOS/terminal-notifier -title '%s' -message '%s' -sender %s -activate %s",
title, msg, sender, activate ),
ignore.stdout=TRUE, ignore.stderr=TRUE, wait=FALSE)
} else {
message(msg)
}
}
# try it!
# library(source.gist) # install.packages("source.gist")
# source.gist(7196784)
# system("sleep 10")
# notify("Long op complete")
# Download from: https://github.com/alloy/terminal-notifier/releases
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment