osx_app_in_plain_c
                                
                                 osx_app_in_plain_c copied to clipboard
                                
                                    osx_app_in_plain_c copied to clipboard
                            
                            
                            
                        Regarding menu inactive for mouse action
If you want the menubar to be clickable you need to come up with some C-variant of this:
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
  // [NSApp activateIgnoringOtherApps:YES] needs to be called after everthing
  // has finished launching, or else the menu bar will not work until we switch
  // applications once.
  // http://stackoverflow.com/questions/33345686/cocoa-application-menu-bar-not-clickable
  [NSApp activateIgnoringOtherApps:YES];
}
In which I mean, you need to figure out when you should call this.
It's already called here https://github.com/jimon/osx_app_in_plain_c/blob/master/main.c#L279-L280 :+1: Considering https://github.com/jimon/osx_app_in_plain_c/pull/1 looks like we just forgot a bundle and .plist to make it work in all cases.
Bundle is nice of course, however, I think it should be possible to have a functional executable and a functional menubar without bundle and .plist. I have a (somewhat) minimal objective c program which I can run from terminal, without plists and bundle, and still have a proper menu.
So if you really want to be minimal, I think it's doable, but I don't know how. Do what you will with the information :)
It was once possible to "bundle" by embedding an Info.plist into your binary directly. It might be worth a shot:
CFLAGS += -Wl,-sectcreate,__TEXT,__info_plist,path/to/Info.plist