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 a743ba63ca284201eb918c06e3403e0a7ced61e4

Update menu ruler on reentering menu mode
We change menu object and thus total number of lines and current
position could change.
Author: xaizek
Author date (UTC): 2017-06-04 11:54
Committer name: xaizek
Committer date (UTC): 2017-06-04 11:54
Parent(s): 263be7aad4d43529056d5812a9c86fe07f3f31a6
Signing key: 99DC5E4DB05F6BE2
Tree: 2051a24fa16ff67acd858f062ba5cf5f674f2237
File Lines added Lines deleted
src/menus/jobs_menu.c 0 2
src/modes/menu.c 1 0
File src/menus/jobs_menu.c changed (mode: 100644) (index d7fa80f45..0c98ff851)
... ... show_job_errors(FileView *view, menu_data_t *m, bg_job_t *job)
204 204 m.items = break_into_lines(errors, errors_len, &m.len, 0); m.items = break_into_lines(errors, errors_len, &m.len, 0);
205 205
206 206 reenter_menu_mode(&m); reenter_menu_mode(&m);
207 draw_menu(m.state);
208 207 } }
209 208 free(cmd); free(cmd);
210 209 free(errors); free(errors);
 
... ... errs_khandler(FileView *view, menu_data_t *m, const wchar_t keys[])
218 217 if(wcscmp(keys, L"h") == 0) if(wcscmp(keys, L"h") == 0)
219 218 { {
220 219 reenter_menu_mode(&jobs_m); reenter_menu_mode(&jobs_m);
221 draw_menu(jobs_m.state);
222 220 return KHR_REFRESH_WINDOW; return KHR_REFRESH_WINDOW;
223 221 } }
224 222 return KHR_UNHANDLED; return KHR_UNHANDLED;
File src/modes/menu.c changed (mode: 100644) (index 1785d7dcd..888ae0e14)
... ... reenter_menu_mode(menu_data_t *m)
317 317 assert(m->len > 0 && "Menu cannot be empty."); assert(m->len > 0 && "Menu cannot be empty.");
318 318
319 319 menus_replace_menu(m); menus_replace_menu(m);
320 redraw_menu(m->state);
320 321 menu = m; menu = m;
321 322 } }
322 323
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