Re: prevent UIAgent with floating NSPanel stealing focus?
Re: prevent UIAgent with floating NSPanel stealing focus?
- Subject: Re: prevent UIAgent with floating NSPanel stealing focus?
- From: Ken Thomases <email@hidden>
- Date: Mon, 16 Mar 2015 17:02:24 -0500
On Mar 16, 2015, at 4:50 PM, has <email@hidden> wrote:
> Quick question as I'm guessing the answer is "no", but I've a UIAgent that floats an NSPanel above other apps and I'm wondering if there's any way to avoid 1. having to click not once but twice to put the cursor in a text field when the panel isn't already active, and 2. prevent the next app - in this case Adobe Illustrator - losing all focus which causes all of its own panels to vanish?
For issue 2, include NSNonactivatingPanelMask in the panel's style mask or, in IB, enable Non Activating in the Attributes inspector for the panel.
That may also fix issue 1, but I'm not sure.
You may also want to experiment with setting the panel's becomesKeyOnlyIfNeeded property, although that's more for panels which don't have many text fields.
Another possible fix for issue 1 is to use a custom subclass of NSTextField which overrides -acceptsFirstMouse:, calls through to super (just in case it does something important), and then returns YES regardless of what the super implementation returned.
Regards,
Ken
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden