Nothing nearly so complicated. You just have to realize that the runloop is in a different mode while the menu is open. If you have a timer to periodically update your menu, then you have to add the timer to the runloop under the NSEventTrackingRunLoopMode. From there, add or update whatever NSMenuItems you want, and then call -[NSMenu update].
More info: http://stackoverflow.com/q/2808016/115730 Dave Sent from Jane On Apr 18, 2012, at 6:47 PM, Graham Cox <graham....@bigpond.com> wrote: > > On 19/04/2012, at 10:04 AM, Jerry Krinock wrote: > >> >> On 2012 Apr 18, at 13:14, vinayak pai wrote: >> >>> I have a NSMenu with dynamically added NSMenuItems. The NSMenu is not >>> refreshing properly while it's kept open. >> >> I do not believe there is any way to refresh a menu while it is open. The >> method in which you do your dynamism, -menuNeedsUpdate, is only guaranteed >> to be invoked when the user clicks the menu. Although I've seen it invoked >> at other times, this seems to be some kind of performance optimization. >> >> You must redesign your app to not require refreshing a menu while it is open. > > > Not true - the system's WiFi menu updates while it is open. > > Perhaps you need to use a view-based menu item to achieve this? You can use > NSMenuItem's -setView: method to attach a view to the item, then (I assume, I > haven't done it myself) you can use the usual -setNeedsDisplay on that view > to update it as necessary. > > --Graham > > > > _______________________________________________ > > 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/davedelong%40me.com > > This email sent to davedel...@me.com _______________________________________________ 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