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