You can set the title of a plot device window with
windows(title = "The title")
#or equivalently
x11(title = "The title")
How you retrieve the title from a plot device window?
names(dev.cur()), attributes(dev.cur()), str(dev.cur()) and unclass(dev.cur()) don't reveal anything useful.
It shouldn't be possible from device properties cause it's window property.
Under windows you could try mess with names(getWindowsHandles()) which gives me:
> names(getWindowsHandles())
[1] "R Console"
[2] "The title (ACTIVE)"
[3] "R Information"
E.g. for 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 some 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)"
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With