csiDecSetMode function
Implementation
void csiDecSetMode(int mode, bool enabled, Terminal terminal) {
switch (mode) {
case 1:
terminal.setApplicationCursorKeys(enabled);
break;
// case "?3":
// if (enabled) {
// // DECCOLM - COLumn mode, 132 characters per line
// terminal.setSize(132, uint(lines));
// } else {
// // DECCOLM - 80 characters per line (erases screen)
// terminal.setSize(80, uint(lines));
// }
// terminal.clear();
// case "?4":
// // DECSCLM
case 5:
// DECSCNM
terminal.setScreenMode(enabled);
break;
case 6:
// DECOM
terminal.setOriginMode(enabled);
break;
case 7:
//DECAWM
terminal.setAutoWrapMode(enabled);
break;
case 9:
if (enabled) {
// terminal.setMouseMode(MouseMode.x10);
} else {
terminal.setMouseMode(MouseMode.none);
}
break;
case 12:
case 13:
terminal.setBlinkingCursor(enabled);
break;
case 25:
terminal.setShowCursor(enabled);
break;
case 47:
case 1047:
if (enabled) {
terminal.useAltBuffer();
} else {
terminal.useMainBuffer();
}
break;
case 1000:
case 10061000:
// enable mouse tracking
// 1000 refers to ext mode for extended mouse click area - otherwise only x <= 255-31
if (enabled) {
// terminal.setMouseMode(MouseMode.vt200);
} else {
terminal.setMouseMode(MouseMode.none);
}
break;
case 1002:
// enable mouse tracking
// 1000 refers to ext mode for extended mouse click area - otherwise only x <= 255-31
if (enabled) {
// terminal.setMouseMode(MouseMode.buttonEvent);
} else {
terminal.setMouseMode(MouseMode.none);
}
break;
case 1003:
if (enabled) {
// terminal.setMouseMode(MouseMode.anyEvent);
} else {
terminal.setMouseMode(MouseMode.none);
}
break;
case 1005:
if (enabled) {
// terminal.setMouseExtMode(MouseExt.utf);
} else {
// terminal.setMouseExtMode(MouseExt.none);
}
break;
case 1006:
if (enabled) {
// terminal.setMouseExtMode(MouseExt.sgr);
} else {
// terminal.setMouseExtMode(MouseExt.none);
}
break;
case 1048:
if (enabled) {
terminal.buffer.saveCursor();
} else {
terminal.buffer.restoreCursor();
}
break;
case 1049:
if (enabled) {
terminal.useAltBuffer();
terminal.buffer.clear();
} else {
terminal.useMainBuffer();
}
break;
case 2004:
terminal.setBracketedPasteMode(enabled);
break;
default:
terminal.debug.onError('unsupported mode: $mode');
return;
}
}