Skip to content

interactive graphics devices

4 messages · Paul Murrell, Byron Ellis, Deepayan Sarkar +1 more

#
Hi

For all developers of add-on graphics devices:  please note the
existence of deviceIsInteractive() for adding your device to the list of
devices for which dev.interactive() returns TRUE.  (Available since R
2.6.0;  thanks to Brian Ripley I think)

Paul
#
I probably missed this discussion, but why not just ASK the device if
it is interactive? I can easily imagine a case where a device might be
interactive or not depending on how it was started. In fact, I don't
have to imagine a case since the Quartz device in R-devel can have
exactly this behavior. Something like a Cairo device might also have
this behavior, though I don't know if the current Cairo devices
support it.
On Dec 18, 2007 4:34 PM, Paul Murrell <p.murrell at auckland.ac.nz> wrote:

  
    
#
On 12/18/07, Byron Ellis <byron.ellis at gmail.com> wrote:
That's done if the device is open. deviceIsInteractive() takes away
the guessing even when it's not (the use-case is when you type
example(something) without a device open, and R has to decide whether
to set par(ask = TRUE) just by looking at getOption("device")).
If there's ambiguity, you can choose not to use deviceIsInteractive.
You'll still be OK once the device is open (I don't think there's much
more that can be done).

-Deepayan
#
On Tue, 18 Dec 2007, Byron Ellis wrote:

            
You cannot ASK a device you have not yet opened: see the 'orNone' 
argument to dev.interactive().  Beyond that, there is nothing in the 
graphics device API to ask an open device.

There are two Cairo devices in two packages and they behave differently: 
that makes it rather difficult to determine the behaviour by name.
And Deepayan Sarkar.