commit 749772b8b8179eb3b71e542fd9ed5621feb578f5 Author: Matthew Glazar Date: Thu Feb 28 22:01:32 2019 -0800 Support macOS 10.11 Allow Kitty to run on macOS 10.11 El Capitan. diff --git a/glfw/cocoa_init.m b/glfw/cocoa_init.m index 1e719d2e..05a680e4 100644 --- a/glfw/cocoa_init.m +++ b/glfw/cocoa_init.m @@ -30,6 +30,10 @@ #define NSEventMaskKeyUp NSKeyUpMask #define NSEventMaskKeyDown NSKeyDownMask #define NSEventModifierFlagCommand NSCommandKeyMask + #define NSEventModifierFlagControl NSControlKeyMask + #define NSEventModifierFlagDeviceIndependentFlagsMask NSDeviceIndependentModifierFlagsMask + #define NSEventModifierFlagShift NSShiftKeyMask + #define NSEventTypeApplicationDefined NSApplicationDefined #endif // Change to our application bundle's resources directory, if present diff --git a/glfw/cocoa_window.m b/glfw/cocoa_window.m index 1ce79b56..fd2255fc 100644 --- a/glfw/cocoa_window.m +++ b/glfw/cocoa_window.m @@ -41,6 +41,7 @@ #define NSWindowStyleMaskTitled NSTitledWindowMask #define NSEventModifierFlagCommand NSCommandKeyMask #define NSEventModifierFlagControl NSControlKeyMask + #define NSEventModifierFlagNumericPad NSNumericPadKeyMask #define NSEventModifierFlagOption NSAlternateKeyMask #define NSEventModifierFlagShift NSShiftKeyMask #define NSEventModifierFlagCapsLock NSAlphaShiftKeyMask diff --git a/kitty/cocoa_window.m b/kitty/cocoa_window.m index 5e9252ba..99eb3352 100644 --- a/kitty/cocoa_window.m +++ b/kitty/cocoa_window.m @@ -15,6 +15,9 @@ #include #if (MAC_OS_X_VERSION_MAX_ALLOWED < 101200) +typedef NSUInteger NSWindowStyleMask; +#define NSWindowStyleMaskBorderless NSBorderlessWindowMask +#define NSWindowStyleMaskFullScreen NSFullScreenWindowMask #define NSWindowStyleMaskResizable NSResizableWindowMask #define NSEventModifierFlagOption NSAlternateKeyMask #define NSEventModifierFlagCommand NSCommandKeyMask diff --git a/kitty/logging.c b/kitty/logging.c index 45c88174..1ec9f1b0 100644 --- a/kitty/logging.c +++ b/kitty/logging.c @@ -5,12 +5,21 @@ * Distributed under terms of the GPL3 license. */ +#ifdef __APPLE__ +#include +#endif +#if defined(__APPLE__) && defined(MAC_OS_X_VERSION_10_12) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_12 +#define USE_APPLE_OS_LOG 1 +#else +#define USE_APPLE_OS_LOG 0 +#endif + #include "data-types.h" #include #include #include #include -#ifdef __APPLE__ +#if USE_APPLE_OS_LOG #include #endif @@ -21,7 +30,7 @@ void log_error(const char *fmt, ...) { va_list ar; struct timeval tv; -#ifdef __APPLE__ +#if USE_APPLE_OS_LOG // Apple does not provide a varargs style os_logv char logbuf[16 * 1024] = {0}; #else @@ -44,7 +53,7 @@ log_error(const char *fmt, ...) { if (use_os_log) { bufprint(vsnprintf, fmt, ar); } else vfprintf(stderr, fmt, ar); va_end(ar); -#ifdef __APPLE__ +#if USE_APPLE_OS_LOG if (use_os_log) os_log(OS_LOG_DEFAULT, "%{public}s", logbuf); #endif if (!use_os_log) fprintf(stderr, "\n"); @@ -66,7 +75,7 @@ static PyMethodDef module_methods[] = { bool init_logging(PyObject *module) { if (PyModule_AddFunctions(module, module_methods) != 0) return false; -#ifdef __APPLE__ +#if USE_APPLE_OS_LOG if (getenv("KITTY_LAUNCHED_BY_LAUNCH_SERVICES") != NULL) use_os_log = true; #endif return true; diff --git a/setup.py b/setup.py index f8643fce..55a96e73 100755 --- a/setup.py +++ b/setup.py @@ -711,7 +711,7 @@ Categories=System;TerminalEmulator; CFBundlePackageType='APPL', CFBundleSignature='????', CFBundleExecutable=appname, - LSMinimumSystemVersion='10.12.0', + LSMinimumSystemVersion='10.11.0', LSRequiresNativeExecution=True, NSAppleScriptEnabled=False, # Needed for dark mode in Mojave when linking against older SDKs