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 dbd8790a6bd5359af3f40b6a4b7276693dac7bde

Update NEWS file for v0.13
Author: xaizek
Author date (UTC): 2023-04-03 16:07
Committer name: xaizek
Committer date (UTC): 2023-04-03 16:07
Parent(s): 4970bcab534588c45bbec60eb6ba2b57ec1798d1
Signing key: 99DC5E4DB05F6BE2
Tree: 9d1d9ace57743b1475523bab7740c38cee2bc33b
File Lines added Lines deleted
NEWS 205 0
File NEWS changed (mode: 100644) (index 34b7a9019..7a05caf75)
1 4 April 2023
2 ============
3
4 Vifm v0.13
5 ----------
6
7 Thanks to everyone who tried out the beta.
8
9 Highlights:
10
11 - Faster file-system navigation with a new searching/filtering submode.
12
13 Hitting `<c-y>` after `/` or `=` allows finding and opening consecutive path
14 components without leaving command-line mode. In this mode keys like
15 `<c-o>`/`<c-n>`/`<c-p>`/`<left>`/`<home>`/etc. help to refine cursor
16 position or go to parent directory if necessary.
17
18 - More interactive :compare.
19
20 You can now see stats about file comparison on the status bar and have an
21 option to easily re-run the comparison while toggling visibility of some of
22 the groups.
23
24 Also, default file alignment is more natural now. `do` and `dp` handle
25 selection. You can force ignoring or respecting case in paths. Performance
26 and memory consumption have been improved in various cases.
27
28 - Mouse support and TUI improvements.
29
30 Once mouse support is enabled, you should be able to perform simple browsing
31 with just your mouse for those cases when it's more convenient.
32
33 Conflict dialog now always presents basic file metadata for comparison.
34 Detailed progress dialog has ETA. Ls-like view can now have a fixed number
35 of columns.
36
37 - Other.
38
39 Formatting of tabs and entry selection in Lua. Changing register's content
40 via an editor. Explicitly prompting user for input via input() function.
41
42 - Fixes.
43
44 v0.12.1 was supposed to improve escaping on Windows, but it simultaneously
45 made one old bug more prominent, effectively making things much worse in
46 some cases. This release remedies that.
47
48 %N macro has been adjusted to fix integration with image preview of Kitty
49 v0.27+.
50
51 Lots of fixes related to search and various combinations of 'hlsearch',
52 'incsearch' in different modes.
53
54 Normal and visual modes:
55 - made Ctrl-E/Ctrl-Y scroll transposed ls-like view horizontally by one column;
56 - extended do and dp keys to process selection (thanks to Mark S., a.k.a.
57 Markuzcha).
58
59 :set command and options:
60 - added 'mouse' option to control when mouse input is handled (not handled by
61 default);
62 - added 'navoptions' option to allow tweaking navigation mode a bit (thanks to
63 filterfalse);
64 - added 'tabline' option to specify format of the tab line;
65 - added "columncount:" value to 'lsoptions' to always display fixed number of
66 columns (thanks to Aleksandr Vysotskiy, a.k.a. loki1368);
67 - added "rpreview:files" to 'milleroptions' (thanks to aksr).
68
69 Command-line mode:
70 - changed error reporting for some of the :commands such that now their
71 failures cause a dialog to appear on sourcing, previously those errors were
72 printed only to status bar;
73 - changed implementation of `:compare grouppaths` to juxtapose only files with
74 identical relative paths (patch by Alexandr Keyp, a.k.a. IAmKapuze);
75 - added "withicase" and "withrcase" to :compare that force ignoring and
76 respecting case respectively on comparing file names and paths (thanks to
77 Jose Riha, a.k.a. jose1711);
78 - added show* arguments to :compare command to control/switch which sets of
79 files are displayed (toggling is done by :compare!) (patch by Alexandr Keyp,
80 a.k.a. IAmKapuze);
81 - added :amap, :anoremap and :aunmap commands to configure mappings in
82 navigation mode (thanks to Henrik Holst, a.k.a. hholst80, and dmocek);
83 - added :regedit command for external editing of register contents (thanks to
84 Daniel J. Perry, a.k.a. BioBox; patch by Rostislav Tolushkin, a.k.a.
85 nullptr-deref);
86 - added Ctrl-Y key to command-line mode. It activates fast navigation that
87 allows entering deep paths by a series of searches for individual path
88 components (thanks to Henrik Holst, a.k.a. hholst80, and dmocek);
89 - added Ctrl-J key to command-line navigation. It leaves the mode without
90 opening a file/directory (thanks to filterfalse);
91 - added Ctrl-O key to command-line navigation that goes to parent directory;
92 - added Ctrl-N/P keys to command-line navigation to move view cursor up/down
93 (thanks to Henrik Holst, a.k.a. hholst80, and dmocek);
94 - added Arrows/Home/End/Page Up/Page Down keys to command-line navigation to
95 move view cursor (thanks to Henrik Holst, a.k.a. hholst80, and dmocek).
96
97 Core:
98 - added printing stats while in :compare mode (patch by Alexandr Keyp, a.k.a.
99 IAmKapuze);
100 - don't move cursor on search failure during search with a count (patch by
101 filterfalse);
102 - specified a few more cases when to show a search message with search
103 highlighting turned on: if found a match, if wrapping is turned on, and in
104 visual mode (patch by filterfalse);
105 - a regular search logic showing messages is applied to n/N (patch by
106 filterfalse).
107
108 File operations:
109 - made aborting deletion abort the operation on the rest of files when
110 deleting multiple files.
111
112 Macros:
113 - changed %N macro to also not start a process group for a command (thanks to
114 Oskar Grunning, a.k.a. sQVe).
115
116 Scripting:
117 - added input() builtin function to prompt user for input (thanks to Artur F.,
118 a.k.a. arturfabriciohahaedgy);
119 - added filereadable() builtin function mainly as a way to check file's
120 presence.
121
122 Menus and dialogs:
123 - added r key to :jobs menu, which reloads the list of jobs (thanks to Sylwia
124 Ptasinska, a.k.a. SylEleuth);
125 - made feedback after pressing dd in :jobs more prominent (thanks to Sylwia
126 Ptasinska, a.k.a. SylEleuth).
127
128 TUI (Text User Interface):
129 - added builtin handling of mouse events (thanks to ranousse, Sergei Shilovsky
130 and user451421541757324; patch by 高浩亮, a.k.a. haolian9);
131 - added ETA to detailed progress dialog (thanks to Jose Riha, a.k.a.
132 jose1711);
133 - apply file highlighting to "ext" and "fileext" view columns (thanks to
134 aleksejrs);
135 - merged file conflict comparison dialog into the main conflict dialog (thanks
136 to aleksejrs);
137 - made file conflict more concise (thanks to aleksejrs).
138
139 Color schemes:
140 - added additional User10..User20 highlight groups and corresponding %10*-%20*
141 macros (thanks to Sylwia Ptasinska, a.k.a. SylEleuth);
142 - update Default-256 to differentiate between more file types (thanks to
143 aleksejrs).
144
145 Invocation:
146 - added `--plugins-dir` command-line option which allows specifying additional
147 places to look for plugins (thanks to 高浩亮, a.k.a. haolian9).
148
149 Performance:
150 - reduced amount of memory consumed by `:compare groupids`;
151 - made `:compare bycontents` not bother reading content of files which have
152 unique size.
153
154 Documentation:
155 - provide basic instructions in the documentation on how mappings work (thanks
156 to dmocek);
157 - fixed description of %i macro in the documentation to mention that it runs
158 command in background.
159
160 Packaging:
161 - changed use of `$(filter-out)` in src/Makefile.am to `$(var:from=to)`
162 substitution to get rid of a warning on configuration;
163 - changed how pthread support is detected by configure script to handle more
164 cases (thanks to Markus Elfring, a.k.a. elfring);
165 - changed configure script to fail if neither perl nor vim is available
166 instead of failing to generate tags for Vim-style documentation (thanks to
167 Sergei Trofimovich, a.k.a. trofi);
168 - install icons also to ${prefix}/share/icons. It's not clear that using
169 ${prefix}/share/pixmaps will always be handled properly (thanks to Szilárd
170 Andai).
171
172 Integration:
173 - made instances running inside AppImage consider contents of `/etc/vifm`
174 (thanks to aleksejrs);
175 - fixed $VIFM_APPDIR_ROOT being ignored by :help command, which made it not
176 work properly from AppImage (thanks to infinitewhileloop).
177
178 Only on Windows:
179 - fixed escaping of file paths when using 'vicmd' or 'vixcmd' to open a file
180 on Windows (thanks to Phil Runninger).
181
182 Noteworthy fixes:
183 - fixed abort due to assertion failure on using zx normal mode key after
184 leaving tree in some cases (thanks to Mark S., a.k.a. Markuzcha);
185 - fixed asynchronous previewing of symbolic links, which required manual
186 redraw (thanks to Alexandre Viau);
187 - fixed FUSE mounting assuming `2>` redirection is supported by the shell,
188 which isn't true at least for csh and tcsh (thanks to Evgeniy, a.k.a.
189 iron-udjin);
190 - fixed dialogs not handling non-latin characters well;
191 - fixed :locate never escaping its arguments (should be done unless the first
192 one starts with a dash). This is a regression in 0.7.6;
193 - fixed n/N not moving the cursor without prior search (patch by filterfalse);
194 - fixed resetting 'hlsearch' during incremental search in visual mode (patch
195 by filterfalse);
196 - fixed dropping selected files on empty input during incremental search in
197 visual mode when 'hlsearch' is set (patch by filterfalse);
198 - fixed segfault on trying to use a pipe from Lua after its parent VifmJob
199 object was garbage-collected (thanks to PRESFIL);
200 - fixed 'previewprg' not being respected on switching to view mode (regression
201 in 0.12-beta) (thanks to Sitaram Chamarty).
202
203 See change log for the full list of changes and by whom they were suggested or
204 implemented.
205
1 206 17 March 2023 17 March 2023
2 207 ============= =============
3 208
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