[Rd] Qt device update
Prof Brian Ripley
ripley at stats.ox.ac.uk
Fri May 4 23:09:58 CEST 2007
On Fri, 4 May 2007, Simon Urbanek wrote:
> On May 3, 2007, at 8:52 PM, Deepayan Sarkar wrote:
>> [...] I have a couple of related questions. First, dev.interactive
>> (), used in example() and many demo()-s to decide if the current
>> device is interactive, is currently implemented as:
>> function (orNone = FALSE)
>> iDevs <- c("X11", "GTK", "gnome", "quartz", "windows", "JavaGD")
>> interactive() && (.Device %in% iDevs || (orNone && .Device ==
>> "null device" && getOption("device") %in% iDevs))
>> This makes it impossible for new devices to be treated as interactive.
> I think we should finally pass this question to the device itself.
> For some devices like Cairo the answer depends on the parameters with
> which the device was created (e.g. type='x11' is interactive whereas
> type='png' is not), so each instance of the device will answer
> differently. We could simply add an another capability flag - that is
> IMHO the only reliable solution. Any other ideas?
Do we need a reliable solution? The worst that happens that if R thinks a
device is interactive and it is not, you get asked to go on to the next
page a few times.
I've altered R-devel to look at the displaylist. All the devices I knew
had that enabled by default iff they are screen devices, but I've just
looked at Cairo and it seems that could be a bit less dumb about its
You can't in general ask the device, as there might be no device open and
you need to know what the device that would automatically opened will do.
And you don't want to open it, as it might not be needed. Allowing
devices to say by name that they will be interactive is the only way
anyone has come up with on this so far.
Brian D. Ripley, ripley at stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
More information about the R-devel