diff --git a/kitty/boss.py b/kitty/boss.py index 2fb6248a8..ea335a0ea 100644 --- a/kitty/boss.py +++ b/kitty/boss.py @@ -90,7 +90,6 @@ def iterwindows(self): def add_child(self, window): self.child_monitor.add_child(window.id, window.child.pid, window.child.child_fd, window.screen) self.window_id_map[window.id] = window - wakeup() def on_child_death(self, window_id): w = self.window_id_map.pop(window_id, None) @@ -101,7 +100,6 @@ def close_window(self, window=None): if window is None: window = self.active_window self.child_monitor.mark_for_close(window.id) - wakeup() def close_tab(self, tab=None): if tab is None: diff --git a/kitty/child-monitor.c b/kitty/child-monitor.c index 1bfe41440..30a8184f9 100644 --- a/kitty/child-monitor.c +++ b/kitty/child-monitor.c @@ -226,6 +226,7 @@ add_child(ChildMonitor *self, PyObject *args) { INCREF_CHILD(add_queue[add_queue_count]); add_queue_count++; children_mutex(unlock); + wakeup_io_loop(); Py_RETURN_NONE; } @@ -354,6 +355,7 @@ mark_for_close(ChildMonitor *self, PyObject *args) { } } children_mutex(unlock); + wakeup_io_loop(); Py_RETURN_NONE; }