It is not possible to call the window property due to device properties.
Under the windows you can try a mess with names(getWindowsHandles()) which gives me:
> names(getWindowsHandles()) [1] "R Console" [2] "The title (ACTIVE)" [3] "R Information"
eg. for the active device grep("\\(ACTIVE\\)$", names(getWindowsHandles()), value=TRUE) return the title.
It was easier than I thought:
getTitle <- function(dev=dev.cur()) { all_pointers <- getWindowsHandles(which="R", minimized=TRUE) all_pointers <- sapply(all_pointers, deparse) to_find <- deparse(getWindowsHandle(dev)) if (to_find=="NULL") { warning("Device not found") NULL } else { names(all_pointers)[to_find==all_pointers] } }
Now a few tests:
> getTitle() Warning in getTitle() : Device not found NULL > windows(title="Test window one") > getTitle() [1] "Test window one (ACTIVE)" > getTitle(3) Warning in getTitle(3) : Device not found NULL > windows(title="Test window two") > windows(title="Test window three") > sapply(dev.list(), getTitle) windows windows windows "Test window one (inactive)" "Test window two (inactive)" "Test window three (ACTIVE)"
Marek
source share