From mark.oconnell at maths.nuim.ie  Tue Nov 15 12:13:14 2016
From: mark.oconnell at maths.nuim.ie (Mark O'Connell)
Date: Tue, 15 Nov 2016 11:13:14 +0000 (GMT)
Subject: [Rd] getGraphicsEvent() alternative for cairo graphics device?
In-Reply-To: <039e4e77-d905-b407-ddfa-1578720b694b@stat.auckland.ac.nz>
References: <CAN_GHySs42vK5U1xZYP8h7ZPdFyOcHnEZK4Sn91e7htv=7E54A@mail.gmail.com>
	<57968357.2030509@stat.auckland.ac.nz>
	<20161112200028.GD24681@ofb.net>
	<2e6f0306-da86-211a-05dd-aff3d744df40@stat.auckland.ac.nz>
	<20161114004137.GA21456@ofb.net>
	<25bfd94c-28f6-595e-ffb1-2ae2421b5135@stat.auckland.ac.nz>
	<20161114015325.GB21456@ofb.net>
	<039e4e77-d905-b407-ddfa-1578720b694b@stat.auckland.ac.nz>
Message-ID: <1406859886.21862.1479208394402.JavaMail.zimbra@maths.nuim.ie>

Hi Paul,

No problem. Is it best if I post examples to the bug report 16951?

Kind regards,
Mark

--

Mark O'Connell, PhD student
Department of Mathematics & Statistics
231 Top Logic
National University of Ireland, Maynooth

----- Paul Murrell <paul at stat.auckland.ac.nz> wrote:
> 
> Thanks Frederick.
> 
> Mark, if you have any examples to share, they would also be gratefully 
> received.
> 
> Paul
> 
> On 14/11/16 14:53, frederik at ofb.net wrote:
> > Hi Paul,
> >
> > OK I tried not to make the examples too fancy.
> >
> > Please let me know what you think. They should probably be amended to
> > support the Windows platform, but I think that task would be much
> > easier for someone with access to Windows...
> >
> > By the way I'm Cc'ing Mark O'Connell who shared with me some great
> > getGraphicsEvent examples - well, I found them useful, perhaps if
> > these are going to the R distro somewhere, then his examples should be
> > included as well.
> >
> > Thank you,
> >
> > Frederick
> >
> > On Mon, Nov 14, 2016 at 01:51:08PM +1300, Paul Murrell wrote:
> >>
> >> Great.  Thanks!
> >>
> >> Paul
> >>
> >> On 14/11/16 13:41, frederik at ofb.net wrote:
> >>> Hi Paul,
> >>>
> >>> Thank you, for some reason I didn't seem to get an email notification
> >>> for your bugzilla comment!
> >>>
> >>> I will try to send you something shortly.
> >>>
> >>> 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?
Mark O'Connell