int get_input(int prompt_position, struct key *key, bool modifiers) { struct view *view; int i, key_value, cursor_y, cursor_x; if (prompt_position) input_mode = TRUE; memset(key, 0, sizeof(*key)); while (TRUE) { int delay = -1; if (opt_refresh_mode == REFRESH_MODE_PERIODIC) { delay = watch_periodic(opt_refresh_interval); foreach_displayed_view (view, i) { if (view_can_refresh(view) && watch_dirty(&view->watch)) refresh_view(view); } } foreach_view (view, i) { update_view(view); if (view_is_displayed(view) && view->has_scrolled && use_scroll_redrawwin) redrawwin(view->win); view->has_scrolled = FALSE; if (view->pipe) delay = 0; }
int get_input(int prompt_position, struct key *key) { struct view *view; int i, key_value, cursor_y, cursor_x; if (prompt_position > 0) input_mode = true; memset(key, 0, sizeof(*key)); while (true) { int delay = -1; if (opt_refresh_mode == REFRESH_MODE_PERIODIC) { delay = watch_periodic(opt_refresh_interval); bool refs_refreshed = false; foreach_displayed_view (view, i) { if (view_can_refresh(view) && watch_dirty(&view->watch)) { if (!refs_refreshed) { load_refs(true); refs_refreshed = true; } refresh_view(view); } } } foreach_view (view, i) { update_view(view); if (view_is_displayed(view) && view->has_scrolled && use_scroll_redrawwin) redrawwin(view->win); view->has_scrolled = false; if (view->pipe) delay = 0; }