static bool help_draw(struct view *view, struct line *line, unsigned int lineno) { if (line->type == LINE_HELP_KEYMAP) { struct keymap *keymap = line->data; draw_formatted(view, line->type, "[%c] %s bindings", keymap->hidden ? '+' : '-', keymap->name); return TRUE; } else { return pager_draw(view, line, lineno); } }
void gui_draw_taskbar (void) { task *tk; int x, width, taskw; #ifdef PAGER pager_draw (); #else pager_size = GRILL_WIDTH; #endif width = WINWIDTH - (pager_size + GRILL_WIDTH + GRILL_WIDTH); x = pager_size + 2; if (tb.num_tasks == 0) goto clear; taskw = width / tb.num_tasks; if (taskw > MAX_TASK_WIDTH) taskw = MAX_TASK_WIDTH; tk = tb.task_list; while (tk) { tk->pos_x = x; tk->width = taskw - 1; gui_draw_task (tk); x += taskw; tk = tk->next; } if (x < (width + pager_size + 2)) { clear: gui_draw_vline (x); set_foreground (5); fill_rect (x + 2, 0, WINWIDTH, WINHEIGHT); } gui_draw_vline (8); gui_draw_vline (WINWIDTH - 8); draw_grill (2); draw_grill (WINWIDTH - 6); }