diff --git a/src/ui/features/terminal/Terminal.tsx b/src/ui/features/terminal/Terminal.tsx index 836eb1b5..d1dd71e3 100644 --- a/src/ui/features/terminal/Terminal.tsx +++ b/src/ui/features/terminal/Terminal.tsx @@ -223,6 +223,20 @@ const TerminalInner = forwardRef( url: string; } | null>(null); + useEffect(() => { + if (!linkClickDialog) return; + + const handleKeyDown = (event: KeyboardEvent) => { + if (event.key !== "Escape") return; + event.preventDefault(); + event.stopPropagation(); + setLinkClickDialog(null); + }; + + window.addEventListener("keydown", handleKeyDown, true); + return () => window.removeEventListener("keydown", handleKeyDown, true); + }, [linkClickDialog]); + const [tmuxSessionPicker, setTmuxSessionPicker] = useState<{ sessions: Array<{ name: string; @@ -3092,10 +3106,12 @@ const TerminalInner = forwardRef(
setLinkClickDialog(null)} >
event.stopPropagation()} >

{t("terminal.linkDialogTitle")}