xaizek / vifm (License: GPLv2+) (since 2018-12-07)
Vifm is a file manager with curses interface, which provides Vi[m]-like environment for managing objects within file systems, extended with some useful ideas from mutt.
Commit 0f6b64cdf654615463476c07145b15ac6889c941

Avoid reloading file list after pressing "="
Add an extra condition that should avoid unnecessary reloading.
Author: xaizek
Author date (UTC): 2018-11-10 12:54
Committer name: xaizek
Committer date (UTC): 2018-11-10 12:55
Parent(s): c5b2eb75af882bc1cf7a4781d20925f89c79ae50
Signing key: 99DC5E4DB05F6BE2
Tree: 4372c2dffd918f1abd6d209b314e65af9360c859
File Lines added Lines deleted
ChangeLog 3 0
src/filtering.c 3 5
File ChangeLog changed (mode: 100644) (index 4dd1d911b..c3ebf4ff4)
7 7 Return "broken" from filetype({fnum}, 1) for inaccessible link target. Return "broken" from filetype({fnum}, 1) for inaccessible link target.
8 8 Thanks to filterfalse. Thanks to filterfalse.
9 9
10 Avoid unnecessary reloading file list after pressing "=" to enter local
11 filter.
12
10 13 Fixed crash on pasting elements of paths that contain broken UTF-8 Fixed crash on pasting elements of paths that contain broken UTF-8
11 14 sequences into command-line using Ctrl-X + key. Thanks to Jose sequences into command-line using Ctrl-X + key. Thanks to Jose
12 15 Riha (a.k.a. jose1711). Riha (a.k.a. jose1711).
File src/filtering.c changed (mode: 100644) (index 456153b03..ab5de1a4a)
37 37 #include "opt_handlers.h" #include "opt_handlers.h"
38 38
39 39 static void reset_filter(filter_t *filter); static void reset_filter(filter_t *filter);
40 static int is_newly_filtered(view_t *view, const dir_entry_t *entry,
41 void *arg);
40 static int is_newly_filtered(view_t *view, const dir_entry_t *entry, void *arg);
42 41 static void replace_matcher(matcher_t **matcher, const char expr[]); static void replace_matcher(matcher_t **matcher, const char expr[]);
43 42 static int get_unfiltered_pos(const view_t *view, int pos); static int get_unfiltered_pos(const view_t *view, int pos);
44 43 static int load_unfiltered_list(view_t *view); static int load_unfiltered_list(view_t *view);
 
... ... load_unfiltered_list(view_t *view)
463 462 static int static int
464 463 list_is_incomplete(view_t *view) list_is_incomplete(view_t *view)
465 464 { {
466 int i;
467
468 if(view->filtered > 0)
465 if(view->filtered > 0 && !filter_is_empty(&view->local_filter.filter))
469 466 { {
470 467 return 1; return 1;
471 468 } }
 
... ... list_is_incomplete(view_t *view)
478 475 /* Check if there are any directories without leaf nodes. They aren't counted /* Check if there are any directories without leaf nodes. They aren't counted
479 476 * as filtered out, so need to check separately (or start counting them in * as filtered out, so need to check separately (or start counting them in
480 477 * some way). */ * some way). */
478 int i;
481 479 for(i = 0; i < view->list_rows; ++i) for(i = 0; i < view->list_rows; ++i)
482 480 { {
483 481 dir_entry_t *const entry = &view->dir_entry[i]; dir_entry_t *const entry = &view->dir_entry[i];
Hints

Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://code.reversed.top/user/xaizek/vifm

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@code.reversed.top/user/xaizek/vifm

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a pull request:
... clone the repository ...
... make some changes and some commits ...
git push origin master