##// END OF EJS Templates
use Popen instead of getstatusoutput to check for libedit....
use Popen instead of getstatusoutput to check for libedit. getstatusoutput uses os.popen, and is vulnerable to EINTR weirdness in environments such as gdb or PyQt. Exponential falloff is also used, to prevent waiting forever or firing requests too fast, though I haven't had it fire more than once after moving to Popen. closes gh-473

File last commit:

r2069:c058c3f8
r3906:cf26ce8a
Show More
inputhookgtk.py
36 lines | 1.0 KiB | text/x-python | PythonLexer
Brian Granger
First draft of full inputhook management.
r2066 #!/usr/bin/env python
# encoding: utf-8
"""
Enable pygtk to be used interacive by setting PyOS_InputHook.
Authors: Brian Granger
"""
#-----------------------------------------------------------------------------
# Copyright (C) 2008-2009 The IPython Development Team
#
# Distributed under the terms of the BSD License. The full license is in
# the file COPYING, distributed as part of this software.
#-----------------------------------------------------------------------------
Brian Granger
More testing and docstrings added for inputhook.py
r2069 #-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
Brian Granger
First draft of full inputhook management.
r2066 import sys
import gtk, gobject
Brian Granger
More testing and docstrings added for inputhook.py
r2069 #-----------------------------------------------------------------------------
# Code
#-----------------------------------------------------------------------------
Brian Granger
First draft of full inputhook management.
r2066
def _main_quit(*args, **kwargs):
gtk.main_quit()
return False
def inputhook_gtk():
gobject.io_add_watch(sys.stdin, gobject.IO_IN, _main_quit)
gtk.main()
return 0