From bdcb98eafcd92133a42aeb99d4bd8de844f22e9a Mon Sep 17 00:00:00 2001 From: pagedown Date: Mon, 28 Feb 2022 15:02:05 +0800 Subject: [PATCH] Use show_error kitten to display launch URL error messages --- kitty/boss.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/kitty/boss.py b/kitty/boss.py index 54c054f65..3b181a9e9 100644 --- a/kitty/boss.py +++ b/kitty/boss.py @@ -2278,10 +2278,14 @@ class Boss: tab.remove_window(w) if failures: - with force_window_launch(needs_window_replaced): - from kittens.tui.operations import styled - spec = '\n '.join(styled(u, fg='red') for u in failures) - self.launch('--hold', '--type=os-window', kitty_exe(), '+runpy', fr'print("Unknown URL type, cannot open:\n\n ", {spec!r});') + from kittens.tui.operations import styled + spec = '\n '.join(styled(u, fg='red') for u in failures) + bdata = f"Unknown URL type, cannot open:\n\n {spec}".encode('utf-8') + special_window = SpecialWindow([kitty_exe(), '+kitten', 'show_error', '--title', 'Open URL Error'], bdata, 'Open URL Error') + if needs_window_replaced and tab is not None: + tab.new_special_window(special_window) + else: + self._new_os_window(special_window) clear_initial_window() needs_window_replaced = False if actions: