cfg.runplugin = 0;
/* Must be in plugin dir and same context to select plugin */
if ((cfg.runctx == cfg.curctx) && !strcmp(path, plugindir)) {
+ endselection();
/* Copy path so we can return back to earlier dir */
xstrlcpy(path, rundir, PATH_MAX);
rundir[0] = '\0';
break;
case SEL_TOGGLEDOT:
cfg.showhidden ^= 1;
+ if (ndents)
+ copycurname();
if (cfg.filtermode)
presel = FILTER;
- break;
+ clearfilter();
+ goto begin;
case SEL_DETAIL:
cfg.showdetail ^= 1;
cfg.showdetail ? (printptr = &printent_long) : (printptr = &printent);
break;
}
-
/* Save current */
if (ndents)
copycurname();
}
if (sel == SEL_PLUGKEY) {
+ endselection();
r = xstrlcpy(g_buf, messages[MSG_PLUGIN_KEYS], CMD_LEN_MAX);
printkeys(plug, g_buf + r - 1, PLUGIN_MAX);
printprompt(g_buf);