/usr/share/pyshared/soya/macosx.py is in python-soya 0.15~rc1-10.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | # -*- indent-tabs-mode: t -*-
# Soya 3D
# Copyright (C) 2004 Toni Alatalo -- antont@kyperjokki.fi
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
import objc
from Foundation import NSObject, NSLog, NSBundle, NSDictionary
#from AppKit import NSApplicationDelegate, NSTerminateLater, NSApplication, NSCriticalRequest, NSImage, NSApp, NSMenu, NSMenuItem
from AppKit import NSTerminateLater, NSApplication, NSCriticalRequest, NSImage, NSApp, NSMenu, NSMenuItem
try:
from AppKit import NSApplicationDelegate
except ImportError:
NSApplicationDelegate = None
import os, sys
# Make a good guess at the name of the application
if len(sys.argv) > 0:
MyAppName = os.path.splitext(sys.argv[0])[0]
else:
MyAppname = 'Soya on Mac'
# Need to do this if not running with a nib
def setupAppleMenu():
appleMenuController = objc.lookUpClass('NSAppleMenuController').alloc().init()
appleMenu = NSMenu.alloc().initWithTitle_('')
appleMenuItem = NSMenuItem.alloc().initWithTitle_action_keyEquivalent_('', None, '')
appleMenuItem.setSubmenu_(appleMenu)
NSApp().mainMenu().addItem_(appleMenuItem)
appleMenuController.controlMenu_(appleMenu)
NSApp().mainMenu().removeItem_(appleMenuItem)
# Need to do this if not running with a nib
def setupWindowMenu():
windowMenu = NSMenu.alloc().initWithTitle_('Window')
menuItem = NSMenuItem.alloc().initWithTitle_action_keyEquivalent_('Minimize', 'performMiniaturize:', 'm')
windowMenu.addItem_(menuItem)
del menuItem
windowMenuItem = NSMenuItem.alloc().initWithTitle_action_keyEquivalent_('Window', None, '')
windowMenuItem.setSubmenu_(windowMenu)
NSApp().mainMenu().addItem_(windowMenuItem)
NSApp().setWindowsMenu_(windowMenu)
if NSApplicationDelegate is not None:
# Used to cleanly terminate
class MyAppDelegate(NSObject, NSApplicationDelegate):
def init(self):
return self
def applicationDidFinishLaunching_(self, aNotification):
pass
def applicationShouldTerminate_(self, app):
return NSTerminateLater
# Start it up!
app = NSApplication.sharedApplication()
if NSApplicationDelegate is not None:
DELEGATE = MyAppDelegate.alloc().init()
app.setDelegate_(DELEGATE)
if not app.mainMenu():
mainMenu = NSMenu.alloc().init()
app.setMainMenu_(mainMenu)
setupAppleMenu()
setupWindowMenu()
app.finishLaunching()
app.updateWindows()
app.activateIgnoringOtherApps_(objc.YES)
|