##// END OF EJS Templates
Always run the OS X loop even if no windows....
Always run the OS X loop even if no windows. Otherwise this can trigger infinite Python-Icon-In-Dock bouncing. See #10137. I will guess that this is because application on OS X may not have windows and still need to process events. It may be that an alternative is to run the loop only once the first time, but I'm unsure. at_least_once = False def inputhook(context): """Inputhook for Cocoa (NSApp)""" NSApp = _NSApp() window_count = msg( msg(NSApp, n('windows')), n('count') ) if not window_count and not at_least_once: at_least_once = True return _stop_on_read(context.fileno()) msg(NSApp, n('run')) if not _triggered.is_set(): # app closed without firing callback, # probably due to last window being closed. # Run the loop manually in this case, # since there may be events still to process (#9734) CoreFoundation.CFRunLoopRun() Closes #10137

File last commit:

r9711:e20ba071
r23167:260e9884
Show More
mknbindex.py
36 lines | 1.3 KiB | text/x-python | PythonLexer
#!/usr/bin/env python
"""Simple script to auto-generate the index of notebooks in a given directory.
"""
import glob
import urllib
notebooks = sorted(glob.glob('*.ipynb'))
tpl = ( '* [{0}](http://nbviewer.ipython.org/url/github.com/ipython/ipython/'
'raw/master/examples/notebooks/{1})' )
idx = [
"""# A collection of Notebooks for using IPython effectively
The following notebooks showcase multiple aspects of IPython, from its basic
use to more advanced scenarios. They introduce you to the use of the Notebook
and also cover aspects of IPython that are available in other clients, such as
the cell magics for multi-language integration or our extended display
protocol.
For beginners, we recommend that you start with the 5-part series that
introduces the system, and later read others as the topics interest you.
Once you are familiar with the notebook system, we encourage you to visit our
[gallery](https://github.com/ipython/ipython/wiki/A-gallery-of-interesting-IPython-Notebooks)
where you will find many more examples that cover areas from basic Python
programming to advanced topics in scientific computing.
"""]
idx.extend(tpl.format(nb.replace('.ipynb',''), urllib.quote(nb))
for nb in notebooks)
with open('README.md', 'w') as f:
f.write('\n'.join(idx))
f.write('\n')