Merge branch 'macos_fix_keyboard_shortcut_encoding' of https://github.com/Luflosi/kitty
This commit is contained in:
commit
286f3630d7
@ -2179,8 +2179,7 @@ GLFWAPI void glfwCocoaRequestRenderFrame(GLFWwindow *w, GLFWcocoarenderframefun
|
|||||||
requestRenderFrame((_GLFWwindow*)w, callback);
|
requestRenderFrame((_GLFWwindow*)w, callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
GLFWAPI void glfwGetCocoaKeyEquivalent(int glfw_key, int glfw_mods, unsigned short *cocoa_key, int *cocoa_mods) {
|
GLFWAPI void glfwGetCocoaKeyEquivalent(int glfw_key, int glfw_mods, char cocoa_key[32], int *cocoa_mods) {
|
||||||
*cocoa_key = 0;
|
|
||||||
*cocoa_mods = 0;
|
*cocoa_mods = 0;
|
||||||
|
|
||||||
if (glfw_mods & GLFW_MOD_SHIFT)
|
if (glfw_mods & GLFW_MOD_SHIFT)
|
||||||
@ -2194,148 +2193,156 @@ GLFWAPI void glfwGetCocoaKeyEquivalent(int glfw_key, int glfw_mods, unsigned sho
|
|||||||
if (glfw_mods & GLFW_MOD_CAPS_LOCK)
|
if (glfw_mods & GLFW_MOD_CAPS_LOCK)
|
||||||
*cocoa_mods |= NSEventModifierFlagCapsLock;
|
*cocoa_mods |= NSEventModifierFlagCapsLock;
|
||||||
|
|
||||||
|
uint32_t utf_8_key = 0;
|
||||||
|
unichar utf_16_key = 0;
|
||||||
|
|
||||||
START_ALLOW_CASE_RANGE
|
START_ALLOW_CASE_RANGE
|
||||||
switch(glfw_key) {
|
switch(glfw_key) {
|
||||||
#define K(ch, name) case GLFW_KEY_##name: *cocoa_key = ch; break;
|
#define K8(ch, name) case GLFW_KEY_##name: utf_8_key = ch; break;
|
||||||
K('!', EXCLAM);
|
#define K16(ch, name) case GLFW_KEY_##name: utf_16_key = ch; break;
|
||||||
K('"', DOUBLE_QUOTE);
|
K8('!', EXCLAM);
|
||||||
K('#', NUMBER_SIGN);
|
K8('"', DOUBLE_QUOTE);
|
||||||
K('$', DOLLAR);
|
K8('#', NUMBER_SIGN);
|
||||||
K('&', AMPERSAND);
|
K8('$', DOLLAR);
|
||||||
K('\'', APOSTROPHE);
|
K8('&', AMPERSAND);
|
||||||
K('(', PARENTHESIS_LEFT);
|
K8('\'', APOSTROPHE);
|
||||||
K(')', PARENTHESIS_RIGHT);
|
K8('(', PARENTHESIS_LEFT);
|
||||||
K('+', PLUS);
|
K8(')', PARENTHESIS_RIGHT);
|
||||||
K(',', COMMA);
|
K8('+', PLUS);
|
||||||
K('-', MINUS);
|
K8(',', COMMA);
|
||||||
K('.', PERIOD);
|
K8('-', MINUS);
|
||||||
K('/', SLASH);
|
K8('.', PERIOD);
|
||||||
K('0', 0);
|
K8('/', SLASH);
|
||||||
K('1', 1);
|
K8('0', 0);
|
||||||
K('2', 2);
|
K8('1', 1);
|
||||||
K('3', 3);
|
K8('2', 2);
|
||||||
K('5', 5);
|
K8('3', 3);
|
||||||
K('6', 6);
|
K8('5', 5);
|
||||||
K('7', 7);
|
K8('6', 6);
|
||||||
K('8', 8);
|
K8('7', 7);
|
||||||
K('9', 9);
|
K8('8', 8);
|
||||||
K(':', COLON);
|
K8('9', 9);
|
||||||
K(';', SEMICOLON);
|
K8(':', COLON);
|
||||||
K('<', LESS);
|
K8(';', SEMICOLON);
|
||||||
K('=', EQUAL);
|
K8('<', LESS);
|
||||||
K('>', GREATER);
|
K8('=', EQUAL);
|
||||||
K('@', AT);
|
K8('>', GREATER);
|
||||||
K('[', LEFT_BRACKET);
|
K8('@', AT);
|
||||||
K('\\', BACKSLASH);
|
K8('[', LEFT_BRACKET);
|
||||||
K(']', RIGHT_BRACKET);
|
K8('\\', BACKSLASH);
|
||||||
K('^', CIRCUMFLEX);
|
K8(']', RIGHT_BRACKET);
|
||||||
K('_', UNDERSCORE);
|
K8('^', CIRCUMFLEX);
|
||||||
K('`', GRAVE_ACCENT);
|
K8('_', UNDERSCORE);
|
||||||
K('a', A);
|
K8('`', GRAVE_ACCENT);
|
||||||
K('b', B);
|
K8('a', A);
|
||||||
K('c', C);
|
K8('b', B);
|
||||||
K('d', D);
|
K8('c', C);
|
||||||
K('e', E);
|
K8('d', D);
|
||||||
K('f', F);
|
K8('e', E);
|
||||||
K('g', G);
|
K8('f', F);
|
||||||
K('h', H);
|
K8('g', G);
|
||||||
K('i', I);
|
K8('h', H);
|
||||||
K('j', J);
|
K8('i', I);
|
||||||
K('k', K);
|
K8('j', J);
|
||||||
K('l', L);
|
K8('k', K);
|
||||||
K('m', M);
|
K8('l', L);
|
||||||
K('n', N);
|
K8('m', M);
|
||||||
K('o', O);
|
K8('n', N);
|
||||||
K('p', P);
|
K8('o', O);
|
||||||
K('q', Q);
|
K8('p', P);
|
||||||
K('r', R);
|
K8('q', Q);
|
||||||
K('s', S);
|
K8('r', R);
|
||||||
K('t', T);
|
K8('s', S);
|
||||||
K('u', U);
|
K8('t', T);
|
||||||
K('v', V);
|
K8('u', U);
|
||||||
K('w', W);
|
K8('v', V);
|
||||||
K('x', X);
|
K8('w', W);
|
||||||
K('y', Y);
|
K8('x', X);
|
||||||
K('z', Z);
|
K8('y', Y);
|
||||||
K(PARAGRAPH_UTF_8, PARAGRAPH);
|
K8('z', Z);
|
||||||
K(MASCULINE_UTF_8, MASCULINE);
|
K8(PARAGRAPH_UTF_8, PARAGRAPH);
|
||||||
K(S_SHARP_UTF_8, S_SHARP);
|
K8(MASCULINE_UTF_8, MASCULINE);
|
||||||
K(A_GRAVE_LOWER_CASE_UTF_8, A_GRAVE);
|
K8(S_SHARP_UTF_8, S_SHARP);
|
||||||
K(A_DIAERESIS_LOWER_CASE_UTF_8, A_DIAERESIS);
|
K8(A_GRAVE_LOWER_CASE_UTF_8, A_GRAVE);
|
||||||
K(A_RING_LOWER_CASE_UTF_8, A_RING);
|
K8(A_DIAERESIS_LOWER_CASE_UTF_8, A_DIAERESIS);
|
||||||
K(AE_LOWER_CASE_UTF_8, AE);
|
K8(A_RING_LOWER_CASE_UTF_8, A_RING);
|
||||||
K(C_CEDILLA_LOWER_CASE_UTF_8, C_CEDILLA);
|
K8(AE_LOWER_CASE_UTF_8, AE);
|
||||||
K(E_GRAVE_LOWER_CASE_UTF_8, E_GRAVE);
|
K8(C_CEDILLA_LOWER_CASE_UTF_8, C_CEDILLA);
|
||||||
K(E_ACUTE_LOWER_CASE_UTF_8, E_ACUTE);
|
K8(E_GRAVE_LOWER_CASE_UTF_8, E_GRAVE);
|
||||||
K(I_GRAVE_LOWER_CASE_UTF_8, I_GRAVE);
|
K8(E_ACUTE_LOWER_CASE_UTF_8, E_ACUTE);
|
||||||
K(N_TILDE_LOWER_CASE_UTF_8, N_TILDE);
|
K8(I_GRAVE_LOWER_CASE_UTF_8, I_GRAVE);
|
||||||
K(O_GRAVE_LOWER_CASE_UTF_8, O_GRAVE);
|
K8(N_TILDE_LOWER_CASE_UTF_8, N_TILDE);
|
||||||
K(O_DIAERESIS_LOWER_CASE_UTF_8, O_DIAERESIS);
|
K8(O_GRAVE_LOWER_CASE_UTF_8, O_GRAVE);
|
||||||
K(O_SLASH_LOWER_CASE_UTF_8, O_SLASH);
|
K8(O_DIAERESIS_LOWER_CASE_UTF_8, O_DIAERESIS);
|
||||||
K(U_GRAVE_LOWER_CASE_UTF_8, U_GRAVE);
|
K8(O_SLASH_LOWER_CASE_UTF_8, O_SLASH);
|
||||||
K(U_DIAERESIS_LOWER_CASE_UTF_8, U_DIAERESIS);
|
K8(U_GRAVE_LOWER_CASE_UTF_8, U_GRAVE);
|
||||||
K(CYRILLIC_A_LOWER_CASE_UTF_8, CYRILLIC_A);
|
K8(U_DIAERESIS_LOWER_CASE_UTF_8, U_DIAERESIS);
|
||||||
K(CYRILLIC_BE_LOWER_CASE_UTF_8, CYRILLIC_BE);
|
K8(CYRILLIC_A_LOWER_CASE_UTF_8, CYRILLIC_A);
|
||||||
K(CYRILLIC_VE_LOWER_CASE_UTF_8, CYRILLIC_VE);
|
K8(CYRILLIC_BE_LOWER_CASE_UTF_8, CYRILLIC_BE);
|
||||||
K(CYRILLIC_GHE_LOWER_CASE_UTF_8, CYRILLIC_GHE);
|
K8(CYRILLIC_VE_LOWER_CASE_UTF_8, CYRILLIC_VE);
|
||||||
K(CYRILLIC_DE_LOWER_CASE_UTF_8, CYRILLIC_DE);
|
K8(CYRILLIC_GHE_LOWER_CASE_UTF_8, CYRILLIC_GHE);
|
||||||
K(CYRILLIC_IE_LOWER_CASE_UTF_8, CYRILLIC_IE);
|
K8(CYRILLIC_DE_LOWER_CASE_UTF_8, CYRILLIC_DE);
|
||||||
K(CYRILLIC_ZHE_LOWER_CASE_UTF_8, CYRILLIC_ZHE);
|
K8(CYRILLIC_IE_LOWER_CASE_UTF_8, CYRILLIC_IE);
|
||||||
K(CYRILLIC_ZE_LOWER_CASE_UTF_8, CYRILLIC_ZE);
|
K8(CYRILLIC_ZHE_LOWER_CASE_UTF_8, CYRILLIC_ZHE);
|
||||||
K(CYRILLIC_I_LOWER_CASE_UTF_8, CYRILLIC_I);
|
K8(CYRILLIC_ZE_LOWER_CASE_UTF_8, CYRILLIC_ZE);
|
||||||
K(CYRILLIC_SHORT_I_LOWER_CASE_UTF_8, CYRILLIC_SHORT_I);
|
K8(CYRILLIC_I_LOWER_CASE_UTF_8, CYRILLIC_I);
|
||||||
K(CYRILLIC_KA_LOWER_CASE_UTF_8, CYRILLIC_KA);
|
K8(CYRILLIC_SHORT_I_LOWER_CASE_UTF_8, CYRILLIC_SHORT_I);
|
||||||
K(CYRILLIC_EL_LOWER_CASE_UTF_8, CYRILLIC_EL);
|
K8(CYRILLIC_KA_LOWER_CASE_UTF_8, CYRILLIC_KA);
|
||||||
K(CYRILLIC_EM_LOWER_CASE_UTF_8, CYRILLIC_EM);
|
K8(CYRILLIC_EL_LOWER_CASE_UTF_8, CYRILLIC_EL);
|
||||||
K(CYRILLIC_EN_LOWER_CASE_UTF_8, CYRILLIC_EN);
|
K8(CYRILLIC_EM_LOWER_CASE_UTF_8, CYRILLIC_EM);
|
||||||
K(CYRILLIC_O_LOWER_CASE_UTF_8, CYRILLIC_O);
|
K8(CYRILLIC_EN_LOWER_CASE_UTF_8, CYRILLIC_EN);
|
||||||
K(CYRILLIC_PE_LOWER_CASE_UTF_8, CYRILLIC_PE);
|
K8(CYRILLIC_O_LOWER_CASE_UTF_8, CYRILLIC_O);
|
||||||
K(CYRILLIC_ER_LOWER_CASE_UTF_8, CYRILLIC_ER);
|
K8(CYRILLIC_PE_LOWER_CASE_UTF_8, CYRILLIC_PE);
|
||||||
K(CYRILLIC_ES_LOWER_CASE_UTF_8, CYRILLIC_ES);
|
K8(CYRILLIC_ER_LOWER_CASE_UTF_8, CYRILLIC_ER);
|
||||||
K(CYRILLIC_TE_LOWER_CASE_UTF_8, CYRILLIC_TE);
|
K8(CYRILLIC_ES_LOWER_CASE_UTF_8, CYRILLIC_ES);
|
||||||
K(CYRILLIC_U_LOWER_CASE_UTF_8, CYRILLIC_U);
|
K8(CYRILLIC_TE_LOWER_CASE_UTF_8, CYRILLIC_TE);
|
||||||
K(CYRILLIC_EF_LOWER_CASE_UTF_8, CYRILLIC_EF);
|
K8(CYRILLIC_U_LOWER_CASE_UTF_8, CYRILLIC_U);
|
||||||
K(CYRILLIC_HA_LOWER_CASE_UTF_8, CYRILLIC_HA);
|
K8(CYRILLIC_EF_LOWER_CASE_UTF_8, CYRILLIC_EF);
|
||||||
K(CYRILLIC_TSE_LOWER_CASE_UTF_8, CYRILLIC_TSE);
|
K8(CYRILLIC_HA_LOWER_CASE_UTF_8, CYRILLIC_HA);
|
||||||
K(CYRILLIC_CHE_LOWER_CASE_UTF_8, CYRILLIC_CHE);
|
K8(CYRILLIC_TSE_LOWER_CASE_UTF_8, CYRILLIC_TSE);
|
||||||
K(CYRILLIC_SHA_LOWER_CASE_UTF_8, CYRILLIC_SHA);
|
K8(CYRILLIC_CHE_LOWER_CASE_UTF_8, CYRILLIC_CHE);
|
||||||
K(CYRILLIC_SHCHA_LOWER_CASE_UTF_8, CYRILLIC_SHCHA);
|
K8(CYRILLIC_SHA_LOWER_CASE_UTF_8, CYRILLIC_SHA);
|
||||||
K(CYRILLIC_HARD_SIGN_LOWER_CASE_UTF_8, CYRILLIC_HARD_SIGN);
|
K8(CYRILLIC_SHCHA_LOWER_CASE_UTF_8, CYRILLIC_SHCHA);
|
||||||
K(CYRILLIC_YERU_LOWER_CASE_UTF_8, CYRILLIC_YERU);
|
K8(CYRILLIC_HARD_SIGN_LOWER_CASE_UTF_8, CYRILLIC_HARD_SIGN);
|
||||||
K(CYRILLIC_SOFT_SIGN_LOWER_CASE_UTF_8, CYRILLIC_SOFT_SIGN);
|
K8(CYRILLIC_YERU_LOWER_CASE_UTF_8, CYRILLIC_YERU);
|
||||||
K(CYRILLIC_E_LOWER_CASE_UTF_8, CYRILLIC_E);
|
K8(CYRILLIC_SOFT_SIGN_LOWER_CASE_UTF_8, CYRILLIC_SOFT_SIGN);
|
||||||
K(CYRILLIC_YU_LOWER_CASE_UTF_8, CYRILLIC_YU);
|
K8(CYRILLIC_E_LOWER_CASE_UTF_8, CYRILLIC_E);
|
||||||
K(CYRILLIC_YA_LOWER_CASE_UTF_8, CYRILLIC_YA);
|
K8(CYRILLIC_YU_LOWER_CASE_UTF_8, CYRILLIC_YU);
|
||||||
K(CYRILLIC_IO_LOWER_CASE_UTF_8, CYRILLIC_IO);
|
K8(CYRILLIC_YA_LOWER_CASE_UTF_8, CYRILLIC_YA);
|
||||||
|
K8(CYRILLIC_IO_LOWER_CASE_UTF_8, CYRILLIC_IO);
|
||||||
|
|
||||||
K(0x35, ESCAPE);
|
K8(0x35, ESCAPE);
|
||||||
K('\r', ENTER);
|
K8('\r', ENTER);
|
||||||
K('\t', TAB);
|
K8('\t', TAB);
|
||||||
K(NSBackspaceCharacter, BACKSPACE);
|
K16(NSBackspaceCharacter, BACKSPACE);
|
||||||
K(NSInsertFunctionKey, INSERT);
|
K16(NSInsertFunctionKey, INSERT);
|
||||||
K(NSDeleteCharacter, DELETE);
|
K16(NSDeleteCharacter, DELETE);
|
||||||
K(NSLeftArrowFunctionKey, LEFT);
|
K16(NSLeftArrowFunctionKey, LEFT);
|
||||||
K(NSRightArrowFunctionKey, RIGHT);
|
K16(NSRightArrowFunctionKey, RIGHT);
|
||||||
K(NSUpArrowFunctionKey, UP);
|
K16(NSUpArrowFunctionKey, UP);
|
||||||
K(NSDownArrowFunctionKey, DOWN);
|
K16(NSDownArrowFunctionKey, DOWN);
|
||||||
K(NSPageUpFunctionKey, PAGE_UP);
|
K16(NSPageUpFunctionKey, PAGE_UP);
|
||||||
K(NSPageDownFunctionKey, PAGE_DOWN);
|
K16(NSPageDownFunctionKey, PAGE_DOWN);
|
||||||
K(NSHomeFunctionKey, HOME);
|
K16(NSHomeFunctionKey, HOME);
|
||||||
K(NSEndFunctionKey, END);
|
K16(NSEndFunctionKey, END);
|
||||||
K(NSPrintFunctionKey, PRINT_SCREEN);
|
K16(NSPrintFunctionKey, PRINT_SCREEN);
|
||||||
case GLFW_KEY_F1 ... GLFW_KEY_F24:
|
case GLFW_KEY_F1 ... GLFW_KEY_F24:
|
||||||
*cocoa_key = NSF1FunctionKey + (glfw_key - GLFW_KEY_F1); break;
|
utf_16_key = NSF1FunctionKey + (glfw_key - GLFW_KEY_F1); break;
|
||||||
case GLFW_KEY_KP_0 ... GLFW_KEY_KP_9:
|
#undef K8
|
||||||
*cocoa_key = NSEventModifierFlagNumericPad | (0x52 + (glfw_key - GLFW_KEY_KP_0)); break;
|
#undef K16
|
||||||
K((unichar)(0x41|NSEventModifierFlagNumericPad), KP_DECIMAL);
|
|
||||||
K((unichar)(0x43|NSEventModifierFlagNumericPad), KP_MULTIPLY);
|
|
||||||
K((unichar)(0x45|NSEventModifierFlagNumericPad), KP_ADD);
|
|
||||||
K((unichar)(0x4B|NSEventModifierFlagNumericPad), KP_DIVIDE);
|
|
||||||
K((unichar)(0x4E|NSEventModifierFlagNumericPad), KP_SUBTRACT);
|
|
||||||
K((unichar)(0x51|NSEventModifierFlagNumericPad), KP_EQUAL);
|
|
||||||
#undef K
|
|
||||||
END_ALLOW_CASE_RANGE
|
END_ALLOW_CASE_RANGE
|
||||||
}
|
}
|
||||||
|
if (utf_16_key != 0) {
|
||||||
|
strncpy(cocoa_key, [[NSString stringWithCharacters:&utf_16_key length:1] UTF8String], sizeof(cocoa_key) - 1);
|
||||||
|
} else {
|
||||||
|
unsigned str_pos = 0;
|
||||||
|
for (unsigned i = 0; i < 4 && str_pos < sizeof(cocoa_key) - 1; i++) {
|
||||||
|
uint8_t byte = (utf_8_key >> 24) & 0xff;
|
||||||
|
utf_8_key <<= 8;
|
||||||
|
if (byte != 0) tmp_cocoa_key[str_pos++] = byte;
|
||||||
|
}
|
||||||
|
cocoa_key[str_pos] = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -166,7 +166,7 @@ def generate_wrappers(glfw_header):
|
|||||||
GLFWcocoatogglefullscreenfun glfwSetCocoaToggleFullscreenIntercept(GLFWwindow *window, GLFWcocoatogglefullscreenfun callback)
|
GLFWcocoatogglefullscreenfun glfwSetCocoaToggleFullscreenIntercept(GLFWwindow *window, GLFWcocoatogglefullscreenfun callback)
|
||||||
GLFWapplicationshouldhandlereopenfun glfwSetApplicationShouldHandleReopen(GLFWapplicationshouldhandlereopenfun callback)
|
GLFWapplicationshouldhandlereopenfun glfwSetApplicationShouldHandleReopen(GLFWapplicationshouldhandlereopenfun callback)
|
||||||
GLFWapplicationwillfinishlaunchingfun glfwSetApplicationWillFinishLaunching(GLFWapplicationwillfinishlaunchingfun callback)
|
GLFWapplicationwillfinishlaunchingfun glfwSetApplicationWillFinishLaunching(GLFWapplicationwillfinishlaunchingfun callback)
|
||||||
void glfwGetCocoaKeyEquivalent(int glfw_key, int glfw_mods, void* cocoa_key, int* cocoa_mods)
|
void glfwGetCocoaKeyEquivalent(int glfw_key, int glfw_mods, char cocoa_key[32], int* cocoa_mods)
|
||||||
void glfwCocoaRequestRenderFrame(GLFWwindow *w, GLFWcocoarenderframefun callback)
|
void glfwCocoaRequestRenderFrame(GLFWwindow *w, GLFWcocoarenderframefun callback)
|
||||||
void* glfwGetX11Display(void)
|
void* glfwGetX11Display(void)
|
||||||
int32_t glfwGetX11Window(GLFWwindow* window)
|
int32_t glfwGetX11Window(GLFWwindow* window)
|
||||||
|
|||||||
@ -97,7 +97,7 @@ find_app_name(void) {
|
|||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
static unichar new_window_key = 0;
|
static char new_window_key[32] = {0};
|
||||||
static NSEventModifierFlags new_window_mods = 0;
|
static NSEventModifierFlags new_window_mods = 0;
|
||||||
|
|
||||||
static PyObject*
|
static PyObject*
|
||||||
@ -105,9 +105,10 @@ cocoa_set_new_window_trigger(PyObject *self UNUSED, PyObject *args) {
|
|||||||
int mods, key;
|
int mods, key;
|
||||||
if (!PyArg_ParseTuple(args, "ii", &mods, &key)) return NULL;
|
if (!PyArg_ParseTuple(args, "ii", &mods, &key)) return NULL;
|
||||||
int nwm;
|
int nwm;
|
||||||
get_cocoa_key_equivalent(key, mods, &new_window_key, &nwm);
|
memset(new_window_key, 0, sizeof(new_window_key));
|
||||||
|
get_cocoa_key_equivalent(key, mods, new_window_key, &nwm);
|
||||||
new_window_mods = nwm;
|
new_window_mods = nwm;
|
||||||
if (new_window_key) Py_RETURN_TRUE;
|
if (new_window_key[0]) Py_RETURN_TRUE;
|
||||||
Py_RETURN_FALSE;
|
Py_RETURN_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -252,8 +253,8 @@ cocoa_create_global_menu(void) {
|
|||||||
NSMenuItem* preferences_menu_item = [[NSMenuItem alloc] initWithTitle:@"Preferences..." action:@selector(show_preferences:) keyEquivalent:@","], *new_os_window_menu_item = NULL;
|
NSMenuItem* preferences_menu_item = [[NSMenuItem alloc] initWithTitle:@"Preferences..." action:@selector(show_preferences:) keyEquivalent:@","], *new_os_window_menu_item = NULL;
|
||||||
[preferences_menu_item setTarget:global_menu_target];
|
[preferences_menu_item setTarget:global_menu_target];
|
||||||
[appMenu addItem:preferences_menu_item];
|
[appMenu addItem:preferences_menu_item];
|
||||||
if (new_window_key) {
|
if (new_window_key[0]) {
|
||||||
NSString *s = [NSString stringWithCharacters:&new_window_key length:1];
|
NSString *s = @(new_window_key);
|
||||||
new_os_window_menu_item = [[NSMenuItem alloc] initWithTitle:@"New OS window" action:@selector(new_os_window:) keyEquivalent:s];
|
new_os_window_menu_item = [[NSMenuItem alloc] initWithTitle:@"New OS window" action:@selector(new_os_window:) keyEquivalent:s];
|
||||||
[new_os_window_menu_item setKeyEquivalentModifierMask:new_window_mods];
|
[new_os_window_menu_item setKeyEquivalentModifierMask:new_window_mods];
|
||||||
[new_os_window_menu_item setTarget:global_menu_target];
|
[new_os_window_menu_item setTarget:global_menu_target];
|
||||||
@ -473,7 +474,6 @@ cleanup() {
|
|||||||
dockMenu = nil;
|
dockMenu = nil;
|
||||||
if (notification_activated_callback) Py_DECREF(notification_activated_callback);
|
if (notification_activated_callback) Py_DECREF(notification_activated_callback);
|
||||||
notification_activated_callback = NULL;
|
notification_activated_callback = NULL;
|
||||||
|
|
||||||
} // autoreleasepool
|
} // autoreleasepool
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
2
kitty/glfw-wrapper.h
generated
2
kitty/glfw-wrapper.h
generated
@ -2083,7 +2083,7 @@ typedef GLFWapplicationwillfinishlaunchingfun (*glfwSetApplicationWillFinishLaun
|
|||||||
glfwSetApplicationWillFinishLaunching_func glfwSetApplicationWillFinishLaunching_impl;
|
glfwSetApplicationWillFinishLaunching_func glfwSetApplicationWillFinishLaunching_impl;
|
||||||
#define glfwSetApplicationWillFinishLaunching glfwSetApplicationWillFinishLaunching_impl
|
#define glfwSetApplicationWillFinishLaunching glfwSetApplicationWillFinishLaunching_impl
|
||||||
|
|
||||||
typedef void (*glfwGetCocoaKeyEquivalent_func)(int, int, void*, int*);
|
typedef void (*glfwGetCocoaKeyEquivalent_func)(int, int, char, int*);
|
||||||
glfwGetCocoaKeyEquivalent_func glfwGetCocoaKeyEquivalent_impl;
|
glfwGetCocoaKeyEquivalent_func glfwGetCocoaKeyEquivalent_impl;
|
||||||
#define glfwGetCocoaKeyEquivalent glfwGetCocoaKeyEquivalent_impl
|
#define glfwGetCocoaKeyEquivalent glfwGetCocoaKeyEquivalent_impl
|
||||||
|
|
||||||
|
|||||||
@ -1079,7 +1079,7 @@ set_custom_cursor(PyObject *self UNUSED, PyObject *args) {
|
|||||||
|
|
||||||
#ifdef __APPLE__
|
#ifdef __APPLE__
|
||||||
void
|
void
|
||||||
get_cocoa_key_equivalent(int key, int mods, unsigned short *cocoa_key, int *cocoa_mods) {
|
get_cocoa_key_equivalent(int key, int mods, char cocoa_key[32], int *cocoa_mods) {
|
||||||
glfwGetCocoaKeyEquivalent(key, mods, cocoa_key, cocoa_mods);
|
glfwGetCocoaKeyEquivalent(key, mods, cocoa_key, cocoa_mods);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -225,7 +225,7 @@ void set_titlebar_color(OSWindow *w, color_type color);
|
|||||||
FONTS_DATA_HANDLE load_fonts_data(double, double, double);
|
FONTS_DATA_HANDLE load_fonts_data(double, double, double);
|
||||||
void send_prerendered_sprites_for_window(OSWindow *w);
|
void send_prerendered_sprites_for_window(OSWindow *w);
|
||||||
#ifdef __APPLE__
|
#ifdef __APPLE__
|
||||||
void get_cocoa_key_equivalent(int, int, unsigned short*, int*);
|
void get_cocoa_key_equivalent(int, int, char key[32], int*);
|
||||||
typedef enum {
|
typedef enum {
|
||||||
PREFERENCES_WINDOW = 1,
|
PREFERENCES_WINDOW = 1,
|
||||||
NEW_OS_WINDOW = 2,
|
NEW_OS_WINDOW = 2,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user