Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Disable/suppress tcltk popup for CRAN mirror selection in R

My question is similar to a question previously posted but never really answered here:

Disable GUI, graphics devices in R

I do not like the R tcltk popups for CRAN mirror selection. They also pop up to choose a package when searching for help on a function in two packages.

Is there any way to disable these windows without disabling X11 completely? I still want plot() commands to work as normal, but disable the little select menus that take forever to load over a remote connection.

For example, if you use ssh, but don't use -X, then the mirror select is just text within R, you type a number. It's fast. This is what I want, but maintaining X11 for plots b.

Anyone know how to maintain graphics windows but disable the "choice" tcltk windows?

like image 484
nsheff Avatar asked Sep 15 '11 11:09

nsheff


3 Answers

Dirk provides ways to avoid the menus altogether, but to answer your question as posed, I think you want

options(menu.graphics=FALSE)

I tracked this option down by finding the class of objects returned from help (it's help_files_with_topic), scanning utils:::print.help_files_with_topic and finding the line

menu(txt, title = gettext("Choose one"), graphics = getOption("menu.graphics"))
like image 58
Aaron left Stack Overflow Avatar answered Oct 16 '22 09:10

Aaron left Stack Overflow


Just set a mirror in the startup files. I have this in my ~/.Rprofile and I never see that prompt:

## Default repo
local({r <- getOption("repos");
       r["CRAN"] <- "http://cran.us.r-project.org"; 
       options(repos=r)})

See help(Startup) for more things you can customize here, and also see this excellent SO question on customizing ~/.Rprofile.

Edit: As for your additional question just added in the comments, that is different. In this case you could specify the mapply explicitly by using the namespace and :: operator. For example, base::mapply(foo, bar) would unambiguously pick one from the standard library, and similarly help(mapply, package="base") asks for the help for a given function from a given package.

like image 11
Dirk Eddelbuettel Avatar answered Oct 16 '22 09:10

Dirk Eddelbuettel


Also have a look at the interactivity package in CRAN if you wish to completley disable interactive funky stuff.

like image 2
Jeroen Ooms Avatar answered Oct 16 '22 11:10

Jeroen Ooms