1.24 (Toothrot) - Mar 2, 2025 BUG FIXES * File extension conflicts in 'default' color scheme (16-color version). * Wrongly sorting Unicode file names ('name' and 'version' sort). * When sorting by 'extension', 'CaseSensitiveList=true' is ignored. * The value of 'PagerView' is ignored when 'Pager' is set to a value >=1. * Pressing 'c' while in the pager stops listing (like 'q'). * Running plain 'pg' overwrites the value of 'Pager' in the configuration file. * When mounting a FS via 'net mount', autocommands for this directory are not immediately executed. * The 'ad' command complains that '.rpm' and '.deb' files are not archive/compressed files. * 'name' sort behaves like 'version' when file names start with numbers. * Not properly clearing the screen on Eterm terminal. * Wrong image size when previewing images on the Ghostty terminal. * The profiles function is broken (no config file change, system messages are not reset). * Wrong file color when TAB completing globs after a path (e.g. dir/*.jpg<TAB>). * When there's only one profile Ctrl-Alt-p clears the screen and still attempts to the change the profile. * If we have no access to the main configuration directory, the selections file is created in '/tmp' instead of '/tmp/clifm_$USER'. * If we have no access to the main configuration directory, selected files are not written to the selections file. * TAB completion: Matches not sorted alphabetically in FZF (e.g. ls --<TAB>). Update your color scheme files. * Wrongly identifying extension conflicts when running with '--lscolors'. * '/dir/GLOB<TAB>' (e.g. '/bin/p*<TAB>') do not generate previews whenever it is the first word. * The 't' command informs a wrong size for the trash directory. * No lock icon for non-regular files. * A few wrong colors when any of 'xs' and/or 'xf' color codes are unset (affects old color schemes). * Kilobyte written as 'KB' instead of 'kB' when using decimal sizes ('--si'). * Ctrl-Alt-b does nothing (points to non-existent function). Removed. * Cannot rebind 'bookmarks' to 'Alt-b': clifm complains that this key conflicts with readline and refuses to continue. * Unsetting a keybinding via 'kb bind' does not work. NEW FEATURES/IMPROVEMENTS * clifmimg: Drastically reduce the size of postscript thumbnails (1500%!). Update your 'clifmimg' script. * Preview: add support for several image formats (dpx, jp2, miff, sgi, and wmf among others). Please update your 'preview.clifm' file. * 'mimelist.clifm' and 'preview.clifm' config files: The '%m' placeholder expands to the file's MIME type. * Add support for OpenRaster images (open/preview). * Add sixel support auto-detection for Yaft. * Add support for '.rpm', '.deb', '.arj', '.Z', and '.cab' archives (open) * Preview: list files in '.ztd', '.rpm', and '.deb' archives. * Preview: add support for krita images ('.kra' and '.krz'), via the 'krita' method in cligmimg. * Use 'PrioritySortChar' in the configuration file (new) to pin file names starting with 'PrioritySortChar' to the top of the files list. * Two new values added to the 'ShowHiddenFiles' option: 'first' and 'last', to list hidden files first or last. * Manually map file extensions to MIME types using the '~/.mime.types' file. Consult the manpage for more information. * Allow setting multiple chars in 'PrioritySortChar' option. * Report the current directory to the underlying terminal (via the OSC-7 escape sequence). To enable, run with '--report-cwd'. * Try harder to create a valid temporary directory (mostly in case of denied access to the directory). * If '--lscolors' (using FreeBSD LSCOLORS), read extension colors from the color scheme file. * Improve 'kb' command: attempt to display human-readable key presses (e.g. Shift-Up) instead of raw escape sequences (e.g. "\e[1;2A"). MISC * $CLIFMRC cannot be used anymore to set the path to the main configuration file (use '-c,--config-file' instead). * If 'nf' color code (unaccesible file) isn't set, use whatever color corresponds to the current file type and prepend and exclamation mark to the corresponding entry in the files list to mark it as unaccessible. Same for 'nd' (unaccessible directory). * --no-trim-names, TrimNames, and MinFilenameTrim were renamed to --no-truncate-names, TruncateNames, and MinNameTruncate respectively (old names are deprecated). * 'open-sel', 'untrash-all', and 'move-sel' keybindings are unset by default. * 'copy-sel' can be used as an alias for 'paste-sel' in keybindings. 1.23 (Piranha poodle) - Jan 20, 2025 BUG FIXES * TAB completion: file names with embedded control chars are not properly colorized. * TAB completion: no preview for file names with embedded control chars. * Image previews: 'img2txt' method not working for ANSI images ('clifmimg'). * 'view' command not working when running with '--stdtab'. * 'cl,columns' command stopped working. * 'sel *.pdf' works, but 'desel *.pdf' doesn't. * Opening applications using the '%x' flag (mimelist file) not working with '--secure-cmds'. * 'MaxFilenameLen=-1' (in the config file) is ignored. * Garbage on the command line running a keybinding in vi-mode. * Wrong image placement (ueberzug method) when '--height' is set from either $FZF_DEFAULT_OPTS or 'FzfTabOptions'. * Config: 'cmCmd=5' (rsync) does not copy directories themselves (but its content). * Cannot operate on file names containing REGEX characters (e.g. the command 's c++' REGEX expands 'c++'). * --preview/--open fail when given a file URI with percent-escaped characters (e.g. 'file:///home/user/this%20file.txt'). * Cannot open file with single quote in name (e.g. "John's file.txt"). NEW FEATURES/IMPROVEMENTS * Add file preview for javascript files. * Image previews: add support for exr, fit, hdr, heic, pbm, pgm, pnm, ppm, and xpm image formats. * Properly fail when '--opener' is given no parameter. * 'x' command: expand environment variable in TerminalCmd (first word only). * 'x' command: run terminal detached (via setsid(3)). * 'X' command: do not run with 'sudo' if already root. * Set the main configuration file path via $CLIFMRC. * Add '--help' to the 'reload' command. * 'config reload' can be used now instead of 'reload'. * Add '--mimelist-file' command line option to set an alternative mimelist file. * Check for file existence when setting alternative configuration files. * New prompt module (m_hostname_color): dinamically colorize the hostname depending on whether we're on a SSH session or not. * Adjust the number of spaces between icons and file names using the 'IconsGap' option in the configuration file. Valid values: 0, 1 (default), or 2. * Explicitly check $XDG_DATA_HOME and $XDG_DATA_DIRS when setting clifm's data directory. * Add builtin confirmation prompt to 'c' and 'm' commands. * Set a default answer for confirmation prompts via 'DefaultAnswer' in the config file (default value: "o:n,r:n,t:y,R:n,d:y"). This means: "no" for overwrite (includes 'c' and 'm' commands), remove, and bulk rename, "yes" for everything else (including trash). * Create files from templates using the 'n' command. Run 'n --help' for more information. * 'p/pp' command: print both apparent and physical sizes. * Make '--lscolors' able to understand $LSCOLORS (FreeBSD style). * Purge the thumbnails directory of dangling thumbnails using the 'view purge' command. Remember to update your 'clifmimg' script to start populating the thumbnails database: 'cp /usr/share/clifm/plugins/clifmimg ~/.config/clifm/'. Note that the thumbnails directory has been changed from '$XDG_CACHE_HOME/clifm/previews' to '$XDG_CACHE_HOME/clifm/thumbnails'. You can remove the old directory: from now on thumbnails will be stored in the new directory. * Both the mimelist and the preview configuration files now support the '%u' placeholder, which is expanded to the file URI for the original file name. * 'clifmimg': Generate thumbnail names as MD5 hashes of the file URI for the original file name (as recommended by the FreeDesktop specification - https://specifications.freedesktop.org/thumbnail-spec/latest/thumbsave.html), instead of hashing the file itself. This brings a nice performance improvement, specially when it comes to large files. This works along with the '%u' placeholder mentioned above. Update your 'clifmimg' script. * Prevent big files from generating a preview via 'PreviewMaxSize' in the config file. Supported size units: K, M, G, T; supported size range: 1K-2047G. E.g.: "PreviewMaxSize=100M". * Colorize .csv files as documents (default color scheme). * Colorize .sass and .scss files as markup files (default color scheme). * Sort completion matches for mimetype filter (@<TAB>). * Add previewing app info to 'mm info' command. 1.22 (Banana picker) - Nov 23, 2024 BUG FIXES * Wrong query string when TAB completing tagged files and '--fuzzy-match' is enabled. * When pressing Ctrl-Alt-[d,x] on a secondary prompt the cursor moves up one line. * '--rl-vi-mode' not working if 'RlEditMode' is set in the config file. * No image preview for powerpoint files. * Wrong ueberzug image offset when fzf preview window border is set to 'border-[right,thinblock]'. * When clearing the screen, the scrollback buffer is not cleared on rxvt-based terminals. * Not using all available columns when running with '--no-eln'. * TAB completing file names in the 'pc' prompt after the first word. * Some keybindings (Alt-TAB, Alt-v, Alt-p) are operative in secondary prompts, when they shouldn't. * Garbage in the command line when trying to switch workspaces via a keybinding in a secondary prompt. * F12 (quit) not working on secondary prompts. * 'echo ELN' does not expand to file name (while 'stat ELN' does). * 'mf' command expands numbers to ELN's. * When multiple system messages are generated, only the last one is displayed in the prompt. * Negation ('!') does not work for workspaces and double asterisk expressions in autocmds. * Help messages ignore the command line text color. * The 'n/new' command issues a warning when attempting to create a file in the home directory using the tilde ('~/FILE'). * File previews (TAB completion or the 'view' command) ignore alternative preview file (set via either '--shotgun-file', '--config-dir', or '--profile'). * 'rr' does not work with directory names containing spaces (e.g. 'rr this\ dir'). * The 'open/preview' function matches directories as valid opening applications. NEW FEATURES/IMPROVEMENTS * Extra file type filters for the '=' keyword: 'D' for empty directories, 'F' for empty regular files, and 'L' for broken links. On Solaris, the 'D' file type char (previously used for door files) was replaced by 'O'. * Use the 'kb bind' command to customize your key bindings instead of manually editing the keybindings file (via 'kb edit'). * 'kb conflict' now checks for readline key bindings as well. * Proper error messages when appliaction does not exist/fails while previewing images (clifmimg). * Add image previewing method for mobi files (clifmimg). * Add support for legacy image formats: bmp, ico, pcx, and tga (clifmimg). * Automatic detection of image preview method. Update your clifmimg script (~/.config/clifm/clifmimg) (just remove it and restart) to make use of this new feature. By default, Clifm and the 'clifmimg' script will try to guess the best previewing method (sixel, ueberzug, kitty, or ansi). Edit the 'method' variable in the 'clifmimg' script to manually set a previewing method. * A more modern interface: If Unicode support is detected, Clifm will draw decorations using Unicode characters (use '--no-unicode' to disable Unicode decorations, and '--unicode' to force it). * The selected files indicator in the prompt was replaced by 'S' (previously '*'). * Right pad and colorize ELN's in dirhist map. * The color scheme is checked at startup for file extension conflicts. If found, the user is warned. * Use 'cs check-ext' command to manually check for file extension conflicts. * Display bookmarked paths in the bookmarks screen. * Add names completion to the bookmarks prompt in the bookmarks screen ('bm' command). * Several improvements to the 'vv' command. * Allow using tilde (~) for the home dir when editing a symbolic link ('le' command). * Active files filter ('ft' command) is always displayed. * Add files filter ('ft') and full-dir-size ('fz') to autocommands. * Allow using names for 'st' in autocommands. * Use the 'auto' command to set a temporary autocommand for the current directory. Run 'auto --help' for more info. * New config file option: 'InformAutocmd' to control how matching autocommands are displayed in the prompt. Available values: 'none', 'short', 'long', 'full', and 'prompt' (default). * Better columns arrangement when listing files (vertical list only). * Lira: make opening applications invoked with the '%x' flag run in a new session (detached from the terminal) (via setsid(3)). * Lira: Check for 'Calligra' and 'Gnumeric' when opening office documents. * Add 'N file(s) copied/moved' message to 'c' and 'm' commands. * Set 'TrashForce' to false by default. * Do not print the list of removed/trashed files after files removal/trash. * Enable file system type and mountpoint (via '--disk-usage') on Cygwin/MSYS2/Solaris. 1.21 (Lemonhead) - Sep 30, 2024 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. NEW FEATURES/IMPROVEMENTS * Ask for confirmation when trashing files (enable by setting 'TrashForce' to false in the config file). * Allow sorting files by file type (including executable files and file extensions): 'st type'. * Sort user and group by names, not numbers, if using ID names in long-view (see the 'PropFields' option in the configuration file). * Increase the number of bindable plugins from 4 to 16. * Read CLIFM_COLUMNS and CLIFM_LINES from the environment. * Fix columns/colors issue in the pager.sh plugin ('gg'). * 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. * Add support for right prompts. 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). * Implement fish-like abbreviation of the current directory in the prompt via the '\f' prompt code. * Implement prompt modules (via ${module}). * Use the '\b' prompt code to print the execution time of the last command. * 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. 1.20 (Madam Xima) - Aug 16, 2024 BUG FIXES * The pager counter ovewrites the last entry (when columns is off or file names aren't trimmed). * 'ow' does not work on symlinks. * '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 https://github.com/kovidgoyal/kitty/issues/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 overriden 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-usaga-analyzer screen ignore the size color ('dz') if it is set. NEW FEATURES/IMPROVEMENTS * Prevent external commands from refreshing the current list of files by setting 'ClearScreen' 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, color the selected file indicator using the same color used by the link indicator if the selected file is a symlink. * Conform to the CACHEDIR.TAG specification when creating cache files (image previews). * Choose how 'l' creates symbolic links (absolute, relative, literal) via 'LinkCreationMode' in the config 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 subdirs. * Disk usage analyzer: largest file not printed if sorting by size (redundant). * Use the 'dz' color code (for file sizes) for both dirs and regular files (if the code is set). 1.19 (Kozy Krypts) - June 18, 2024 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/fifo. NEW FEATURES/IMPROVEMENTS: * 'pp': Count files in directories. * 'p/pp': Display files MIME type. * 'p/pp': Enclose file names containing spaces in single quotes. * Mimelist file: Add '%x' as short for '%f !EO &'. * Mimelist file: Widely use the new '%x' to run GUI opening applications detached. * du(1)-free code. * Set a custom keybinding for the commands history list (same as '!<TAB>') 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. 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 "../<TAB>" and the current directory is a symlink. * Cannot cd to "../" if the current directory is a symlink. * Misleading values in long view when stat(2) fails. * Printing garbage when running 'pp' on a broken link. * 'ft' command not working with file type filters (ex: 'ft =d'). * If '--invalid-option --valid-option', clifm complains about '--valid-option'. * Cannot run external command on '../dir/file name'. * Alt-Right keybinding not working as expected. * Long file names not trimmed when going back from the pager help. * PrintSelfiles not updated automatically after editing the configuration file. * TAB completion for external commands working only for first parameter. NEW FEATURES/IMPROVEMENTS * Allow hiding files listed in a '.hidden' file (includes wildcards support) 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/<TAB>" 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/<TAB>"). * 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 :<TAB>' * 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<TAB>" 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 <TAB>' 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/*<TAB>' 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<ENTER>'), 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 "/<TAB>" in standard TAB completion mode * 'net', 'cs', and 'pf' commands do not suggest case insensitively * 't:TAG<TAB>' 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:<TAB>' is broken in standard TAB completion * History completion (!<TAB>) 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<TAB>' 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:<TAB>' 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:<TAB>' works as first word as well * 'net unmount <TAB>' should only list mounted resources, while 'net mount <TAB>' 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 '/*<TAB>' (instead of '/<TAB>') * Colorize jump entries in TAB completion (fzf): 'j <TAB>' * 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: @<TAB> * List available file types: =<TAB> * 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 (=<TAB>) * '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<TAB>" 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 '/<TAB>': 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 ~/*<TAB>' * 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<TAB> * 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<TAB>) * smenu(1) support for TAB completion * List available bookmark paths via b: * A more readable color for unstatable files * Abbreviate file names for ds <TAB>, sel<TAB> 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 * ./<TAB> 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<TAB>' * Search pattern completion: '/<TAB>' * 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.