mirror of https://github.com/python/cpython
37 lines
1.1 KiB
Python
37 lines
1.1 KiB
Python
"""
|
|
A number of function that enhance IDLE on MacOSX when it used as a normal
|
|
GUI application (as opposed to an X11 application).
|
|
"""
|
|
import sys
|
|
|
|
def runningAsOSXApp():
|
|
""" Returns True iff running from the IDLE.app bundle on OSX """
|
|
return (sys.platform == 'darwin' and 'IDLE.app' in sys.argv[0])
|
|
|
|
def addOpenEventSupport(root, flist):
|
|
"""
|
|
This ensures that the application will respont to open AppleEvents, which
|
|
makes is feaseable to use IDLE as the default application for python files.
|
|
"""
|
|
def doOpenFile(*args):
|
|
for fn in args:
|
|
flist.open(fn)
|
|
|
|
# The command below is a hook in aquatk that is called whenever the app
|
|
# receives a file open event. The callback can have multiple arguments,
|
|
# one for every file that should be opened.
|
|
root.createcommand("::tk::mac::OpenDocument", doOpenFile)
|
|
|
|
def hideTkConsole(root):
|
|
root.tk.call('console', 'hide')
|
|
|
|
|
|
def setupApp(root, flist):
|
|
"""
|
|
Perform setup for the OSX application bundle.
|
|
"""
|
|
if not runningAsOSXApp(): return
|
|
|
|
hideTkConsole(root)
|
|
addOpenEventSupport(root, flist)
|