<br><br><div class="gmail_quote">On Sun, Jul 25, 2010 at 2:05 PM, Eric Firing <span dir="ltr">&lt;<a href="mailto:efiring@hawaii.edu">efiring@hawaii.edu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div><div></div><div class="h5">On 07/25/2010 10:56 AM, Gael Varoquaux wrote:<br>
&gt; On Sun, Jul 25, 2010 at 10:35:02AM -1000, Eric Firing wrote:<br>
&gt;&gt; Although ipython has provided invaluable service to mpl by enabling<br>
&gt;&gt; interactive plotting for all gui backends, I am not at all sure that<br>
&gt;&gt; this functionality should be left to ipython in the long run. †The<br>
&gt;&gt; problem is that mpl is used in a variety of ways and environments. †Gui<br>
&gt;&gt; functionality is central to mpl; it seems odd, and unnecessarily<br>
&gt;&gt; complicated, to have to delegate part of that to an environment, or<br>
&gt;&gt; shell, like ipython.<br>
&gt;<br>
&gt; Wow, I just did a little experiment, and I really don&#39;t understand the<br>
&gt; outcome. Please bear with me:<br>
&gt;<br>
&gt; $ ipython<br>
&gt;<br>
&gt; In [1]: !cat /home/varoquau/.matplotlib/matplotlibrc<br>
&gt; backend † † : GtkAgg<br>
&gt;<br>
&gt; In [2]: from pylab import *<br>
&gt;<br>
&gt; In [3]: ion()<br>
&gt;<br>
&gt; In [4]: plot([1,2,3])<br>
&gt; Out[4]: [&lt;matplotlib.lines.Line2D object at 0xccb4dac&gt;]<br>
&gt;<br>
&gt; In [5]: from enthought.mayavi import mlab<br>
&gt;<br>
&gt; In [6]: mlab.test_surf()<br>
&gt; Out[6]:&lt;enthought.mayavi.modules.surface.Surface object at 0xd58ce0c&gt;<br>
&gt;<br>
&gt; Two things I do not understand:<br>
&gt;<br>
&gt; † † †1) I can interact alright with the Mayavi plot, nice and fine<br>
&gt; † † † † eventhough there is not wx event-loop running, and I did not<br>
&gt; † † † † register a InputHook<br>
&gt;<br>
&gt; † † †2) I did not get a segfault, while I am running at the same time GTK<br>
&gt; † † † † and Wx. This used to be a big no no.<br>
&gt;<br>
&gt; I believe that 1 is due to matplotlib registering an InputHook, but I<br>
&gt; cannot find where it is done. Also, does this seems to mean that under<br>
&gt; Linux GTK input hooks work for Wx (and they are nicer since they don&#39;t<br>
&gt; poll).<br>
<br>
</div></div>No, mpl is not registering an InputHook, but pygtk is. †Maybe this is<br>
having a side effect because wx on linux is a wrapper around gtk.<br>
<br>
To get a hook registered explicitly for wx, you need to use &quot;ipython<br>
--gui wx&quot;<br>
<font color="#888888"><br></font></blockquote><div><br></div><div>I should clarify. †All IPython is doing in 0.11 for qt4, gtk and tk is to tell each GUI toolkit to install its inputhook. †Here is the gtk version:</div><div>
<br></div><div><a href="http://github.com/ipython/ipython/blob/master/IPython/lib/inputhook.py#L457">http://github.com/ipython/ipython/blob/master/IPython/lib/inputhook.py#L457</a></div><div><br></div><div>Part of the difficulty is that each GUI toolkits has a different API for doing this. †We make the API uniform and add a wx inputhook using ctypes.</div>
<div><br></div><div>Cheers,</div><div><br></div><div>Brian</div><div>†</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><font color="#888888">
Eric<br>
</font><div><div></div><div class="h5"><br>
&gt;<br>
&gt; Anyhow, this is good news, eventhough I don&#39;t understand it at all.<br>
&gt;<br>
&gt; GaŽl<br>
<br>
_______________________________________________<br>
IPython-dev mailing list<br>
<a href="mailto:IPython-dev@scipy.org">IPython-dev@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/ipython-dev" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-dev</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Brian E. Granger, Ph.D.<br>Assistant Professor of Physics<br>Cal Poly State University, San Luis Obispo<br><a href="mailto:bgranger@calpoly.edu">bgranger@calpoly.edu</a><br>
<a href="mailto:ellisonbg@gmail.com">ellisonbg@gmail.com</a><br>