From cf0a5fb60740bfeead13bc15b5eb37f1b5b6bf0d Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 12 Apr 2024 11:39:24 +0530 Subject: [PATCH] Expose pause_rendering to Python --- kitty/fast_data_types.pyi | 1 + kitty/screen.c | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/kitty/fast_data_types.pyi b/kitty/fast_data_types.pyi index d75dad48b..8e2244176 100644 --- a/kitty/fast_data_types.pyi +++ b/kitty/fast_data_types.pyi @@ -1217,6 +1217,7 @@ class Screen: def change_pointer_shape(self, op: str, name: str) -> None: ... def bell(self) -> None: ... + def pause_rendering(self, pause: bool = True, for_how_long_in_ms: int = 100) -> bool: ... def set_tab_bar_render_data( os_window_id: int, screen: Screen, left: int, top: int, right: int, bottom: int diff --git a/kitty/screen.c b/kitty/screen.c index 695899263..0bdece97e 100644 --- a/kitty/screen.c +++ b/kitty/screen.c @@ -4383,6 +4383,15 @@ toggle_alt_screen(Screen *self, PyObject *a UNUSED) { Py_RETURN_NONE; } +static PyObject* +pause_rendering(Screen *self, PyObject *args) { + int msec = 100; + int pause = 1; + if (!PyArg_ParseTuple(args, "|pi", &msec)) return NULL; + if (screen_pause_rendering(self, pause, msec)) Py_RETURN_TRUE; + Py_RETURN_FALSE; +} + static PyObject* send_escape_code_to_child(Screen *self, PyObject *args) { int code; @@ -4774,6 +4783,7 @@ static PyMethodDef methods[] = { MND(scroll, METH_VARARGS) MND(scroll_to_prompt, METH_VARARGS) MND(send_escape_code_to_child, METH_VARARGS) + MND(pause_rendering, METH_VARARGS) MND(hyperlink_at, METH_VARARGS) MND(toggle_alt_screen, METH_NOARGS) MND(reset_callbacks, METH_NOARGS)