[Pythonmac-SIG] Should Python.app be an LSUIElement = 1 app?

Bill Janssen janssen at parc.com
Tue Feb 3 18:03:28 CET 2009


has <hengist.podd at virgin.net> wrote:

> Annoying, but tweaking
> the Python.app bundle's LSBackgroundOnly/LSUIElement flags isn't a
> solution, it's a kludge - one that will take us back to the bad old
> days where some scripts automatically fail when run with 'python'.

*Right now*, some scripts fail when run with "python".  My scripts :-).

Look, setting LSUIElement still allows access to the WM -- that's what
it's for:

``LSUIElement (String). If this key is set to '1', Launch Services runs
the application as an agent application. Agent applications do not
appear in the Dock or in the Force Quit window. Although they typically
run as background applications, they can come to the foreground to
present a user interface if desired. A click on a window belonging to an
agent application brings that application forward to handle events.''

I'm *only* suggesting this for Python.app -- other Python-based apps,
like IDLE.app, that desire a dock icon can still have a different
Info.plist.

For that matter, even if we set LSBackgroundOnly, you'd still have
access to the WM -- my appscript-based "while True" loop runs fine when
I set this flag.

The key is that you can always make the process more "heavyweight", but
you can't go in the other direction.  So Python should start as low as
possible, and work up as necessary.

Bill


More information about the Pythonmac-SIG mailing list