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                104 lib/widget/input.c draw_history_button (WInput * in)
in                109 lib/widget/input.c     if (g_list_next (in->history.current) == NULL)
in                111 lib/widget/input.c     else if (g_list_previous (in->history.current) == NULL)
in                116 lib/widget/input.c     widget_gotoyx (in, 0, WIDGET (in)->rect.cols - HISTORY_BUTTON_WIDTH);
in                117 lib/widget/input.c     disabled = widget_get_state (WIDGET (in), WST_DISABLED);
in                118 lib/widget/input.c     tty_setcolor (disabled ? DISABLED_COLOR : in->color[WINPUTC_HISTORY]);
in                122 lib/widget/input.c     widget_gotoyx (in, 0, WIDGET (in)->rect.cols - HISTORY_BUTTON_WIDTH + 1);
in                131 lib/widget/input.c input_mark_cmd (WInput * in, gboolean mark)
in                133 lib/widget/input.c     in->mark = mark ? in->point : -1;
in                139 lib/widget/input.c input_eval_marks (WInput * in, long *start_mark, long *end_mark)
in                141 lib/widget/input.c     if (in->mark >= 0)
in                143 lib/widget/input.c         *start_mark = MIN (in->mark, in->point);
in                144 lib/widget/input.c         *end_mark = MAX (in->mark, in->point);
in                155 lib/widget/input.c do_show_hist (WInput * in)
in                160 lib/widget/input.c     len = get_history_length (in->history.list);
in                162 lib/widget/input.c     history_descriptor_init (&hd, WIDGET (in)->rect.y, WIDGET (in)->rect.x, in->history.list,
in                163 lib/widget/input.c                              g_list_position (in->history.list, in->history.list));
in                168 lib/widget/input.c     in->history.list = hd.list;
in                169 lib/widget/input.c     in->history.current = in->history.list;
in                172 lib/widget/input.c         input_assign_text (in, hd.text);
in                177 lib/widget/input.c     if (len != get_history_length (in->history.list))
in                178 lib/widget/input.c         in->history.changed = TRUE;
in                221 lib/widget/input.c input_push_history (WInput * in)
in                226 lib/widget/input.c     t = g_strstrip (input_get_text (in));
in                231 lib/widget/input.c         t = input_get_text (in);
in                233 lib/widget/input.c         if (in->history.name != NULL && in->strip_password)
in                248 lib/widget/input.c     if (in->history.list == NULL || in->history.list->data == NULL
in                249 lib/widget/input.c         || strcmp (in->history.list->data, t) != 0 || in->history.changed)
in                251 lib/widget/input.c         in->history.list = list_append_unique (in->history.list, t);
in                252 lib/widget/input.c         in->history.current = in->history.list;
in                253 lib/widget/input.c         in->history.changed = TRUE;
in                258 lib/widget/input.c     in->need_push = FALSE;
in                264 lib/widget/input.c move_buffer_backward (WInput * in, int start, int end)
in                268 lib/widget/input.c     str_len = str_length (in->buffer->str);
in                272 lib/widget/input.c     start = str_offset_to_pos (in->buffer->str, start);
in                273 lib/widget/input.c     end = str_offset_to_pos (in->buffer->str, end);
in                274 lib/widget/input.c     g_string_erase (in->buffer, start, end - start);
in                280 lib/widget/input.c beginning_of_line (WInput * in)
in                282 lib/widget/input.c     in->point = 0;
in                283 lib/widget/input.c     in->charpoint = 0;
in                289 lib/widget/input.c end_of_line (WInput * in)
in                291 lib/widget/input.c     in->point = str_length (in->buffer->str);
in                292 lib/widget/input.c     in->charpoint = 0;
in                298 lib/widget/input.c backward_char (WInput * in)
in                300 lib/widget/input.c     if (in->point > 0)
in                304 lib/widget/input.c         act = in->buffer->str + str_offset_to_pos (in->buffer->str, in->point);
in                305 lib/widget/input.c         in->point -= str_cprev_noncomb_char (&act, in->buffer->str);
in                308 lib/widget/input.c     in->charpoint = 0;
in                314 lib/widget/input.c forward_char (WInput * in)
in                318 lib/widget/input.c     act = in->buffer->str + str_offset_to_pos (in->buffer->str, in->point);
in                320 lib/widget/input.c         in->point += str_cnext_noncomb_char (&act);
in                321 lib/widget/input.c     in->charpoint = 0;
in                327 lib/widget/input.c forward_word (WInput * in)
in                331 lib/widget/input.c     p = in->buffer->str + str_offset_to_pos (in->buffer->str, in->point);
in                333 lib/widget/input.c     for (; p[0] != '\0' && (str_isspace (p) || str_ispunct (p)); in->point++)
in                336 lib/widget/input.c     for (; p[0] != '\0' && !str_isspace (p) && !str_ispunct (p); in->point++)
in                343 lib/widget/input.c backward_word (WInput * in)
in                347 lib/widget/input.c     p = in->buffer->str + str_offset_to_pos (in->buffer->str, in->point);
in                349 lib/widget/input.c     for (; p != in->buffer->str; in->point--)
in                362 lib/widget/input.c     for (; p != in->buffer->str; in->point--)
in                373 lib/widget/input.c backward_delete (WInput * in)
in                378 lib/widget/input.c     if (in->point == 0)
in                381 lib/widget/input.c     act = in->buffer->str + str_offset_to_pos (in->buffer->str, in->point);
in                382 lib/widget/input.c     start = in->point - str_cprev_noncomb_char (&act, in->buffer->str);
in                383 lib/widget/input.c     move_buffer_backward (in, start, in->point);
in                384 lib/widget/input.c     in->charpoint = 0;
in                385 lib/widget/input.c     in->need_push = TRUE;
in                386 lib/widget/input.c     in->point = start;
in                392 lib/widget/input.c copy_region (WInput * in, int start, int end)
in                408 lib/widget/input.c     first = str_offset_to_pos (in->buffer->str, first);
in                409 lib/widget/input.c     last = str_offset_to_pos (in->buffer->str, last);
in                411 lib/widget/input.c     kill_buffer = g_strndup (in->buffer->str + first, last - first);
in                421 lib/widget/input.c delete_region (WInput * in, int start, int end)
in                426 lib/widget/input.c     input_mark_cmd (in, FALSE);
in                427 lib/widget/input.c     in->point = first;
in                428 lib/widget/input.c     move_buffer_backward (in, first, last);
in                429 lib/widget/input.c     in->charpoint = 0;
in                430 lib/widget/input.c     in->need_push = TRUE;
in                436 lib/widget/input.c insert_char (WInput * in, int c_code)
in                442 lib/widget/input.c     if (input_eval_marks (in, &m1, &m2))
in                443 lib/widget/input.c         delete_region (in, m1, m2);
in                448 lib/widget/input.c     if (in->charpoint >= MB_LEN_MAX)
in                451 lib/widget/input.c     in->charbuf[in->charpoint] = c_code;
in                452 lib/widget/input.c     in->charpoint++;
in                454 lib/widget/input.c     res = str_is_valid_char (in->charbuf, in->charpoint);
in                458 lib/widget/input.c             in->charpoint = 0;  /* broken multibyte char, skip */
in                462 lib/widget/input.c     in->need_push = TRUE;
in                463 lib/widget/input.c     ins_point = str_offset_to_pos (in->buffer->str, in->point);
in                464 lib/widget/input.c     g_string_insert_len (in->buffer, ins_point, in->charbuf, in->charpoint);
in                465 lib/widget/input.c     in->point++;
in                466 lib/widget/input.c     in->charpoint = 0;
in                474 lib/widget/input.c delete_char (WInput * in)
in                479 lib/widget/input.c     act = in->buffer->str + str_offset_to_pos (in->buffer->str, in->point);
in                480 lib/widget/input.c     end = in->point + str_cnext_noncomb_char (&act);
in                481 lib/widget/input.c     move_buffer_backward (in, in->point, end);
in                482 lib/widget/input.c     in->charpoint = 0;
in                483 lib/widget/input.c     in->need_push = TRUE;
in                489 lib/widget/input.c kill_word (WInput * in)
in                491 lib/widget/input.c     int old_point = in->point;
in                494 lib/widget/input.c     forward_word (in);
in                495 lib/widget/input.c     new_point = in->point;
in                496 lib/widget/input.c     in->point = old_point;
in                498 lib/widget/input.c     delete_region (in, old_point, new_point);
in                499 lib/widget/input.c     in->need_push = TRUE;
in                500 lib/widget/input.c     in->charpoint = 0;
in                506 lib/widget/input.c back_kill_word (WInput * in)
in                508 lib/widget/input.c     int old_point = in->point;
in                511 lib/widget/input.c     backward_word (in);
in                512 lib/widget/input.c     new_point = in->point;
in                513 lib/widget/input.c     in->point = old_point;
in                515 lib/widget/input.c     delete_region (in, old_point, new_point);
in                516 lib/widget/input.c     in->need_push = TRUE;
in                522 lib/widget/input.c yank (WInput * in)
in                528 lib/widget/input.c         in->charpoint = 0;
in                530 lib/widget/input.c             insert_char (in, *p);
in                531 lib/widget/input.c         in->charpoint = 0;
in                538 lib/widget/input.c kill_line (WInput * in)
in                542 lib/widget/input.c     chp = str_offset_to_pos (in->buffer->str, in->point);
in                544 lib/widget/input.c     kill_buffer = g_strndup (in->buffer->str + chp, in->buffer->len - chp);
in                545 lib/widget/input.c     g_string_set_size (in->buffer, chp);
in                546 lib/widget/input.c     in->charpoint = 0;
in                552 lib/widget/input.c clear_line (WInput * in)
in                554 lib/widget/input.c     in->need_push = TRUE;
in                555 lib/widget/input.c     g_string_set_size (in->buffer, 0);
in                556 lib/widget/input.c     in->point = 0;
in                557 lib/widget/input.c     in->mark = -1;
in                558 lib/widget/input.c     in->charpoint = 0;
in                564 lib/widget/input.c ins_from_clip (WInput * in)
in                579 lib/widget/input.c             insert_char (in, *pp);
in                588 lib/widget/input.c hist_prev (WInput * in)
in                592 lib/widget/input.c     if (in->history.list == NULL)
in                595 lib/widget/input.c     if (in->need_push)
in                596 lib/widget/input.c         input_push_history (in);
in                598 lib/widget/input.c     prev = g_list_previous (in->history.current);
in                601 lib/widget/input.c         input_assign_text (in, (char *) prev->data);
in                602 lib/widget/input.c         in->history.current = prev;
in                603 lib/widget/input.c         in->history.changed = TRUE;
in                604 lib/widget/input.c         in->need_push = FALSE;
in                611 lib/widget/input.c hist_next (WInput * in)
in                615 lib/widget/input.c     if (in->need_push)
in                617 lib/widget/input.c         input_push_history (in);
in                618 lib/widget/input.c         input_assign_text (in, "");
in                622 lib/widget/input.c     if (in->history.list == NULL)
in                625 lib/widget/input.c     next = g_list_next (in->history.current);
in                628 lib/widget/input.c         input_assign_text (in, "");
in                629 lib/widget/input.c         in->history.current = in->history.list;
in                633 lib/widget/input.c         input_assign_text (in, (char *) next->data);
in                634 lib/widget/input.c         in->history.current = next;
in                635 lib/widget/input.c         in->history.changed = TRUE;
in                636 lib/widget/input.c         in->need_push = FALSE;
in                643 lib/widget/input.c port_region_marked_for_delete (WInput * in)
in                645 lib/widget/input.c     g_string_set_size (in->buffer, 0);
in                646 lib/widget/input.c     in->point = 0;
in                647 lib/widget/input.c     in->first = FALSE;
in                648 lib/widget/input.c     in->charpoint = 0;
in                654 lib/widget/input.c input_execute_cmd (WInput * in, long command)
in                667 lib/widget/input.c         if (in->mark < 0)
in                669 lib/widget/input.c             input_mark_cmd (in, FALSE); /* clear */
in                670 lib/widget/input.c             input_mark_cmd (in, TRUE);  /* marking on */
in                677 lib/widget/input.c         if (in->mark >= 0)
in                678 lib/widget/input.c             input_mark_cmd (in, FALSE);
in                688 lib/widget/input.c         beginning_of_line (in);
in                692 lib/widget/input.c         end_of_line (in);
in                696 lib/widget/input.c         backward_char (in);
in                700 lib/widget/input.c         backward_word (in);
in                704 lib/widget/input.c         forward_char (in);
in                708 lib/widget/input.c         forward_word (in);
in                714 lib/widget/input.c             if (input_eval_marks (in, &m1, &m2))
in                715 lib/widget/input.c                 delete_region (in, m1, m2);
in                717 lib/widget/input.c                 backward_delete (in);
in                721 lib/widget/input.c         if (in->first)
in                722 lib/widget/input.c             port_region_marked_for_delete (in);
in                727 lib/widget/input.c             if (input_eval_marks (in, &m1, &m2))
in                728 lib/widget/input.c                 delete_region (in, m1, m2);
in                730 lib/widget/input.c                 delete_char (in);
in                734 lib/widget/input.c         kill_word (in);
in                737 lib/widget/input.c         back_kill_word (in);
in                740 lib/widget/input.c         input_mark_cmd (in, TRUE);
in                743 lib/widget/input.c         delete_region (in, in->point, MAX (in->mark, 0));
in                746 lib/widget/input.c         kill_line (in);
in                749 lib/widget/input.c         clear_line (in);
in                752 lib/widget/input.c         copy_region (in, MAX (in->mark, 0), in->point);
in                758 lib/widget/input.c             m = MAX (in->mark, 0);
in                759 lib/widget/input.c             copy_region (in, m, in->point);
in                760 lib/widget/input.c             delete_region (in, in->point, m);
in                764 lib/widget/input.c         yank (in);
in                767 lib/widget/input.c         ins_from_clip (in);
in                770 lib/widget/input.c         hist_prev (in);
in                773 lib/widget/input.c         hist_next (in);
in                776 lib/widget/input.c         do_show_hist (in);
in                779 lib/widget/input.c         input_complete (in);
in                796 lib/widget/input.c         in->mark = -1;
in                810 lib/widget/input.c     WInput *in = INPUT (init_data);
in                816 lib/widget/input.c     in->history.list = mc_config_history_load (ev->cfg, in->history.name);
in                817 lib/widget/input.c     in->history.current = in->history.list;
in                819 lib/widget/input.c     if (in->init_from_history)
in                823 lib/widget/input.c         if (in->history.list != NULL && in->history.list->data != NULL)
in                824 lib/widget/input.c             def_text = (const char *) in->history.list->data;
in                826 lib/widget/input.c         input_assign_text (in, def_text);
in                839 lib/widget/input.c     WInput *in = INPUT (init_data);
in                844 lib/widget/input.c     if (!in->is_password && (DIALOG (WIDGET (in)->owner)->ret_value != B_CANCEL))
in                848 lib/widget/input.c         input_push_history (in);
in                849 lib/widget/input.c         if (in->history.changed)
in                850 lib/widget/input.c             mc_config_history_save (ev->cfg, in->history.name, in->history.list);
in                851 lib/widget/input.c         in->history.changed = FALSE;
in                860 lib/widget/input.c input_destroy (WInput * in)
in                862 lib/widget/input.c     input_complete_free (in);
in                865 lib/widget/input.c     if (in->history.list != NULL)
in                868 lib/widget/input.c         in->history.list = g_list_first (in->history.list);
in                869 lib/widget/input.c         g_list_free_full (in->history.list, g_free);
in                871 lib/widget/input.c     g_free (in->history.name);
in                872 lib/widget/input.c     g_string_free (in->buffer, TRUE);
in                882 lib/widget/input.c input_screen_to_point (const WInput * in, int x)
in                884 lib/widget/input.c     x += in->term_first_shown;
in                889 lib/widget/input.c     if (x < str_term_width1 (in->buffer->str))
in                890 lib/widget/input.c         return str_column_to_pos (in->buffer->str, x);
in                892 lib/widget/input.c     return str_length (in->buffer->str);
in                902 lib/widget/input.c     WInput *in = INPUT (w);
in                909 lib/widget/input.c         if (event->x >= w->rect.cols - HISTORY_BUTTON_WIDTH && should_show_history_button (in))
in                910 lib/widget/input.c             do_show_hist (in);
in                913 lib/widget/input.c             in->first = FALSE;
in                914 lib/widget/input.c             input_mark_cmd (in, FALSE);
in                915 lib/widget/input.c             input_set_point (in, input_screen_to_point (in, event->x));
in                917 lib/widget/input.c             prev_point = in->point;
in                923 lib/widget/input.c         if (in->mark < 0)
in                924 lib/widget/input.c             in->mark = prev_point;
in                926 lib/widget/input.c         input_set_point (in, input_screen_to_point (in, event->x));
in                931 lib/widget/input.c         if (in->mark == in->point)
in                932 lib/widget/input.c             input_mark_cmd (in, FALSE);
in                956 lib/widget/input.c     WInput *in;
in                959 lib/widget/input.c     in = g_new (WInput, 1);
in                960 lib/widget/input.c     w = WIDGET (in);
in                965 lib/widget/input.c     in->color = colors;
in                966 lib/widget/input.c     in->first = TRUE;
in                967 lib/widget/input.c     in->mark = -1;
in                968 lib/widget/input.c     in->term_first_shown = 0;
in                969 lib/widget/input.c     in->disable_update = 0;
in                970 lib/widget/input.c     in->is_password = FALSE;
in                971 lib/widget/input.c     in->strip_password = FALSE;
in                974 lib/widget/input.c     in->buffer = g_string_sized_new (width);
in                977 lib/widget/input.c     in->completions = NULL;
in                978 lib/widget/input.c     in->completion_flags = completion_flags;
in                980 lib/widget/input.c     in->init_from_history = (def_text == INPUT_LAST_TEXT);
in                982 lib/widget/input.c     if (in->init_from_history || def_text == NULL)
in                985 lib/widget/input.c     input_assign_text (in, def_text);
in                988 lib/widget/input.c     in->history.list = NULL;
in                989 lib/widget/input.c     in->history.current = NULL;
in                990 lib/widget/input.c     in->history.changed = FALSE;
in                991 lib/widget/input.c     in->history.name = NULL;
in                993 lib/widget/input.c         in->history.name = g_strdup (histname);
in                996 lib/widget/input.c     in->label = NULL;
in                998 lib/widget/input.c     return in;
in               1006 lib/widget/input.c     WInput *in = INPUT (w);
in               1017 lib/widget/input.c         if (in->label != NULL)
in               1018 lib/widget/input.c             widget_set_state (WIDGET (in->label), WST_DISABLED, widget_get_state (w, WST_DISABLED));
in               1025 lib/widget/input.c             v = input_handle_char (in, ascii_alpha_to_cntrl (tty_getch ()));
in               1039 lib/widget/input.c             v = input_handle_char (in, '\n');
in               1044 lib/widget/input.c         return input_handle_char (in, parm);
in               1047 lib/widget/input.c         return input_execute_cmd (in, parm);
in               1050 lib/widget/input.c         input_update (in, FALSE);
in               1055 lib/widget/input.c         if (in->label != NULL)
in               1056 lib/widget/input.c             widget_set_state (WIDGET (in->label), WST_DISABLED, msg == MSG_DISABLE);
in               1060 lib/widget/input.c         widget_gotoyx (in, 0, str_term_width2 (in->buffer->str, in->point) - in->term_first_shown);
in               1068 lib/widget/input.c         input_destroy (in);
in               1090 lib/widget/input.c input_handle_char (WInput * in, int key)
in               1097 lib/widget/input.c         input_complete_free (in);
in               1098 lib/widget/input.c         v = insert_char (in, key);
in               1099 lib/widget/input.c         input_update (in, TRUE);
in               1104 lib/widget/input.c     command = widget_lookup_key (WIDGET (in), key);
in               1109 lib/widget/input.c         if (in->first)
in               1110 lib/widget/input.c             port_region_marked_for_delete (in);
in               1111 lib/widget/input.c         input_complete_free (in);
in               1112 lib/widget/input.c         v = insert_char (in, key);
in               1113 lib/widget/input.c         input_update (in, TRUE);
in               1120 lib/widget/input.c             input_complete_free (in);
in               1121 lib/widget/input.c         input_execute_cmd (in, command);
in               1125 lib/widget/input.c         keep_first = in->first && (command == CK_History || command == CK_Complete);
in               1126 lib/widget/input.c         input_update (in, !keep_first);
in               1135 lib/widget/input.c input_assign_text (WInput * in, const char *text)
in               1140 lib/widget/input.c     input_complete_free (in);
in               1141 lib/widget/input.c     in->mark = -1;
in               1142 lib/widget/input.c     in->need_push = TRUE;
in               1143 lib/widget/input.c     in->charpoint = 0;
in               1144 lib/widget/input.c     g_string_assign (in->buffer, text);
in               1145 lib/widget/input.c     in->point = str_length (in->buffer->str);
in               1146 lib/widget/input.c     input_update (in, TRUE);
in               1153 lib/widget/input.c input_insert (WInput * in, const char *text, gboolean insert_extra_space)
in               1155 lib/widget/input.c     input_disable_update (in);
in               1157 lib/widget/input.c         input_handle_char (in, (unsigned char) *text++);        /* unsigned extension char->int */
in               1159 lib/widget/input.c         input_handle_char (in, ' ');
in               1160 lib/widget/input.c     input_enable_update (in);
in               1161 lib/widget/input.c     input_update (in, TRUE);
in               1167 lib/widget/input.c input_set_point (WInput * in, int pos)
in               1171 lib/widget/input.c     max_pos = str_length (in->buffer->str);
in               1173 lib/widget/input.c     if (pos != in->point)
in               1174 lib/widget/input.c         input_complete_free (in);
in               1175 lib/widget/input.c     in->point = pos;
in               1176 lib/widget/input.c     in->charpoint = 0;
in               1177 lib/widget/input.c     input_update (in, TRUE);
in               1183 lib/widget/input.c input_update (WInput * in, gboolean clear_first)
in               1185 lib/widget/input.c     Widget *wi = WIDGET (in);
in               1192 lib/widget/input.c     if (in->disable_update != 0)
in               1200 lib/widget/input.c         in->first = FALSE;
in               1202 lib/widget/input.c     if (should_show_history_button (in))
in               1205 lib/widget/input.c     buf_len = str_length (in->buffer->str);
in               1208 lib/widget/input.c     in->mark = MIN (in->mark, buf_len);
in               1210 lib/widget/input.c     pw = str_term_width2 (in->buffer->str, in->point);
in               1213 lib/widget/input.c     if ((pw < in->term_first_shown) || (pw >= in->term_first_shown + w->cols - has_history))
in               1215 lib/widget/input.c         in->term_first_shown = pw - (w->cols / 3);
in               1216 lib/widget/input.c         if (in->term_first_shown < 0)
in               1217 lib/widget/input.c             in->term_first_shown = 0;
in               1221 lib/widget/input.c         draw_history_button (in);
in               1225 lib/widget/input.c     else if (in->first)
in               1226 lib/widget/input.c         tty_setcolor (in->color[WINPUTC_UNCHANGED]);
in               1228 lib/widget/input.c         tty_setcolor (in->color[WINPUTC_MAIN]);
in               1230 lib/widget/input.c     widget_gotoyx (in, 0, 0);
in               1232 lib/widget/input.c     if (!in->is_password)
in               1234 lib/widget/input.c         if (in->mark < 0)
in               1235 lib/widget/input.c             tty_print_string (str_term_substring (in->buffer->str, in->term_first_shown,
in               1241 lib/widget/input.c             if (input_eval_marks (in, &m1, &m2))
in               1243 lib/widget/input.c                 tty_setcolor (in->color[WINPUTC_MAIN]);
in               1244 lib/widget/input.c                 cp = str_term_substring (in->buffer->str, in->term_first_shown,
in               1247 lib/widget/input.c                 tty_setcolor (in->color[WINPUTC_MARK]);
in               1248 lib/widget/input.c                 if (m1 < in->term_first_shown)
in               1250 lib/widget/input.c                     widget_gotoyx (in, 0, 0);
in               1251 lib/widget/input.c                     m1 = in->term_first_shown;
in               1258 lib/widget/input.c                     widget_gotoyx (in, 0, m1 - in->term_first_shown);
in               1259 lib/widget/input.c                     buf_width = str_term_width2 (in->buffer->str, m1);
in               1261 lib/widget/input.c                               (w->cols - has_history) - (buf_width - in->term_first_shown));
in               1264 lib/widget/input.c                 tty_print_string (str_term_substring (in->buffer->str, m1, m2));
in               1272 lib/widget/input.c         cp = str_term_substring (in->buffer->str, in->term_first_shown, w->cols - has_history);
in               1273 lib/widget/input.c         tty_setcolor (in->color[WINPUTC_MAIN]);
in               1276 lib/widget/input.c             if (i < (buf_len - in->term_first_shown) && cp[0] != '\0')
in               1289 lib/widget/input.c input_enable_update (WInput * in)
in               1291 lib/widget/input.c     in->disable_update--;
in               1292 lib/widget/input.c     input_update (in, FALSE);
in               1298 lib/widget/input.c input_disable_update (WInput * in)
in               1300 lib/widget/input.c     in->disable_update++;
in               1311 lib/widget/input.c input_clean (WInput * in)
in               1313 lib/widget/input.c     input_push_history (in);
in               1314 lib/widget/input.c     in->need_push = TRUE;
in               1315 lib/widget/input.c     g_string_set_size (in->buffer, 0);
in               1316 lib/widget/input.c     in->point = 0;
in               1317 lib/widget/input.c     in->charpoint = 0;
in               1318 lib/widget/input.c     in->mark = -1;
in               1319 lib/widget/input.c     input_complete_free (in);
in               1320 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 void input_insert (WInput * in, const char *text, gboolean insert_extra_space);
in                 95 lib/widget/input.h void input_set_point (WInput * in, int pos);
in                 96 lib/widget/input.h void input_update (WInput * in, gboolean clear_first);
in                 97 lib/widget/input.h void input_enable_update (WInput * in);
in                 98 lib/widget/input.h void input_disable_update (WInput * in);
in                 99 lib/widget/input.h void input_clean (WInput * in);
in                102 lib/widget/input.h void input_complete (WInput * in);
in                103 lib/widget/input.h void input_complete_free (WInput * in);
in                117 lib/widget/input.h input_get_text (const WInput * in)
in                119 lib/widget/input.h     return g_strndup (in->buffer->str, in->buffer->len);
in                132 lib/widget/input.h input_get_ctext (const WInput * in)
in                134 lib/widget/input.h     return in->buffer->str;
in                147 lib/widget/input.h input_is_empty (const WInput * in)
in                149 lib/widget/input.h     return (in->buffer->len == 0);
in                 93 lib/widget/input_complete.c void complete_engine_fill_completions (WInput * in);
in                980 lib/widget/input_complete.c insert_text (WInput * in, char *text, ssize_t size)
in                987 lib/widget/input_complete.c     buff_len = str_length (in->buffer->str);
in               1000 lib/widget/input_complete.c         tail_len = in->buffer->len - end;
in               1006 lib/widget/input_complete.c             tail = g_strndup (in->buffer->str + end, tail_len);
in               1009 lib/widget/input_complete.c             if (in->buffer->len < hole_end)
in               1010 lib/widget/input_complete.c                 g_string_set_size (in->buffer, hole_end + tail_len);
in               1012 lib/widget/input_complete.c             g_string_overwrite_len (in->buffer, hole_end, tail, tail_len);
in               1018 lib/widget/input_complete.c     g_string_overwrite_len (in->buffer, start, text, size);
in               1020 lib/widget/input_complete.c     in->point += str_length (in->buffer->str) - buff_len;
in               1021 lib/widget/input_complete.c     input_update (in, TRUE);
in               1210 lib/widget/input_complete.c complete_engine (WInput * in, int what_to_do)
in               1212 lib/widget/input_complete.c     if (in->completions != NULL && str_offset_to_pos (in->buffer->str, in->point) != end)
in               1213 lib/widget/input_complete.c         input_complete_free (in);
in               1215 lib/widget/input_complete.c     if (in->completions == NULL)
in               1216 lib/widget/input_complete.c         complete_engine_fill_completions (in);
in               1218 lib/widget/input_complete.c     if (in->completions == NULL)
in               1223 lib/widget/input_complete.c             || ((what_to_do & DO_QUERY) != 0 && in->completions[1] == NULL))
in               1225 lib/widget/input_complete.c             char *lc_complete = in->completions[0];
in               1227 lib/widget/input_complete.c             if (!insert_text (in, lc_complete, -1) || in->completions[1] != NULL)
in               1230 lib/widget/input_complete.c                 input_complete_free (in);
in               1233 lib/widget/input_complete.c         if ((what_to_do & DO_QUERY) != 0 && in->completions != NULL && in->completions[1] != NULL)
in               1242 lib/widget/input_complete.c             for (p = in->completions + 1; *p != NULL; count++, p++)
in               1249 lib/widget/input_complete.c             start_x = WIDGET (in)->rect.x;
in               1250 lib/widget/input_complete.c             start_y = WIDGET (in)->rect.y;
in               1266 lib/widget/input_complete.c             x = start - in->term_first_shown - 2 + start_x;
in               1275 lib/widget/input_complete.c             input = in;
in               1284 lib/widget/input_complete.c             for (p = in->completions + 1; *p != NULL; p++)
in               1293 lib/widget/input_complete.c                     insert_text (in, q, -1);
in               1296 lib/widget/input_complete.c                 input_complete_free (in);
in               1412 lib/widget/input_complete.c complete_engine_fill_completions (WInput * in)
in               1417 lib/widget/input_complete.c     word_separators = (in->completion_flags & INPUT_COMPLETE_SHELL_ESC) ? " \t;|<>" : "\t;|<>";
in               1419 lib/widget/input_complete.c     end = str_offset_to_pos (in->buffer->str, in->point);
in               1421 lib/widget/input_complete.c     s = in->buffer->str;
in               1422 lib/widget/input_complete.c     if (in->point != 0)
in               1427 lib/widget/input_complete.c         for (i = in->point - 1; i > 0; i--)
in               1431 lib/widget/input_complete.c     for (; s >= in->buffer->str; str_prev_char (&s))
in               1433 lib/widget/input_complete.c         start = s - in->buffer->str;
in               1434 lib/widget/input_complete.c         if (strchr (word_separators, *s) != NULL && !strutils_is_char_escaped (in->buffer->str, s))
in               1441 lib/widget/input_complete.c         start = s - in->buffer->str;
in               1444 lib/widget/input_complete.c     in->completions = try_complete (in->buffer->str, &start, &end, in->completion_flags);
in               1451 lib/widget/input_complete.c input_complete (WInput * in)
in               1455 lib/widget/input_complete.c     if (!str_is_valid_string (in->buffer->str))
in               1458 lib/widget/input_complete.c     if (in->completions != NULL)
in               1468 lib/widget/input_complete.c     while (complete_engine (in, engine_flags))
in               1475 lib/widget/input_complete.c input_complete_free (WInput * in)
in               1477 lib/widget/input_complete.c     g_strfreev (in->completions);
in               1478 lib/widget/input_complete.c     in->completions = NULL;
in                 73 lib/widget/quick.c     WInput *in;
in                 75 lib/widget/quick.c     in = input_new (y, x, input_colors, 8, qw->u.input.text, qw->u.input.histname,
in                 78 lib/widget/quick.c     in->is_password = qw->u.input.is_passwd;
in                 79 lib/widget/quick.c     in->strip_password = qw->u.input.strip_passwd;
in                 81 lib/widget/quick.c     return in;
in                 90 lib/widget/quick.c     quick_widget_item_t in, label;
in                106 lib/widget/quick.c         in.widget = WIDGET (quick_create_input (++(*y), x, quick_widget));
in                107 lib/widget/quick.c         in.quick_widget = quick_widget;
in                108 lib/widget/quick.c         g_array_append_val (widgets, in);
in                110 lib/widget/quick.c         *width = MAX (label.widget->rect.cols, in.widget->rect.cols);
in                117 lib/widget/quick.c         in.widget = WIDGET (quick_create_input (*y, x + label.widget->rect.cols + 1, quick_widget));
in                118 lib/widget/quick.c         in.quick_widget = quick_widget;
in                119 lib/widget/quick.c         g_array_append_val (widgets, in);
in                121 lib/widget/quick.c         *width = label.widget->rect.cols + in.widget->rect.cols + 1;
in                125 lib/widget/quick.c         in.widget = WIDGET (quick_create_input (*y, x, quick_widget));
in                126 lib/widget/quick.c         in.quick_widget = quick_widget;
in                127 lib/widget/quick.c         g_array_append_val (widgets, in);
in                131 lib/widget/quick.c                     (*y, x + in.widget->rect.cols + 1, I18N (quick_widget->u.input.label_text)));
in                134 lib/widget/quick.c         *width = label.widget->rect.cols + in.widget->rect.cols + 1;
in                138 lib/widget/quick.c         in.widget = WIDGET (quick_create_input (*y, x, quick_widget));
in                139 lib/widget/quick.c         in.quick_widget = quick_widget;
in                140 lib/widget/quick.c         g_array_append_val (widgets, in);
in                146 lib/widget/quick.c         *width = MAX (label.widget->rect.cols, in.widget->rect.cols);
in                153 lib/widget/quick.c     INPUT (in.widget)->label = LABEL (label.widget);
in                155 lib/widget/quick.c     label.quick_widget->u.label.input = in.quick_widget;
in                156 lib/widget/quick.c     in.quick_widget->u.input.label = label.quick_widget;
in                336 src/filemanager/boxes.c             WInput *in;
in                338 src/filemanager/boxes.c             in = INPUT (widget_find_by_id (w, mini_user_format_id));
in                342 src/filemanager/boxes.c                 widget_disable (WIDGET (in), FALSE);
in                343 src/filemanager/boxes.c                 input_assign_text (in, status_format[3]);
in                350 src/filemanager/boxes.c                 widget_disable (WIDGET (in), TRUE);
in                351 src/filemanager/boxes.c                 input_assign_text (in, status_format[r->sel]);
in                249 src/filemanager/command.c command_insert (WInput * in, const char *text, gboolean insert_extra_space)
in                256 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);