[R] Tip: Working directory in titlebar

Michael Prager Mike.Prager at noaa.gov
Mon Sep 26 01:12:54 CEST 2005

I hope others may find this useful.  I use R in many different 
directories.  By adding the following line to the .Rprofile file:


the titlebar of each R instance shows the directory from which it was 
started. I have tested this with rterm.exe and rgui.exe under Windows 
and with RECENT versions of R only.


For changing directories during a session, I use the following function, 
a slight modification of Andy Liaw's cd() function that also changes the 

cd <- function(dir = tclvalue(tkchooseDirectory()), saveOld=NA, 
loadNew=TRUE) {
    # From Andy Liaw  ... additions by MHP
    # Change the working directory during an R session
    # First check that the tcl-tk package is available:
    # Print any error message from trying to load:
    if (.Platform$OS.type=="windows") flush.console()  ## MHP
    # Warn user if saving existing workspace was not chosen: (MHP)
    if (is.na(saveOld)) {
      tmp = tclvalue(tkmessageBox(message="Save current workspace image?",
         type="yesnocancel",title="Changing directories",icon="question"))
         saveOld = switch(tmp, "yes"=TRUE, "no"=FALSE, 
    # Save old workspace:
    if (saveOld) save.image(compress=TRUE)
    # Change directory:
    # Note: the need to evaluate "dir" on the next line causes the 
"tclvalue" call
    #    in the function definition (first line) to take place now:
    if (dir=="") return(invisible(NULL))  # Fail gracefully if "CANCEL" 
chosen from TK dialog (MHP)
    # Remove all the data from the old working directory:
    rm(list=ls(all=TRUE, envir=.GlobalEnv), envir=.GlobalEnv)
    # Change the window title:
    # Load the new data:
    if (loadNew) {
         if (file.exists(".RData")) {
            loaded <- load(".RData", envir=.GlobalEnv)
         else {
            cat("Warning: .RData not found in new directory\n")


Although both these bits of code have been used, they may have errors.  
Comments and corrections welcome.

Michael H. Prager, Ph.D.
Population Dynamics Team
NOAA Center for Coastal Habitat and Fisheries Research
NMFS Southeast Fisheries Science Center
Beaufort, North Carolina  28516  USA

More information about the R-help mailing list