[IPython-user] IPython 0.7.0 is out.

Sean M. Moore smm at ibl.bm
Tue Jan 10 21:39:31 CST 2006

Running on Win32 (XP and 2k) and Python 2.4 Matplotlib > .79 
(several versions)

If I don't use the idle_add, then every keystroke takes 
a noticeable amount of time (>1sec) to be processed.

When I first encountered this, I tried various versions
of matplotlib which made no difference, then discovered
that it was the GTK threading code.

On your advice, I tried various values of the TIMEOUT 
and sys.setcheckinterval.  I found some parameters that 
Worked  (TIMEOUT=10, setcheckinterval(20)), but then 
found the idle_add which worked much better. 

In the latest release I get a deprecation as well, 
But I can use Ipython and matplotlib, which functionally
I can't under the default settings for timeout_add.


-----Original Message-----
From: Fernando Perez [mailto:Fernando.Perez at colorado.edu] 
Sent: Tuesday, January 10, 2006 8:42 PM
To: Charlie Moad
Cc: Sean Moore; ipython-user at scipy.net
Subject: Re: [IPython-user] IPython 0.7.0 is out.

Charlie Moad wrote:
> There was also a DeprecationWarning before we reverted as well.  In 
> the current release I don't get that warning, and the mpl/pylab 
> doesn't busy wait.  What does that change accomplish?

 From the ChangeLog, here's what I wrote:

2005-10-31  Fernando Perez  <Fernando.Perez at colorado.edu>

	* IPython/Shell.py (IPShellGTK.mainloop): Change timeout_add to
	idle_add, which fixes horrible keyboard lag problems under gtk
	(reported under win32, but may happen also in other platforms).
	Bug report and fix courtesy of Sean Moore <smm-AT-logic.bm>

So I wonder if what we need to do is wrap this into a platform-dependent
so win32 uses idle_add while *nix uses timeout_add.  I would really like
understand better the issue before putting in such an ugly hack, which
terribly out of place to me.  I find it hard to believe that GTK really
such a bad internal design, it's most likely that I am misusing the

Input from anyone with PyGTK experience would be very welcome at this



More information about the IPython-user mailing list