/* * ncurses_input_update() * * uaktualnia zmianê rozmiaru pola wpisywania tekstu -- przesuwa okienka * itd. je¶li zmieniono na pojedyncze, czy¶ci dane wej¶ciowe. */ void ncurses_input_update(int new_line_index) { if (ncurses_input_size == 1) { g_strfreev((char **) ncurses_lines); ncurses_lines = NULL; ncurses_line = xmalloc(LINE_MAXLEN*sizeof(CHAR_T)); ncurses_history[0] = ncurses_line; } else { ncurses_lines = xmalloc(2 * sizeof(CHAR_T *)); ncurses_lines[0] = xmalloc(LINE_MAXLEN*sizeof(CHAR_T)); /* ncurses_lines[1] = NULL; */ xwcscpy(ncurses_lines[0], ncurses_line); xfree(ncurses_line); ncurses_line = ncurses_lines[0]; ncurses_history[0] = NULL; } line_start = 0; line_index = new_line_index; lines_start = 0; lines_index = 0; ncurses_resize(); ncurses_redraw(window_current); touchwin(ncurses_current->window); ncurses_commit(); }
void ncurses_contacts_changed(const char *name) { window_t *w = NULL; if (in_autoexec) return; if (!xstrcasecmp(name, "ncurses:contacts_size")) config_contacts = 1; if (config_contacts_size < 0) config_contacts_size = 0; if (config_contacts_size == 0) config_contacts = 0; if (config_contacts_size > 1000) config_contacts_size = 1000; if (config_contacts_margin > 10) config_contacts_margin = 10; if (config_contacts_edge > 3) config_contacts_edge = 2; contacts_edge = (1 << config_contacts_edge); contacts_frame = (!config_contacts_frame ? 0 : contacts_edge & (WF_LEFT|WF_RIGHT) ? contacts_edge ^ (WF_LEFT|WF_RIGHT) : contacts_edge ^ (WF_TOP|WF_BOTTOM)); if (config_contacts_order) { strlcpy(contacts_order, config_contacts_order, sizeof(contacts_order)); corderlen = xstrlen(contacts_order); } else { xstrcpy(contacts_order, CONTACTS_ORDER_DEFAULT); corderlen = CONTACTS_ORDER_DEFAULT_LEN; /* xstrlen(CONTACTS_ORDER_DEFAULT) eq CONTACTS_ORDER_DEFAULT_LEN */ } /* XXX destroy window only if (!config_contacts) ? XXX */ if ((w = window_find_sa(NULL, "__contacts", 1))) { window_kill(w); w = NULL; } if (config_contacts /* && !w */) { w = window_new("__contacts", NULL, 1000); ncurses_contacts_update(w, 0); } ncurses_resize(); ncurses_commit(); }