javafx style workaround
diff --git a/ui/cocoa.m b/ui/cocoa.m
index d2b9efd..a8101af 100644
--- a/ui/cocoa.m
+++ b/ui/cocoa.m
@@ -1140,9 +1140,16 @@
 
 static void create_menus(void);
 
+static bool first_activation;
+static bool should_reactivate;
+
 - (void)applicationDidResignActive: (NSNotification *) note
 {
     COCOA_DEBUG("DidResignActive\n");
+    if (should_reactivate) {
+        should_reactivate = false;
+        [NSApp activateIgnoringOtherApps: YES];
+    }
 }
 
 - (void)applicationWillBecomeActive: (NSNotification *) note
@@ -1153,6 +1160,11 @@
 - (void)applicationDidBecomeActive: (NSNotification *) note
 {
     COCOA_DEBUG("DidBecomeActive\n");
+    if (first_activation) {
+        first_activation = false;
+        should_reactivate = true;
+        [NSApp hide:NSApp];
+    }
 }
 
 - (void)applicationWillFinishLaunching: (NSNotification *) note
@@ -1160,6 +1172,7 @@
     COCOA_DEBUG("WillFinishLaunching\n");
     [NSApp setActivationPolicy:NSApplicationActivationPolicyRegular];
     create_menus();
+    first_activation = true;
 }
 
 - (void)applicationDidFinishLaunching: (NSNotification *) note