From f26332536311a040c22872a10e7eb03c0a01a6be Mon Sep 17 00:00:00 2001 From: Ali Gholami Rudi Date: Sun, 19 Jul 2009 21:40:33 +0430 Subject: [PATCH] term: use MODE_DEFAULT and set auto wrap --- term.c | 6 ++++-- vt102.c | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/term.c b/term.c index b84afc3..91cebbe 100644 --- a/term.c +++ b/term.c @@ -13,10 +13,11 @@ #include "util.h" #include "term.h" -#define MODE_NOCURSOR 0x01 +#define MODE_CURSOR 0x01 #define MODE_WRAP 0x02 #define MODE_ORIGIN 0x04 #define MODE_AUTOCR 0x08 +#define MODE_DEFAULT (MODE_CURSOR | MODE_WRAP) #define BIT_SET(i, b, val) ((val) ? ((i) | (b)) : ((i) & ~(b))) #define SQRADDR(r, c) (screen + (r) * pad_cols() + (c)) @@ -37,7 +38,7 @@ static void _term_show(int r, int c, int cursor) struct square *sqr = SQRADDR(r, c); int fgcolor = sqr->c ? sqr->fg : fg; int bgcolor = sqr->c ? sqr->bg : bg; - if (cursor && !(mode & MODE_NOCURSOR)) { + if (cursor && mode & MODE_CURSOR) { int t = fgcolor; fgcolor = bgcolor; bgcolor = t; @@ -335,6 +336,7 @@ void term_exec(char *cmd) { memset(term, 0, sizeof(*term)); term->cur.bot = term->sav.bot = pad_rows(); + term->cur.mode = MODE_DEFAULT; term_load(term, visible); if ((term->pid = forkpty(&term->fd, NULL, NULL, NULL)) == -1) { perror("failed to fork"); diff --git a/vt102.c b/vt102.c index bc930f0..a69088f 100644 --- a/vt102.c +++ b/vt102.c @@ -400,7 +400,7 @@ static void modeseq(int c, int set) mode = BIT_SET(mode, MODE_WRAP, set); break; case 0x99: /* DECTCEM Cursor on (set); Cursor off (reset) */ - mode = BIT_SET(mode, MODE_NOCURSOR, !set); + mode = BIT_SET(mode, MODE_CURSOR, set); break; case 0x86: /* DECOM Sets relative coordinates (set); Sets absolute coordinates (reset) */ mode = BIT_SET(mode, MODE_ORIGIN, set); -- 2.11.4.GIT