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