##// END OF EJS Templates
Start webbrowser in a thread. Prevents lockup with Chrome....
Start webbrowser in a thread. Prevents lockup with Chrome. If a user has Chrome set as their default browser (system-wide or via the `BROWSER` environment variable), opening the notebook hangs because the chrome call doesn't return immediately. This solves the issue by opening the browser in a thread. Note that there remains an issue where killing the notebook will kill Chrome if the Chrome session was started by us. I haven't found a way to work around that despite attempts by making the webbrowser.open() call in a subprocess.

File last commit:

r4030:c335e497
r5212:2178365f
Show More
ipython_config.py
22 lines | 633 B | text/x-python | PythonLexer
MinRK
reorganize default config files to match profiles as directories...
r3954 c = get_config()
MinRK
load_subconfig supports profiles...
r4030 app = c.InteractiveShellApp
MinRK
reorganize default config files to match profiles as directories...
r3954
# This can be used at any point in a config file to load a sub config
# and merge it into the current one.
MinRK
load_subconfig supports profiles...
r4030 load_subconfig('ipython_config.py', profile='default')
MinRK
reorganize default config files to match profiles as directories...
r3954
lines = """
import matplotlib
MinRK
remove old default config files
r3965 %gui qt
matplotlib.use('qtagg')
MinRK
reorganize default config files to match profiles as directories...
r3954 matplotlib.interactive(True)
from matplotlib import pyplot as plt
from matplotlib.pyplot import *
"""
# You have to make sure that attributes that are containers already
# exist before using them. Simple assigning a new list will override
# all previous values.
MinRK
remove old default config files
r3965 if hasattr(app, 'exec_lines'):
app.exec_lines.append(lines)
MinRK
reorganize default config files to match profiles as directories...
r3954 else:
MinRK
remove old default config files
r3965 app.exec_lines = [lines]