Releases: leo-arch/clifm
Releases · leo-arch/clifm
v1.26.3
Clifm 1.26.3
Get distro-specific binary packages from the OpenSUSE Build System
Bug fixes 🪲 🐛
- Warning prompt color is broken.
- Single character commands not recovering from warning prompt.
- Run with
-T ~/trashfile, create a file named~/trashfile2: this latter cannot be trashed. - Freeze when running non-interactively and in the background.
- Some GTK programs crash when launched from within clifm (XDG_DATA_DIRS corruption).
New features/Improvements 😎 
- Replace
--stdtab,--fzftab,--fzftab, and--smenutabby--tabmode=fzf|fnf|smenu|standard. - Prevent shell commands from leaving the terminal in an unusable state.
- Improved key binding translation support (via the keypress translation library).
- Allow the use of colon as color field separator.
Misc
- Remove
--fzytab(deprecated since 1.12.9).
v1.26
Clifm 1.26 (Fettucini Bros)
Get distro-specific binary packages from the OpenSUSE Build System
Bug fixes 🪲 🐛
- No field printed after
Sin long view. - No prompt in case of F1-F3 failure.
- The 'stats' command does not count files with extended attributes.
--secure-cmds: Only the first mime placeholder (%) is sanitized: inCMD %f %u", "%uwon't be checked.pcommand: no size in bytes when size is exactly 1k.- 24bit SGR sequence with foreground, background, and underline color (kitty) not working.
- Accept first suggested word (Alt+f) fails with Unicode string.
./<TAB>lists only executable files and directories, even if auto-open is enabled.- Though
w:is a reserved keyword (for workspaces), filename validation (when creating new files) does not warn about it. --sel-file=\\/is interpreted as the current directory instead of the root dir.- Cannot trash
~/trashdir2if the trash directory is~/trashdir. - Bad error message when a short option with a Unicode character is used. E.g.:
clifm -öcomplainsclifm: 'clifm': Unrecognized option, when it should be-ö. view editdoes not open the alternative shotgun file, but the default one.mm infoignores alternative shotgun file.mm inforefuses to run on privileged files.- Double screen refresh after running a keybinding.
owdoes not support%mand%uplaceholders.
New features/Improvements 😎 
- The
iconscommand toggles icons when used without parameters. - Harden alternative config dirs/files checks: avoid using non-dirs/reg_files respectively.
- Better autodetect tab completion mode: use any of
fzf,fnf, orsmenuif the appropriate binary is found in PATH (and not specified otherwise in the command line or in the configuration file). - Allow tab completion for ELNs in the bookmarks screen.
Misc
- Lots of code cleaning and improvements.
v1.25
Clifm 1.25 (Scumm Bar)
Get distro-specific binary packages from the OpenSUSE Build System
Bug fixes 🪲 🐛
kb: Some escape sequences are not properly translated (e.g.\e[200~forbracketed-paste-begin).- Create a file (
n file) and then remove it (r file). Press Alt+n and then Enter: a file namednis created! The same happens withleandm(interactive rename) when pressing Enter on empty line. - Some legacy terminals (like the FreeBSD console) froze as soon as we try to query some data from it.
kb binddoes not allow to switch keybindings (for example, setting F1 for bookmarks and Alt+b forshow-manpage).- Alt+h runs a wrong command name (
bh). - Ctrl+Alt+t attempts to trash a file named
selwhen there are no selected files. - The
extensionsort method takes hidden files as file extensions. - No Tab completion for the
hiddencommand. --disk-usage: No device name when running on Termux (Android).- Positional parameter: cannot open file URI encoded directory names.
- Positional parameter: If file contains references to self or parent dir (
.or..), the path is not properly resolved. --data-dirrejects/usr/share/clifm, even when this is the actual data directory.- the
=gfilter skips some files with the SGID bit set. - Compilation error on MacOS Leopard (10.5).
- The
jcommand fails to change directory with escaped directory names.
New features/Improvements 😎 
- Add support for the kitty keyboard protocol. Use the
--kitty-keyscommand line flag to ask the terminal to enable this protocol. Consult the manpage for more information. - Add support for styled underlines. See https://sw.kovidgoyal.net/kitty/underlines/#colored-and-styled-underlines
- Add support for the Kitty Notifications Protocol (https://sw.kovidgoyal.net/kitty/desktop-notifications/). Enable via
--desktop-notifications=kittyin the command line orDesktopNotifications=kittyin the configuration file. - If running in vi editing mode, print
(ins)or(cmd)(for insert and command modes respectively) at the left of the prompt. Use the\vprompt escape code to handle this notification manually. - New bindable action:
toggle-vi-mode(bound by default to Ctrl+Alt+j). Update your readline.clifm and keybindings.clifm files. - Force the use of a specific color palette via $CLIFM_FORCE_COLOR (supported values:
8,16,256,truecoloror24bit). - Improve
kb bindfunction (more sensible prompts and better overall flow). - Allow setting multiple keybindings for the same action.
show-manpage2, for example, is not required anymore: just define an extra keybinding forshow-manpage. - Better organization for the keybindings file (update your keybindings file).
--show-hidden,-anow takestrue,first,last, andfalseas optional parameters (if no parameter is given,trueis assumed).- Add
firstandlastparameters to thehh/hiddencommand. - New prompt escape codes:
\Q(number of regular and special files);\g(current sort order), and\j(octal permissions of the current directory). - New prompt (
counter), using the above new prompt codes. - Image preview support for iTerm2. Set $method to
itermin theclifmimgscript to force the use of this protocol. Update your clifmimg script. - Allow the use of multiple positional parameters. For example,
clifm /etc ~/Downloadswill start clifm in the/etcdirectory (first workspace), setting the second workspace to~/Downloads. - Consistent format for setting messages (on/off).
- Make bulk rename work with
visandhelixtext editors:brwas complaining about the temporary file having being changed on disk due to how these editors save files by default (via rename(2)).
Misc
--no-apparent-sizeis deprecated. Use--physical-sizeinstead.--no-files-counteris deprecated. Use--no-file-counterinstead.undelcommand is deprecated. Useu/untrashinstead.splashcommand removed.
v1.24
Clifm 1.24 (Toothrot)
Get distro-specific binary packages from the OpenSUSE Build System
Bug fixes 🪲 🐛
- File extension conflicts in
defaultcolor scheme (16-color version). - Wrongly sorting Unicode file names (
nameandversionsort). - When sorting by
extension,CaseSensitiveList=trueis ignored. - The value of
PagerViewis ignored whenPageris set to a value >=1. - Pressing
cwhile in the pager stops listing (likeq). - Running plain
pgoverwrites the value ofPagerin the configuration file. - When mounting a filesystem via
net mount, autocommands for this directory are not immediately executed. - The
adcommand complains that.rpmand.debfiles are not archive/compressed files. namesort behaves likeversionwhen file names start with numbers.- Not properly clearing the screen on Eterm terminal.
- Wrong image size when previewing images on the Ghostty terminal.
- The profiles function is broken (no config file change, system messages are not reset).
- Wrong file color when tab completing globs after a path (e.g.
dir/*.jpg<TAB>). - When there's only one profile Ctrl-Alt-p clears the screen and still attempts to the change the profile.
- If we have no access to the main configuration directory, the selections file is created in
/tmpinstead of/tmp/clifm_$USER. - If we have no access to the main configuration directory, selected files are not written to the selections file.
- Tab completion: Matches not sorted alphabetically in fzf (e.g.
ls --<TAB>). Update your color scheme files. - Wrongly identifying extension conflicts when running with
--lscolors. /dir/GLOB<TAB>(e.g./bin/p*<TAB>) do not generate previews whenever it is the first word.- The
tcommand informs a wrong size for the trash directory. - No lock icon for non-regular files.
- A few wrong colors when any of
xsand/orxfcolor codes are unset (affects old color schemes). - Kilobytes written as
KBinstead ofkBwhen using decimal sizes (--si). - Ctrl-Alt-b does nothing (points to non-existent function). Removed.
- Cannot rebind
bookmarksto Alt-b: clifm complains that this key conflicts with readline and refuses to continue. - Unsetting a keybinding via
kb binddoes not work.
New features/Improvements 😎 
- clifmimg: Drastically reduce the size of postscript thumbnails (1500%!). Update your
clifmimgscript. - Preview: add support for several image formats (dpx, jp2, miff, sgi, and wmf among others). Please update your
preview.clifmfile. mimelist.clifmandpreview.clifmconfig files: The%mplaceholder expands to the file's MIME type.- Add support for OpenRaster images (open/preview).
- Add sixel support auto-detection for Yaft.
- Add support for
.rpm,.deb,.arj,.Z, and.cabarchives (open) - Preview: list files in
.ztd,.rpm, and.debarchives. - Preview: add support for krita images (
.kraand.krz), via thekritamethod in cligmimg. - Use
PrioritySortCharin the configuration file to pin file names starting withPrioritySortCharto the top of the files list. - Two new values added to the
ShowHiddenFilesoption:firstandlast, to list hidden files first or last respectively. - Manually map file extensions to MIME types using the
~/.mime.typesfile. - Report the current directory to the underlying terminal (via the OSC-7 escape sequence). To enable this feature, run with
--report-cwd. - Try harder to create a valid temporary directory (mostly in case of denied access to the directory).
- If running with
--lscolors(using FreeBSD LSCOLORS), read extension colors from the color scheme file. - Improve the
kbcommand: attempt to display human-readable key presses (e.g.Shift-Up) instead of raw escape sequences (e.g.\e[1;2A).
Misc
- $CLIFMRC cannot be used anymore to set the path to the main configuration file (use
-c,--config-fileinstead). - If
nfcolor code (inaccessible file) isn't set, use whatever color corresponds to the current file type and prepend and exclamation mark to the corresponding entry in the files list to mark it as inaccessible. Same fornd(inaccessible directory). --no-trim-names,TrimNames, andMinFilenameTrimwere renamed to--no-truncate-names,TruncateNames, andMinNameTruncaterespectively (old names are deprecated).open-sel,untrash-all, andmove-selkeybindings are unset by default.copy-selcan be used as an alias forpaste-selin keybindings.
v1.23
Clifm 1.23 (Piranha poodle)
Get distro-specific binary packages from the OpenSUSE Build System
Bug fixes 🪲 🐛
- TAB completion: file names with embedded control chars are not properly colorized.
- TAB completion: no preview for file names with embedded control chars.
- Not properly failing when
--openeris given no parameter. - Image previews:
img2txtmethod not working for ANSI images (clifmimg). viewcommand not working when running with--stdtab.cl,columnscommand stopped working.sel *.pdfworks, butdesel *.pdfdoesn't.- Opening applications using the
%xflag (mimelist file) not working with--secure-cmds. MaxFilenameLen=-1(in the config file) is ignored.- Garbage on the command line running a keybinding in vi-mode.
- Wrong image placement (ueberzug method) when
--heightis set from either $FZF_DEFAULT_OPTS orFzfTabOptions. - Config:
cmCmd=5(rsync) does not copy directories themselves (but its content). - Cannot operate on file names containing REGEX characters (e.g. the command
s c++expandsc++as if it were a REGEX). --preview/--openfail when given a file URI with percent-escaped characters (e.g.file:///home/user/this%20file.txt).- Cannot open file with single quote in name (e.g.
John's file.txt).
New features/Improvements 😎 
- Add file preview for javascript files.
- Image previews: add support for
exr,fit,hdr,heic,pbm,pgm,pnm,ppm, andxpmimage formats. xcommand: expand environment variable inTerminalCmd(first word only) (config file).xcommand: run terminal detached (via setsid(3)).Xcommand: do not run withsudoif already root.- Set the main configuration file path via $CLIFMRC. For example:
CLIFMRC=/path/to/clifmrcclifm`. - Add
--helpto thereloadcommand. config reloadcan be used now instead ofreload. Runconfig --helpfor more information.- Use
--mimelist-filecommand line option to set an alternative mimelist file. - New prompt module (m_hostname_color): dynamically colorize the hostname depending on whether we're on a SSH session or not.
- Adjust the number of spaces between icons and file names using the
IconsGapoption in the configuration file. Valid values: 0, 1 (default), or 2. - Explicitly check $XDG_DATA_HOME and $XDG_DATA_DIRS when setting clifm's data directory.
- Add builtin confirmation prompt to
candmcommands (previously using those provided by cp(1) and mv(1) commands themselves). - Set a default answer for confirmation prompts via
DefaultAnswerin the config file (default value:o:n,r:n,t:y,R:n,d:y). This means: no for overwrite (includescandmcommands), remove, and bulk rename, yes for everything else (including trash). - Create files from templates using the
ncommand. Runn --helpfor more information. p/ppcommand: print both apparent and physical sizes.- Make
--lscolorsable to understand $LSCOLORS (FreeBSD style). - Purge the thumbnails directory of dangling thumbnails using the
view purgecommand. Remember to update yourclifmimgscript to start populating the thumbnails database:cp /usr/share/clifm/plugins/clifmimg ~/.config/clifm/. Note that the thumbnails directory has been changed from$XDG_CACHE_HOME/clifm/previewsto$XDG_CACHE_HOME/clifm/thumbnails. You can remove the old directory: from now on thumbnails will be stored in the new directory. - Both the mimelist and the preview configuration files now support the
%uplaceholder, which is expanded to the file URI for the original file name. clifmimg: Generate thumbnail names as MD5 hashes of the file URI for the original file name (as recommended by the FreeDesktop specification) instead of hashing the file itself. This brings a nice performance improvement, specially when it comes to large files. This works along with the%uplaceholder mentioned above. Update yourclifmimgscript. Also, though optional, update your preview.clifm config file to make use of the new%uplaceholder by simply adding%uat the end of theclifmimglines. E.g.:^image/.*=~/.config/clifm/clifmimg image %f %u;. See the Image previews section for details.- Prevent big files from generating a preview via
PreviewMaxSizein the config file. Supported size units:K,M,G,T; supported size range: 1K-2047G. E.g.:PreviewMaxSize=100M. - Colorize
.csvfiles as documents (default color scheme). - Colorize
.sassand.scssfiles as markup files (default color scheme). - Sort completion matches for mimetype filter (
@TAB). - Add previewing app information to the
mm infocommand. Mostly useful to solve previewing issues.
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-matchis enabled. - When pressing Ctrl-Alt-[d,x] on a secondary prompt the cursor moves up one line.
--rl-vi-modenot working ifRlEditModeis 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
pccommand 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 ELNdoes not expand to file name (whilestat ELNdoes).mfcommand 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/newcommand issues a warning when attempting to create a file in the home directory using the tilde (~/FILE). - File previews (TAB completion or the
viewcommand) ignore alternative preview file (set via either--shotgun-file,--config-dir, or--profile). rrdoes not work with directory names containing spaces (e.g.rr this\ dir).- The
open/previewfunction matches directories as valid opening applications.
New features/Improvements 😎 
- Extra file type filters for the
=keyword:Dfor empty directories,Ffor empty regular files, andLfor broken links. On Solaris, theDfile type char (previously used for door files) was replaced byO. - Use the
kb bindcommand to customize your key bindings instead of manually editing the keybindings file (viakb edit). kb conflictnow 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
clifmimgscript (~/.config/clifm/clifmimg) (just remove it and restart) to make use of this new feature. By default, clifm and theclifmimgscript will try to guess the best previewing method (sixel, ueberzug, kitty, or ansi). Edit themethodvariable in theclifmimgscript to manually set a previewing method. - A more modern interface: If Unicode support is detected, clifm will draw decorations using Unicode characters (use
--no-unicodeto disable Unicode decorations, and--unicodeto 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-extcommand 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 (
bmcommand). - Several improvements to the
vvcommand. - Allow the use of tilde (
~) for the home directory when editing a symbolic link (lecommand). - Active files filter (
ftcommand) is always displayed. - Add files filter (
ft) and full-dir-size (fz) to autocommands. - Allow using names for
stin autocommands. - Use the
autocommand to set a temporary autocommand for the current directory. Runauto --helpfor more info. - New config file option:
InformAutocmdto 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
%xflag run in a new session (detached from the terminal) (via setsid(3)). - Lira: Check for
CalligraandGnumericwhen opening office documents. - Add
N file(s) copied/movedmessage tocandmcommands. - Set
TrashForceto 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 🪲 🐛
TimeFollowsSortandTimestampMarkare 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
PrintDirCmdsis 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.shplugin is broken. - The
mime importcommand 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
-Eoption prints garbage next to ELN's on some terminals. - The
fzfhist.shplugin (bound to thehaction 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.shplugin (gg).
New features/Improvements 😎 
- Ask for confirmation when trashing files (enable by setting
TrashForceto 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-cmdsmode (it just makes sense). - Sanitize aliases when running in
secure-cmdsmode. - 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.
#ef0amounts 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
\fprompt code. Consult the prompts file for details. - Implement prompt modules (via
${module}). Consult the prompts file for details. - Use the
\bprompt 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\bprompt code (last command execution time). - New prompt (
info), implementing a right prompt. --max-pathandMaxPathare deprecated in favor of the CLIFM_PROMPT_P_MAX_PATH environment variable.- Workspace expansion via the
w:construct. Example:c 2 w:3to copy the file whose ELN is 2 to the third workspace. - Make
history show-timelist 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).
owdoes not work on symbolic links.owdoes 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.
Bleachcannot handle names with embedded DEL chars.- renameat(2) not found when compiling on MacOS < 10.10.
hiddenoption forFzfPreviewnot working.kbinformsno keybindings definedafter 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
micode when reading LS_COLORS. - Buffer overflow when trimming down file names in long-view and
MaxNameLenis unset. Total sizefield inppinforms NULL color when thedzcolor code is set.- The size fields at the bottom of the
disk-usage-analyzerscreen ignore the size color (dz) if it is set.
New features/Improvements 😎 
- Prevent external commands from refreshing the current list of files by setting
ClearScreentointernalin the config file. - Keep in sight commands executed in the current directory via
PrintDirCmdsin the config file. - When
ColorLnkAsTargetis 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
lcommand creates symbolic links (absolute,relative,literal) viaLinkCreationModein 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
colorsscreen. - More intuitive and easily customizable default color scheme files.
- Removed deprecated commands:
bh,fh, andedit. - Removed
fscommand (what is free software?). - Removed the
bmcolor code (bookmark names in the bookmarks screen are now printed using the target file color). - Add
previewsubcommand to thecscommand (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
dgcolor code is now used for group IDs, while the new one,du, is used for user IDs. Ifduisn't set, we fallback to the old behavior:dgis used for user IDs, and group IDs are printed using a dimmed version ofdg. - Remove the
Unicodeoption from the configuration file. It has no effect anymore. - When scanning directories (
full-dir-sizeandlong-view, ordisk-usage-analyzer), print currently scanned sub-directories. - Disk usage analyzer: largest file not printed if sorting by size (redundant).
- Use the
dzcolor code (for file sizes) for both directories and regular files (if the code is set).