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 e928390d4ec25701e1fd575270ae4a273401e1c9

Apply POS_WIN_MIN_WIDTH independently of the mode
This makes the modes agree most of the time which looks better
(avoids input field jumping unnecessarily).
Author: xaizek
Author date (UTC): 2026-06-08 17:12
Committer name: xaizek
Committer date (UTC): 2026-06-08 17:15
Parent(s): cec82621e2d367afe4d8125474d0d957faa183ee
Signing key: 99DC5E4DB05F6BE2
Tree: b8ba9826c35eade1ae74a7942d18f8af4e4b7865
File Lines added Lines deleted
src/ui/ui.c 3 2
File src/ui/ui.c changed (mode: 100644) (index 4ec4d28e3..427391e7f)
... ... update_statusbar_layout(void)
1540 1540 getmaxyx(stdscr, screen_y, screen_x); getmaxyx(stdscr, screen_y, screen_x);
1541 1541
1542 1542 int max_ruler_width = screen_x - INPUT_WIN_WIDTH - 1; int max_ruler_width = screen_x - INPUT_WIN_WIDTH - 1;
1543 int ruler_width = MIN(get_ruler_width(), max_ruler_width);
1543 int ruler_width =
1544 MIN(MAX(POS_WIN_MIN_WIDTH, get_ruler_width()), max_ruler_width);
1544 1545 /* The minimal start position is 1, not 0, because otherwise the ruler is /* The minimal start position is 1, not 0, because otherwise the ruler is
1545 1546 * hidden by a single-character status bar window. */ * hidden by a single-character status bar window. */
1546 1547 int fields_pos = screen_x - (INPUT_WIN_WIDTH + ruler_width); int fields_pos = screen_x - (INPUT_WIN_WIDTH + ruler_width);
 
... ... get_fileview_ruler_width(view_t *view)
1601 1602
1602 1603 view->list_pos = list_pos; view->list_pos = list_pos;
1603 1604
1604 return MAX(POS_WIN_MIN_WIDTH, len);
1605 return len;
1605 1606 } }
1606 1607
1607 1608 /* Expands view macros to be displayed on the ruler line according to the format /* Expands view macros to be displayed on the ruler line according to the format
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