##// END OF EJS Templates
two-process interactive shell progress...
two-process interactive shell progress * execute payloads (e.g. page/pinfo output) are displayed and paged. * aborted replies don't crash frontend. * intermediate iopub is displayed as it comes * wait for kernel to start before printing first prompt. This gets the right number on the first prompt, and also avoids the log output from being drawn after the first prompt. * protect most of the interact block from keyboard interrupts, which could cause weird errors if ctrl-C was held for a while. * separate restart/wait prompt when kernel dies.

File last commit:

r5390:c82649ea
r5616:7431cd60
Show More
inputhookgtk.py
35 lines | 1017 B | text/x-python | PythonLexer
Brian Granger
First draft of full inputhook management.
r2066 # encoding: utf-8
"""
Enable pygtk to be used interacive by setting PyOS_InputHook.
Authors: Brian Granger
"""
#-----------------------------------------------------------------------------
Matthias BUSSONNIER
update copyright to 2011/20xx-2011...
r5390 # Copyright (C) 2008-2011 The IPython Development Team
Brian Granger
First draft of full inputhook management.
r2066 #
# 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