Skip to content

Releases: leo-arch/clifm

v1.21

30 Sep 18:44
Compare
Choose a tag to compare

Clifm 1.21 (Lemonhead)

Download CliFM

Get distro-specific binary packages from the OpenSUSE Build System

Bug fixes 🪲 🐛

  • TimeFollowsSort and TimestampMark are missing in config 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 the h 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 😎 :godmode:

  • 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 and MaxPath 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

16 Aug 04:48
Compare
Choose a tag to compare

Clifm 1.20 (Madam Xima)

Download CliFM

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 for FzfPreview not working.
  • kb informs no 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 in pp informs NULL color when the dz 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 😎 :godmode:

  • Prevent external commands from refreshing the current list of files by setting ClearScreen to internal 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) via LinkCreationMode 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, and edit.
  • 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 the cs command (same as colors, 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 code dt.
  • The dg color code is now used for group IDs, while the new one, du, is used for user IDs. If du isn't set, we fallback to the old behavior: dg is used for user IDs, and group IDs are printed using a dimmed version of dg.
  • Remove the Unicode option from the configuration file. It has no effect anymore.
  • When scanning directories (full-dir-size and long-view, or disk-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

11 Aug 00:55
Compare
Choose a tag to compare
v1.19.11 Pre-release
Pre-release

Clifm 1.19.11

Fix: Buffer overflow when trimming down file names in long-view and MaxNameLen is unset.

Download CliFM

v1.19.9

31 Jul 23:16
Compare
Choose a tag to compare
v1.19.9 Pre-release
Pre-release

Clifm 1.19.9

Download CliFM

v1.19

18 Jun 16:05
Compare
Choose a tag to compare

Clifm 1.19 (Kozy Krypts)

Download CliFM

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 in p/pp command when file is a socket or a fifo.

New features/Improvements 😎 :godmode:

  • 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>) via cmd-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

24 Mar 00:33
Compare
Choose a tag to compare

Clifm 1.18 (Caniche endormi)

Download CliFM

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 😎 :godmode:

  • Allow hiding files listed in a .hidden file (includes wildcards support) via ReadDotHidden 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 toggle follow-links in long view (keybind Alt-+).
    • Allow ID names (instead of just numbers) via I in PropFields (not available on Termux).
    • User/group names (instead of ID numbers) is the new default for PropFields.
    • Birth time support (via b in PropFields).
    • Hard links number support (via l in PropFields). Color code: dk.
    • File allocated blocks support (via B in PropFields). Color code: db.
    • Allow not printing group information (via G in PropFields).
    • Add missing color code for file inode number: de.
    • Allow setting fields from the command line via --prop-fields=FORMAT (same values as PropFields).
    • Allow double space between fields via PropFieldsGap in the config file.
    • Consistent long view colors for nord, base16, and zenburn color schemes.
    • Improve files counter: 0 for empty dirs, ? for dirs with no read permission, and - for no-dirs.
  • 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 and links.
  • Make Sort in the config file accept names, and not just numbers.
  • New command kk to toggle max-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 enables hidden-files and -A disables it
    • -f enables dirs-first and -F disables it
    • -l enables long-view
    • -L like ls(1) -L option (long form: --follow-symlinks-long)
    • -o enables autocd and -O disables it

v1.17

09 Feb 08:15
Compare
Choose a tag to compare

Clifm 1.17 (Lechuck)

Download CliFM

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 clifmimgscript if running with --preview.
  • ow dir/<TAB> inserts space char instead of listing subdirectories in dir.
  • 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 command config.
  • 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 or quit 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 as new.
  • 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 and no-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 😎 :godmode:

  • 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 plain q 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 unless ReadAutocmdFiles is set to true 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

09 Jan 03:06
Compare
Choose a tag to compare

Clifm 1.16 (Big Whoop)

Download CliFM

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 and oc 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 and dir/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 and le 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 takes 1 as an ELN (and attempts to create the corresponding file) instead as a new file name.

New features/Improvements 😎 :godmode:

  • .. 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 runs n 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 the trash 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 and t del commands).

v1.15

26 Oct 20:21
Compare
Choose a tag to compare

Clifm 1.15 (Jolly Roger)

Download CliFM

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 and st 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 😎 :godmode:

  • Mark Libreoffice lock files (.~*#) and MS-Office temp files (~$*) as temp files.
  • Document the meaning of each shade in both DateShades and SizeShades 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 for cp/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, and rio-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.

v1.14.6

20 Sep 22:48
Compare
Choose a tag to compare

Clifm 1.14.6

Download CliFM

Get distro-specific binary packages from the OpenSUSE Build System

Bug fixes 🪲 🐛

  • CMD1 2 not expanding ELNs (1 and 2).
  • Crash with Ctrl-Alt-u keybinding.
  • Wrongly attempting to remove the selections file when running t sel and there are no selected files.
  • Wrong alignment for big file sizes in long view (sizes in bytes only).
  • Haiku: infinite sel * loop after keybind.
  • Crash when running with --list-and-quit and no parameter is provided.

New features/Improvements 😎 :godmode:

  • Properly right-pad dash for unknown file sizes (in bytes) in long view mode.