void ui_stat_job_bar_add(bg_op_t *bg_op) { const int prev_height = ui_stat_job_bar_height(); bg_op_t **p = reallocarray(bar_jobs, nbar_jobs + 1, sizeof(*bar_jobs)); if(p == NULL) { return; } bar_jobs = p; bar_jobs[nbar_jobs] = bg_op; ++nbar_jobs; if(!is_job_bar_visible()) { return; } ui_stat_job_bar_redraw(); if(ui_stat_job_bar_height() != prev_height) { stats_redraw_schedule(); } }
void ui_stat_job_bar_remove(bg_op_t *bg_op) { size_t i; const int prev_height = ui_stat_job_bar_height(); for(i = 0U; i < nbar_jobs; ++i) { if(bar_jobs[i] == bg_op) { memmove(&bar_jobs[i], &bar_jobs[i + 1], sizeof(*bar_jobs)*(nbar_jobs - 1 - i)); break; } } --nbar_jobs; if(ui_stat_job_bar_height() != 0) { ui_stat_job_bar_redraw(); } else if(prev_height != 0) { stats_redraw_schedule(); } }
/* Handle term resizing in X */ static void received_sigwinch(void) { if(curr_stats.save_msg != 2) curr_stats.save_msg = 0; if(!isendwin()) { stats_redraw_schedule(); } else { curr_stats.need_update = UT_FULL; } }
static void received_sigcont(void) { reset_prog_mode(); stats_redraw_schedule(); }
/* Redraws the screen. */ static void cmd_ctrl_l(key_info_t key_info, keys_info_t *keys_info) { stats_redraw_schedule(); }