void show_params(){ int maxsize, i, x, y; ioctl(1, TIOCGWINSZ, &(gl_env.win)); // error check? gl_env.flag = 0; term_clear(); /*my_int(gl_env.nbelems); my_char('\n');*/ for (i=0,x=0,y=0,maxsize=0;i<gl_env.nbelems;i++,y++){ if (y >= gl_env.win.ws_row) { y = 0; x += maxsize + 2; maxsize = 0; } if (maxsize < gl_env.elems[i].size) maxsize = gl_env.elems[i].size; if (x+maxsize >= gl_env.win.ws_col){ term_clear(); term_pos(0, 0); my_str("Please enlarge your terminal."); gl_env.flag = TRUE; break; } gl_env.elems[i].x = x; gl_env.elems[i].y = y; term_pos(x, y); refreshout(i); } if (!gl_env.flag) refreshin(); //underlines selected }
void term_sel_word(struct st_term *term, struct coord pos) { struct coord start = pos; while (1) { struct coord prev = start; if (prev.x) { prev.x--; } else if (prev.y) { prev.y--; prev.x = term->size.x - 1; } else break; if (!isword(term_pos(term, prev)->c)) break; start = prev; } while (1) { struct coord next = pos; if (next.x < term->size.x - 1) { next.x++; } else if (next.y < term->size.y - 1) { next.y++; next.x = 0; } else break; if (!isword(term_pos(term, next)->c)) break; pos = next; } term_sel_update(term, SEL_REGULAR, start, pos); }
void refreshin(){ term_pos(gl_env.elems[gl_env.current].x, gl_env.elems[gl_env.current].y); tputs(gl_env.under, 1, my_char2); refreshout(gl_env.current); tputs(gl_env.underout, 1, my_char2); }