Releases: leo-arch/clifm
Releases · leo-arch/clifm
v1.22
Clifm 1.22 (Banana picker)
Get distro-specific binary packages from the OpenSUSE Build System
Bug fixes 🪲 🐛
- Wrong query string when TAB completing tagged files and
--fuzzy-match
is enabled. - When pressing Ctrl-Alt-[d,x] on a secondary prompt the cursor moves up one line.
--rl-vi-mode
not working ifRlEditMode
is set in the config file.- No image preview for powerpoint files.
- Wrong ueberzug image offset when fzf preview window border is set to
border-[right,thinblock]
. - When clearing the screen, the scrollback buffer is not cleared on rxvt-based terminals.
- Not using all available columns when running with
--no-eln
. - TAB completing file names in the prompt of the
pc
command after the first word. - Some keybindings (Alt-TAB, Alt-v, Alt-p) are operative in secondary prompts, when they shouldn't.
- Garbage in the command line when trying to switch workspaces via a keybinding in a secondary prompt.
- F12 (quit) not working on secondary prompts.
echo ELN
does not expand to file name (whilestat ELN
does).mf
command expands numbers to ELN's.- When multiple system messages are generated, only the last one is displayed in the prompt.
- Negation (
!
) does not work for workspaces and double asterisk expressions in autocommands. - Help messages ignore the command line text color.
- The
n/new
command issues a warning when attempting to create a file in the home directory using the tilde (~/FILE
). - File previews (TAB completion or the
view
command) ignore alternative preview file (set via either--shotgun-file
,--config-dir
, or--profile
). rr
does not work with directory names containing spaces (e.g.rr this\ dir
).- The
open/preview
function matches directories as valid opening applications.
New features/Improvements 😎
- Extra file type filters for the
=
keyword:D
for empty directories,F
for empty regular files, andL
for broken links. On Solaris, theD
file type char (previously used for door files) was replaced byO
. - Use the
kb bind
command to customize your key bindings instead of manually editing the keybindings file (viakb edit
). kb conflict
now checks for readline key bindings as well.- Proper error messages when application does not exist/fails while previewing images (
clifmimg
). - Add image previewing method for mobi files (
clifmimg
). - Add support for legacy image formats:
bmp
,ico
,pcx
, andtga
(clifmimg
). - Automatic detection of available image preview methods. Update your
clifmimg
script (~/.config/clifm/clifmimg
) (just remove it and restart) to make use of this new feature. By default, clifm and theclifmimg
script will try to guess the best previewing method (sixel, ueberzug, kitty, or ansi). Edit themethod
variable in theclifmimg
script to manually set a previewing method. - A more modern interface: If Unicode support is detected, clifm will draw decorations using Unicode characters (use
--no-unicode
to disable Unicode decorations, and--unicode
to force it). - The selected files indicator in the prompt was replaced by
S
(previously*
). - Right pad and colorize ELN's in the directory history map.
- The color scheme is checked at startup for file extension conflicts. If found, the user is warned.
- Use
cs check-ext
command to manually check for file extension conflicts. - Display bookmarked paths in the bookmarks screen.
- Add names completion to the bookmarks prompt in the bookmarks screen (
bm
command). - Several improvements to the
vv
command. - Allow the use of tilde (
~
) for the home directory when editing a symbolic link (le
command). - Active files filter (
ft
command) is always displayed. - Add files filter (
ft
) and full-dir-size (fz
) to autocommands. - Allow using names for
st
in autocommands. - Use the
auto
command to set a temporary autocommand for the current directory. Runauto --help
for more info. - New config file option:
InformAutocmd
to control how matching autocommands are displayed in the prompt. Available values:none
,short
,long
,full
, andprompt
(default). - Better columns arrangement when listing files (vertical list only).
- Lira: make opening applications invoked with the
%x
flag run in a new session (detached from the terminal) (via setsid(3)). - Lira: Check for
Calligra
andGnumeric
when opening office documents. - Add
N file(s) copied/moved
message toc
andm
commands. - Set
TrashForce
to false by default. - Do not print the list of removed/trashed files after files removal/trash.
- Enable file system type and mountpoint (via
--disk-usage
) on Cygwin/MSYS2/Solaris.
v1.21
Clifm 1.21 (Lemonhead)
Get distro-specific binary packages from the OpenSUSE Build System
Bug fixes 🪲 🐛
TimeFollowsSort
andTimestampMark
are missing inconfig dump
.- $XDG_DATA_HOME ignored when setting the trash directory.
- Memory leak when trashing files and the trash info file cannot be opened.
- When
PrintDirCmds
is unset, it is marked as modified by 'config dump'. - Image previews not working on Kitty terminal.
- Double confirmation prompt when removing write-protected files from the trash can.
- The
mime_list.sh
plugin is broken. - The
mime import
command fails to import lines with a MIME type containing dots. - Cannot auto-open/autocd files starting with
#
and containing characters that need to be escaped (e.g. "#%${}", etc). - Completions/suggestions not working in chained commands.
- Query string ignored when untagging files (TAB completion).
- The
-E
option prints garbage next to ELN's on some terminals. - The
fzfhist.sh
plugin (bound to theh
action name) lists timestamps along with history commands. - Out of date files list after unmounting remote.
- Suggestion not removed after pressing Enter.
- Fix columns/colors issue in the
pager.sh
plugin (gg
).
New features/Improvements 😎
- Ask for confirmation when trashing files (enable by setting
TrashForce
to false in the config file). - Allow sorting files by file type (including executable files and file extensions):
st type
. - Sort user and group by names, not numbers, if using ID names in
long-view
. - Increase the number of bindable plugins from 4 to 16.
- Read CLIFM_COLUMNS and CLIFM_LINES from the environment.
- Export status values (as environment variables) when running plugins. Consult the ENVIRONMENT section of the manpge for more information.
- The following environment variables are now set only when running a plugin: CLIFM_PLUGINS_HELPER, CLIFM_SELFILE, CLIFM_PROFILE, and CLIFM_COLORLESS.
- Plugins are disabled in
secure-cmds
mode (it just makes sense). - Sanitize aliases when running in
secure-cmds
mode. - New alternative color notation for the prompt:
%{color}
. See the new prompts file for details. - Allow the use of 3-digit HEX colors (e.g.
#ef0
amounts to#eeff00
). - New plugin: file_picker.sh (removed old file_picker shell functions). See this issue for a concrete usage example.
- Implement fish-like abbreviation of the current directory in the prompt via the
\f
prompt code. Consult the prompts file for details. - Implement prompt modules (via
${module}
). Consult the prompts file for details. - Use the
\b
prompt code to print the execution time of the last command. Consult the prompts file for details. - Add support for right prompts.
- New prompt (
pez
), implementing the new fish-like path abbreviation. - New prompt (
git
), implementing the new prompt modules feature. - New prompt (
timer
), implementing the new\b
prompt code (last command execution time). - New prompt (
info
), implementing a right prompt. --max-path
andMaxPath
are deprecated in favor of the CLIFM_PROMPT_P_MAX_PATH environment variable.- Workspace expansion via the
w:
construct. Example:c 2 w:3
to copy the file whose ELN is 2 to the third workspace. - Make
history show-time
list timestamps and commands on the same line.
v1.20
Clifm 1.20 (Madam Xima)
Get distro-specific binary packages from the OpenSUSE Build System
Bug fixes 🪲 🐛
- The pager counter overwrites the last entry (when columns is off or file names aren't trimmed).
ow
does not work on symbolic links.ow
does not work on file names containing spaces.- Cannot run internal command or alias in a directory containing a file named like the command/alias.
- File names containing unnamed control char, line separator, or paragraph separator characters are not properly displayed.
- Reading CDPATH even if running with
--secure-env
. - Enter key not working in the pager when invoked via keybinding (Alt-0).
- File name with embedded DEL or C1 control chars breaks columns.
Bleach
cannot handle names with embedded DEL chars.- renameat(2) not found when compiling on MacOS < 10.10.
hidden
option forFzfPreview
not working.kb
informsno keybindings defined
after switching profiles.- Broken prompt color when using hex colors for workspaces.
- Scrollback buffer not removed when clearing the screen on Kitty (mostly because kitty does not report having this capability. See kovidgoyal/kitty#268.
- Wrong reported total size in the selection box.
- No selected files indicator in stealth mode.
- Error exit code (1) when deselecting all files in stealth mode.
- Empty file color is overridden by the file extension color.
- Ignoring
mi
code when reading LS_COLORS. - Buffer overflow when trimming down file names in long-view and
MaxNameLen
is unset. Total size
field inpp
informs NULL color when thedz
color code is set.- The size fields at the bottom of the
disk-usage-analyzer
screen ignore the size color (dz
) if it is set.
New features/Improvements 😎
- Prevent external commands from refreshing the current list of files by setting
ClearScreen
tointernal
in the config file. - Keep in sight commands executed in the current directory via
PrintDirCmds
in the config file. - When
ColorLnkAsTarget
is enabled, colorize the selected file indicator using the same color used by the link indicator if the selected file is a symbolic link. - Conform to the CACHEDIR.TAG specification when creating cache files (image previews).
- Choose how the
l
command creates symbolic links (absolute
,relative
,literal
) viaLinkCreationMode
in the configuration file. - Allow colorizing the custom welcome message (
WelcomeMessageStr
) via escape codes. - Alt-[5-9] keybindings are now disabled by default (in
readline.clifm
). - Disallow the use of clifm for $SHELL (it will brake programs using $SHELL to spawn other programs - e.g.
fzf --preview
). - Specify 8-bit (256 colors) colors using the
@NUM[-ATTR]
notation in color scheme files. - Improved and more useful
colors
screen. - More intuitive and easily customizable default color scheme files.
- Removed deprecated commands:
bh
,fh
, andedit
. - Removed
fs
command (what is free software?). - Removed the
bm
color code (bookmark names in the bookmarks screen are now printed using the target file color). - Add
preview
subcommand to thecs
command (same ascolors
, but more consistent). - Add
Loupe
(Gnome new image viewer) as opening application (mimelist file). - If sorting files by time, use the same time files are sorted by for the time field in long view (via
TimeFollowsSort
). - Append an identifying character to timestamps (long view) (via
TimestampMark
). Color codedt
. - The
dg
color code is now used for group IDs, while the new one,du
, is used for user IDs. Ifdu
isn't set, we fallback to the old behavior:dg
is used for user IDs, and group IDs are printed using a dimmed version ofdg
. - Remove the
Unicode
option from the configuration file. It has no effect anymore. - When scanning directories (
full-dir-size
andlong-view
, ordisk-usage-analyzer
), print currently scanned sub-directories. - Disk usage analyzer: largest file not printed if sorting by size (redundant).
- Use the
dz
color code (for file sizes) for both directories and regular files (if the code is set).
v1.19.11
v1.19.9
v1.19
Clifm 1.19 (Kozy Krypts)
Get distro-specific binary packages from the OpenSUSE Build System
Bug fixes 🪲 🐛
- Color for error code (
xf
) printing garbage on some terminals (ConEmu/Mintty). - Pressing Ctrl-z while running an external command leaves the shell in an unusable state. Workaround: SIGTSTP (Ctrl-z) disabled for external commands.
- If the fzf option
--border
is set, long file names in TAB completion are trimmed. - Cannot pin file names containing spaces.
- Wrong cursor position when suggesting file names reaching the end of the screen and the typed text contains backslashes.
./symlink
is resolved to target file when bulk renaming.rr
attempts to remove files starting with#
.- Extension colors not processed after double colon.
- Wrong
Blocks
field padding inp/pp
command when file is a socket or a fifo.
New features/Improvements 😎
pp
: Count files in directories.p/pp
: Display files MIME type.p/pp
: Enclose file names containing spaces in single quotes.- Mimelist file: Add
%x
as short for%f !EO &
. - Mimelist file: Widely use the new
%x
to run GUI opening applications detached. - du(1)-free code.
- Set a custom keybinding for the commands history list (same as
!<TAB>
) viacmd-hist
in the keybindings file. - Detect key bindings conflicts via
kb conflict
. - Add
--physical-size
as an alias for--no-apparent-size
. - Check for duplicate/existing files before bulk renaming.
- Colorize config files (
default-256
theme, defined as CONFIG). - Add more audio files to
default-256
color scheme. - Add
.djv
and.xbel
extensions to default color schemes. - Allow multiple
ExtColors
lines in the color scheme file. - Allow file extensions without the
*.
prefix in the color scheme file.
v1.18
Clifm 1.18 (Caniche endormi)
Get distro-specific binary packages from the OpenSUSE Build System
Bug fixes 🪲 🐛
- Color for temp/backup files not working when it's hex.
- Negative dir sizes when running with
--list-and-quit --long-view --full-dir-size
. - Wrong padding in long view when
max-files
is set. - File names starting with non-alphanumeric characters are listed after alphanumeric names, unlike
ls
and company. - Wrong files listed when TAB completing with
../<TAB>
and the current directory is a symlink. - Cannot cd to
../
if the current directory is a symlink. - Misleading values in long view when stat(2) fails.
- Printing garbage when running
pp
on a broken link. - 'ft' command not working with file type filters (ex:
ft =d
). - If
--invalid-option --valid-option
, clifm complains about--valid-option
. - Cannot run external command on
../dir/file_name
. - Alt-Right keybinding not working as expected.
- Long file names not trimmed when going back from the pager help.
PrintSelfiles
not updated automatically after editing the configuration file.- TAB completion for external commands working only for first parameter.
New features/Improvements 😎
- Allow hiding files listed in a
.hidden
file (includes wildcards support) viaReadDotHidden
in the config file. - Several improvements to the long view mode:
- Use
-L,--follow-symlinks-long
to dereference symbolic links in long view. - New command
k
, to togglefollow-links
in long view (keybind Alt-+). - Allow ID names (instead of just numbers) via
I
inPropFields
(not available on Termux). - User/group names (instead of ID numbers) is the new default for
PropFields
. - Birth time support (via
b
inPropFields
). - Hard links number support (via
l
inPropFields
). Color code:dk
. - File allocated blocks support (via
B
inPropFields
). Color code:db
. - Allow not printing group information (via
G
inPropFields
). - Add missing color code for file inode number:
de
. - Allow setting fields from the command line via
--prop-fields=FORMAT
(same values asPropFields
). - Allow double space between fields via
PropFieldsGap
in the config file. - Consistent long view colors for
nord
,base16
, andzenburn
color schemes. - Improve files counter:
0
for empty dirs,?
for dirs with no read permission, and-
for no-dirs.
- Use
- Consistent color for backup/temp files if TEMP isn't defined in the color scheme file.
- Make 8 color themes use 5 shades instead of just 3 (like 256-color and truecolor themes).
- Add
--ls
as short for--list-and-quit
. - Allow
--stat
and--stat-full
to process multiple files at once (ex:--stat FILE FILE2 ...
). - keybinds/suggestions/TAB-comp: exclude sorts not available in light mode.
- Security: autocmd files won't be read if running on an untrusted environment (
--secure-env
or--secure-cmds
). - Set time style via
--time-style
(long view) and--ptime-style
(p/pp
command). - Support for TIME_STYLE (long view) and PTIME_STYLE (
p/pp
command). - Allow sorting files by
blocks
andlinks
. - Make
Sort
in the config file accept names, and not just numbers. - New command
kk
to togglemax-filename-len
. p/pp
command: Do not abbreviate symlinks target.- Add
--color-links-as-target
command line option. - Improve extra color schemes.
- Allow running the pager only once via
pg once
. - Add keybinding to run the pager (Alt-0).
- Set the pager listing mode via
PagerView
in the config file or--pager-view
in the command line.
Breaking changes
- Since 1) it was unintuitive to have
-a
and-l
to disable hidden files and long view respectively (instead of enabling them, like most files listers do (ex:ls
,exa
,eza
,lsd
)), and 2) we were using uppercase options sometimes to enable and sometimes to disable features (which is not consistent), we made the following changes:-a
enableshidden-files
and-A
disables it-f
enablesdirs-first
and-F
disables it-l
enableslong-view
-L
like ls(1)-L
option (long form:--follow-symlinks-long
)-o
enablesautocd
and-O
disables it
v1.17
Clifm 1.17 (Lechuck)
Get distro-specific binary packages from the OpenSUSE Build System
Bug fixes 🪲 🐛
- When quitting via a keybinding, clifm breaks pasting into the terminal from the clipboard.
- Files not colored by extension in the
trash list
screen. - $COLUMNS and $LINES not set in
clifmimg
script if running with--preview
. ow dir/<TAB>
inserts space char instead of listing subdirectories indir
.ow FILE APP
fails with "Key has expired" when APP does not exist.- No error message when using a custom resource opener.
- Opening a file named
config
(in the current directory) instead of running the commandconfig
. - Segfault when bleach temp file is removed in the middle of the operation.
bl sel
command creates broken symbolic links when directory in path contains spaces.- Bookmarks named
q
orquit
cannot be opened in the bookmarks screen (these names are now disallowed). - Segfault when processing more than 32 quoted words in the command line.
- Expanding quoted ELNs for external commands.
- Underlined color attribute for non-existent bookmarks takes files list after bookmarks screen.
- Cannot import aliases from file name containing spaces.
- Success exit code (0) when temp file changed on disk while bulk renaming/removing.
- Cannot remove directories from the trash can.
md
sometimes fails asnew
.- Success exit code when
new
fails to create file. - Deselect screen not working with incomplete ranges (no second field).
- Virtual directories: directories, file type and MIME type expansions, file names containing spaces, selection, and globbing/regex not working. Also, cannot virtualize files names containing spaces and passed by ELN.
p/pp
cannot handle relative symbolic links.l/le
do not allow creating relative symbolic links.- Some plugins not working with file names containing spaces.
- Symlinks to directory shown when both
only-dirs
andno-follow-symlinks
are enabled. - Wrong finder offset for paths containing spaces when running with
--fuzzy-matching
. - Quick-help not opened via pager (Solaris/Haiku).
New features/Improvements 😎
- Add total size to
trash list
screen. - Implement exit code 126 (as defined by POSIX: see exit(1p)).
- Print amount of symbolic links created with the
bl
command. bl
: Do not ask for links suffix: use the original filename (plus integer suffix to make it unique).- Bookmarks screen: Allow entering bookmark names containing spaces without using backslashes.
- Allow bookmarking the same path multiple times.
- Make
cd-on-quit
work with plainq
command.Q
(uppercase) command is deprecated. - Confirmation dialog for
history clear
. - Confirmation dialog when removing files from trash.
- Autocommand files (
.cfm.in
and.cfm.out
) won't be read unlessReadAutocmdFiles
is set totrue
in the main config file. - Hardened autocommand files: They will be read only provided they are: non-empty regular files of at most PATH_MAX bytes, and no NUL byte is contained in them (to minimize the chances of executing random content from a binary file).
- Allow marking specific jump entries as permanent.
- Properly right pad human sizes in long view.
- Allow properties fields order customization in long view mode via
PropFields
v1.16
Clifm 1.16 (Big Whoop)
Get distro-specific binary packages from the OpenSUSE Build System
Bug fixes 🪲 🐛
- Wrong cursor position after keybind if the last exit code was error.
- Black screen when changing profile via keybind and starting path does not exist. Trying to access a file immediately after the black screen segfaults.
- When sorting files by extension, dir names containing a dot are sorted by their "extension" (but dirs do not have extensions).
- Cannot create bookmarks if there are zero bookmarks.
- Alternative config files (
-c
,-b
, and-k
) and config dir (-D
) ignored after editing the main config file. - Wrong error message when valid command line option is followed by an invalid one.
- Trash counter underflowed when there's no trash directory.
clifm -c -V
wrongly assumes that-V
is a parameter to-c
.- Error message not shown when removing files.
- Freeze when CLIFM_FILE_COLORS is set to empty string.
s *.conf :/dir
: .conf files selected in the CWD if/dir
does not exist.- Prompts for
pc
andoc
commands allow commands history. - The extraction path prompt (
ad
command) is broken. n file file/
reports two created files, but only one was actually created.- Cannot trash
file
anddir/file
at the same time (name collision). - Binaries loaded multiple times if there are dups in PATH.
- Directories in paths (in PATH) taken for actual binaries.
p/pp
andle
commands do not properly handle symlink to symlink.- No error message on bulk rename error (
br
command). - Cannot bulk rename directories on DragonFly BSD.
- No (or wrong) trash indicator after error trashing a file.
rr
opens temp file even if the current directory is empty.- Some config files not created with restrictive permissions.
- Long view: file names with long extensions are not trimmed correctly.
- Crash (divide by zero) when
MaxJumpTotalRank
is set to zero. MaxPrintSelfiles
not working with-1
.- Segfault when PATH is longer than 4096.
s01
selects the first listed file, but triggers the warning prompt.n 1
takes1
as an ELN (and attempts to create the corresponding file) instead as a new file name.
New features/Improvements 😎
..
now suggests the parent directory (this makes it more consistent with the fastback function).- Allow setting the umask from the config file via the
Umask
option. md
now runsn
internally instead of mkdir(1).- Added .3gp file extension to default color schemes (as VIDEO) and .vsix as ARCHIVE.
- Sort file extensions alphabetically in default color schemes.
- Inform the user whenever at least one file is excluded from the files list (hidden, filtered, only dirs).
- If an alternative config file does not exist, create it.
- Allow setting an alternative trash directory via
-T,--trash-dir
. - Make the
r
command always ask for confirmation before removing files. - LS_COLORS support via
--lscolors
(GNU ls style only). - Security: use pledge(2) on OpenBSD.
- Security: Check temporary files consistency when bulk renaming/removing.
- Security: Check files consistency before removals.
- Clear the screen when (re)loading the
untrash
and thetrash del
screens. - When restoring a trashed file, create parent directories as needed.
- If the second field of a range of ELNs is omitted, the ELN of the last listed file is assumed.
- Inform amount of renamed files when bulk renaming (
br
command). - Allow rename across devices when bulk renaming.
- No more sticky bit: temporary directory now created as
/tmp/clifm-USER
(700 permissions). - Let the user know when changing to a directory in CDPATH.
- Generate previews for trashed files (
u
andt del
commands).
v1.15
Clifm 1.15 (Jolly Roger)
Get distro-specific binary packages from the OpenSUSE Build System
Bug fixes 🪲 🐛
- Extended attributes printed for symlinks (if the target has them) when using the
p
command (which does not follow symlinks). - Symbolic links marked as having extended attributes (
@
) (if the target has them) in long view. - Special permission bits (SUID, SGID, and sticky) are always zero in octal notation (mostly
p
command). - Garbage in the command line after pressing keybinding and there's text in the command line.
- Ctrl-Alt-b, Ctrl-Alt-j, and Ctrl-Alt-k keybindings not working. Removed (didn't make much sense anyway).
dh !NUM
not working.- A few minor keybindings quirks were fixed.
--disk-usage
crashes on file systems reporting zero total size (ex:/proc
).- File names wrongly trimmed when file extension has exactly MAX_NAMELEN - 1 chars.
- Wrong disk usage information (for big sizes) in some 32-bit architectures.
- Two files with the same name (but different case) are both expanded even if only one is specified.
- Key remaps for vi command mode not working.
- Recounting hardlinks in disk usage analyzer mode.
- Esc+Enter switches to vi mode.
- Keybindings are executed from within some secondary prompts.
ws
andst
commands not working with fused numbers (ex:ws2
).- Prompt commands executed twice after keybindings.
- After renaming a selected file it is actually deselected, but still marked as such.
New features/Improvements 😎
- Mark Libreoffice lock files (
.~*#
) and MS-Office temp files (~$*
) as temp files. - Document the meaning of each shade in both
DateShades
andSizeShades
in color scheme file. p
/pp
: List files ACLs (Linux).p
/pp
: Files with extended attributes/caps/ACLs are marked with@
. This replaces the+
in previous versions, which was a mark for ACLs only (Linux).- Extended attributes enabled by default (long view).
- Faster file capabilities check (improving thus the overall listing time).
- Add file system type name and device file name to the disk-usage message (
--disk-usage
): FREE/TOTAL (FREE_PERC) FS_TYPE_NAME DEV_NAME. c
/m
behavior forcp
/mv
: add final "." if last parameter is "sel".- fb2, cb7, cbt, and cba files added to the mimelist file as ebook formats.
sel
: Do not try regex if pattern contains just asterisks as metacharacters.Mime
: case insensitively match file name patterns (for example, file extensions).- Add
foot-extra
,foot-extra-direct
,rio
, andrio-base
to our internal terminfo database. - Add support for image previews using sixel (via fzf). See clifmimg script. Note that sixel implementation in fzf is still experimental.