Pre Snow Leopard the carbon interface should suffice.

Sent from my phone - please excuse brevity.
On Nov 22, 2011 5:17 PM, "Tristam MacDonald" <[email protected]> wrote:

> On Mon, Nov 21, 2011 at 7:39 PM, Tristam MacDonald 
> <[email protected]>wrote:
>
>> I can't seem to get pypy to pickup keyboard events - the pyglet window
>> isn't managing to take focus away from the terminal window. The fix for
>> this is to run from within an App bundle (or pretend to, as the system
>> 'pythonw' does), but that part of my original Cocoa port doesn't seem to
>> have survived the development process.
>>
>
> Aha! I finally found the post-Snow Leopard solution to this problem, in
> the form of the little-known [NSApplication setActivationPolicy:
> NSApplicationActivationPolicyRegular<http://developer.apple.com/library/mac/documentation/AppKit/Reference/NSRunningApplication_Class/Reference/Reference.html#//apple_ref/doc/c_ref/NSApplicationActivationPolicyRegular>]
> method.
>
> This method is unavailable pre-Snow Leopard. Is a Cocoa backend pre-Snow
> Leopard possible or desirable? Do we need to special case this for older OS
> versions?
>
> Simplistic patch against the evilphillip-cocoa-ctypes repository is as
> follows:
>
> ========================================================
> diff -r acee3bdb3b9d pyglet/app/cocoa.py
> --- a/pyglet/app/cocoa.py Mon Nov 21 19:28:22 2011 -0500
> +++ b/pyglet/app/cocoa.py Tue Nov 22 01:05:16 2011 -0500
> @@ -76,6 +76,7 @@
>          # Create an autorelease pool for menu creation and finishLaunching
>          self.pool = alloc_init('NSAutoreleasePool')
>          create_menu()
> +        send_message(self.NSApp, 'setActivationPolicy:', 0)
>          send_message(self.NSApp, 'finishLaunching')
>          send_message(self.NSApp, 'activateIgnoringOtherApps:', True)
>          #send_message(self.pool, 'drain')
> ========================================================
>
> --
> Tristam MacDonald
> System Administrator, Suffolk University Math & CS Department
> http://swiftcoder.wordpress.com/
>
> --
> You received this message because you are subscribed to the Google Groups
> "pyglet-users" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/pyglet-users?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"pyglet-users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/pyglet-users?hl=en.

Reply via email to