On 9/10/09 1:27 AM, Joshua Bronson wrote:
If you try something like:

$ python -m Tkinter -c 'Tkinter._test()'

in Terminal on OS X, you'll notice that the window that is spawned
does not get focus, rather focus remains in Terminal. Furthermore, if
you hit Command+Tab to switch focus to the Python process, you'll
notice that for some reason Python has been placed last in the focus
order, even though it was just spawned by Terminal. This is
undesirable if you're e.g. making a game where stuff happens as soon
as the window is spawned and the player is expected to respond quickly
but can't until she Command+Tabs over or clicks in the unfocused
window. I've googled for this extensively and haven't found a way
around it, so I thought I'd ask here. If there is a more appropriate
place to ask, please let me know.

Thanks,
Josh


Yes, this is standard behavior for OS X. Running an app in Terminal keeps focus in the Terminal unless you switch by clicking windows. The Command-Tab behavior is determined by the windowing system, not by a newly spawned process.

The way around this is to wrap your application up in a standard Mac app bundle using py2app. The average Mac user isn't going to launch a Python-based game from the command line.

Kevin



--
Kevin Walzer
Code by Kevin
http://www.codebykevin.com
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to