From paul at stat.auckland.ac.nz  Fri Dec  9 01:20:17 2016
From: paul at stat.auckland.ac.nz (Paul Murrell)
Date: Fri, 9 Dec 2016 13:20:17 +1300
Subject: [Rd] getGraphicsEvent() alternative for cairo graphics device?
In-Reply-To: <20161208235859.GM6368@ofb.net>
References: <CAN_GHySs42vK5U1xZYP8h7ZPdFyOcHnEZK4Sn91e7htv=7E54A@mail.gmail.com>
	<20160725191747.GB18530@ofb.net> <57968357.2030509@stat.auckland.ac.nz>
	<20161112200028.GD24681@ofb.net>
	<2e6f0306-da86-211a-05dd-aff3d744df40@stat.auckland.ac.nz>
	<20161208221949.GK6368@ofb.net>
	<148093cd-8556-a56e-0e2e-e799bab3ed4d@stat.auckland.ac.nz>
	<20161208235859.GM6368@ofb.net>
Message-ID: <a9b4a1dd-44ea-532f-23f7-c3589d457df5@stat.auckland.ac.nz>

Hi

Yes, we have regression tests for graphics.

In general, but especially for core R code, I would rather have 
confidence that a fix has not broken existing behaviour before I commit it.

I cannot argue with the point that we could respond to some bug reports 
faster.

Paul

On 09/12/16 12:58, frederik at ofb.net wrote:
> Hi Paul,
>
> Thanks for keeping me posted and letting me know what I should do.
>
> Are there regression tests for other graphics functions in R? To me
> that sounds a bit unnecessary. I think you get more testing from
> people who use R; and having a good turnaround for applying patches
> (some have been waiting 5 years) would invite better participation.
>
> Thank you,
>
> Frederick
>
> On Fri, Dec 09, 2016 at 12:01:55PM +1300, Paul Murrell wrote:
>> Hi
>>
>> Just taking a bit more of a look at this today (currently fixated on making
>> sure I can build some good regression tests).
>>
>> The best thing you can do is to keep reminding me like this :)
>>
>> Paul
>>
>> On 09/12/16 11:19, frederik at ofb.net wrote:
>>> Hi Paul,
>>>
>>> Thanks for your efforts. Do you have an idea when my patch(es) might
>>> be committed? Is there anything I can do to help move this along?
>>>
>>> Thanks,
>>>
>>> Frederick
>>>
>>> On Mon, Nov 14, 2016 at 08:55:20AM +1300, Paul Murrell wrote:
>>>> Hi
>>>>
>>>> The current status is that I am keen for people to contribute some testing
>>>> code (see https://bugs.r-project.org/bugzilla/show_bug.cgi?id=16951)
>>>>
>>>> There were also some getGraphicsEvent() changes/fixes suggested by Richard
>>>> Bodewits (cc'ed), for which I am also seeking test code.
>>>>
>>>> Paul
>>>>
>>>> On 13/11/16 09:00, frederik at ofb.net wrote:
>>>>> Hi Paul,
>>>>>
>>>>> Just checking in to see what the status is.
>>>>>
>>>>> From my perspective it seems logical to split off X11 into a separate
>>>>> package, so development can proceed at a reasonable rate, but I
>>>>> haven't yet tried to see if that's even possible.
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Frederick
>>>>>
>>>>> On Tue, Jul 26, 2016 at 09:23:35AM +1200, Paul Murrell wrote:
>>>>>> Hi
>>>>>>
>>>>>> Taking a look at those patches is now on my todo list, so I may be in touch
>>>>>> with both of you at some point to request some testing.
>>>>>>
>>>>>> Paul
>>>>>>
>>>>>> On 26/07/16 07:17, frederik at ofb.net wrote:
>>>>>>> Dear Daniel Greenidge,
>>>>>>>
>>>>>>> To enable getGraphicsEvent on Cairo, you have two patches to choose
>>>>>>> from:
>>>>>>>
>>>>>>> https://bugs.r-project.org/bugzilla/show_bug.cgi?id=14364
>>>>>>> https://bugs.r-project.org/bugzilla/show_bug.cgi?id=16951
>>>>>>>
>>>>>>> The second one is by me, and the first one is from five years ago by
>>>>>>> Hugo Mildenberger.
>>>>>>>
>>>>>>> Both patches are very simple, they move some lines enabling
>>>>>>> getGrahpicsEvent outside of a if(!cairo) statement. My patch also adds
>>>>>>> the ability to execute code (e.g. for animation) while the interface
>>>>>>> is idle.
>>>>>>>
>>>>>>> Top guy Duncan Murdoch has expressed that he doesn't have time to work
>>>>>>> on applying these patches, and I haven't had any responses from the
>>>>>>> rest of the R Core Team. I was thinking that perhaps your best bet is
>>>>>>> to try to create a package called e.g. "X11-fixes" which people can
>>>>>>> use to get a better X11 library (there is also a bug waiting to be
>>>>>>> fixed from 2001:
>>>>>>> https://bugs.r-project.org/bugzilla/show_bug.cgi?id=16702).
>>>>>>>
>>>>>>> I don't know if CRAN would accept such a package, or if you'd have to
>>>>>>> distribute it via GitHub, but R has excellent tools to facilitate the
>>>>>>> distribution of code via packages. Whether the R kernel exports enough
>>>>>>> functions to allow a package to take over event handling, I'm not
>>>>>>> sure. I was intending to look more into the details of this
>>>>>>> possibility but haven't had time.
>>>>>>>
>>>>>>> Best wishes,
>>>>>>>
>>>>>>> Frederick
>>>>>>>
>>>>>>> On Mon, Jul 25, 2016 at 02:15:59PM -0400, Daniel Greenidge wrote:
>>>>>>>> Hi all,
>>>>>>>>
>>>>>>>> I'm writing an interactive plotting function for viewing fMRI
>>>>>>>> datasets. Currently, I get keypresses using
>>>>>>>> grDevices::getGraphicsEvent().
>>>>>>>>
>>>>>>>> Unfortunately getGraphicsEvent() only supports the X11(type="Xlib")
>>>>>>>> graphics device on Unix systems. The Xlib device doesn't support
>>>>>>>> buffering (i.e. dev.hold() and dev.flush()), so redrawing the plots
>>>>>>>> causes lots of flickering.
>>>>>>>>
>>>>>>>> Is there a way to get keypresses while using the cairo graphics
>>>>>>>> device? Alternatively, is there a way to prevent flickering with the
>>>>>>>> Xlib graphics device?
>>>>>>>>
>>>>>>>> Best,
>>>>>>>> Daniel Greenidge
>>>>>>>>
>>>>>>>> ______________________________________________
>>>>>>>> R-devel at r-project.org mailing list
>>>>>>>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>>>>>>>
>>>>>>>
>>>>>>> ______________________________________________
>>>>>>> R-devel at r-project.org mailing list
>>>>>>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>>>>>>
>>>>>>
>>>>>> --
>>>>>> Dr Paul Murrell
>>>>>> Department of Statistics
>>>>>> The University of Auckland
>>>>>> Private Bag 92019
>>>>>> Auckland
>>>>>> New Zealand
>>>>>> 64 9 3737599 x85392
>>>>>> paul at stat.auckland.ac.nz
>>>>>> http://www.stat.auckland.ac.nz/~paul/
>>>>>>
>>>>
>>>> --
>>>> Dr Paul Murrell
>>>> Department of Statistics
>>>> The University of Auckland
>>>> Private Bag 92019
>>>> Auckland
>>>> New Zealand
>>>> 64 9 3737599 x85392
>>>> paul at stat.auckland.ac.nz
>>>> http://www.stat.auckland.ac.nz/~paul/
>>>>
>>
>> --
>> Dr Paul Murrell
>> Department of Statistics
>> The University of Auckland
>> Private Bag 92019
>> Auckland
>> New Zealand
>> 64 9 3737599 x85392
>> paul at stat.auckland.ac.nz
>> http://www.stat.auckland.ac.nz/~paul/
>>

-- 
Dr Paul Murrell
Department of Statistics
The University of Auckland
Private Bag 92019
Auckland
New Zealand
64 9 3737599 x85392
paul at stat.auckland.ac.nz
http://www.stat.auckland.ac.nz/~paul/



[Rd] getGraphicsEvent() alternative for cairo graphics device?
Paul Murrell