X-Git-Url: http://git.madism.org/?a=blobdiff_plain;f=rote.c;h=442e1d09c893dc65a8a1d077cb2b632e2b531128;hb=refs%2Fheads%2Forigin;hp=6d61820c173518e7f031dba618c3bcce79a75a75;hpb=7f23e2cf7b485ba8c4a66ccc2ee7fc4ee8172109;p=apps%2Fmadtty.git diff --git a/rote.c b/rote.c index 6d61820..442e1d0 100644 --- a/rote.c +++ b/rote.c @@ -22,7 +22,9 @@ Copyright (c) 2004 Bruno T. C. de Oliveira #include "rote.h" #include "roteprivate.h" #include +#ifdef USE_PTY #include +#endif #include #include @@ -41,6 +43,9 @@ RoteTerm *rote_vt_create(int rows, int cols) { rt->rows = rows; rt->cols = cols; + /* default mode is replace */ + rt->insert = false; + /* create the cell matrix */ rt->cells = (RoteCell**) malloc(sizeof(RoteCell*) * rt->rows); for (i = 0; i < rt->rows; i++) { @@ -89,6 +94,8 @@ void rote_vt_destroy(RoteTerm *rt) { free(rt); } +#ifdef USE_NCURSES + static void default_cur_set_attr(WINDOW *win, unsigned char attr) { int cp = ROTE_ATTR_BG(attr) * 8 + 7 - ROTE_ATTR_FG(attr); if (!cp) wattrset(win, A_NORMAL); @@ -98,9 +105,13 @@ static void default_cur_set_attr(WINDOW *win, unsigned char attr) { if (ROTE_ATTR_BLINK(attr)) wattron(win, A_BLINK); } +#endif + static inline unsigned char ensure_printable(unsigned char ch) { return ch >= 32 ? ch : 32; } +#ifdef USE_NCURSES + void rote_vt_draw(RoteTerm *rt, WINDOW *win, int srow, int scol, void (*cur_set_attr)(WINDOW*,unsigned char)) { @@ -119,6 +130,10 @@ void rote_vt_draw(RoteTerm *rt, WINDOW *win, int srow, int scol, wmove(win, srow + rt->crow, scol + rt->ccol); } +#endif + +#ifdef USE_PTY + pid_t rote_vt_forkpty(RoteTerm *rt, const char *command) { struct winsize ws; pid_t childpid; @@ -155,6 +170,8 @@ void rote_vt_forsake_child(RoteTerm *rt) { rt->childpid = 0; } +#endif + void rote_vt_update(RoteTerm *rt) { fd_set ifs; struct timeval tvzero;