in                 72 lib/widget/input.c #define should_show_history_button(in) \
in                 73 lib/widget/input.c     (in->history.list != NULL && WIDGET (in)->rect.cols > HISTORY_BUTTON_WIDTH * 2 + 1 \
in                 74 lib/widget/input.c          && WIDGET (in)->owner != NULL)
in                101 lib/widget/input.c draw_history_button (WInput * in)
in                106 lib/widget/input.c     if (g_list_next (in->history.current) == NULL)
in                108 lib/widget/input.c     else if (g_list_previous (in->history.current) == NULL)
in                113 lib/widget/input.c     widget_gotoyx (in, 0, WIDGET (in)->rect.cols - HISTORY_BUTTON_WIDTH);
in                114 lib/widget/input.c     disabled = widget_get_state (WIDGET (in), WST_DISABLED);
in                115 lib/widget/input.c     tty_setcolor (disabled ? DISABLED_COLOR : in->color[WINPUTC_HISTORY]);
in                119 lib/widget/input.c     widget_gotoyx (in, 0, WIDGET (in)->rect.cols - HISTORY_BUTTON_WIDTH + 1);
in                128 lib/widget/input.c input_mark_cmd (WInput * in, gboolean mark)
in                130 lib/widget/input.c     in->mark = mark ? in->point : -1;
in                136 lib/widget/input.c input_eval_marks (WInput * in, long *start_mark, long *end_mark)
in                138 lib/widget/input.c     if (in->mark >= 0)
in                140 lib/widget/input.c         *start_mark = MIN (in->mark, in->point);
in                141 lib/widget/input.c         *end_mark = MAX (in->mark, in->point);
in                152 lib/widget/input.c do_show_hist (WInput * in)
in                157 lib/widget/input.c     len = get_history_length (in->history.list);
in                159 lib/widget/input.c     history_descriptor_init (&hd, WIDGET (in)->rect.y, WIDGET (in)->rect.x, in->history.list,
in                160 lib/widget/input.c                              g_list_position (in->history.list, in->history.list));
in                165 lib/widget/input.c     in->history.list = hd.list;
in                166 lib/widget/input.c     in->history.current = in->history.list;
in                169 lib/widget/input.c         input_assign_text (in, hd.text);
in                174 lib/widget/input.c     if (len != get_history_length (in->history.list))
in                175 lib/widget/input.c         in->history.changed = TRUE;
in                218 lib/widget/input.c input_push_history (WInput * in)
in                224 lib/widget/input.c     t = g_strstrip (g_strndup (in->buffer->str, in->buffer->len));
in                230 lib/widget/input.c         t = g_strndup (in->buffer->str, in->buffer->len);
in                232 lib/widget/input.c         if (in->history.name != NULL && in->strip_password)
in                247 lib/widget/input.c     if (in->history.list == NULL || in->history.list->data == NULL
in                248 lib/widget/input.c         || strcmp (in->history.list->data, t) != 0 || in->history.changed)
in                250 lib/widget/input.c         in->history.list = list_append_unique (in->history.list, t);
in                251 lib/widget/input.c         in->history.current = in->history.list;
in                252 lib/widget/input.c         in->history.changed = TRUE;
in                257 lib/widget/input.c     in->need_push = FALSE;
in                263 lib/widget/input.c move_buffer_backward (WInput * in, int start, int end)
in                267 lib/widget/input.c     str_len = str_length (in->buffer->str);
in                271 lib/widget/input.c     start = str_offset_to_pos (in->buffer->str, start);
in                272 lib/widget/input.c     end = str_offset_to_pos (in->buffer->str, end);
in                273 lib/widget/input.c     g_string_erase (in->buffer, start, end - start);
in                279 lib/widget/input.c beginning_of_line (WInput * in)
in                281 lib/widget/input.c     in->point = 0;
in                282 lib/widget/input.c     in->charpoint = 0;
in                288 lib/widget/input.c end_of_line (WInput * in)
in                290 lib/widget/input.c     in->point = str_length (in->buffer->str);
in                291 lib/widget/input.c     in->charpoint = 0;
in                297 lib/widget/input.c backward_char (WInput * in)
in                299 lib/widget/input.c     if (in->point > 0)
in                303 lib/widget/input.c         act = in->buffer->str + str_offset_to_pos (in->buffer->str, in->point);
in                304 lib/widget/input.c         in->point -= str_cprev_noncomb_char (&act, in->buffer->str);
in                307 lib/widget/input.c     in->charpoint = 0;
in                313 lib/widget/input.c forward_char (WInput * in)
in                317 lib/widget/input.c     act = in->buffer->str + str_offset_to_pos (in->buffer->str, in->point);
in                319 lib/widget/input.c         in->point += str_cnext_noncomb_char (&act);
in                320 lib/widget/input.c     in->charpoint = 0;
in                326 lib/widget/input.c forward_word (WInput * in)
in                330 lib/widget/input.c     p = in->buffer->str + str_offset_to_pos (in->buffer->str, in->point);
in                332 lib/widget/input.c     for (; p[0] != '\0' && (str_isspace (p) || str_ispunct (p)); in->point++)
in                335 lib/widget/input.c     for (; p[0] != '\0' && !str_isspace (p) && !str_ispunct (p); in->point++)
in                342 lib/widget/input.c backward_word (WInput * in)
in                346 lib/widget/input.c     p = in->buffer->str + str_offset_to_pos (in->buffer->str, in->point);
in                348 lib/widget/input.c     for (; p != in->buffer->str; in->point--)
in                361 lib/widget/input.c     for (; p != in->buffer->str; in->point--)
in                372 lib/widget/input.c backward_delete (WInput * in)
in                377 lib/widget/input.c     if (in->point == 0)
in                380 lib/widget/input.c     act = in->buffer->str + str_offset_to_pos (in->buffer->str, in->point);
in                381 lib/widget/input.c     start = in->point - str_cprev_noncomb_char (&act, in->buffer->str);
in                382 lib/widget/input.c     move_buffer_backward (in, start, in->point);
in                383 lib/widget/input.c     in->charpoint = 0;
in                384 lib/widget/input.c     in->need_push = TRUE;
in                385 lib/widget/input.c     in->point = start;
in                391 lib/widget/input.c copy_region (WInput * in, int start, int end)
in                407 lib/widget/input.c     first = str_offset_to_pos (in->buffer->str, first);
in                408 lib/widget/input.c     last = str_offset_to_pos (in->buffer->str, last);
in                410 lib/widget/input.c     kill_buffer = g_strndup (in->buffer->str + first, last - first);
in                420 lib/widget/input.c delete_region (WInput * in, int start, int end)
in                425 lib/widget/input.c     input_mark_cmd (in, FALSE);
in                426 lib/widget/input.c     in->point = first;
in                427 lib/widget/input.c     move_buffer_backward (in, first, last);
in                428 lib/widget/input.c     in->charpoint = 0;
in                429 lib/widget/input.c     in->need_push = TRUE;
in                435 lib/widget/input.c insert_char (WInput * in, int c_code)
in                441 lib/widget/input.c     if (input_eval_marks (in, &m1, &m2))
in                442 lib/widget/input.c         delete_region (in, m1, m2);
in                447 lib/widget/input.c     if (in->charpoint >= MB_LEN_MAX)
in                450 lib/widget/input.c     in->charbuf[in->charpoint] = c_code;
in                451 lib/widget/input.c     in->charpoint++;
in                453 lib/widget/input.c     res = str_is_valid_char (in->charbuf, in->charpoint);
in                457 lib/widget/input.c             in->charpoint = 0;  /* broken multibyte char, skip */
in                461 lib/widget/input.c     in->need_push = TRUE;
in                462 lib/widget/input.c     ins_point = str_offset_to_pos (in->buffer->str, in->point);
in                463 lib/widget/input.c     g_string_insert_len (in->buffer, ins_point, in->charbuf, in->charpoint);
in                464 lib/widget/input.c     in->point++;
in                465 lib/widget/input.c     in->charpoint = 0;
in                473 lib/widget/input.c delete_char (WInput * in)
in                478 lib/widget/input.c     act = in->buffer->str + str_offset_to_pos (in->buffer->str, in->point);
in                479 lib/widget/input.c     end = in->point + str_cnext_noncomb_char (&act);
in                480 lib/widget/input.c     move_buffer_backward (in, in->point, end);
in                481 lib/widget/input.c     in->charpoint = 0;
in                482 lib/widget/input.c     in->need_push = TRUE;
in                488 lib/widget/input.c kill_word (WInput * in)
in                490 lib/widget/input.c     int old_point = in->point;
in                493 lib/widget/input.c     forward_word (in);
in                494 lib/widget/input.c     new_point = in->point;
in                495 lib/widget/input.c     in->point = old_point;
in                497 lib/widget/input.c     delete_region (in, old_point, new_point);
in                498 lib/widget/input.c     in->need_push = TRUE;
in                499 lib/widget/input.c     in->charpoint = 0;
in                505 lib/widget/input.c back_kill_word (WInput * in)
in                507 lib/widget/input.c     int old_point = in->point;
in                510 lib/widget/input.c     backward_word (in);
in                511 lib/widget/input.c     new_point = in->point;
in                512 lib/widget/input.c     in->point = old_point;
in                514 lib/widget/input.c     delete_region (in, old_point, new_point);
in                515 lib/widget/input.c     in->need_push = TRUE;
in                521 lib/widget/input.c yank (WInput * in)
in                527 lib/widget/input.c         in->charpoint = 0;
in                529 lib/widget/input.c             insert_char (in, *p);
in                530 lib/widget/input.c         in->charpoint = 0;
in                537 lib/widget/input.c kill_line (WInput * in)
in                541 lib/widget/input.c     chp = str_offset_to_pos (in->buffer->str, in->point);
in                543 lib/widget/input.c     kill_buffer = g_strndup (in->buffer->str + chp, in->buffer->len - chp);
in                544 lib/widget/input.c     g_string_set_size (in->buffer, chp);
in                545 lib/widget/input.c     in->charpoint = 0;
in                551 lib/widget/input.c clear_line (WInput * in)
in                553 lib/widget/input.c     in->need_push = TRUE;
in                554 lib/widget/input.c     g_string_set_size (in->buffer, 0);
in                555 lib/widget/input.c     in->point = 0;
in                556 lib/widget/input.c     in->mark = -1;
in                557 lib/widget/input.c     in->charpoint = 0;
in                563 lib/widget/input.c ins_from_clip (WInput * in)
in                578 lib/widget/input.c             insert_char (in, *pp);
in                587 lib/widget/input.c hist_prev (WInput * in)
in                591 lib/widget/input.c     if (in->history.list == NULL)
in                594 lib/widget/input.c     if (in->need_push)
in                595 lib/widget/input.c         input_push_history (in);
in                597 lib/widget/input.c     prev = g_list_previous (in->history.current);
in                600 lib/widget/input.c         input_assign_text (in, (char *) prev->data);
in                601 lib/widget/input.c         in->history.current = prev;
in                602 lib/widget/input.c         in->history.changed = TRUE;
in                603 lib/widget/input.c         in->need_push = FALSE;
in                610 lib/widget/input.c hist_next (WInput * in)
in                614 lib/widget/input.c     if (in->need_push)
in                616 lib/widget/input.c         input_push_history (in);
in                617 lib/widget/input.c         input_assign_text (in, "");
in                621 lib/widget/input.c     if (in->history.list == NULL)
in                624 lib/widget/input.c     next = g_list_next (in->history.current);
in                627 lib/widget/input.c         input_assign_text (in, "");
in                628 lib/widget/input.c         in->history.current = in->history.list;
in                632 lib/widget/input.c         input_assign_text (in, (char *) next->data);
in                633 lib/widget/input.c         in->history.current = next;
in                634 lib/widget/input.c         in->history.changed = TRUE;
in                635 lib/widget/input.c         in->need_push = FALSE;
in                642 lib/widget/input.c port_region_marked_for_delete (WInput * in)
in                644 lib/widget/input.c     g_string_set_size (in->buffer, 0);
in                645 lib/widget/input.c     in->point = 0;
in                646 lib/widget/input.c     in->first = FALSE;
in                647 lib/widget/input.c     in->charpoint = 0;
in                653 lib/widget/input.c input_execute_cmd (WInput * in, long command)
in                666 lib/widget/input.c         if (in->mark < 0)
in                668 lib/widget/input.c             input_mark_cmd (in, FALSE); /* clear */
in                669 lib/widget/input.c             input_mark_cmd (in, TRUE);  /* marking on */
in                676 lib/widget/input.c         if (in->mark >= 0)
in                677 lib/widget/input.c             input_mark_cmd (in, FALSE);
in                687 lib/widget/input.c         beginning_of_line (in);
in                691 lib/widget/input.c         end_of_line (in);
in                695 lib/widget/input.c         backward_char (in);
in                699 lib/widget/input.c         backward_word (in);
in                703 lib/widget/input.c         forward_char (in);
in                707 lib/widget/input.c         forward_word (in);
in                713 lib/widget/input.c             if (input_eval_marks (in, &m1, &m2))
in                714 lib/widget/input.c                 delete_region (in, m1, m2);
in                716 lib/widget/input.c                 backward_delete (in);
in                720 lib/widget/input.c         if (in->first)
in                721 lib/widget/input.c             port_region_marked_for_delete (in);
in                726 lib/widget/input.c             if (input_eval_marks (in, &m1, &m2))
in                727 lib/widget/input.c                 delete_region (in, m1, m2);
in                729 lib/widget/input.c                 delete_char (in);
in                733 lib/widget/input.c         kill_word (in);
in                736 lib/widget/input.c         back_kill_word (in);
in                739 lib/widget/input.c         input_mark_cmd (in, TRUE);
in                742 lib/widget/input.c         delete_region (in, in->point, MAX (in->mark, 0));
in                745 lib/widget/input.c         kill_line (in);
in                748 lib/widget/input.c         clear_line (in);
in                751 lib/widget/input.c         copy_region (in, MAX (in->mark, 0), in->point);
in                757 lib/widget/input.c             m = MAX (in->mark, 0);
in                758 lib/widget/input.c             copy_region (in, m, in->point);
in                759 lib/widget/input.c             delete_region (in, in->point, m);
in                763 lib/widget/input.c         yank (in);
in                766 lib/widget/input.c         ins_from_clip (in);
in                769 lib/widget/input.c         hist_prev (in);
in                772 lib/widget/input.c         hist_next (in);
in                775 lib/widget/input.c         do_show_hist (in);
in                778 lib/widget/input.c         input_complete (in);
in                795 lib/widget/input.c         in->mark = -1;
in                809 lib/widget/input.c     WInput *in = INPUT (init_data);
in                815 lib/widget/input.c     in->history.list = mc_config_history_load (ev->cfg, in->history.name);
in                816 lib/widget/input.c     in->history.current = in->history.list;
in                818 lib/widget/input.c     if (in->init_from_history)
in                822 lib/widget/input.c         if (in->history.list != NULL && in->history.list->data != NULL)
in                823 lib/widget/input.c             def_text = (const char *) in->history.list->data;
in                825 lib/widget/input.c         input_assign_text (in, def_text);
in                838 lib/widget/input.c     WInput *in = INPUT (init_data);
in                843 lib/widget/input.c     if (!in->is_password && (DIALOG (WIDGET (in)->owner)->ret_value != B_CANCEL))
in                847 lib/widget/input.c         input_push_history (in);
in                848 lib/widget/input.c         if (in->history.changed)
in                849 lib/widget/input.c             mc_config_history_save (ev->cfg, in->history.name, in->history.list);
in                850 lib/widget/input.c         in->history.changed = FALSE;
in                859 lib/widget/input.c input_destroy (WInput * in)
in                861 lib/widget/input.c     if (in == NULL)
in                867 lib/widget/input.c     input_complete_free (in);
in                870 lib/widget/input.c     if (in->history.list != NULL)
in                873 lib/widget/input.c         in->history.list = g_list_first (in->history.list);
in                874 lib/widget/input.c         g_list_free_full (in->history.list, g_free);
in                876 lib/widget/input.c     g_free (in->history.name);
in                877 lib/widget/input.c     g_string_free (in->buffer, TRUE);
in                887 lib/widget/input.c input_screen_to_point (const WInput * in, int x)
in                889 lib/widget/input.c     x += in->term_first_shown;
in                894 lib/widget/input.c     if (x < str_term_width1 (in->buffer->str))
in                895 lib/widget/input.c         return str_column_to_pos (in->buffer->str, x);
in                897 lib/widget/input.c     return str_length (in->buffer->str);
in                907 lib/widget/input.c     WInput *in = INPUT (w);
in                914 lib/widget/input.c         if (event->x >= w->rect.cols - HISTORY_BUTTON_WIDTH && should_show_history_button (in))
in                915 lib/widget/input.c             do_show_hist (in);
in                918 lib/widget/input.c             in->first = FALSE;
in                919 lib/widget/input.c             input_mark_cmd (in, FALSE);
in                920 lib/widget/input.c             input_set_point (in, input_screen_to_point (in, event->x));
in                922 lib/widget/input.c             prev_point = in->point;
in                928 lib/widget/input.c         if (in->mark < 0)
in                929 lib/widget/input.c             in->mark = prev_point;
in                931 lib/widget/input.c         input_set_point (in, input_screen_to_point (in, event->x));
in                936 lib/widget/input.c         if (in->mark == in->point)
in                937 lib/widget/input.c             input_mark_cmd (in, FALSE);
in                961 lib/widget/input.c     WInput *in;
in                964 lib/widget/input.c     in = g_new (WInput, 1);
in                965 lib/widget/input.c     w = WIDGET (in);
in                970 lib/widget/input.c     in->color = colors;
in                971 lib/widget/input.c     in->first = TRUE;
in                972 lib/widget/input.c     in->mark = -1;
in                973 lib/widget/input.c     in->term_first_shown = 0;
in                974 lib/widget/input.c     in->disable_update = 0;
in                975 lib/widget/input.c     in->is_password = FALSE;
in                976 lib/widget/input.c     in->strip_password = FALSE;
in                979 lib/widget/input.c     in->buffer = g_string_sized_new (width);
in                982 lib/widget/input.c     in->completions = NULL;
in                983 lib/widget/input.c     in->completion_flags = completion_flags;
in                985 lib/widget/input.c     in->init_from_history = (def_text == INPUT_LAST_TEXT);
in                987 lib/widget/input.c     if (in->init_from_history || def_text == NULL)
in                990 lib/widget/input.c     input_assign_text (in, def_text);
in                993 lib/widget/input.c     in->history.list = NULL;
in                994 lib/widget/input.c     in->history.current = NULL;
in                995 lib/widget/input.c     in->history.changed = FALSE;
in                996 lib/widget/input.c     in->history.name = NULL;
in                998 lib/widget/input.c         in->history.name = g_strdup (histname);
in               1001 lib/widget/input.c     in->label = NULL;
in               1003 lib/widget/input.c     return in;
in               1011 lib/widget/input.c     WInput *in = INPUT (w);
in               1022 lib/widget/input.c         if (in->label != NULL)
in               1023 lib/widget/input.c             widget_set_state (WIDGET (in->label), WST_DISABLED, widget_get_state (w, WST_DISABLED));
in               1030 lib/widget/input.c             v = input_handle_char (in, ascii_alpha_to_cntrl (tty_getch ()));
in               1044 lib/widget/input.c             v = input_handle_char (in, '\n');
in               1049 lib/widget/input.c         return input_handle_char (in, parm);
in               1052 lib/widget/input.c         return input_execute_cmd (in, parm);
in               1055 lib/widget/input.c         input_update (in, FALSE);
in               1060 lib/widget/input.c         if (in->label != NULL)
in               1061 lib/widget/input.c             widget_set_state (WIDGET (in->label), WST_DISABLED, msg == MSG_DISABLE);
in               1065 lib/widget/input.c         widget_gotoyx (in, 0, str_term_width2 (in->buffer->str, in->point) - in->term_first_shown);
in               1073 lib/widget/input.c         input_destroy (in);
in               1095 lib/widget/input.c input_handle_char (WInput * in, int key)
in               1102 lib/widget/input.c         input_complete_free (in);
in               1103 lib/widget/input.c         v = insert_char (in, key);
in               1104 lib/widget/input.c         input_update (in, TRUE);
in               1109 lib/widget/input.c     command = widget_lookup_key (WIDGET (in), key);
in               1114 lib/widget/input.c         if (in->first)
in               1115 lib/widget/input.c             port_region_marked_for_delete (in);
in               1116 lib/widget/input.c         input_complete_free (in);
in               1117 lib/widget/input.c         v = insert_char (in, key);
in               1118 lib/widget/input.c         input_update (in, TRUE);
in               1125 lib/widget/input.c             input_complete_free (in);
in               1126 lib/widget/input.c         input_execute_cmd (in, command);
in               1130 lib/widget/input.c         keep_first = in->first && (command == CK_History || command == CK_Complete);
in               1131 lib/widget/input.c         input_update (in, !keep_first);
in               1140 lib/widget/input.c input_assign_text (WInput * in, const char *text)
in               1145 lib/widget/input.c     input_complete_free (in);
in               1146 lib/widget/input.c     in->mark = -1;
in               1147 lib/widget/input.c     in->need_push = TRUE;
in               1148 lib/widget/input.c     in->charpoint = 0;
in               1149 lib/widget/input.c     g_string_assign (in->buffer, text);
in               1150 lib/widget/input.c     in->point = str_length (in->buffer->str);
in               1151 lib/widget/input.c     input_update (in, TRUE);
in               1165 lib/widget/input.c input_get_text (const WInput * in)
in               1167 lib/widget/input.c     if (input_is_empty (in))
in               1170 lib/widget/input.c     return g_strndup (in->buffer->str, in->buffer->len);
in               1176 lib/widget/input.c input_is_empty (const WInput * in)
in               1178 lib/widget/input.c     if (in == NULL)
in               1182 lib/widget/input.c     g_assert (in->buffer != NULL);
in               1184 lib/widget/input.c     return in->buffer->len == 0;
in               1191 lib/widget/input.c input_insert (WInput * in, const char *text, gboolean insert_extra_space)
in               1193 lib/widget/input.c     input_disable_update (in);
in               1195 lib/widget/input.c         input_handle_char (in, (unsigned char) *text++);        /* unsigned extension char->int */
in               1197 lib/widget/input.c         input_handle_char (in, ' ');
in               1198 lib/widget/input.c     input_enable_update (in);
in               1199 lib/widget/input.c     input_update (in, TRUE);
in               1205 lib/widget/input.c input_set_point (WInput * in, int pos)
in               1209 lib/widget/input.c     max_pos = str_length (in->buffer->str);
in               1211 lib/widget/input.c     if (pos != in->point)
in               1212 lib/widget/input.c         input_complete_free (in);
in               1213 lib/widget/input.c     in->point = pos;
in               1214 lib/widget/input.c     in->charpoint = 0;
in               1215 lib/widget/input.c     input_update (in, TRUE);
in               1221 lib/widget/input.c input_update (WInput * in, gboolean clear_first)
in               1223 lib/widget/input.c     Widget *wi = WIDGET (in);
in               1230 lib/widget/input.c     if (in->disable_update != 0)
in               1238 lib/widget/input.c         in->first = FALSE;
in               1240 lib/widget/input.c     if (should_show_history_button (in))
in               1243 lib/widget/input.c     buf_len = str_length (in->buffer->str);
in               1246 lib/widget/input.c     in->mark = MIN (in->mark, buf_len);
in               1248 lib/widget/input.c     pw = str_term_width2 (in->buffer->str, in->point);
in               1251 lib/widget/input.c     if ((pw < in->term_first_shown) || (pw >= in->term_first_shown + w->cols - has_history))
in               1253 lib/widget/input.c         in->term_first_shown = pw - (w->cols / 3);
in               1254 lib/widget/input.c         if (in->term_first_shown < 0)
in               1255 lib/widget/input.c             in->term_first_shown = 0;
in               1259 lib/widget/input.c         draw_history_button (in);
in               1263 lib/widget/input.c     else if (in->first)
in               1264 lib/widget/input.c         tty_setcolor (in->color[WINPUTC_UNCHANGED]);
in               1266 lib/widget/input.c         tty_setcolor (in->color[WINPUTC_MAIN]);
in               1268 lib/widget/input.c     widget_gotoyx (in, 0, 0);
in               1270 lib/widget/input.c     if (!in->is_password)
in               1272 lib/widget/input.c         if (in->mark < 0)
in               1273 lib/widget/input.c             tty_print_string (str_term_substring (in->buffer->str, in->term_first_shown,
in               1279 lib/widget/input.c             if (input_eval_marks (in, &m1, &m2))
in               1281 lib/widget/input.c                 tty_setcolor (in->color[WINPUTC_MAIN]);
in               1282 lib/widget/input.c                 cp = str_term_substring (in->buffer->str, in->term_first_shown,
in               1285 lib/widget/input.c                 tty_setcolor (in->color[WINPUTC_MARK]);
in               1286 lib/widget/input.c                 if (m1 < in->term_first_shown)
in               1288 lib/widget/input.c                     widget_gotoyx (in, 0, 0);
in               1289 lib/widget/input.c                     m1 = in->term_first_shown;
in               1296 lib/widget/input.c                     widget_gotoyx (in, 0, m1 - in->term_first_shown);
in               1297 lib/widget/input.c                     buf_width = str_term_width2 (in->buffer->str, m1);
in               1299 lib/widget/input.c                               (w->cols - has_history) - (buf_width - in->term_first_shown));
in               1302 lib/widget/input.c                 tty_print_string (str_term_substring (in->buffer->str, m1, m2));
in               1310 lib/widget/input.c         cp = str_term_substring (in->buffer->str, in->term_first_shown, w->cols - has_history);
in               1311 lib/widget/input.c         tty_setcolor (in->color[WINPUTC_MAIN]);
in               1314 lib/widget/input.c             if (i < (buf_len - in->term_first_shown) && cp[0] != '\0')
in               1327 lib/widget/input.c input_enable_update (WInput * in)
in               1329 lib/widget/input.c     in->disable_update--;
in               1330 lib/widget/input.c     input_update (in, FALSE);
in               1336 lib/widget/input.c input_disable_update (WInput * in)
in               1338 lib/widget/input.c     in->disable_update++;
in               1349 lib/widget/input.c input_clean (WInput * in)
in               1351 lib/widget/input.c     input_push_history (in);
in               1352 lib/widget/input.c     in->need_push = TRUE;
in               1353 lib/widget/input.c     g_string_set_size (in->buffer, 0);
in               1354 lib/widget/input.c     in->point = 0;
in               1355 lib/widget/input.c     in->charpoint = 0;
in               1356 lib/widget/input.c     in->mark = -1;
in               1357 lib/widget/input.c     input_complete_free (in);
in               1358 lib/widget/input.c     input_update (in, FALSE);
in                 92 lib/widget/input.h cb_ret_t input_handle_char (WInput * in, int key);
in                 93 lib/widget/input.h void input_assign_text (WInput * in, const char *text);
in                 94 lib/widget/input.h char *input_get_text (const WInput * in);
in                 95 lib/widget/input.h gboolean input_is_empty (const WInput * in);
in                 96 lib/widget/input.h void input_insert (WInput * in, const char *text, gboolean insert_extra_space);
in                 97 lib/widget/input.h void input_set_point (WInput * in, int pos);
in                 98 lib/widget/input.h void input_update (WInput * in, gboolean clear_first);
in                 99 lib/widget/input.h void input_enable_update (WInput * in);
in                100 lib/widget/input.h void input_disable_update (WInput * in);
in                101 lib/widget/input.h void input_clean (WInput * in);
in                104 lib/widget/input.h void input_complete (WInput * in);
in                105 lib/widget/input.h void input_complete_free (WInput * in);
in                106 lib/widget/input_complete.c void complete_engine_fill_completions (WInput * in);
in                979 lib/widget/input_complete.c insert_text (WInput * in, char *text, ssize_t size)
in                986 lib/widget/input_complete.c     buff_len = str_length (in->buffer->str);
in                999 lib/widget/input_complete.c         tail_len = in->buffer->len - end;
in               1005 lib/widget/input_complete.c             tail = g_strndup (in->buffer->str + end, tail_len);
in               1008 lib/widget/input_complete.c             if (in->buffer->len < hole_end)
in               1009 lib/widget/input_complete.c                 g_string_set_size (in->buffer, hole_end + tail_len);
in               1011 lib/widget/input_complete.c             g_string_overwrite_len (in->buffer, hole_end, tail, tail_len);
in               1017 lib/widget/input_complete.c     g_string_overwrite_len (in->buffer, start, text, size);
in               1019 lib/widget/input_complete.c     in->point += str_length (in->buffer->str) - buff_len;
in               1020 lib/widget/input_complete.c     input_update (in, TRUE);
in               1209 lib/widget/input_complete.c complete_engine (WInput * in, int what_to_do)
in               1211 lib/widget/input_complete.c     if (in->completions != NULL && str_offset_to_pos (in->buffer->str, in->point) != end)
in               1212 lib/widget/input_complete.c         input_complete_free (in);
in               1214 lib/widget/input_complete.c     if (in->completions == NULL)
in               1215 lib/widget/input_complete.c         complete_engine_fill_completions (in);
in               1217 lib/widget/input_complete.c     if (in->completions == NULL)
in               1222 lib/widget/input_complete.c             || ((what_to_do & DO_QUERY) != 0 && in->completions[1] == NULL))
in               1224 lib/widget/input_complete.c             char *lc_complete = in->completions[0];
in               1226 lib/widget/input_complete.c             if (!insert_text (in, lc_complete, -1) || in->completions[1] != NULL)
in               1229 lib/widget/input_complete.c                 input_complete_free (in);
in               1232 lib/widget/input_complete.c         if ((what_to_do & DO_QUERY) != 0 && in->completions != NULL && in->completions[1] != NULL)
in               1241 lib/widget/input_complete.c             for (p = in->completions + 1; *p != NULL; count++, p++)
in               1248 lib/widget/input_complete.c             start_x = WIDGET (in)->rect.x;
in               1249 lib/widget/input_complete.c             start_y = WIDGET (in)->rect.y;
in               1265 lib/widget/input_complete.c             x = start - in->term_first_shown - 2 + start_x;
in               1274 lib/widget/input_complete.c             input = in;
in               1285 lib/widget/input_complete.c             for (p = in->completions + 1; *p != NULL; p++)
in               1294 lib/widget/input_complete.c                     insert_text (in, q, -1);
in               1297 lib/widget/input_complete.c                 input_complete_free (in);
in               1413 lib/widget/input_complete.c complete_engine_fill_completions (WInput * in)
in               1418 lib/widget/input_complete.c     word_separators = (in->completion_flags & INPUT_COMPLETE_SHELL_ESC) ? " \t;|<>" : "\t;|<>";
in               1420 lib/widget/input_complete.c     end = str_offset_to_pos (in->buffer->str, in->point);
in               1422 lib/widget/input_complete.c     s = in->buffer->str;
in               1423 lib/widget/input_complete.c     if (in->point != 0)
in               1428 lib/widget/input_complete.c         for (i = in->point - 1; i > 0; i--)
in               1432 lib/widget/input_complete.c     for (; s >= in->buffer->str; str_prev_char (&s))
in               1434 lib/widget/input_complete.c         start = s - in->buffer->str;
in               1435 lib/widget/input_complete.c         if (strchr (word_separators, *s) != NULL && !strutils_is_char_escaped (in->buffer->str, s))
in               1442 lib/widget/input_complete.c         start = s - in->buffer->str;
in               1445 lib/widget/input_complete.c     in->completions = try_complete (in->buffer->str, &start, &end, in->completion_flags);
in               1452 lib/widget/input_complete.c input_complete (WInput * in)
in               1456 lib/widget/input_complete.c     if (!str_is_valid_string (in->buffer->str))
in               1459 lib/widget/input_complete.c     if (in->completions != NULL)
in               1469 lib/widget/input_complete.c     while (complete_engine (in, engine_flags))
in               1476 lib/widget/input_complete.c input_complete_free (WInput * in)
in               1478 lib/widget/input_complete.c     g_strfreev (in->completions);
in               1479 lib/widget/input_complete.c     in->completions = NULL;
in                 71 lib/widget/quick.c     WInput *in;
in                 73 lib/widget/quick.c     in = input_new (y, x, input_colors, 8, qw->u.input.text, qw->u.input.histname,
in                 76 lib/widget/quick.c     in->is_password = qw->u.input.is_passwd;
in                 77 lib/widget/quick.c     in->strip_password = qw->u.input.strip_passwd;
in                 79 lib/widget/quick.c     return in;
in                 88 lib/widget/quick.c     quick_widget_item_t in, label;
in                104 lib/widget/quick.c         in.widget = WIDGET (quick_create_input (++(*y), x, quick_widget));
in                105 lib/widget/quick.c         in.quick_widget = quick_widget;
in                106 lib/widget/quick.c         g_array_append_val (widgets, in);
in                108 lib/widget/quick.c         *width = MAX (label.widget->rect.cols, in.widget->rect.cols);
in                115 lib/widget/quick.c         in.widget = WIDGET (quick_create_input (*y, x + label.widget->rect.cols + 1, quick_widget));
in                116 lib/widget/quick.c         in.quick_widget = quick_widget;
in                117 lib/widget/quick.c         g_array_append_val (widgets, in);
in                119 lib/widget/quick.c         *width = label.widget->rect.cols + in.widget->rect.cols + 1;
in                123 lib/widget/quick.c         in.widget = WIDGET (quick_create_input (*y, x, quick_widget));
in                124 lib/widget/quick.c         in.quick_widget = quick_widget;
in                125 lib/widget/quick.c         g_array_append_val (widgets, in);
in                129 lib/widget/quick.c                     (*y, x + in.widget->rect.cols + 1, I18N (quick_widget->u.input.label_text)));
in                132 lib/widget/quick.c         *width = label.widget->rect.cols + in.widget->rect.cols + 1;
in                136 lib/widget/quick.c         in.widget = WIDGET (quick_create_input (*y, x, quick_widget));
in                137 lib/widget/quick.c         in.quick_widget = quick_widget;
in                138 lib/widget/quick.c         g_array_append_val (widgets, in);
in                144 lib/widget/quick.c         *width = MAX (label.widget->rect.cols, in.widget->rect.cols);
in                151 lib/widget/quick.c     INPUT (in.widget)->label = LABEL (label.widget);
in                153 lib/widget/quick.c     label.quick_widget->u.label.input = in.quick_widget;
in                154 lib/widget/quick.c     in.quick_widget->u.input.label = label.quick_widget;
in                334 src/filemanager/boxes.c             WInput *in;
in                336 src/filemanager/boxes.c             in = INPUT (widget_find_by_id (w, mini_user_format_id));
in                340 src/filemanager/boxes.c                 widget_disable (WIDGET (in), FALSE);
in                341 src/filemanager/boxes.c                 input_assign_text (in, status_format[3]);
in                348 src/filemanager/boxes.c                 widget_disable (WIDGET (in), TRUE);
in                349 src/filemanager/boxes.c                 input_assign_text (in, status_format[r->sel]);
in                242 src/filemanager/command.c command_insert (WInput * in, const char *text, gboolean insert_extra_space)
in                247 src/filemanager/command.c     input_insert (in, quoted_text, insert_extra_space);
in                 24 src/filemanager/command.h void command_insert (WInput * in, const char *text, gboolean insert_extra_space);
in                 35 tests/lib/widget/complete_engine.c void complete_engine_fill_completions (WInput * in);