diff --git a/kitty/cocoa_window.m b/kitty/cocoa_window.m index d3198b399..32372f490 100644 --- a/kitty/cocoa_window.m +++ b/kitty/cocoa_window.m @@ -267,6 +267,12 @@ cocoa_get_lang(PyObject UNUSED *self) { return Py_BuildValue("s", [locale UTF8String]); } +static PyObject* +cocoa_get_double_click_interval(PyObject UNUSED *self) { + double interval = [NSEvent doubleClickInterval]; + return Py_BuildValue("f", interval); +} + void cocoa_set_hide_from_tasks(void) { [NSApp setActivationPolicy:NSApplicationActivationPolicyAccessory]; @@ -300,6 +306,7 @@ cocoa_set_titlebar_color(void *w, color_type titlebar_color) static PyMethodDef module_methods[] = { {"cocoa_get_lang", (PyCFunction)cocoa_get_lang, METH_NOARGS, ""}, + {"cocoa_get_double_click_interval", (PyCFunction)cocoa_get_double_click_interval, METH_NOARGS, ""}, {"cocoa_set_new_window_trigger", (PyCFunction)cocoa_set_new_window_trigger, METH_VARARGS, ""}, {NULL, NULL, 0, NULL} /* Sentinel */ }; diff --git a/kitty/config_data.py b/kitty/config_data.py index 882e32fb4..8f3e3b875 100644 --- a/kitty/config_data.py +++ b/kitty/config_data.py @@ -399,7 +399,15 @@ Characters considered part of a word when double clicking. In addition to these any character that is marked as an alpha-numeric character in the unicode database will be matched.''')) -o('click_interval', 0.5, option_type=positive_float, long_text=_(''' + +def click_interval(x): + if x == 'system': + from .fast_data_types import cocoa_get_double_click_interval + return cocoa_get_double_click_interval() + return positive_float(x) + + +o('click_interval', 'system', option_type=click_interval, long_text=_(''' The interval between successive clicks to detect double/triple clicks (in seconds)'''))