int owl_popwin_up(owl_popwin *pw) { int glines, gcols, startcol, startline; /* calculate the size of the popwin */ glines=owl_global_get_lines(&g); gcols=owl_global_get_cols(&g); pw->lines = owl_util_min(glines,24)*3/4 + owl_util_max(glines-24,0)/2; startline = (glines-pw->lines)/2; pw->cols = owl_util_min(gcols,90)*15/16 + owl_util_max(gcols-90,0)/2; startcol = (gcols-pw->cols)/2; pw->borderwin=newwin(pw->lines, pw->cols, startline, startcol); pw->popwin=newwin(pw->lines-2, pw->cols-2, startline+1, startcol+1); pw->needsfirstrefresh=1; meta(pw->popwin,TRUE); nodelay(pw->popwin, 1); keypad(pw->popwin, TRUE); werase(pw->popwin); werase(pw->borderwin); if (owl_global_is_fancylines(&g)) { box(pw->borderwin, 0, 0); } else { box(pw->borderwin, '|', '-'); wmove(pw->borderwin, 0, 0); waddch(pw->borderwin, '+'); wmove(pw->borderwin, pw->lines-1, 0); waddch(pw->borderwin, '+'); wmove(pw->borderwin, pw->lines-1, pw->cols-1); waddch(pw->borderwin, '+'); wmove(pw->borderwin, 0, pw->cols-1); waddch(pw->borderwin, '+'); } wnoutrefresh(pw->popwin); wnoutrefresh(pw->borderwin); owl_global_set_needrefresh(&g); pw->active=1; return(0); }
int owl_popwin_up(owl_popwin *pw) { int glines, gcols, startcol, startline; WINDOW *popwin, *borderwin; /* calculate the size of the popwin */ glines=owl_global_get_lines(&g); gcols=owl_global_get_cols(&g); pw->lines = owl_util_min(glines,24)*3/4 + owl_util_max(glines-24,0)/2; startline = (glines-pw->lines)/2; pw->cols = owl_util_min(gcols,90)*15/16 + owl_util_max(gcols-90,0)/2; startcol = (gcols-pw->cols)/2; borderwin = newwin(pw->lines, pw->cols, startline, startcol); pw->borderpanel = new_panel(borderwin); popwin = newwin(pw->lines-2, pw->cols-2, startline+1, startcol+1); pw->poppanel = new_panel(popwin); werase(popwin); werase(borderwin); if (owl_global_is_fancylines(&g)) { box(borderwin, 0, 0); } else { box(borderwin, '|', '-'); wmove(borderwin, 0, 0); waddch(borderwin, '+'); wmove(borderwin, pw->lines-1, 0); waddch(borderwin, '+'); wmove(borderwin, pw->lines-1, pw->cols-1); waddch(borderwin, '+'); wmove(borderwin, 0, pw->cols-1); waddch(borderwin, '+'); } owl_global_set_needrefresh(&g); pw->active=1; return(0); }
static void sepbar_redraw(owl_window *w, WINDOW *sepwin, void *user_data) { const owl_messagelist *ml; const owl_view *v; int x, y, i; const char *foo, *appendtosepbar; ml=owl_global_get_msglist(&g); v=owl_global_get_current_view(&g); werase(sepwin); wattron(sepwin, A_REVERSE); if (owl_global_is_fancylines(&g)) { whline(sepwin, ACS_HLINE, owl_global_get_cols(&g)); } else { whline(sepwin, '-', owl_global_get_cols(&g)); } if (owl_global_is_sepbar_disable(&g)) { getyx(sepwin, y, x); wmove(sepwin, y, owl_global_get_cols(&g)-1); return; } wmove(sepwin, 0, 2); if (owl_messagelist_get_size(ml) == 0) waddstr(sepwin, " (-/-) "); else wprintw(sepwin, " (%i/%i/%i) ", owl_global_get_curmsg(&g) + 1, owl_view_get_size(v), owl_messagelist_get_size(ml)); foo=owl_view_get_filtname(v); if (strcmp(foo, owl_global_get_view_home(&g))) wattroff(sepwin, A_REVERSE); wprintw(sepwin, " %s ", owl_view_get_filtname(v)); if (strcmp(foo, owl_global_get_view_home(&g))) wattron(sepwin, A_REVERSE); if (owl_mainwin_is_curmsg_truncated(owl_global_get_mainwin(&g))) { getyx(sepwin, y, x); wmove(sepwin, y, x+2); wattron(sepwin, A_BOLD); waddstr(sepwin, " <truncated> "); wattroff(sepwin, A_BOLD); } i=owl_mainwin_get_last_msg(owl_global_get_mainwin(&g)); if ((i != -1) && (i < owl_view_get_size(v)-1)) { getyx(sepwin, y, x); wmove(sepwin, y, x+2); wattron(sepwin, A_BOLD); waddstr(sepwin, " <more> "); wattroff(sepwin, A_BOLD); } if (owl_global_get_rightshift(&g)>0) { getyx(sepwin, y, x); wmove(sepwin, y, x+2); wprintw(sepwin, " right: %i ", owl_global_get_rightshift(&g)); } if (owl_global_is_zaway(&g) || owl_global_is_aaway(&g)) { getyx(sepwin, y, x); wmove(sepwin, y, x+2); wattron(sepwin, A_BOLD); wattroff(sepwin, A_REVERSE); if (owl_global_is_zaway(&g) && owl_global_is_aaway(&g)) { waddstr(sepwin, " AWAY "); } else if (owl_global_is_zaway(&g)) { waddstr(sepwin, " Z-AWAY "); } else if (owl_global_is_aaway(&g)) { waddstr(sepwin, " A-AWAY "); } wattron(sepwin, A_REVERSE); wattroff(sepwin, A_BOLD); } if (owl_global_get_curmsg_vert_offset(&g)) { getyx(sepwin, y, x); wmove(sepwin, y, x+2); wattron(sepwin, A_BOLD); wattroff(sepwin, A_REVERSE); waddstr(sepwin, " SCROLL "); wattron(sepwin, A_REVERSE); wattroff(sepwin, A_BOLD); } appendtosepbar = owl_global_get_appendtosepbar(&g); if (appendtosepbar && *appendtosepbar) { getyx(sepwin, y, x); wmove(sepwin, y, x+2); waddstr(sepwin, " "); waddstr(sepwin, owl_global_get_appendtosepbar(&g)); waddstr(sepwin, " "); } getyx(sepwin, y, x); wmove(sepwin, y, owl_global_get_cols(&g)-1); wattroff(sepwin, A_BOLD); wattroff(sepwin, A_REVERSE); }