> On 19. 10. 2022., at 03:52, Eric Schlegel wrote: > > > I can tell you that the Help menu does itself use makeFirstResponder: on the > text view…
Eric, thanks for detailed explanation and willingness to help. Your message triggered me to play with the issue a bit more and I figured out what the problem is. But I also realised I’ve come to some wrong conclusions before, so I want to correct myself as well so that nobody here is left confused by them. I’ll do that first… > On 18. 10. 2022., at 18:43, Dragan Milić wrote: > > This issue isn’t related to the menu being attached to the NSStatusItem, it > also happens in the main and/or contextual menu within the application. I’d > eventually want to set the focus on the text field programmatically each time > the menu appears, but that’s not possible either. This was something I observed quite some time ago and I admin I haven’t confirmed it again before I sent my initial message here. God knows what I did wrong at that time, but I can say my above statement is completely false! Placing NSTextFiend inside NSMenuItem works fine in both main and contextual menus in the application. The text field gets focus when the menu opens, sending -[NSWindow makeFirstResponder:] is not even necessary. Now, my problem is that the application is defined as LSUIElement=YES (or its activation policy is programmatically set to NSApplicationActivationPolicyAccessory), meaning it doesn’t show its icon in the Dock, it doesn’t show its main menu, nor can it be made active with alt+tab. As known, clicking the status item of any application and making its status item menu visible, doesn’t really make the application active, and in my case that affect functionality of the text item. So, when I click on the status item and show the status item menu, the application is not really active and hence is text field (kind of) disabled, not being able to receive events. If I set application’s activation policy to NSApplicationActivationPolicyRegular and make it active (clicking on its icon in the Dock or alt+tabbing) before I click its status item, the status item menu appears with the text field active and focused, ready to be typed into. I haven’t find the complete solution yet. Sending -[NSApp activateIgnoringOtherApps:YES] does the job partially; clicking the status item and opening its menu results in the application being activated, but that automatically closes the menu immediately upon being open. But the application stays active, so clicking the status item again finally opens the menu with the text field active and having focus. If anyone have any idea how to solve this, I’d be thankful to hear it. -- Dragan _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) 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: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com