Terminal file manager
-config
command line flag is added to use a custom config file path (by @SPFabGerman).PWD
environment variable (by @SeerLite). Subshells in symlink directories should now start in their own paths properly.OLDPWD
environment variable.shellflag
option is added to customize the shell flag used for passing commands (i.e. default -c
for unix and /c
for windows).cmd-enter
during find
and find-back
now jumps to the first match (by @gotroyb127).waitmsg
option is added to customize the prompt message after shell-wait
commands (i.e. default Press any key to continue
) (by @gotroyb127).shell-wait
commands (by @gotroyb127).delete
key should be recognized properly in st
terminal.stty
(unix) and pause
(windows) to implement "Press any key to continue" behavior are now implemented properly with Go terminal handling library. With this change, requirement for a POSIX compatible shell for shell
option is now dropped and other shells might be used.shellopts
to empty in the configuration file should not pass an extra empty argument to the shell commands anymore.|| true
to each command exiting with a non-zero return code after a SIGPIPE.mouse
option is added to enable mouse events. This option is disabled by default to leave mouse events to the terminal. Also unbind mouse events when mouse
is enabled should now show unknown mapping error in the message line.%
commands should no longer shift the content up which was a bug introduced in the previous release due to a fix to handle combining characters in texts.cleaner
option is added to set the path to a file to run when the preview is changed.%w
in promptfmt
is changed back to its old behavior without a trailing separator (by @SPFabGerman). Instead, a new expansion %d
is added with a trailing separator. Expansion %w
is meant to be used to display the current working directory, whereas %d%f
is meant to be used to display the current file.LF_COLORS
environment variable is now checked to be able to make lf specific configurations. Also, environment variables for colors are now read cumulatively starting from the default behavior (i.e. default, LSCOLORS
, LS_COLORS
, LF_COLORS
).etc/lfcd.ps1
(by @sitiom).etc/lf.ps1
(by @sitiom).-command
flags can now be given (by @kmarius).<m-1>
for primary button, <m-2>
for secondary button, <m-3>
for middle button etc.) and mouse wheels (e.g. <m-up>
for wheel up, <m-down>
for wheel down etc.) can be used in bindings.top
and bottom
are now allowed in cmap
mappings in addition to movement commands.info
should now take into account number
and icons
options properly.id
is now set to process id instead to avoid two clients getting the same id when launched at the same time (by @edganiukov).ignorecase
and ignoredia
should now also apply to sorting in addition to searching.ignoredia
is now enabled by default to be consistent with ignorecase
.TCELL_TRUECOLOR
is not required anymore so that terminal themes and true colors can be used at the same time.color256
is now removed.cmd-menu-complete
and cmd-menu-complete-back
are added for completion menu cycling (by @tarasyarema).etc/lfrc.cmd.example
and etc/lfrc.ps1.example
are now added to the repository.etc/lf.bash
is now added to the repository.info
option should now show year instead of hh:mm for times older than the current year.SIGHUP
, SIGQUIT
, and SIGTERM
should now quit the program properly.info
to an empty value should not print errors to the log file anymore.etc/lfcd.fish
is now updated to avoid hanging in shell commands (by @crivaronicolini).bottom
command immediately after startup should not crash the program anymore.<bs>
renamed to <backspace>
). On the other hand, there are also additional keybindings that were not available before (e.g. <backtab>
for Shift+Tab). You can either check tcell documentation for the list of keys or hit the key combination in lf
to read the name of the key from the unknown mapping error message.hiddenfiles
should now automatically trigger directory updates when necessary.toggle
does not move the selection down anymore. Default binding for <space>
is now assigned to :toggle; down
instead to keep the default behavior same as before.%w
in option promptfmt
should now have a trailing slash. Default value of promptfmt
is now changed accordingly. The default value should not display double slashes in the root directory anymore.<esc>
is now used as the escape key. It should not display an error message when used to cancel a keybinding menu as before. However, it is not possible to bind <esc>
key to another command anymore.hiddenfiles
option which takes a list of globs is implemented to customize which files should be hidden (by @adamtabrams).hidden
now works in windows.toggle
can now take optional arguments to toggle given names instead of the current file (by @gotroyb127).truncatechar
is implemented to customize the truncate character used in long filenames (by @YerinAlexey).info
should now align properly when used with option number
and relativenumber
(by @gotroyb127).~
is now only expanded at the beginning of path for cd
and select
commands (by @gotroyb127).rename
should now work properly with names differing only cases on case-insensitive filesystems.incsearch
now respects the search direction accordingly.hidden
now works consistently as expected when set at the initial launch.rename
should now select the new file after the operation.rename
should now handle absolute paths properly.select
should now work properly on loading directories. Custom commands that select a file after an operation should now work properly without an explicit load
operation beforehand.push
should not fail with non-ascii characters anymore.select
should not fail with broken links anymore.load
should not clear toggled broken links anymore.delete
now shows a prompt with the current filename or the number of selected files (by @Limero).lf.desktop
is added (by @doronbehar).sortby
types are added, access time (i.e. atime
), change time (i.e. ctime
), and extension (i.e. ext
). New default keybindings are added for these sorts correspondingly (i.e. sa
, sc
, and se
). Option info
can now also contain atime
and ctime
values accordingly (by @kmwenja).zsh
is added to etc/lf.zsh
(by @JurisMajors).delete
now works asynchronously and shows the progress (by @JurisMajors).csh
and tcsh
as etc/lf.csh
and etc/lfcd.csh
respectively (by @nereusx).on-cd
is added to run a shell command when the directory is changed. See the documentation for more information. (by @ath3).etc/lfcd.cmd
can now also change to a different volume drive (by @YongJieYongJie).setsid
for opening files is now added to the example configuration and the documentation (by @LukeSmithxyz).~
is now only applied properly to paths starting with the home directory (by @arolle).rename
now cancels the operation if old and new paths are the same (by @Limero).shell-pipe
which was broken some time ago should now work as expected.$TERM
can now work with values containing tmux
with custom $TERMINFO
values (by @doronbehar). @doronbehar now maintains a termbox fork for lf (https://github.com/doronbehar/termbox-go).wrapscroll
option is added to wrap top and bottom while scrolling (by @Limero).up
, down
and their variants, updir
, and open
are now allowed in cmap
mappings.glob-select
and glob-unselect
commands are added to use globbing for toggling files (by @JurisMajors).mark-remove
(default "
) command is added to remove a mark (by @JurisMajors).icon
option. See the wiki page for more details.rename
command is added (by @JurisMajors).cmd-history-next
now remains in command mode after the last item (by @Limero).select
does not change directory anymore when used on a directory.ratios
is now checked before preview
to avoid crashes (by @ath3).