@Override public Size getSize() { return terminal.getSize(); }
@Override public Size getSize() { return terminal.getSize(); }
@Override public Size getSize() { return delegate().getSize(); }
@Override public Size getSize() { return delegate().getSize(); }
default int getWidth() { return getSize().getColumns(); }
default int getHeight() { return getSize().getRows(); }
private static void registerSignalHandler(final Terminal terminal, final PtyCapableChannelSession channel) { try { Class<?> signalClass = Class.forName("sun.misc.Signal"); Class<?> signalHandlerClass = Class.forName("sun.misc.SignalHandler"); // Implement signal handler Object signalHandler = Proxy.newProxyInstance(Main.class.getClassLoader(), new Class<?>[]{signalHandlerClass}, (proxy, method, args) -> { Size size = terminal.getSize(); channel.sendWindowChange(size.getColumns(), size.getRows()); return null; } ); // Register the signal handler, this code is equivalent to: // Signal.handle(new Signal("CONT"), signalHandler); signalClass.getMethod("handle", signalClass, signalHandlerClass).invoke( null, signalClass.getConstructor(String.class).newInstance("WINCH"), signalHandler); } catch (Exception e) { // Ignore this exception, if the above failed, the signal API is incompatible with what we're expecting } }
private static void registerSignalHandler(final Terminal terminal, final PtyCapableChannelSession channel) { try { Class<?> signalClass = Class.forName("sun.misc.Signal"); Class<?> signalHandlerClass = Class.forName("sun.misc.SignalHandler"); // Implement signal handler Object signalHandler = Proxy.newProxyInstance(Main.class.getClassLoader(), new Class<?>[]{signalHandlerClass}, (proxy, method, args) -> { Size size = terminal.getSize(); channel.sendWindowChange(size.getColumns(), size.getRows()); return null; } ); // Register the signal handler, this code is equivalent to: // Signal.handle(new Signal("CONT"), signalHandler); signalClass.getMethod("handle", signalClass, signalHandlerClass).invoke( null, signalClass.getConstructor(String.class).newInstance("WINCH"), signalHandler); } catch (Exception e) { // Ignore this exception, if the above failed, the signal API is incompatible with what we're expecting } }
public void handle(Signal signal) { size.copy(terminal.getSize()); try { display.clear(); display(false); } catch (IOException e) { e.printStackTrace(); } }
public void handle(Signal signal) { size.copy(terminal.getSize()); try { display.clear(); display(false); } catch (IOException e) { e.printStackTrace(); } }
private void handle(Terminal.Signal signal) { int prevw = size.getColumns(); size.copy(terminal.getSize()); try { if (size.getColumns() < prevw) { display.clear(); } display(); } catch (IOException e) { // ignore } }
private void handle(Terminal.Signal signal) { int prevw = size.getColumns(); size.copy(terminal.getSize()); try { if (size.getColumns() < prevw) { display.clear(); } display(); } catch (IOException e) { // ignore } }
protected void handle(Signal signal) { if (buffer != null) { size.copy(terminal.getSize()); buffer.computeAllOffsets(); buffer.moveToChar(buffer.offsetInLine + buffer.column); resetDisplay(); display(); } }
protected void handle(Signal signal) { if (buffer != null) { size.copy(terminal.getSize()); buffer.computeAllOffsets(); buffer.moveToChar(buffer.offsetInLine + buffer.column); resetDisplay(); display(); } }
private void handleResize() { // Re-compute the layout if (resized.compareAndSet(true, false)) { size.copy(terminal.getSize()); } layout.resize(size.getColumns(), size.getRows() - 1); panes.forEach(vc -> { if (vc.width() != vc.layout.sx || vc.height() != vc.layout.sy || vc.left() != vc.layout.xoff || vc.top() != vc.layout.yoff) { vc.resize(vc.layout.xoff, vc.layout.yoff, vc.layout.sx, vc.layout.sy); display.clear(); } }); }
private void handleResize() { // Re-compute the layout if (resized.compareAndSet(true, false)) { size.copy(terminal.getSize()); } layout.resize(size.getColumns(), size.getRows() - 1); panes.forEach(vc -> { if (vc.width() != vc.layout.sx || vc.height() != vc.layout.sy || vc.left() != vc.layout.xoff || vc.top() != vc.layout.yoff) { vc.resize(vc.layout.xoff, vc.layout.yoff, vc.layout.sx, vc.layout.sy); display.clear(); } }); }
size.copy(terminal.getSize()); Terminal.SignalHandler prevHandler = terminal.handle(Terminal.Signal.WINCH, this::handle); Attributes attr = terminal.enterRawMode();
protected void handleSignal(Signal signal) { if (signal == Signal.WINCH) { size.copy(terminal.getSize()); display.resize(size.getRows(), size.getColumns()); redisplay(); } else if (signal == Signal.CONT) { terminal.enterRawMode(); size.copy(terminal.getSize()); display.resize(size.getRows(), size.getColumns()); terminal.puts(Capability.keypad_xmit); redrawLine(); redisplay(); } }
try { size.copy(terminal.getSize()); layout = new Layout(); layout.sx = size.getColumns();
try { size.copy(terminal.getSize()); layout = new Layout(); layout.sx = size.getColumns();