File tree Expand file tree Collapse file tree
src/main/kotlin/com/ashotn/opencode/relay/terminal Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -15,6 +15,8 @@ import org.jetbrains.plugins.terminal.LocalTerminalDirectRunner
1515import org.jetbrains.plugins.terminal.ShellStartupOptions
1616import org.jetbrains.plugins.terminal.ShellTerminalWidget
1717import java.awt.BorderLayout
18+ import java.awt.event.KeyEvent
19+ import java.awt.event.KeyListener
1820import java.lang.reflect.Proxy
1921import javax.swing.JPanel
2022
@@ -98,6 +100,20 @@ class ClassicTuiPanel(
98100 }, this )
99101
100102 add(widget.component, BorderLayout .CENTER )
103+
104+ // Consume ESC key to prevent IDE from stealing focus from the inline terminal.
105+ widget.component.addKeyListener(object : KeyListener {
106+ override fun keyPressed (e : KeyEvent ) {
107+ if (e.keyCode == KeyEvent .VK_ESCAPE ) {
108+ e.consume()
109+ }
110+ }
111+
112+ override fun keyTyped (e : KeyEvent ) {}
113+
114+ override fun keyReleased (e : KeyEvent ) {}
115+ })
116+
101117 revalidate()
102118 repaint()
103119
You can’t perform that action at this time.
0 commit comments