/* u2_term_get_blew(): return window size [columns rows]. */ u2_noun u2_term_get_blew(c3_l tid_l) { u2_utty* uty_u = _term_ef_get(tid_l); c3_l col_l, row_l; #if 1 struct winsize siz_u; if ( uty_u && (0 == ioctl(uty_u->fid_i, TIOCGWINSZ, &siz_u)) ) { col_l = siz_u.ws_col; row_l = siz_u.ws_row; } else { col_l = 80; row_l = 24; } #else { c3_i col_i, row_i; uv_tty_get_winsize(&uty_u->wax_u, &col_i, &row_i); col_l = col_i; row_l = row_i; } #endif if ( uty_u ) { uty_u->tat_u.siz.col_l = col_l; uty_u->tat_u.siz.row_l = row_l; } return u2nc(col_l, row_l); }
/* u3_term_get_blew(): return window size [columns rows]. */ u3_noun u3_term_get_blew(c3_l tid_l) { u3_utty* uty_u = _term_ef_get(tid_l); c3_l col_l, row_l; struct winsize siz_u; if ( uty_u && (0 == ioctl(uty_u->fid_i, TIOCGWINSZ, &siz_u)) ) { col_l = siz_u.ws_col; row_l = siz_u.ws_row; } else { col_l = 80; row_l = 24; } if ( uty_u ) { uty_u->tat_u.siz.col_l = col_l; uty_u->tat_u.siz.row_l = row_l; } return u3nc(col_l, row_l); }
/* u3_term_ef_blit(): send %blit list to specific terminal. */ void u3_term_ef_blit(c3_l tid_l, u3_noun bls) { u3_utty* uty_u = _term_ef_get(tid_l); if ( 0 == uty_u ) { // uL(fprintf(uH, "no terminal %d\n", tid_l)); // uL(fprintf(uH, "uty_u %p\n", u3_Host.uty_u)); u3z(bls); return; } { u3_noun bis = bls; while ( c3y == u3du(bis) ) { _term_ef_blit(uty_u, u3k(u3h(bis))); bis = u3t(bis); } u3z(bls); } }
/* u2_term_ef_blit(): send %blit list to specific terminal. */ void u2_term_ef_blit(c3_l tid_l, u2_noun bls) { u2_utty* uty_u = _term_ef_get(tid_l); if ( 0 == uty_u ) { // uL(fprintf(uH, "no terminal %d\n", tid_l)); // uL(fprintf(uH, "uty_u %p\n", u2_Host.uty_u)); u2z(bls); return; } { u2_noun bis = bls; while ( u2_yes == u2du(bis) ) { _term_ef_blit(uty_u, u2k(u2h(bis))); bis = u2t(bis); } u2z(bls); } }