I use this code to let my C# wx.App run in foreground on Mac OS X - no packaging/bundling of the main exe needed:
ObjectiveCRuntime.LoadFramework("Cocoa");
ObjectiveCRuntime.Initialize();
IntPtr psn = new IntPtr(0);
Monobjc.Cocoa.AppKitFramework.GetCurrentProcess(ref psn);
Monobjc.Cocoa.AppKitFramework.TransformProcessType(ref psn, ProcessApplicationTransformState.kProcessTransformToForegroundApplication);
The bad thing here is that you obviously have to add Monobjc to you project. But as this project itself is open source, maybe copying only the code for this functionality does the job.
I'd really like to see this to be added to the code of wx.App.
well, unfortunately i dont know anything about Max ans MacOs in detail.
I searched the docs on Monoobjc.Cocoa.AppKitFramework
http://api.monobjc.net/html/T_Monobjc_Cocoa_AppKitFramework.htm.
TransformProcessType(IntPtr%, ProcessApplicationTransformState)
Changes the type of the specified process.
You can use this call to transform a background-only application into a foreground application. A foreground application appears in the Dock (and in the Force Quit dialog) and contains a menu bar. This function does not cause the application to be brought to the front; you must call SetFrontProcess to do so.
Maybe this topic will be fixed with wxWidgets 2.10. However, the docs tell that these functions are simple calls to the MaxOs API. That could maybe also done directly using PInvoce. Unfortunately, the wx.NET project currently cannot test this anyway.