1.18 (Caniche endormi) - March 23, 2024 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 "../" 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) 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 1.17 (Lechuck) - Feb 9, 2024 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/" inserts space char instead of listing subsdirs 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 CWD) 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 bookarmks 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. * Desel 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 * 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. Consult the manpage for more information. * Properly right pad human sizes in long view. * Allow properties fields order customization in long view mode via PropFields. 1.16 (Big Whoop) - Jan 9, 2024 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 colition). * 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 * ".." 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). 1.15 (Jolly-Roger) 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 keybind 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 * Mark Libreoffice lock files (.~*#) and MS-Office temp files (~$*) as temp files. * Document the meaning of each shade in both DateShades and SizeShades. * '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. 1.14.6 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 * Properly right-pad dash for unknown file sizes (in bytes) in long view mode. 1.14.5 Bug fixes * Missing --stat and --stat-full in shell completion files. * Wrongly displaying file names with invalid encodings. * Out of bounds read when bleaching file names with invalid enconding. * POSIX mode: Reading environment variables even if running in secure mode. * 'm' wrongly performs regex expansion on the last parameter (new name). * Hidden files not counted in light mode ('stats' command). * Bookmark name (in the bookmarks screen) is executred as a command name. * Crash on some OpenBSD systems. New features/improvements * Add internal 256 color scheme (stealth mode can now run in 256 colors mode). * Highlight backslashes to make escaped file names more readable (color code is 'hw'). * Read-only mode (via --readonly or the Readonly option in the config file). * The update_trash_indicator routine is almost 5x faster. * Faster symlink resolution when ColorLinkAsTarget is enabled. * Harden regex expansion to prevent undesired expansions (prepend '^' and append '$' to queries). 1.14 (Jawbreaker) Overall, 1.14 brings more preformance (regarding both speed and memory usage), better compatibility (POSIX/legacy systems), and improved security. Bug fixes * Crash on Termux when running with --secure-env. * Not recovering from warning prompt when navigating history with Up and Down arrow keys. * No screen refresh after renaming files with 'bleach' (if using the generic fs events monitor). * Not working on Linux < 2.6.27 (no inotify). * Wrong files list color for unknown file types (right color with p/pp command). * Highlight color is lost after inserting sudo command (Alt-v). * Binary names in PATH loaded multiple times. * Wrong inserted match when TAB completing the 'desel' command. * 'dup' fails when file name starts with a dash (subsequent characters are taken as command options). * Backdir (...) not working in Macos and Haiku. * Stack overflow when writing log to profile directory with not write permission. * Max name length unset not honored in long view. * Compilation with SECURITY_PARANOID does not work if no command line parameter is provided. * Commands received via plugins are not sanitized even if running in secure-cmds mode. * Wrong full directory sizes below 1K. * Mangled output for Xattributes ('p' command) in case of broken symbolic links. * Wrong size for block device files on some platforms. * Extended attribute in 'p' command sometimes prints garbage values. * Wrong icon (regular file) for executable files with capabilities. * Some plugins not working with file names containing spaces. * Properly expand history events ("sudo !!" not working). * TAB completion for envrionment variables not working. * Error building on MacOS 10.6 (Snow Leopard). * Ctrl-u deletes the current line but does not recover from the warning prompt. * The 'l' command cannot create link names containing spaces. * Wrong birth time (Unix epoch) in Solaris. New features/improvements * Secure-mode: disable core dumps; set umask to 0077 at startup; force creation mode 0600 for files and 0700 for dirs ('n command'); close non-standard file descriptors. * By default, the 'te' command sets the executable bit for the file owner only (unsets it for owner, group, and others). * If available, use the higher-quality arc4random(3) instead of the old random(3). * Use temporary random file names to communicate with TAB completers. * The SECURITY_PARANOID compilation flag takes now three possible values: 1 = secure-cmds + secure-env; 2 = secure-cmds + secure-env-full; 3 = same as 2, plus stealth-mode. * Warn when removing multi-hardlink files: file might still exists. * If running in secure mode, check config files for symlinks and multi-hardlinks (see CWE-59 and CWE-62). * Drastically reduce memory usage (~50%) under heavy load (100,000 files). (We're now the second most lightweight terminal file manager, only behind NNN!). * Increased listing speed in long view (ls(1), here we go!). * Increase the limit of files per directory from INT_MAX to SSIZE_MAX (meaningful only for 64-bit machines: these values are the same in 32-bit systems). * Lots of improvements to the POSIX version (much more compliant). * Improved compatibility with legacy systems (pre-POSIX.2008). * Increase file(1) support from 4.24 (Mar, 2008) to 3.30 (Apr, 2000). * TAB complete the third word for the 'rr' command with text editors. * Files birth time support in Haiku. * Fish versions for cd_on_quit.sh and file_picker.sh shell functions (by @spenserblack). * Allow extended file attributes in non-glibc Linux distros. * Allow nested instances. Properly set both SHLVL and CLIFMLVL environment variables. * Allow customizing the prompt when running colorless (via the 'clifm-no-color' prompt). * Allow using single/double quotes to quote regular file names via ELN expansion (using the 'QuotingStyle' option in the config file). * Colorize backup files (ending with tilde (~) or "#*#" (emacs auto-save)) using the color specified for TEMP in the color scheme file. * Improved confirmation prompt for the 'r' command. * Set a custom history file via CLIFM_HISTFILE. * Exclude commands from history via the 'HistIgnore' option in the config file. * Exclude directories from the directory history via the 'DirhistIgnore' option in the config file. * Make multi-hardlink color take precedence over empty and file extension colors. * Support for Solaris port files, NetBSD archive state files, and whiteouts. * p/pp command can now tell whether a file is sparse (has holes), in which case it adds the "sparse" label to the Size field. * 'p' cmd: print file capabilities if available (Linux). * Run as standalone stat(1) replacement via --stat and --stat-full command line options. * Customizable timestamps for the 'p/pp' command via the 'PTimeStyle' option in the config file. 1.13 (Voodoo Root) Bug fixes * A variable assignment triggers the warning prompt even if running with --int-vars. * "clifm --open=~PATH" not working. * Crash when running the 'n' command with an empty string: n "". * Suggestion persists after running a keybinding. * Image previews with 'clifmrun' are broken since ueberzug 18.2.0. * No path completion for 'x/X' command. * The 'new' command is not properly handling file names with tilde (via secondary prompt) * Some keybindings are overlapping (ex: press Alt-b and then Alt-m) * Quoted strings passed to either the 'new' or the 'filter' commands are expanded (wordexp(3)). * The regular files filter (=f) wrongly expands to non-regular files. * The 'new' command splits quoted names containing spaces (ex: 'n "a b/"'). * Wrong highlighted match in standard TAB completion when using the 'j' command. * TAB completion for ranges lists files even when the range goes beyond the number of files. * Duplicate entries in the jump database. * Wrong message when adding instead of removing a line from the tmp file in bulk remove ('rr'). * 'cs' (color scheme) does not work in autocommands if it's not the last directive. * Cannot enter cyrillic characters. * 'jo' command removed: not useful and broken since 1.11. * Wrong completer offset when warning prompt is disabled. * Prompt options in the color scheme file do not properly override options specified in the prompts file. * When customized, the warning prompt color does not match the color used for input text. * Tagging non-existent file names. * "s /path/to/dir/.*" selects self and parent directories (instead of just hidden files). * "s * -d" fails to select a directory file named "-dir". * Wrong matches color when TAB completing self or parent dir (ex: "./dir/"). * Unrecognized option '--indicator-style=none' when previewing directories on BSD. * Color scheme names containing a dot are not recognized, even if they have a .clifm extension. * Wrong file color when listing trashed files not trashed by clifm. * Quick help (?) fails if PAGER env var is set and contains spaces. * Trash dirs not properly created if they do not exist, breaking the trash function. * Wrong columns width when file names contain embedded control characters. * Wrong message ("No matches found") after recursive search (-x) * "Scanning ..." message not properly removed in case of empty directories. * --no-warning-prompt not working. * Listing files twice upon file removal (Haiku, Cygwin) * MinFilenameTrim overriden by MaxFilenameLen in long view. * Setting RlEditMode to 1 does not switch back to emacs mode. * Suggestions not properly removed in some cases (type 'bm add Camera/ cm', when suggested string is "bm add Camera/ Camera cm") * If running via the cd_on_quit.sh shell function, the shell directory is always changed, even if the exit command was not 'Q'. New features/improvements * The shell used to run external commands can be set via either CLIFM_SHELL or SHELL environment variables. * On NetBSD, OpenBSD, and MacOS, use 'grm' (the GNU version of 'rm') if available. * Add status message to the 'reload' command. * Append a slash to directory names when reporting removed files. * Harden config files creation: always set permissions to 600, disregarding umask (see CWE-732). * Add 'umask' builtin command. * 'pwd' is now a builtin. * The 'p' command do not follows symlinks (unless it is a symlink to a dir and ends with a slash), while 'pp' always does. * TAB complete authentication command (ex: sudo) with available command names. * Improved input handling for both 'new' and 'dup' commands (via secondary prompts) * Ask the user for confirmation when creating unsafe file names ('new' command). * Do not perform multi-file expansions (say, ranges), if there's a file named after the expandible expression. * Since fzy has been inactive for more than a year (and our patch has not been even reviewed), we forked it as fnf and migrated clifm to it: '--fzytab' is now '--fnftab', and the TabCompletionMode option now takes "fnf" instead of "fzy" as value. * Make file type filter chars in selection match those used by the search function. * Port to SunOS/Solaris/Illumos. * Solaris doors support. * Nano-second precision for timestamps in p/pp command. * Support for BSD file flags (p/pp command). * Honor both CLIFM_TMPDIR and TMPDIR environment variables. * A generic file system events monitor using mtimes (for when neither inotify nor kqueue are available). * In case of find(1) implementations not supporting regex (OpenBSD/Solaris) try to use gfind(1) instead. * Enable secure cmds/environment on NetBSD, Haiku, and MacOS. * Ctrl-Alt-j and Ctrl-Alt-m switch to vi editing mode, while Ctrl-Alt-e switches back to emacs mode. 1.12 - Blondebeard Bug fixes * Warning prompt color persists after recovering from wrong command * Size of empty dirs is zero when apparent-size is disabled (should print '4k' instead) * A file of 1024 bytes exactly is displayed as 1024B instead of 1K * Cannot open links to regular files (neither 'ELN' nor 'FILENAME' nor 'FILENAME APP') * Warning prompt triggered when more than one word and editing first word to 's:', 'b:', or 't:' constructs * Wrong color when TAB completing in the middle of the line and whatever is next is colored (ex: quotes) * 'update.sh' plugin is unable to retrieve lastest upstream version * Attempting to switch profiles when there is only one * Partially printed directory size ('pp' command) on wsvt25 console (NetBSD) * When you type "uc" a command description is provided, but the command doesn't exist anymore * 'mp' command not working on DragonFly BSD * 'ls' returns exit code 1 (even when there is no error) when running with --no-autols * 'ow' not honoring "![EO]" notation in the opening application string * Wrong color for non-existent tagged files * No completion for 'tag FILE :' * Query string not correctly cleared when TAB completed text is shorter (tagged files insertion) * Extension color no honored by the 'p' command for symlink targets * When running colorless, links are always shown as broken in 'p' command * When toggling the disk usage analyzer (Alt-TAB) the value of apparent-size is changed * Directory history from different instances is not preserved: the last instance overwrites everything. * New jumpt entries (visited directories) generated from a second instance is not preserved * Selected files indicator not shown in long view if ELN's are disabled * Wrong color for symlink target in 'p' command when the target is a special file * Unaccessible directory not colored as such when the user has not execute permission * The 'ne' color code has no effect at all. Removed. * Crash when attempting to run a plugin via a keyboard shortcut. * "cmdxxxx" performs TAB completion as if the string were just "cmd" * Some internal subcommands are never suggested * Version sort not correctly sorting ('file10' before 'file9'!) * Wrong screen width when using icons in long view and file names are not trimmed * Description for some commands is never suggested * 'mm --help' returns 1 (error) as exit status * Some shell completion for Bash and Zsh are broken * Files list not reloaded when unmounting remote * --print-sel is not working * Crash when changing dir and the directory history is empty * 'te' command reports success even if the operation failed (e.g. permission denied) * A file named "...file" is wrongly converted into "../../" by the fastback function * Cannot untrash file if destiny (original path) is on a different file system * Misaligned emoji-icons in foot (Wayland) * Wrong files alignment in virtual dirs when clear-screen is disabled * Select files using the same glob expression twice: wrong files got selected. * Missing space between icon and file name when running with --no-color * Broken nerdfont icons since NerdFont 3.0 * PWD not properly set in case of symlinks to directories * Words in the command line are expanded even if quoted or escaped (ex: "s '~'") * "clifm -P ." creates a profile that cannot be managed via the 'pf' command * Crash when expanding a tag some of whose tagged files are not existent, and is followed by another tag expression New features/improvements * Print dir sizes ('p' command) as human-size/bytes (as done for regular files) (GNU 'du' only) * Reload the list of binaries only when timestamps of paths in PATH differ from cached values (this might be noticeable on low-spec systems) * Warn when attempting to merge a tag with itself * Honor 'apparent-size' and 'si' options for directories on BSD systems * New command: 'unset', to remove variables from the environment * New command: 'll', to toggle long view mode * 'ff', 'hf', and 'lm' commands just toggle state if no parameter is given * 'hh' is now an alias for 'hf, hidden' * Add free percentage to disk usage message (--disk-usage, DiskUsage) * 'rf' clears the screen even when ClearScreen is set to false * Make file names trimming optional via TrimNames (config file) and --no-trim-names * Set colors for file extension to default values when running in stealth mode * Allow listing tags applied to an specific file ('tag list FILENAME...') * Colorize output of the 'jl' command * New option: 'ColorLinksAsTarget', to colorize symlinks as target files * Replace slash by dot as permission groups separator char (long view and 'p' command) * New plugin: 'xclip.sh', to copy the current line buffer to the clipboard via a custom keybinding * 'export' can now export multiple variables at once * Allow directly assigning hex colors to file extensions in color scheme files * Inform target name when editing a broken symbolic link * Append an 'add' subcommand to 'tag' for consistency with the remaining subcommands * Add 'edit' subcommand to the 'config' command * Add 'list' subcommand to the 'net' command * Add 'set' subcommand to the 'prompt' command * Add 'list' subcommand to 'kb'. Add both 'list' and 'readline' to TAB completion. * The 'log' command has now this syntax: log [cmd, msg [on, off, status, clear]] * TAB complete available subcommands for 'actions', 'config', 'fc', 'mime', 'net', 'log', and 'prompt' commands. * 'filescounter' command was removed (only 'fc' remains) * Improve logs system * Old log.clifm file split into two: cmdlogs.clifm and msglogs.clifm * Disable the use of bold colors via --no-bold * Allow the use of xterm-like color names in color schemes * Completions file for the Fish shell * Dir full sizes are preceded by '!' whenever there was an error reading a subdir (total size may not be accurate) * 'cd' returns 1 in case of EACCESS error, like most shells do. * TAB complete 'cmd edit ' with available text editors (for all internal commands taking 'edit' as subcommand) 1.11 - Cobb Bug Fixes * File names containing sapces are not properly escaped when expanding file types (=), MIME types (@), and bookmarks (b:) * Wrong directory suggestion when entering ending slash * No color on wezterm terminal * If TERM is not found in clifm's terminfo database, CLIFM_FORCE_COLOR won't work. * Wrong cursor position with fastback and multi-line path suggestions * 'jl' (an actual command) triggers the warning prompt * Error when attempting to compile without trash support (_NO_TRASH) * Error compiling with _NO_FZF, _NO_TRASH, and _NO_ICONS * When a custom welcome message is set the initial help message is not shown * 'Icons' option is missing in the config file * No error message when specifying invalid opening application to edit config files * Garbage first line when refreshing screen via ENTER * 'jl STR' is returning an error code even if a match was found * Wallpaper setter plugin not working on Wayland * 'dir/*' as first word triggers the warning prompt. PARTIALLY SOLVED: if there are matches, the prompt switches back to normal. * Wrong window offset with TAB completion for wildcards as first word * Not honoring case insensitivity when TAB completing paths * 'ListDirsFirs't in the config file is broken * Name not escaped when accepting workspace number suggestion * Highlight color for numbers (hn) not working * Ctrl-D exits clifm no matter if the command line isn't empty * If CLIFM_IFACE_COLORS, CLIFM_FILE_COLORS, and CLIFM_EXT_COLORS are set, the color scheme file won't be read * 82 is not the proper exit code for processes interrupted by a signal (e.g. Ctrl-c) * 'clifm.1' crashes man(1) in Termux * Lira fails to identify Zstandard files not ending with .zst * './FILE' triggers the warning prompt even if FILE exists in CWD * Unable to TAB complete './FILE' if FILE is not an executable file * '/bin/ls ' triggers the warning prompt, even if /bin/ls exists * In Cugwin there's no DISPLAY variable, sot that it always runs as if there's no GUI (this impacts on Lira) * Garbage text when printing full dir sizes ('pp' command) and running colorless * Device field in p command for character and block devices wrongly set to device ID instead of ID of device containing file New features/improvements * Proper error message when attempting to open multiple files at once * 'clip' plugin reintroduced and rewritten * Add a '--purge [RANK]' option to jump: purge both non existent dirs (no param) and dirs ranked below RANK * Colorize the list of jump entries ('j'), right pad fields, and sort by rank * Allow compiling profiles out (_NO_PROFILES) * Enable fzfpreview by default * The 'config' command can be used instead of 'edit' (which is now deprecated) * 'config dump': List current settings highlighting those that deviate from the default values * Allow specifying opening application for 'jump edit' and 'prompt edit' commands * Use 256 colors for file properties if available * Gradient colors for file size and timestamps in file properties * New color scheme: default-256 (a 256 colors version of the default theme) * Default to default-256 color scheme if 256 colors support is detected (ColorScheme must be unset) * Customize time format for timestamps in long view (including relative time) using TimeStyle (config file) * Default time format in long view is now ls(1)-like * Colorize the list of workspaces ('ws' command) * Allow unsetting workspaces via the 'unset' subcommand ('ws NUM unset') * Options in main config file are by default commented * Right pad ELN's and add icons (if enabled) to search results (CWD only) * Match file extensions case-insensitively * Alphabetically sort color schemes ('cs' command) * Make Alt-f behave like in most shells (if not at the end of line, move forward one word) * Remove --no-ctrl-d-quits, --unicode, --no-unicode, and --no-toggle-workspaces switches * Remove 'uc, unicode' command * Added support for extended attributes (for both long view and 'p' command). See PropFields in the config file. * Ported to DragonFly BSD * Take terminal capabilites into account when clearing the screen * Right pad ELN's when listing selected and trashed files * Add support for CLICOLOR and CLICOLOR_FORCE environment variables. See https://bixense.com/clicolors * Properly set OLDPWD * Set CLIFM_PID and CLIFM_VERSION environment variables * Apparent sizes are used now by default (--apparent-size changed to --no-apparent-size) * Add Device type field to p command for character and block devices 1.10 - Swordmaster Overall, 1.10 brings a much more solid command line experience Bug fixes * ID color not honoring secondary groups in properties * Recursive search not following symlinks * Attempting to rename a non-existent file * "Querying MIME types" message is overwritten by cmd output * Not refreshing screen if CWD is a symlink to dir (Linux) * Not refreshing screen on *BSD * Wrong default theme when argument to --color-scheme is invalid * A slash is appended to bookmark names when completing with the 'bm' command * No suggestion for ELN's after 'bm a ' * Fix 'x' command on Haiku * Wrong completion offset with "/" in standard TAB completion mode * 'net', 'cs', and 'pf' commands do not suggest case insensitively * 't:TAG' not displaying files in standard TAB completion * 'q ' (with at least one space) triggers the warning prompt * No suggestion/completion for names containing spaces (bd, bm, net, cs, pf, and prompt commands) * No completion for file names containing spaces ('u', 't del') * No file color when listing trashed files via 'u' or 't del' commands * No color when listing trashed files in standard TAB completion * Unable to remove bookmarks having no shortcut * 'b:' is broken in standard TAB completion * History completion (!) is broken in standard TAB completion mode * Extra slash appended to history entries which are directory names * Wrong columns offset when listing unicode files in standard TAB completion mode * Wrong file color after TAB completion * 'mv' and 'cp' shell commands take --help as a file name * 'export' fails with env var and home tilde * TAB completion in the middle of the command line is unstable * No path inserted when completing wildcards and there is only one match * History suggestions take precedence over jump ones when using the 'j' command * Freeze when running with --no-autols * When prepending "sudo" (Alt-v), it takes the color of the current word * Empty files not colored in TAB completion * Persistent warning prompt color after deleting a space char * Extra line when completing multi-line commands * Prompt disappears when editing first word and we're not at the end of the line * Invalid command/file name taken as correct when editing first word (fuzzy-matching enabled) * Wrong visible bell region when not at the end of the line * More directory history entries (bh/fh) than MaxDirhist * Cannot untag files tagged with a name containing spaces * Jump is not forgetting directories ranked below MinJumpRank New features/improvements * New command: 'oc', a files ownership changer * Allow setting a custom selections file (via --sel-file) * Suggest a brief description for internal commands * 'cmd' displays available commands together with a brief description * Plugins help messages reformated to fit clifm's format * Specific color for fuzzy file name suggsetions * New color scheme: aqua * New classification characters: broken symlinks (!), character device (-), and block device (+) * Make "version" the default sorting order * Extended syntax for the bookmarks command: 'bm add FILE NAME' * 'b:' completes/suggests bookmark names (instead of paths), and 'b:NAME' is expanded to NAME's path. The ExpandBookmarks option (just as --expand-bookmarks and the bookmarks suggestion strategy) is deprecated. * Multi-selection for the b: and t: constructs (bookmarks and tags respectivelly) * 's:' works exactly as 'sel', to be in line with 'b:' and 't:'. Unlike 'sel', 's:' works as first word as well * 'net unmount ' should only list mounted resources, while 'net mount ' unmounted resources only * Allow renaming profiles via the 'rename' subcommand: 'pf rename' * List file attributes (as lsattr(1) would) in file properties (Linux only) * Group file extensions by type in the default color scheme for easier customization * History timestamps via the 'show-time' subcommand: 'history show-time' * Search patterns history changed to '/*' (instead of '/') * Colorize jump entries in TAB completion (fzf): 'j ' * Pad bookmark names in the bookmarks screen * Allow jump to never forget directories by setting MinJumpRank to -1 1.9 - Sharptooth New features/improvements * Allow autocmds for workspaces as well, instead of just paths * Abbreviate target path of symlinks in the properties function * Allow starting the file preview window hidden (--fzfpreview-hidden) * Allow the 'view' command to select files * Keybinding for the 'view' command (Alt+-) * Implement 'cd -' (as it works in most shells) * 'pc' command to interactively edit file permissions * List available MIME-types: @ * List available file types: = * Optional files counter field for directories in long view * Optionally print file size in bytes in long view * Added timestamp seconds in long view * Allow setting custom values to automatically run the pager * Improve the prompt of the symlink editor (le) * Allow the 'vv' command to rename files passed as parameters, and not only selected files * Improved fastback function: absolute paths are now suggested * Private workspace settings * Customizable welcome message via WelcomeMessageStr * Make suggestions even when removing text via backspace * Automatically expand bookmarks (:b), file types (=c) and mime types (@patter) * Improve list of available file types (=) * 'stats' command now work in light mode too (reduced though) * Make the b: (or :b) construct work as first word as well * Send text cut via Alt-c to the kill-ring * Do not trim file name if there's only one file and we're not in long view * "Commands" help topic * FuzzyMatching is now an option in the config file * Improve fuzzy matching: detect consecutive chars and beginning of words (including camel case) * Make fuzzy matching Unicode aware * Allow exiting the bookmark creation screen via 'q' * Allow using tilde for bookmark paths * Properly test UTF-8 support Bug fixes * Wrong window offset when TAB completing 'tu' command and fuzzy-matching is enabled * Wrong cursor movement in some secondary prompts when Unicode text is entered * Crash when PrintSelFiles is enabled * Wrong ueberzug image position when running 'TERM -e clifmrun --fzfpreview' on some terminals * Immediately quits if exectued as terminal parameter (ex: "lxterminal -e clifm") * "=h" not expanding into multi-hardlink files * If there's a file named "file.txt" and you type "file/", "file.txt" is suggested anyway * "ELN APP" triggers the warning prompt * Unexpected trimmed file name in long view * Wrong ELN pad when max files is set and files is smaller than max files * Wrong colors for new property fields in long view * View keybind (Alt--) not working when there's a file named "view" in CWD * Mutiple screen refreshes when siwtching profiles via keybinding * Autocommands override some current settings * Autocommands are evaluated backwards (from bottom to top) * File birth time is missing for the 'p' command on NetBSD * Type '/': another slash is inserted * 'v' and 'vv' commands not expanding ELN's * Cannot remove/rename files named "-f" or "--force" * The 'view' command fails on some systems due to the ED escape code (^[[2J) * Filter set from CLIFM_FILTER is lost after changing profiles * CLIFM_FILTER="!.*\.c$" not working. The shell expands "!": either use single quotes or escape '!' * Suggesting jump entries from history ('j query') is not useful: it hides the directory targeted by the query * Wildcards expansion not working whit paths containing spaces: 's ~/Docu\ ments/*' * Wildcards not expanded when using tilde: 's ~/*' * Wrong finder offset when TAB completing in the middle of the cmd line 1.8 - Otis New features/improvements: * File previews for TAB completion (fzf mode only) * 'clifmimg' plugin to add image preview capabilities to clifm * 'view' command to preview files in full screen (via fzf) * Shotgun, a built-in files previewer similar to pistol * Remove cd prefix when suggesting jump dir and autocd is off * Change dates color in properties (blue isn't readable on some terminals) * Improved Unicode support for the suggestions system * 'bl' command automatically prepends dot to suffix if it does not start with a dot * Flat or branch view via the fzfsel.sh plugin (-f, --flat option) * Bypass aliases using a backslash: \alias_name * Cygwin support * Improved performance/portability of the suggestions system: no more slow/non-portable CPR-CUP escape sequences! These were replaced by 100% made in-house cursor position calculation plus basic/portable escape sequences: CUU, CUD, CUF, and CUB Bug fixes: * Issues with the ESC key in the interactive rename prompt * Not honoring none in FzfTabOptions * No file type color for /path/to/dir/GLOB * Wrong file colors when running as root * Script in $HOME not working with arguments (e.g. ~/script.sh arg) in mimelist.clifm file * 'fzfnav' plugin not working with Ranger's scope.sh * C-p keybinding is slow to respond * C-p and C-n keybindings do not highlight history lines * BAEJ suggestion (ex: ELN) not colored if it contains spaces * If wrong command and C-x fails, error is printed using the wrong command color * 'bl dir/file file' creates only one symlink (file.link) * Secondary prompts have issues with Unicode strings. * Termux: TAB completing/accepting suggestion of Unicode strings not working * Bulk create plugin (bn) stops creating files as soon as a unique quote (' or ") is found (ex. Peter's dog) * Cannot create directory with n command if file name contains spaces * 'fzfnav' previews not working on Wayland * Help message covered by image preview in fzfnav plugin * The "Calculating..." message in the pp command is not correctly removed on some terminals * Pager not working as expected on the Linux console * The 'dragon' plugin does not work with file names containing spaces * The manpage parser stopped working due to the file extension change * Multi-byte char takes color of previous char (if colored) * Suggestion not removed when entering a tilde path * Ctrl-Alt-d (remove sel) not working: conflicts with C-d to quit * Screen refreshed upon command error: messages are lost * Suggestion partially printed with j cmd * FZF tab offset is broken: select a few files (make sure it takes more than one line), insert all of them, type sel again and the press TAB: FZF menu appears next to the end of the screen, making its contents unreadable. * Wrong path as first word errs like a failed search * 'fzfsel' and 'fzfdesel' plugins not working * Wrong columns when longest file name is a directory * 'mime' command not taking filenames/ELNs as parameters * Recursive search not honoring case insensitive search option * FzfTabOptions not protected against command injection when running with --secure-cmds * Crash when only one file is listed and TAB is the first key pressed * Wrong path color when completing unique match via TAB *Suggestions are broken on high-latency remote connections 1.7 - Elaine New features/improvements: * Better columns arrangement in long view * ke / kd: encryption/decryption plugins * Better use of space when trimming file names (the space used by the files counter in now taken into account) * Preserve file extension when trimming file names * Allow forcefully copying, moving, and removing files * Improve in-file documentation for the default color scheme file (default.clifm) * Termux support * Transition from .cfm (ColdFusion) to .clifm config files * Allow displaying inode number in long view * Remove cc command to avoid conflicts with /bin/cc * Remove mount-ISO option if not on Linux * Optionally use numeric instead of symbolic notation for file permissions in long view mode * Timezone for dates in p command * Toggle properties fields on/off in long view * Virtual directories plugin * A nicer config file * Desktop notifications * Improve the messages log system * Move messages logs into log.cfm file and get rid of the messages.cfm file * Increase max log size to 1000 * fdups plugin ported to FreeBSD/NetBSD/OpenBSD (thanks @danfe!) * Allow glob expansion via TAB for the quick search function (/*.pdf) * smenu(1) support for TAB completion * List available bookmark paths via b: * A more readable color for unstatable files * Abbreviate file names for ds , sel and when informing deleted files via r sel * Toggle workspaces (via workspace keybindings) * Named Workspaces * Make dup command ask for a destiny directory * n should inform about created files * n should be able to create dir/file even if dir doesn't exist * Bleach: ä/ö/ü should be replaced by ae/oe/ue and Ä/Ö/Ü by Ae/Oe/Ue. Bug fixes: * Plugins not respecting --no-color * Extraneous first entry in long view when toggling max file name length * Command line garbage when deleting the whole line with the del key * No suggestion when recovering from wrong command * No color for history lines if readline.clifm isn't found * Inconsistent file colors when listing, searching, and printing file properties * Color for inaccessible directory name is extended up to properties in long view (light mode) * alias import not completing/suggesting file names * Dangling temporary file in bulk rename * Jumbled output when running with -y --no-eln --no-color * Secondary groups not honored when checking file access * Bleach lists all files even if they don't need to be cleaned up * Screen not refreshed on Enter if backspace was previously pressed on empty line * Suggestions for aliases is broken * Hex colors not working for file extensions * fzfnav plugin works only once * mime import overwrites current mimelist file * br without parameters returns error exit code (1) * rr command not working without an explicit path * mm command not working with ELN's * Bulk rename opens temporary file even for failed glob expressions * ACL files in long view break columns symmetry * No highlighting after recovering from wrong command * The file picker function does not work when selected file names contain spaces * Switching workspaces via keybinds sometimes errs with ws: filename: No such workspace * edit is running vis(1), which is not a text editor on BSD systems * Trivial messages are being logged * Wrong finder offset when expanding glob expressions via TAB * Switching workspaces via keybinds not working if there's text in the command line * ./ not listing directories * Wrong finder window offset when fuzzy-match is enabled * Completion for the ZSH shell are broken * Home not reduced to tilde on FreeBSD * Enter a single &: crash! * Multiple screen refresh when moving back and forth via keybinds * Removing a symlink to dir via the r command attempts to remove the target 1.6 - Guybrush Additions/improvements: * Rename PromptStyle option in the color scheme file to Notifications=true/false * File type expansion via TAB: '=d' * Search pattern completion: '/' * Apparent size is enabled by default in disk usage analyzer * Make ApparentSize an option in the config file * Use separate indicators for error, warning, and notice messages * Prompt msgs indicators should be kept across profiles * Add wildcards (glob) TAB expansion * Select all (C-s), deselect all (C-a), and toggle select (C-t) keybinds for TAB completion (fzf mode) * Add only-dirs option to autocommands * Help topics * File type modifiers for the search function are now the same used by find(1) * Usage message for the search function * Search strategies * More friendly file names in the selection box * Trash is now enabled in stealth mode * ELN's color is now regular cyan * New option: -r, --refresh-on-empty-line * New option: -E, --eln-use-workspace-color * Current workspace color for dividing line if 'dl' is unset * TAB completion for users home directory * List removed/trashed files * Replace references to "folders" by "directories" * Fuzzy TAB completion for file names and paths * 'prompt' command to quiclky switch prompts * More color schemes by default * Support for emojis as icons * Suggestions for sort numbers * Complete with file names instead of bookmark names when adding a new bookmark ('bm add') * Improve algorithm to calculate total sel files size * Default to FZF TAB completion if fzf is found * Reload files when (de)selecting or (un)trashing files with descriptive messages * Better TAB completion for selection and other functions * Visual bell style (readline >= 8.1) * Hex color codes support * Notice message if config files are reloaded * Built-in support for rsync to copy files * New plugin (rrm): recursively remove files via FZF * Do not record ELN& into history * Allow controling STDERR and STDOUT when opening files via Lira * Move instead of cp/rm when trashing files * Do not suggest/autocomplete/expand CliFM internals if command starts with a semicolon or a colon, or if we're in a comment (#). * Add keybind (C-A-i) to toggle disk usage analyzer mode on/off * MaxNameLen defaults to 20 * Improved bookmarks interface * Consistently reload the list of files either upon files or interface modifications * Reload files list after exiting the bookmarks screen * Reload the bookmarks screen when entering invalid bookmark * Temporarily disable cmds history via 'history [on, off, status]'. '--no-history' is also available * TAB completion for the alias command * Properly align list of aliases and actions * New command: 'fz', to toggle full dir size on/off in place * Removed colorizeProperties option from the config file * Total size for selected files calculates full directories size * Allow sizes in powers of 1000 instead of 1024 (--si) * Prepend 'cd' to jump completion when autocd is disabled * Improve img_viewer plugin * New plugin, cr, to copy files to remotes * New plugin, da, to inspect files and directories sizes * New plugin, bmi, to import bookmarks from either Ranger or MC * Add install rules for cmake * Do not sort reverse by default in disk usage analyzer mode * New plugin, fdups, to find and remove duplicate files * Enable exit on EOF (Ctrl-D) by default * A new line should be printed before quitting via keybind (Ctrl-d, F12) Bug fixes: * Symlinks to dir wrongly sorted in disk usage analyzer mode * 'pp' command displays wrong size for symlinks to dir * Garbage first entry when toggling disk usaga analyzer * Only-dirs not showing symlinks to dir * Cannot get properties of the root dir (p /) * Wrong size for empty dirs and symlinks to dir in long view mode * Slash not appended to suggested symlinks to dir * TAB completion of first word (if multiple matches) removes second word * Del last word deletes from end of line instead of current cursor position * Switch to comment color if file name contains a hash char * Error inidicator in the prompt not honored when there are multiple messages * No history line color when pressing UP for the first time * Wrong baej suggestion offset when editing line * Prepend sudo function messed up with current completion color * Autocmds not playing nice with profiles * Some plugins not working from autocommands * Cannot use backslash in search expression * '?' ELN in search list when not searching in CWD * Inconsistent color for search files in light mode * No deselection message on error * Unable to select root dir * Wrong cursor position while editing line * 'pp' cmd does not work with tilde * File overwritten when untrashing file with same name * 'st' does not suggest 'mtime' but a file name instead * Wrong exit code at exit * File extension color in TAB completion even if --no-file-ext * Alt keybinds not working on SSH * Box drawing dividing line not working * Segfault when not path is defined for a bookmark * The rename function cannot rename files named as numbers * Bookmarks names and shortcuts do not work with spaces * Sel doesn't expand braces correctly * Incomplete prompt when using standard TAB completion * Wrong color for regular files when using GNU ls in fzfnav plugin * Leading space in file names when running with --no-eln * Wrong "FZF not found message" when running with --fzftab * Keybinds not working when running new instance as root (X) * Double error message if invalid filetype in quick search * 'li' color code not respected * Wrong cursor line for suggestions after resizing terminal * Segfault when removing current dir from outside * rgfind plugin not working with multi-word strings * Wrong cursor position after editing line (first word) * Plugins cannot know we're running colorless when using --no-color only * Wrong exit code after suggestion * Sel indicator not updated when sel file is (re)moved * Suggestions do not recognize fish builtins * No error msg when 2nd param is opening app and it fails (or does not exist) * ELN expanded to alias if file name is an alias name * Cannot bookmarks files containing spaces in their names * Plugins return wrong exit status (always zero) * Total size indicator for selected files is broken * Correcting a wrong file name as first word do not recover the normal prompt * ELN runs mime-import if it refers to a file named 'import' * Starting path does not work when the path contains references to self or parent dirs (dot or double dot) * --open crashes CliFM * Completions/suggestions for jump produces wrong values when compiled with _BE_POSIX on Linux * TAB completion for jump does not honor case insensitive * Bookmarks not reloaded after 'bm edit' * Some plugins not working: img_viewer, vid_viewer, and music_player * Built-in 'export' command not working * --control-d-exits is not a valid command line option anymore 1.5.1 - Willy * Fix crash when built via makepkg on Archlinux 1.5 - Nano * Better handle non-alphanumeric chars when sorting * `Crtl-Alt-q`: Toggle max file name len on/off * Define `DATADIR` at compile time via the Makefile * MacOS port! * New instance function is available to all supported platforms * Force the use of colors via `CLIFM_FORCE_COLOR` environment variable * Accept more word delimiters for accept first suggested word and delete last word functions * `DirIconsColor` renamed `DirIconColor`in the color scheme file * Color variables support for the color scheme file * Light theme included * Suckless mode compilation via `CLIFM_SUCKLESS` * Improved theming support: interface stuff (including colors, prompt, warning prompt, dividing line, and FZF options) is defined now in the color scheme file. * Customizable color codes for files properties * Remove files in bulk via a text editor * `Etiqueta`, a files tagging system * `--sort` accepts strings as well as numeric values * Improved format for the properties string in long mode * Command line switch (`--apparent-size`) to use apparent sizes intead of actual device usage * Disk usage analyzer mode via `-t, --disk-usage-analyzer` * New command: `stats`, to print files statistics * New prompt: Security scanner * New escape codes for the prompt (files statistics) * Allow the warning prompt to understand escape sequences * Colorize command history ELN's * Add color and correctly PAD ELN's in directory history screen * Correctly pad ELN's in bookmarks screen * Replace the plugins-helper check in all plugins by a simple environment variable check: `CLIFM_PLUGINS_HELPER` * `--version` just prints the version number * Wrong size for selected files after moving previous selected files * Error when getting length of file name containing invalid multi-byte sequence * The interactive rename function fails with ~/ file names * `CLIFM_STAT_TRASH` reporting wrong number of trashed files * Wrong cursor position when suggestion is longer than `NAME_MAX` * Crash when `ExtColors` holds a really long string * Some entries not working in the interactive help plugin. * Wrong FZF offset with dynamic prompt changes (e.g. exit code) * When suggesting file names, the last matching one is suggested instead of the first one, as expected * Attempting to use suggestions in terminals that do not support it * Attempting to use colors in terminals that do not support color * Wrongly restoring regular after switching workspaces * `exit` internal command triggers the warning prompt * Color for all workspaces in the prompt is cyan when `--no-color` is passed * Missing new line char after getting media info * Invalid value passed to the `st` function results in sorting by `none` * Conflict between mime parameters(`edit`, `info`, and `import`) if there are files in CWD named likewise * Suggestions are colored in the Linux console even with `--no-color` * Double error message when invalid color scheme is passed via command line * Suggestions for shell built-in are colored even with `--no-color` * Gibberish when no date info in properties function * Inconsistently using apparent and real sizes * Root indicator printed in color even with `--no-color` * Fix mem leak when unrecognized escape code in prompt lines * Fix mem leak if duplicated entries in the config file * Conditional execution fails with fused parameters * Deletion time for trashed files cannot be read by other trash implementations * Wrong mountpoint for mounted archives * Wrong completions in FZF tab when no parameter is passed to the jump command * Wrong completion/suggestion offset for strings starting with chars that need to be quoted * Hidden files wrongly sort in version sort 1.4 - Alma * Little descriptive message for the temp file of the bulk rename function * Colorize files properties (long view and 'pr' command) * Enable FZF TAB completion mode via CLIFM_USE_FZF environment variable * -h can be used to access internal commands help * Support the URI file scheme * Support URL's when running as standalone opener * Add support for gio as resource opener * Lira matches file names now instead of just extensions * Lira can now open URL's when used as standalone resource opener * Lira can perform tilde expansion now * Device information function for the media command * 'bl' suffix generation defaults to '.link' in case the user enters no string * --help includes examples for each internal command * TAB completion for environment variables * Add number of items to prompt indicators (sel, trash, and messages) * 'kb edit', 'cs edit', and 'actions edit' allow second parameter to specify opening application * Add a header to plugins to let the user know what it is/does * Remove calls to system shell from Lira's code * Secure environment and secure commands function * Allow fzftab to select multiple entries (several commands) * The dup command can duplicate now multiple files at once * Customizable tilde color for trimmed files * Improved Unicode support * Handle file names with embedded control characters * Better help (with pager) * Allow passing no option to FZF for TAB completion * FZF theme is now 16 colors by default * A plugins helper script to get a consistent look for all FZF plugins * All FZF plugins now honor NO_COLOR * Add support for NO_COLOR environment variable * --no-color option now makes CliFM truly colorless * More image viewers and video players support out of the box * Add neovim and micro-emacs to the list of default applications for plain text files * Improve mime_list plugin using FZF * New: Backdir (bd): Quickly changes to a parent directory * When the files filter is set, print the number of excluded files * Allow quoted expressions for the filter command * Make Bleach conformant to the Portable Filename Character set * Fix file names in fzfdesel plugin * Read CLIFM_FZF_HEIGHT to get a coherent look for all plugins using fzf * fzfnav allows now to customize the FZF window height via BFG.cfm (#87) * Better sort lock, autosave, and backup files generated by emacs and other programs * New autocommands mode via .cfm.in (entering dir) and .cfm.out (leaving dir) special files * Little export implementation * Allow Lira to understand environment variables (#86) * Add nsxiv support to the mimelist file (sxiv is now unmaintained) * c and m commands sometimes fail when destiny parameter is specified * Auto-unmount not working for the net command * ow lists duplicated entries with TAB completion * No order number expansion for jo command * Wrong completions for paths starting wiht tilde * Won't work when invoked by another program, e.g. via a shell script * Hang when variable defined in profile and internal variables are disabled * plugins-helper not found for FZF plugins * Extraction path for archives triggers the warning prompt * Prompt does not recover color after warning prompt * No colors when running in stealth mode * When running on Wayland Lira does not recognize any graphical application * FZF TAB completion fails with directory names containing spaces * Error compiling with _NO_FZF flag * Directories with spaces no further completed in FZF TAB * Cannot execute command 'm4': shell cmd 'm4' gets executed instead * (SOLVED Invalid free in dup command when destinity is specified * No usage message for vv command * Wrong path when selecting ./FILENAME * Gibberish in long view when files are trimmed (VTE terminals) * Unable to kill external program via Ctrl-c * MaxFilenameLen not working with Unicode file names (#91) * pin cmd (,) triggers the warning prompt * mm info does not correctly display opening application when it has parameters * Crash when going forth to non-existing dir * The --no-color option does not produce a truly colorless interface * Wrong executable name for kakoune editor in mimelist.cfm * The rename prompt is garbled when renaming too long files names * "ELN&" triggering the warning prompt * 'sel' keyword suggested even if there are no selected files * Not switching color scheme with autocommands * Executable scripts not opened as regular files * File names with non standard characters not correctly escaped with TAB completion ------------------------------------------------------------------------ 1.3 - Sebastian * Bleach, a file names cleaner * Improved sorting for Unicode file names * Version sort for non-GNU systems * Environment variables expansion * TAB completion for 'undel' and 'trash del' * Allow directories to be opened via external applications * 'ad' could be used now as opening application in the mimelist file * Autocommands * Customizable colors for workspaces * New cmd: 'media', to handle mount/unmount of storage devices * Get out of mountpoint before unmounting * New keybinding (Alt-q) to delete last typed word * TAB completion for the 'sel' keyword and the deselect command * Allow 'ds' to deselect files passed as parameters * Mark selected files in the files list * New default colors for: some specific file extensions, files counter * Case insensitive files search * --list-on-the-fly option renamed to --autols (same for config file) * Allow settting a max file name length for listed files * The 'mf' command accepts now the 'unset' parameter * Functionality similar to 'imv(1)' for the 'm' command. * Open-with command (ow) * ls(1)-like listing mode * Suggestions for shell builtins * Independent color for the suggestions pointer (>) * ELN padding for file names alignment * Allow editing the history file via 'history edit' * The refresh function does not reset the last cmd exit code anymore * New plugin: fzfdirhist * TAB completion and suggestions for cmd names after process separator chars * Warning prompt for invalid command names * FZF mode for TAB completion * Basic syntax highlighting * Replace execle() by system() * \z returns exit code instead of ascii face * The alias function supports now both single and double quotes * The 'ds' command allows now the user to manually edit the selections file * Optionally allow to quit CliFM with Control-d * Add icon-in-terminal reference to the icons command in the manpage * Home key not bound anymore to anything * Do not split commands not taking ELN's or numbers as parameters * Append .new to file name when creating an already existent file name with the 'new' command. * Use mkstemp() instead of manually creating the file * Use the P_tmpdir macro (defined in stdio.h) to get tmp dir (defaults to /tmp) * Unique temp file for bulk rename * Add broken link error message when opening a broken symlink * MIME Associated application for directories should be clifm * Allow cd to understand CDPATH environment variable ------------------------------------------------------------------------ 1.2.2 - Laura * Add files selection capability to fzfnav * Use libmagic instead of calling file(1) to check ISO and compressed files * Use file descriptors instead of file names to avoid CWE-367. * Allow disabling some files checks for better performance * Support for Alexey Tourbin faster qsort implementation ------------------------------------------------------------------------ 1.2.1 - Ana * Basic syntax highlighting * Allow compiling features in/out * Automatic maintainance of the directory history list * Directly query libmagic library instead of calling file(1) to get MIME types * Haiku specific keybinds files * Allow unicode and strings to further customize the dividing line * Monitor file system changes via inotify (Linux) and kqueue (BSD) * A more consistent color experience out of the box * Custom readline init file to avoid keybinds conflicts * Xterm keybindings work now out of the box * The jump function can now match first and last segments of paths * Improved prompt customization features * Nerdfonts support for icons * Fish-like auto-suggestions system * Allow absolute paths and tilde in the mime file * Allow backgrounding a process with "CMD&" (besides "CMD &") * Add %f placeholder support to Lira for improved flexibility * Added a header file containing usage messages to improve maintainability * The net command is now a completely new remotes management function * Make ihelp plugin POSIX and add manpage sections * catimg and chafa are used to animate gifs * kitty image protocol support to fzfnav plugin * Improved compatibility with POSIX systems * Port to OpenBSD * Port to NetBSD * Port to Haiku * Add import function to mime command * Allow Lira to discriminate between GUI and non-GUI environments * clifmrc, keybindings, and actions.cfm files are now taken from DATADIR * The keybindings file is now keybindings.cfm * Lira uses now the built-in mimelist file by default * Load plugins and color schemes from system dirs besides local dirs * lsd support for dir previews * Automated build system (OBS) * Add DESTDIR to the Makefile for a more flexible installation process * New command: create file duplicate * Exa support for directories preview * Hide cursor while listing files * Automated static analysis * --open is now deprecated. Use positional parameters to open files * Add a config file to BFG * Use hashes as filenames to uniquely identify cached files (for BFG) * New option: -d --config-dir, to specify alternative config dir * Dirjump and path completion are now case-insensitive by default * case-ins-path-comp is now case-sens-path-comp * case-ins-dirjump is now case-sens-dirjump * -x option is now --no-ext-cmds * New logo/icon color * Keep selected files in view (optional) * Batch copy plugin * Reverse files filter ------------------------------------------------------------------------ 1.1 - Nonos * SVG preview support * New plugin: batch files/dirs creation * We finally have a decent logo! * Add command and keybinding for files/dirs creation * Remove hard coded values in config file and replace them by DEF_ macros * Prompt modifier for current profile name (\P) * Git integration (via script as prompt command) * clang-format for automatic formatting (thanks to @sundaran1122) * TAB completion for sort * sort accepts names as well * Allow operanting on particular selected files (as plugin) * Permanet reminder when running as root * Unicode is now enabled by default * Set plugin name as terminal title when running plugins * Warn the user when using ',' and no file is pinned * Add default mimelist file to /usr/share/clifm * Enable external commands by default. * Remove x functions for better portability * Split source code into multiple files for better maintainability (thanks @sundaran1122) * Clean up Makefile (thanks @sundaran1122) * Add subshell prompt notice (as shell code) * Positional parameters for starting path (-p is now deprecated). * Completions for zsh * New plugin: rgfind: Search files by content via Ripgrep, and fzfdeselect * All plugins are now POSIX sh compliant * REGEX support for Lira mimelist file (both mime types and extensions) * fzfnav plugin supports now Ranger's scope previewer script and pistol * Command substitution support for the prompt * Set terminal window title * Do not remove bookmarked, pinned directories, or directories in a workspace from the jump db * Fastback function: ... n -> ../.. n * Keybindings for plugins. Four keybinds allowed. ------------------------------------------------------------------------ 1.0 - Mario * Optional case insensitive path completion and autojump * Recursive search via find * New option to disable ELN's * Replace module operation in listdir by a simple counter * New matching algorithm for autojump using frecency (frequency + recency) + directory basename. * Only-list-matches (no cd) option for autojump (jl). * Option to run trash in place or rm to prevent from accidental deletions * Copy selected files and bulk rename them at once * Alt-. to toggle hidden files on/off * Invert search/selection: exclude via exclamation mark * Advcpmv support (wcp is also supported to copy files) * Fused parameters support for ELN's: 'o12' instead of 'o 12' * Files list max * New sorting methods: owner and group * Improved long view formatting * New, much faster long view function * New, faster listing algorithm: scandir was replaced by readdir and qsort * Workspaces (8) * String support for cmd history * Regex filter to exclude group of filenames from the files list * Option to disable columns * Read stdin: 'cmd | clifm' or 'clifm < list.txt' * Copy plugins from /usr/share/clifm/plugins on first run * Plugins can now talk to CliFM via a dedicated pipe (CLIFM_BUS) * Batch link * Icons support (depends on icons-in-terminal) * Tested on both tmux and screen * Autojump functionality * Regex for all internal commands * File picker and CD on quit (as shell functions) * Integration with FZF via plugins * Plugins: Music playlist, pdf reader, wallpaper setter, image/video preview, updates check, fuzzy finder, fuzzy jumper, drag and drop, FZF navigation, FZF selection, and interactive help plugins * Completions for Bash * Theming support via color schemes * Pinned file/dir * Show only directories option * Environment variables * Bookmark names expansion * New command line options * Stealth mode * Support for custom keybindings and configuration files * More than 20 new keybinds * Lock terminal * Filetype filter for selections * Allow changing readline to vi editing mode ------------------------------------------------------------------------ 0.29.1 * Add disk usage ------------------------------------------------------------------------ 0.29.0 * Directory history map * Avoid duplicates on directory history list * Test keybindings in different terminals: gnome-terminal, konsole, lxterminal, xfce4-terminal, mate-terminal, urxvt, aterm, xterm, terminator, terminology, guake, yakuake, kitty, alacritty, termite, sakura No working on QTerminal and Deepin-terminal (sure it is some config like in Konsole and Yakuake). * Use pointers to the scandir list instead of copying them: FASTER!! * Customizable keybindings!!! * Add max dirhist * Persistent directory history list * Command substitution support for internal commands * Allow all expansions for all parameters of the search function * Add brace expansion to the search function * Add export files function * Improve the brace expansion function using glob() * Create tmp files using random strings * Get rid of LOG_FILE_TMP * Instead of remove(3), use unlink(2) for files and rmdir(2) for dirs * Restore last path on profile switch as well * Fix the mess of the reload function * Add an option to regenerate the config file and backing up the old one * Add a desktop entry for desktop integration ------------------------------------------------------------------------ 0.28.0 * Customizable actions via shell scripts * Restore last visited directory option * Symlink editor * Customm colors for file extensions * New file type colors: multi-hardlinks and non-stat'able files * New sort methods: extension and inode * Print total size of selected files ------------------------------------------------------------------------ 0.27.3 * Integrate archiver() into open(). * Use stat() instead of lstat() in open(): 80 LOC less!! * Use 'mkisofs' to create ISO files: mkisofs -o FILE.iso DIR * I check ".iso" extension to recognize ISO files. Do something better! * Add ISO 9660 files support. * Add auto-open tips. * Add arrow keys navigation. ------------------------------------------------------------------------ 0.27.2 * Add autoopen function: same as autocd, but for files. * Add autocd function: change to dir without cd. * Try $XDG_CONFIG_HOME before falling back to $HOME/.config. * Improve the clear current line function (A-c): make it no print a new line. ------------------------------------------------------------------------ 0.27.1 * Add archive support: Use 'atool' to compress/decompress and 'archivemount' (AUR) to mount. * Add support for custom resource opener * Bulk rename. The 'fff' FM copy all selected filenames to a file, open a text editor to edit them, and then rename the original files. NICE. * Allow reverse sorting order. * Add mtime, btime, atime, and version to the sorting function. * Add different sorting methods: none, name, (c)time, size * Print some tip at startup, like MC does. * Prevent the _err function from storing consecutive equal messages. * Add a light mode to list files faster. Include config file option, command and a keyboard shortcut. * Add a dir counter to symlinks to directory. * List symlinks pointing to directories as directories when listing files. * Add an option to share (or not) the selection box among profiles. * Non-executable files should not be added to paths (that is, not available for commands tab-completion). * Allow get_properties() to recognize the existence of ACL properties, like 'ls -l' does via the plus sign. * TMP_DIR should not be /tmp/clifm, since this is common to all users, in which case network mounpoint could be overwritten. It should be rather /tmp/clifm/user. * Add an option to disable the dir counter, since this feature could slow things down too much when listing files on a remote server. * Add network support for SSH, SMB, and FTP mounts. Use sshfs, mount.cifs, and curlftpfs, for SSH, SMB, and FTP respectivelly. * Add an option to disable files sorting. * Write a better color code check (is_color()). * Remove VLA's (variable length arrays) * Comment the config file to explain the meaning of each option and value, something like the SSH and Samba config files. * Add to "bm del" the possibility to specify the bookmark name to be deleted directly from the command line ("bm del name"). * The commands log function should be disabled by default. * Log the literal command entered by the user, and not the expanded version. * Remove user from the logs line: it's redundant. * Add ranges support for 'trash del'. * Add aliases for commands TAB completion. * Add prompt customization. * Add file extension support to the mime function. * If the MIME file doesn't exist, do not create an empty one, but try to import the values from the 'mimeapps.list' file. * Add the possibility to open files in the background when no application has been passed (ex: o xx &). * Port to FreeBSD. * Port to ARM machines. * The logic of bookmarks and copy functions is crap! Rewrite it. * Add TAB completion for bookmarks. * Set the LS_COLORS environment variable to use CliFM colors for TAB completion. * Do not allow the user to trash some stupid thing like a block or a character device. * Bookmarks: replace "hotkey" by "Shortcut". * Allow the bookmarks function to add or remove bookmarks from the command line: "bm add PATH". * Allow mixed use of sequential and conditional commands. * Add support for commands conditional and sequential execution. * Add ranges to deselect and undel functions. * Disable TAB completion when in bookmarks, mountpoints, undel or desel functions. * Add an argument, -P, to use an alternative profile. * Allow the use of ANSI color codes for prompt, ELN's and text color. * Add the possibility to customize filetypes colors. * Use default values if no config file is found. * Fix calls to calloc to avoid wasting resources. * Replace the dirlist dirent struct by a simple array of string. * Add ELN auto-expansion. * Use gettext to make the program tanslatable to any language * Add to the properties function the ability list properties for more than one file: "pr 1 2-5 10". * Add to the search function the ability to search for files in any directory specified by the user: "/str /path". * Remove the -c argument (run command and exit): it's a remaining of the old shell version of this program. * The errors system can display not only errors, but also warnings, like in the case of modifiyng ~/.Xresources, and any kind of message. Replace the red "E" in the prompt by three different colors and letters: red "E" for errors, yellow "W" for warnings, and green "N" for simple notifications, hints, and so on. I should also modify the log_errors() function and other variables to reflect this change. * Add a pager for the long view mode * Add a long view mode (or info mode) for files listing * Add keybindings for some basic operations: u-j-h-k for filesystem navigation. * Construct the Path line for trashinfo files as in URL's * Add a system to log, store, and display error messages. * Automatically deselect files ONLY in case of trash, remove, or move. * Add error check for chdir(). * Add AUTOMATIC SEL EXPANSION * Add a little trash indicator to the prompt. * Add ranges to remove_function. * Add automatic ELN ranges expansion. * Replace system() by launch_execle(). * Remove the backup function. Replaced by trash. * run_glob_cmd() is now obsolete. Remove it. * Add a glob expansion function to automatically expand wildcards in the command line. Added directly in parse_input_str(). * Add a trash function. * Add some kind of pager to list directories with large amount of files. * Use const for functions parameters if these parameters won't be modified by the function. * Add a forward function as a complement to the back() function. * User defined variables only works for the CLiFM shell. Make it work for the system shell as well, it's a nice feature. * Get rid of the DEFAULT_PATH macro * Let folders-first, show-hidden, and list-on-the-fly as default. Add command line options to enable AND to disable these features. * Add an explanation of the history command (!) to help. * Make the 'back' function remember more paths. * Use the glob function to select files when using wildcards. * Add ranges to the selection function. * Add an explanation of profile and prompt commands to help. * Allow the user to define permanent custom variables in the profile file. * Add a profile file to allow the user to run custom commands when starting CliFM or before the prompt. * Do not allow 'cd' to open files.