static inline void wset_variable_noargs(Window *win, char *name) { Window *tmp = NULL; int var_index = 0; if (!name) { for (var_index = 0; var_index < NUMBER_OF_WSETS; var_index++) set_wset_var_value(win, var_index, empty_string); } else { int count = 0; while ((traverse_all_windows(&tmp))) { if (*name == '*') { for (var_index = 0; var_index < NUMBER_OF_WSETS; var_index++) set_wset_var_value(tmp, var_index, empty_string); count++; } else if ((tmp->name && wild_match(name, tmp->name)) || (tmp->refnum == my_atol(name))) { for (var_index = 0; var_index < NUMBER_OF_WSETS; var_index++) set_wset_var_value(tmp, var_index, empty_string); count++; } } if (!count) say("No such window name [%s]", name); } }
static inline void wset_variable_case1(Window *win, char *name, int var_index, char *args) { Window *tmp = NULL; int count = 0; int i; if (!name) { set_wset_var_value(win, var_index, args); return; } while ((traverse_all_windows(&tmp))) { i = var_index; if (*name == '*') { set_wset_var_value(tmp, i, args); count++; } else if ((tmp->name && wild_match(name, tmp->name)) || (tmp->refnum == my_atol(name))) { set_wset_var_value(tmp, i, args); count++; } } if (!count) say("No such window name [%s]", name); }
static inline void wset_variable_casedef(Window *win, char *name, int cnt, int var_index, char *args) { Window *tmp = NULL; int count = 0; int c, i; if (!name) { for (cnt +=var_index; var_index < cnt; var_index++) set_wset_var_value(win, var_index, args); return; } while ((traverse_all_windows(&tmp))) { c = cnt; i = var_index; if (*name == '*') { for (c += i; i < c; i++) set_wset_var_value(tmp, i, empty_string); count++; } else if ((tmp->name && wild_match(name, tmp->name)) || (tmp->refnum == my_atol(name)) ) { for (c += i; i < c; i++) set_wset_var_value(tmp, i, empty_string); count++; } } if (!count) say("No such window name [%s]", name); }
static void set_mangle_logfiles (Window *win, char *value, int unused) { char *nv = NULL; Window *tmp = NULL; while (traverse_all_windows(&tmp)) tmp->mangler = parse_mangle(value, tmp->mangler, &nv); set_string_var(MANGLE_LOGFILES_VAR, nv); new_free(&nv); }
/* * set_lastlog_size: sets up a lastlog buffer of size given. If the lastlog * has gotten larger than it was before, all newer lastlog entries remain. * If it get smaller, some are deleted from the end. */ void set_indent (void *stuff) { VARIABLE *v; int indent; Window *window = NULL; v = (VARIABLE *)stuff; indent = v->integer; while (traverse_all_windows(&window)) window->indent = indent; }
/* * This function causes every status bar, both global and per-window to be * rebuilt, and marks every window as needing its status bar redrawn. * This function can be quite expensive. * * This function should be called whenever you change the global status format * (/SET STATUS_FORMAT*) or one of the sub-components (/SET STATUS_*) * * This function is a /SET callback, so it must always take a (char *) as an * argument even though we don't care about it. */ void build_status (const void *stuff) { Window *w = NULL; if (!main_status_init) init_status(); rebuild_a_status(w); while (traverse_all_windows(&w)) rebuild_a_status(w); update_all_status(); }
static void set_hold_interval (Window *win, char *unused, int value) { static int old_value = -1; Window * window = NULL; if (value == old_value) return; while (traverse_all_windows(&window)) { if (window->hold_interval == old_value) window->hold_interval = value; } old_value = value; }
/* * set_lastlog_size: sets up a lastlog buffer of size given. If the lastlog * has gotten larger than it was before, all previous lastlog entry remain. * If it get smaller, some are deleted from the end. */ void set_lastlog_size(Window *win_unused, char *unused, int size) { int i, diff; Window *win = NULL; while ((traverse_all_windows(&win))) { if (win->lastlog_size > size) { diff = win->lastlog_size - size; for (i = 0; i < diff; i++) remove_from_lastlog(win); } win->lastlog_max = size; } }