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 4d95c5563ba5135aede2c3d979d83bf98c6621c6

Correct number of sel files in vmode after n and N
Author: xaizek
Author date (UTC): 2012-06-22 20:46
Committer name: xaizek
Committer date (UTC): 2012-06-22 20:46
Parent(s): b2bffd4f397ceabd95b71ce8515fde06fbc66777
Signing key:
Tree: 64b9d29321cbac5f40de3d29028dda97ba519a58
File Lines added Lines deleted
ChangeLog 2 0
src/modes/modes.c 28 8
src/ui.c 1 1
src/ui.h 1 1
File ChangeLog changed (mode: 100644) (index bc30c18de..4e26613aa)
43 43 Faster redrawing of statusbar with "-- VISUAL --" message after "Press Faster redrawing of statusbar with "-- VISUAL --" message after "Press
44 44 Enter message". Enter message".
45 45
46 Show correct number of selected files in visual mode after n and N keys.
47
46 48 Fixed unexpected resetting of dot filter on following mark to root Fixed unexpected resetting of dot filter on following mark to root
47 49 directory. directory.
48 50
File src/modes/modes.c changed (mode: 100644) (index 3de407594..f4273ad23)
... ... static mode_init_func mode_init_funcs[] = {
81 81 }; };
82 82 ARRAY_GUARD(mode_init_funcs, MODES_COUNT); ARRAY_GUARD(mode_init_funcs, MODES_COUNT);
83 83
84 static void modes_statusbar_update(void);
85 static void update_vmode_input(void);
86
84 87 void void
85 88 init_modes(void) init_modes(void)
86 89 { {
 
... ... modes_post(void)
170 173 } }
171 174 } }
172 175
176 modes_statusbar_update();
177 }
178
179 void
180 modes_statusbar_update(void)
181 {
173 182 if(curr_stats.save_msg) if(curr_stats.save_msg)
174 ;
183 {
184 if(mode == VISUAL_MODE)
185 {
186 update_vmode_input();
187 }
188 }
175 189 else if(curr_view->selected_files || mode == VISUAL_MODE) else if(curr_view->selected_files || mode == VISUAL_MODE)
176 190 print_selected_msg(); print_selected_msg();
177 191 else else
 
... ... print_selected_msg(void)
302 316 if(mode == VISUAL_MODE) if(mode == VISUAL_MODE)
303 317 { {
304 318 status_bar_message("-- VISUAL -- "); status_bar_message("-- VISUAL -- ");
305 if(is_input_buf_empty())
306 {
307 werase(input_win);
308 wmove(input_win, 0, 0);
309 wprintw(input_win, "%d", curr_view->selected_files);
310 wrefresh(input_win);
311 }
319 update_vmode_input();
312 320 } }
313 321 else else
314 322 { {
 
... ... print_selected_msg(void)
318 326 curr_stats.save_msg = 2; curr_stats.save_msg = 2;
319 327 } }
320 328
329 static void
330 update_vmode_input(void)
331 {
332 if(is_input_buf_empty())
333 {
334 werase(input_win);
335 wmove(input_win, 0, 0);
336 wprintw(input_win, "%d", curr_view->selected_files);
337 wrefresh(input_win);
338 }
339 }
340
321 341 /* vim: set tabstop=2 softtabstop=2 shiftwidth=2 noexpandtab cinoptions-=(0 : */ /* vim: set tabstop=2 softtabstop=2 shiftwidth=2 noexpandtab cinoptions-=(0 : */
322 342 /* vim: set cinoptions+=t0 : */ /* vim: set cinoptions+=t0 : */
File src/ui.c changed (mode: 100644) (index b2b2c1304..cfb2280a7)
... ... update_all_windows(void)
1369 1369 } }
1370 1370
1371 1371 void void
1372 update_input_bar(wchar_t *str)
1372 update_input_bar(const wchar_t *str)
1373 1373 { {
1374 1374 if(!curr_stats.use_input_bar) if(!curr_stats.use_input_bar)
1375 1375 return; return;
File src/ui.h changed (mode: 100644) (index ee1c3e7f5..90e109ae0)
... ... int is_status_bar_multiline(void);
191 191 void clean_status_bar(void); void clean_status_bar(void);
192 192 void change_window(void); void change_window(void);
193 193 void update_all_windows(void); void update_all_windows(void);
194 void update_input_bar(wchar_t *str);
194 void update_input_bar(const wchar_t *str);
195 195 void clear_num_window(void); void clear_num_window(void);
196 196 void show_progress(const char *msg, int period); void show_progress(const char *msg, int period);
197 197 void redraw_lists(void); void redraw_lists(void);
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