IDEA-179900 - Docker exec tab does not correctly wrap

- docker terminal pipes: forward tty resize events to remote API
- without resize commands in main docker-java, use client extension to fire custom commands

GitOrigin-RevId: dc4b04c5860213156a5317c5a3d6292c854a40b7
This commit is contained in:
Michael Golubev
2019-08-05 03:03:37 +03:00
committed by intellij-monorepo-bot
parent b5f2c38b6f
commit 193c5e9b7f
2 changed files with 8 additions and 2 deletions
@@ -34,10 +34,16 @@ public abstract class TerminalPipe extends LogPipeBase {
@Override
public void open() {
myTerminalListener = myLoggingHandler.createTerminal(myLogPipeName, getOutputStream(), getInputStream(), getStderr());
myTerminalListener =
myLoggingHandler.createTerminal(myLogPipeName, getOutputStream(), getInputStream(), getStderr());
if (myTerminalListener == null) {
myTerminalListener = TerminalListener.NULL;
}
myTerminalListener.setTtyResizeHandler(getTtyResizeHandler());
}
protected TerminalListener.TtyResizeHandler getTtyResizeHandler() {
return null;
}
protected InputStream getStderr() {
@@ -106,7 +106,7 @@ public class CloudLoggingHandlerImpl implements CloudAgentLoggingHandler {
}
@Override
public void setTtyResizeHandler(TtyResizeHandler ttyResizeHandler) {
public void setTtyResizeHandler(@Nullable TtyResizeHandler ttyResizeHandler) {
if (terminalHandler instanceof TerminalHandlerBase && ttyResizeHandler != null) {
((TerminalHandlerBase)terminalHandler).setResizeHandler(size -> ttyResizeHandler.onTtyResizeRequest(size.width, size.height));
}