private boolean windowManipulation()

in core/src/com/jediterm/terminal/emulator/JediEmulator.java [536:568]


  private boolean windowManipulation(ControlSequence args) {
    // CSI Ps ; Ps ; Ps t
    // https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h4-Functions-using-CSI-_-ordered-by-the-final-character-lparen-s-rparen:CSI-Ps;Ps;Ps-t.1EB0
    switch (args.getArg(0, -1)) {
      case 1:
        // Do not process "De-iconify window", restoring/unminimizing IDE can be unexpected.
        return true;
      case 2:
        // Do no process "Iconify window", minimizing IDE can be unexpected.
        return true;
      case 8:
//        Ps = 8  ;  height ;  width -> Resize the text area to given
//        height and width in characters.  Omitted parameters reuse the
//        current height or width.  Zero parameters use the display's
//        height or width.
        int width = args.getArg(2, 0);
        int height = args.getArg(1, 0);
        if (width == 0) {
          width = myTerminal.getTerminalWidth();
        }
        if (height == 0) {
          height = myTerminal.getTerminalHeight();
        }
        myTerminal.resize(new TermSize(width, height), RequestOrigin.Remote);
        return true;
      case 22:
        return csi22(args);
      case 23:
        return csi23(args);
      default:
        return false;
    }
  }