From df265bb4dd467140eccb177e6fc05f100699b203 Mon Sep 17 00:00:00 2001 From: Francois Fleuret Date: Fri, 17 Feb 2012 18:28:59 +0100 Subject: [PATCH] Made the long-line indicator more visible. --- selector.c | 43 +++++++++++++++++++++---------------------- 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/selector.c b/selector.c index ddddb11..72f1aa1 100644 --- a/selector.c +++ b/selector.c @@ -571,7 +571,6 @@ int next_visible(int current_line, int nb_lines, char **lines, /*********************************************************************/ void print_string_with_switches(char *buffer, int line_width, - int console_width, int nb_patterns, int *switches) { int w, current = 0, next; if(switches) { @@ -590,10 +589,10 @@ void print_string_with_switches(char *buffer, int line_width, } } if(current < line_width) { - addnstr(buffer + current, console_width - current); + addnstr(buffer + current, line_width - current); } } else { - addnstr(buffer, console_width); + addnstr(buffer, line_width); } } @@ -741,36 +740,36 @@ void update_screen(int *current_focus_line, int *displayed_focus_line, if(l == new_focus_line) { if(show_long_lines && k >= console_width) { - if(console_width >= 4) { - buffer[console_width - 4] = ' '; - buffer[console_width - 3] = '.'; - buffer[console_width - 2] = '.'; - buffer[console_width - 1] = '.'; - } + attron(attr_focus_line); + print_string_with_switches(buffer, console_width-1, + nb_switches / 2, switches); + /* attron(attr_error); */ + addnstr("\\", 1); + /* attroff(attr_error); */ + attroff(attr_focus_line); } else { while(k < console_width) { buffer[k++] = ' '; } + attron(attr_focus_line); + print_string_with_switches(buffer, k, + nb_switches / 2, switches); + attroff(attr_focus_line); } - attron(attr_focus_line); - print_string_with_switches(buffer, k, console_width, - nb_switches / 2, switches); - attroff(attr_focus_line); } else { if(show_long_lines && k >= console_width) { - if(console_width >= 4) { - buffer[console_width - 4] = ' '; - buffer[console_width - 3] = '.'; - buffer[console_width - 2] = '.'; - buffer[console_width - 1] = '.'; - } + print_string_with_switches(buffer, console_width-1, + nb_switches / 2, switches); + attron(attr_focus_line); + addnstr("\\", 1); + attroff(attr_focus_line); } else { buffer[k++] = '\n'; buffer[k++] = '\0'; - } - print_string_with_switches(buffer, k, console_width, - nb_switches / 2, switches); + print_string_with_switches(buffer, k, + nb_switches / 2, switches); + } } nb_printed_lines++; -- 2.20.1