diff --git a/docs/changelog.rst b/docs/changelog.rst index a1a4598b4..ab0a136e6 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -51,6 +51,9 @@ To update |kitty|, :doc:`follow the instructions `. - macOS: Notarize the kitty application (:iss:`2040`) +- Fix the kitty shell launched via a mapping needlessly requiring + :opt:`allow_remote_control` to be turned on. + 0.17.4 [2020-05-09] -------------------- diff --git a/kitty/boss.py b/kitty/boss.py index 58f9d2f5e..4c804db83 100644 --- a/kitty/boss.py +++ b/kitty/boss.py @@ -948,19 +948,24 @@ class Boss: if aw is not None: kw['env'] = {'KITTY_SHELL_ACTIVE_WINDOW_ID': str(aw.id)} if window_type == 'tab': - self._new_tab(SpecialWindow(cmd, **kw)) + tab = self._new_tab(SpecialWindow(cmd, **kw)) + if tab is not None: + for w in tab: + w.allow_remote_control = True elif window_type == 'os_window': os_window_id = self._new_os_window(SpecialWindow(cmd, **kw)) - self.os_window_map[os_window_id] + for tab in self.os_window_map[os_window_id]: + for w in tab: + w.allow_remote_control = True elif window_type == 'overlay': tab = self.active_tab if aw is not None and tab is not None: kw['overlay_for'] = aw.id - tab.new_special_window(SpecialWindow(cmd, **kw)) + tab.new_special_window(SpecialWindow(cmd, **kw), allow_remote_control=True) else: tab = self.active_tab if tab is not None: - tab.new_special_window(SpecialWindow(cmd, **kw)) + tab.new_special_window(SpecialWindow(cmd, **kw), allow_remote_control=True) def switch_focus_to(self, window_id: int) -> None: tab = self.active_tab