From 2d9a0ca39e30396389df3a406c7d5ca63b1b7afa Mon Sep 17 00:00:00 2001 From: David Lechner Date: Fri, 28 Oct 2022 17:46:11 -0500 Subject: [PATCH] terminal: focus when repl is requested --- src/terminal/Terminal.tsx | 10 ++++++++++ src/terminal/sagas.ts | 7 ++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/terminal/Terminal.tsx b/src/terminal/Terminal.tsx index 89a79049..c159b07a 100644 --- a/src/terminal/Terminal.tsx +++ b/src/terminal/Terminal.tsx @@ -177,6 +177,16 @@ const Terminal: React.FC = (_props) => { [createContextMenu, xterm], ); + useEffect(() => { + const listener = () => { + xterm.focus(); + }; + + addEventListener('pb-terminal-focus', listener); + + return () => removeEventListener('pb-terminal-focus', listener); + }, [xterm]); + return ( ): Generator { dataSource.next(action.value); } +function handleRepl(): void { + dispatchEvent(new CustomEvent('pb-terminal-focus')); +} + export default function* (): Generator { yield* takeEvery(didNotify, receiveUartData); yield* fork(receiveTerminalData); yield* takeEvery(sendData, sendTerminalData); + yield* takeEvery(repl, handleRepl); }