How to get a correct entry in the menu for a Python application on Mac OS X
Detlev Offenbach
detlev at die-offenbachs.de
Sun Dec 11 06:20:20 EST 2011
I got it working by creating a symbolic link to the Python interpreter to
be used in my application package and using this symbolic link to start
the main Python script.
Gregory Ewing wrote:
> Detlev Offenbach wrote:
>> I am fairly new to Mac OS X and would like to know, what I have to do
>> to make my Python application show the correct name in the menu bar.
>> What did I do so far. I created an application package containing the
>> .plist file with correct entries and a shell script, that starts the
>> correct Python interpreter with the the main script.
>
> I don't think that will work, because the executable that
> your shell script is starting is in an app bundle of its
> own, and MacOSX will be using the plist from that bundle,
> which just has the generic "Python" name in it.
>
> There are a couple of things you could do:
>
> 1) Use py2app to create your app bundle. It does the
> right things -- not sure exactly what, but it works.
>
> 2) Hack things at run time. I use the following PyObjC
> code in PyGUI to set the application name:
>
> from Foundation import NSBundle
>
> ns_bundle = NSBundle.mainBundle()
> ns_info = ns_bundle.localizedInfoDictionary()
> if not ns_info:
> ns_info = ns_bundle.infoDictionary()
> ns_info['CFBundleName'] = my_application_name
>
--
Detlev Offenbach
detlev at die-offenbachs.de
More information about the Python-list
mailing list