summary refs log tree commit diff
path: root/pkgs/applications/misc/kitty/macos-10.11.patch
blob: c8bf46839e8a178f0f0075e6e4b2ef7852d36d0c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
commit 749772b8b8179eb3b71e542fd9ed5621feb578f5
Author: Matthew Glazar <strager.nds@gmail.com>
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 <objc/runtime.h>

 #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 <AvailabilityMacros.h>
+#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 <stdlib.h>
 #include <stdarg.h>
 #include <time.h>
 #include <sys/time.h>
-#ifdef __APPLE__
+#if USE_APPLE_OS_LOG
 #include <os/log.h>
 #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