F5 to redraw (even with filter)

This commit is contained in:
Arun Prakash Jana 2020-05-30 23:25:01 +05:30
parent 04f9698d86
commit 8e9c4ec88b
No known key found for this signature in database
GPG key ID: A75979F35C080412
2 changed files with 11 additions and 14 deletions

View file

@ -2569,18 +2569,23 @@ static int filterentries(char *path, char *lastname)
} else
continue;
// fallthrough
case KEY_F(5): // fallthrough
case CONTROL('L'):
if (*ch == CONTROL('L')) {
if (*ch == CONTROL('L') || *ch == KEY_F(5)) {
if (wln[1]) {
ln[REGEX_MAX - 1] = ln[1];
ln[1] = wln[1] = '\0';
len = 1;
ndents = total;
} else if (ln[REGEX_MAX - 1]) { /* Show the previous filter */
} else if (*ch == CONTROL('L') && ln[REGEX_MAX - 1]) {
/* Show the previous filter */
ln[1] = ln[REGEX_MAX - 1];
ln[REGEX_MAX - 1] = '\0';
len = mbstowcs(wln, ln, REGEX_MAX);
}
if (*ch == KEY_F(5))
goto end;
}
/* Go to the top, we don't know if the hovered file will match the filter */
@ -2597,17 +2602,8 @@ static int filterentries(char *path, char *lastname)
#endif
case 27: /* Exit filter mode on Escape and Alt+key */
if (handle_alt_key(ch) != ERR) {
if (*ch == 27) { /* Handle Alt + Esc */
if (wln[1]) {
ln[REGEX_MAX - 1] = ln[1];
ln[1] = wln[1] = '\0';
ndents = total;
*ch = CONTROL('L');
}
} else {
unget_wch(*ch);
*ch = CONTROL('S');
}
unget_wch(*ch);
*ch = CONTROL('S');
}
goto end;
}
@ -4145,7 +4141,7 @@ static void show_help(const char *path)
"a1-4 Context 1-4%-7c(Sh)Tab Cycle context\n"
"c/ Filter%-17c^N Toggle type-to-nav\n"
"aEsc Exit prompt%-12c^L Redraw/clear prompt\n"
"c0 Lock%-14cAlt+Esc Clear filter, redraw\n"
"c0 Lock%-19cF5 Redraw\n"
"c? Help, conf%-13c^G QuitCD\n"
"cq Quit context%-7c^Q (Q) Quit (with err)\n"
"1FILES\n"

View file

@ -199,6 +199,7 @@ static struct key bindings[] = {
{ CONTROL('T'), SEL_SORT },
/* Redraw window */
{ CONTROL('L'), SEL_REDRAW },
{ KEY_F(5), SEL_REDRAW },
/* Select current file path */
{ CONTROL('J'), SEL_SEL },
{ ' ', SEL_SEL },