X-Git-Url: https://fleuret.org/cgi-bin/gitweb/gitweb.cgi?a=blobdiff_plain;ds=inline;f=selector.cc;h=96e1b3dbff2a5f01998c480e85e069cd5086055f;hb=51a365af19cc63be6c61820f65423d58670cbee1;hp=27225b9cec383205e5ffa3808c7f85f12bf8681b;hpb=2cb82b02fab268f23ce67cee81438a1a0600f20d;p=selector.git diff --git a/selector.cc b/selector.cc index 27225b9..96e1b3d 100644 --- a/selector.cc +++ b/selector.cc @@ -23,7 +23,7 @@ */ // To use it as a super-history-search for bash: -// alias h='selector -d -i -b -v -f <(history)' +// selector -q -b -i -d -v -w -l 10000 <(history) #include #include @@ -349,7 +349,6 @@ void update_screen(int *current_line, int *temporary_line, int motion, int nb_printed_lines = 0; - clear(); use_default_colors(); addstr("\n"); @@ -445,6 +444,8 @@ void update_screen(int *current_line, int *temporary_line, int motion, buffer[k++] = '\n'; buffer[k++] = '\0'; + clrtoeol(); + // Highlight the highlighted line ... if(l == new_line) { @@ -479,6 +480,8 @@ void update_screen(int *current_line, int *temporary_line, int motion, addnstr("[empty choice]\n", console_width); } + clrtobot(); + // Draw the modeline move(0, 0); @@ -996,6 +999,11 @@ int main(int argc, char **argv) { kill_after_cursor(pattern, &cursor_position); } + else if(key == '\014') { // ^L + // I suspect that we may sometime mess up the display + clear(); + } + update_screen(¤t_line, &temporary_line, motion, nb_lines, labels, cursor_position, pattern);