aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoberto E. Vargas Caballero <k0ga@shike2.com>2012-09-24 10:29:37 +0200
committerRoberto E. Vargas Caballero <k0ga@shike2.com>2012-09-24 10:29:37 +0200
commit74d6abfee5a1455c7c126d6b78760efd65d9d7c3 (patch)
tree0a4e8673008ea81eb0dcb1f8b4d7f6d534ac0433
parentc3b6345595c6b5ec5925544a2f462458f16cbf6a (diff)
downloadst-74d6abfee5a1455c7c126d6b78760efd65d9d7c3.tar.gz
st-74d6abfee5a1455c7c126d6b78760efd65d9d7c3.zip
Add some documentetion to tsetmode
The names of the terminal modes supported by vt102 are (taken from the VT220 programmer reference manual): Table 4-7 ANSI-Standardized Modes Name Mnemonic Parameter (Ps) Error (ignored) - 0 (3/0) Keyboard action KAM 2 (3/2) Insert/replace IRM 4 (3/4) Send/receive SRM 12 (3/1 3/2) Line feed/new line LNM 20 (3/2 3/0) Table 4-8 ANSI-Compatible DEC Private Modes Name Mnemonic Parameter (Ps) Error (ignored) - 0 (3/0) Cursor key DECCKM 1 (3/1) ANSI/VT52 DECANM 2 (3/2) Column DECCOLM 3 (3/3) Scroll DECSCLM 4 (3/4) Screen DECSCNM 5 (3/5) Origin DECOM 6 (3/6) Auto wrap DECAWM 7 (3/7) Auto repeat DECARM 8 (3/8) Printer form feed DECPFF 18 (3/1 3/8) Printer extent DECPEX 19 (3/1 3/9) Text cursor enable DECTCEM 25 (3/2 3/5) National replacement character sets DECNRCM 42 (3/4 3/2) This patch adds a comment for each one of these sequences. --- st.c | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-)
-rw-r--r--st.c26
1 files changed, 21 insertions, 5 deletions
diff --git a/st.c b/st.c
index d432ee7..9760b6c 100644
--- a/st.c
+++ b/st.c
@@ -1280,7 +1280,8 @@ tsetmode(bool priv, bool set, int *args, int narg) {
1280 for(lim = args + narg; args < lim; ++args) { 1280 for(lim = args + narg; args < lim; ++args) {
1281 if(priv) { 1281 if(priv) {
1282 switch(*args) { 1282 switch(*args) {
1283 case 1: 1283 break;
1284 case 1: /* DECCKM -- Cursor key */
1284 MODBIT(term.mode, set, MODE_APPKEYPAD); 1285 MODBIT(term.mode, set, MODE_APPKEYPAD);
1285 break; 1286 break;
1286 case 5: /* DECSCNM -- Reverve video */ 1287 case 5: /* DECSCNM -- Reverve video */
@@ -1289,9 +1290,14 @@ tsetmode(bool priv, bool set, int *args, int narg) {
1289 if(mode != term.mode) 1290 if(mode != term.mode)
1290 redraw(); 1291 redraw();
1291 break; 1292 break;
1292 case 7: 1293 case 6: /* XXX: DECOM -- Origin */
1294 break;
1295 case 7: /* DECAWM -- Auto wrap */
1293 MODBIT(term.mode, set, MODE_WRAP); 1296 MODBIT(term.mode, set, MODE_WRAP);
1294 break; 1297 break;
1298 case 8: /* XXX: DECARM -- Auto repeat */
1299 break;
1300 case 0: /* Error (IGNORED) */
1295 case 12: /* att610 -- Start blinking cursor (IGNORED) */ 1301 case 12: /* att610 -- Start blinking cursor (IGNORED) */
1296 break; 1302 break;
1297 case 25: 1303 case 25:
@@ -1319,6 +1325,12 @@ tsetmode(bool priv, bool set, int *args, int narg) {
1319 tcursor((set) ? CURSOR_SAVE : CURSOR_LOAD); 1325 tcursor((set) ? CURSOR_SAVE : CURSOR_LOAD);
1320 break; 1326 break;
1321 default: 1327 default:
1328 /* case 2: DECANM -- ANSI/VT52 (NOT SUPPOURTED) */
1329 /* case 3: DECCOLM -- Column (NOT SUPPORTED) */
1330 /* case 4: DECSCLM -- Scroll (NOT SUPPORTED) */
1331 /* case 18: DECPFF -- Printer feed (NOT SUPPORTED) */
1332 /* case 19: DECPEX -- Printer extent (NOT SUPPORTED) */
1333 /* case 42: DECNRCM -- National characters (NOT SUPPORTED) */
1322 fprintf(stderr, 1334 fprintf(stderr,
1323 "erresc: unknown private set/reset mode %d\n", 1335 "erresc: unknown private set/reset mode %d\n",
1324 *args); 1336 *args);
@@ -1326,13 +1338,17 @@ tsetmode(bool priv, bool set, int *args, int narg) {
1326 } 1338 }
1327 } else { 1339 } else {
1328 switch(*args) { 1340 switch(*args) {
1329 case 2: 1341 case 0: /* Error (IGNORED) */
1342 break;
1343 case 2: /* KAM -- keyboard action */
1330 MODBIT(term.mode, set, MODE_KBDLOCK); 1344 MODBIT(term.mode, set, MODE_KBDLOCK);
1331 break; 1345 break;
1332 case 4: 1346 case 4: /* IRM -- Insertion-replacement */
1333 MODBIT(term.mode, set, MODE_INSERT); 1347 MODBIT(term.mode, set, MODE_INSERT);
1334 break; 1348 break;
1335 case 20: 1349 case 12: /* XXX: SRM -- Send/Receive */
1350 break;
1351 case 20: /* LNM -- Linefeed/new line */
1336 MODBIT(term.mode, set, MODE_CRLF); 1352 MODBIT(term.mode, set, MODE_CRLF);
1337 break; 1353 break;
1338 default: 1354 default: