ifeq ($(platform),Darwin)
                LUAPLATFORM = macosx
                OBJCSRCS = util_darwin.m
-               LDFLAGS += -framework Foundation
+               LDFLAGS += -framework Foundation -framework AppKit
        else
                LUALIB +=  -ldl
                LDLIBS +=  -ltermcap -lncurses
 
 #include <string.h>
 #include "proxgui.h"
 #include <QtGui>
+
+extern "C" {
+#include "util_darwin.h"
+}
 //#include <ctime>
 
 bool g_useOverlays = false;
                return;
 
        if (!plotwidget)
+       {
+#if defined(__MACH__) && defined(__APPLE__)
+               makeFocusable();
+#endif
                plotwidget = new ProxWidget();
+       }
 
        plotwidget->show();
 }
        //start proxmark thread after starting event loop
        QTimer::singleShot(200, this, SLOT(_StartProxmarkThread()));
 
+#if defined(__MACH__) && defined(__APPLE__)
+       //Prevent the terminal from loosing focus during launch by making the client unfocusable
+       makeUnfocusable();
+#endif
+
        plotapp->exec();
 }
 
 
 void disableAppNap(const char* reason);
 void enableAppNap();
 
+void makeUnfocusable();
+void makeFocusable();
+
 #endif
\ No newline at end of file
 
 
 #import <Foundation/NSString.h>
 #import <Foundation/NSProcessInfo.h>
+#import <AppKit/NSApplication.h>
 
 static id activity = nil;
 
 void disableAppNap(const char* reason) { }
 void enableAppNap() { }
 #endif
+
+//OS X Version 10.6 is defined in OS X 10.6 and later
+#if defined(MAC_OS_X_VERSION_10_6)
+void makeUnfocusable() {
+       [NSApp setActivationPolicy:NSApplicationActivationPolicyProhibited];
+}
+
+void makeFocusable() {
+       [NSApp setActivationPolicy:NSApplicationActivationPolicyRegular];
+}
+#else
+void makeUnfocusable() { }
+void makeFocusable() { }
+#endif