static void item_lag(SBAR_ITEM_REC *item, int get_size_only) { SERVER_REC *server; char str[MAX_INT_STRLEN+10]; int lag, lag_unknown; server = active_win == NULL ? NULL : active_win->active_server; lag = get_lag(server, &lag_unknown)/10; if (lag <= 0 || lag < settings_get_int("lag_min_show")) { /* don't print the lag item */ if (get_size_only) item->min_size = item->max_size = 0; return; } last_lag = lag; last_lag_unknown = lag_unknown; if (lag_unknown) { g_snprintf(str, sizeof(str), "%d (?""?)", lag/100); } else { g_snprintf(str, sizeof(str), lag%100 == 0 ? "%d" : "%d.%02d", lag/100, lag%100); } statusbar_item_default_handler(item, get_size_only, NULL, str, TRUE); }
static void item_lag(SBAR_ITEM_REC *item, int get_size_only) { SERVER_REC *server; char str[MAX_INT_STRLEN+10]; int lag, lag_unknown; server = active_win == NULL ? NULL : active_win->active_server; lag = get_lag(server, &lag_unknown); if (lag <= 0 || lag < settings_get_time("lag_min_show")) { /* don't print the lag item */ if (get_size_only) item->min_size = item->max_size = 0; return; } lag /= 10; last_lag = lag; last_lag_unknown = lag_unknown; if (lag_unknown) { /* "??)" in C becomes ']' See: https://en.wikipedia.org/wiki/Digraphs_and_trigraphs#C */ g_snprintf(str, sizeof(str), "%d (?""?)", lag / 100); } else { if (lag % 100 == 0) g_snprintf(str, sizeof(str), "%d", lag / 100); else g_snprintf(str, sizeof(str), "%d.%02d", lag / 100, lag % 100); } statusbar_item_default_handler(item, get_size_only, NULL, str, TRUE); }
static void lag_check_update(void) { SERVER_REC *server; int lag, lag_unknown; server = active_win == NULL ? NULL : active_win->active_server; lag = get_lag(server, &lag_unknown)/10; if (lag < settings_get_int("lag_min_show")) lag = 0; if (lag != last_lag || (lag > 0 && lag_unknown != last_lag_unknown)) statusbar_items_redraw("lag"); }