Fff Versions Save

📁 A simple file manager written in bash.

2.2

3 years ago

2.1

5 years ago

fff is a simple terminal file manager written in bash. What started as an experiment into implementing a full terminal user interface in bash has morphed into a full blown project.

This release fixes a few major bugs while also adding some nice quality of life changes. Image preview mode (using w3mimgdisplay) has also been added and it works in terminals known to have issues with it (st, kitty).

Thanks to those who contributed both ideas and code.

w3m-img support

Features:

  • Added a Makefile for easier packaging of fff.
  • Added support for w3m-img image previews!
    • Use the i key on an image file.
    • Requires w3m and xdotool (optional outside of image previews).
  • Added the -h flag.
    • This calls man fff.
  • Added FFF_CD_ON_EXIT to allow enabling/disabling of CD on exit.
  • Added options to configure the format of printed and marked files.
    • See FFF_FILE_FORMAT and FFF_MARK_FORMAT.

Changes:

  • LS_COLORS parsing has been simplified and no longer relies on source (which is eval).
  • CTRL+C now exits without CD.
  • Removed terminal screen restore.
    • It broke after launching a command which also saved/restored the terminal screen.
    • This will be revisited in the future.
  • [Haiku] Use Haiku's trash command and directories. @Crestwave
  • Show file name in status_line in inside an image preview or viewing file attributes.

Bugs:

  • Fixed bug with nvim being broken when spawned inside fff.
  • Fixed totally broken output in extraterm and weston-terminal.
  • Fixed 100% CPU usage spike when spawning nested fff processes.
  • Fixed bug with cache directory not being created if it didn't exist. @klemens
  • Fixed bug with being able to rename the empty directory string.
  • Fixed bug with being able to mark the empty directory string.

2.0

5 years ago

fff is a simple terminal file manager written in bash. What started as an experiment into implementing a full terminal user interface in bash has morphed into a full blown project.

This release is a combination of the minor releases since 1.0. Countless bugs were fixed and a myriad of new features were added. I'd like to thank those who contributed code, opened bug reports and helped me test the damn thing.

Ignore my sloppy terminal usage

Features

  • Added ranger-style bulk rename.
    • Use the b key to mark files for bulk rename and p to do the operation.
  • Added a vim and neovim plugin to use fff as a file picker.
  • Added support for keybindings.
    • See keybindings
    • fff now handles special keys correctly.
      • There are now no conflicts between arrows keys and ABCD.
      • Keys like F1 - F12 and Ctrl+key are now bindable.
      • See special keys
  • Added symbolic link operation.
    • Uses s.
  • Added select all to all file operations.
    • Same keybindings, just use shift to select all.
    • Y, M, D, B, S
  • Added favourite files and directories.
    • You can now define shortcuts to files and directories with the keys 1-9.
  • Added TAB completion to all builtin commands.
  • Added : for go to directory.
    • This is like cd.
  • Added $FFF_TRASH_CMD to use a custom trash command.
    • The custom command is passed the list of selected files.
  • Only one enter keypress is required when searching and there's only a single directory in the search results.
  • Added color support for broken symlinks.
  • All file operations now show warnings or error messages.
  • All file operations now prompt the user if they'd like to override files or directories.

Smaller Changes

  • Moved trash directory to $XDG_DATA_HOME/fff/trash
  • The environment variable $FFF_LEVEL is exported and shows if the shell is running nested inside fff.
  • ~ in cmd-lines is now expanded to $HOME.
  • Use $VISUAL if its available.
  • Don't redraw if search is empty.
  • Spawn shell has been remapped to !.

Bugs

  • Fixed key-presses appearing on screen.
  • Fixed bug with directory names not being printed literally.
  • Fixed bug with double // in path.
  • Fixed bugs in LS_COLORS parsing.
  • Fixed issue with cursor position in search.
  • Fixed bug with cursor being visible after spawning a shell.
  • Fixed errors spouting on scroll.
  • Fixed jump when opening directory.
  • Fixed drawing issues in vim and neovim.
  • Fixed screen flashing when holding down g or G.
  • Fixed bug with symbolic links not appearing.
  • Fixed status_line width when running in screen.
  • Fixed screen clear issues when running in screen or tmux.
  • Fixed issue with trying to go to parent directory of /.

1.9

5 years ago
  • Fixed bug in bash 3.
  • Spawn shell has been remapped to !.
  • You can now create symbolic links s (mark one file) and S (mark all files).

1.8

5 years ago
  • fff now handles special keys correctly.
    • There are now no conflicts between arrows keys and ABCD.
    • Keys like F1 - F12 are now bindable.
    • Note: If you have redefined the arrow keys you need to update your settings (see the README).
  • Added select all to all file operations.
    • Same keybindings, just use shift to select all.
    • Y, M, D, B.

1.7

5 years ago
  • Fixed keys appearing on screen.

1.6

5 years ago
  • New vim/neovim plugin
  • Show warning if creating directory and it already exists.
  • Support $VISUAL if available.
  • Don't redraw if search is empty.
  • Added ranger style bulk-rename.
  • Added -i flag to all file operations.
    • User can now choose whether or not to override files/directories.

1.5

5 years ago
  • Fixed bug with double // in path.
  • Fixed bug with broken symbolic links not appearing.
  • Fixed status_line width when running fff in screen.
  • Fixed screen clear issues in tmux and screen.
  • Fixed issue when going to parent directory from /.
  • Added support for coloring broken symbolic links.
  • Show warning if user can't write to directory.
  • Show warning if user can't write to file.
  • Show warning if user tries to create a file that already exists.
  • Show warning if user tries to rename a file that already exists.
  • Show warning if file operation failed.

1.4

5 years ago

This fixes bugs in the new tab complete feature.

  • Fixed bug with cursor position in /.
  • Fixed bug with tab completion and ~.
  • ~ in cmd-lines is now expanded to $HOME.

1.3

5 years ago
  • Added FFF_TRASH_CMD to use a custom trash command.
    • The custom command is passed the list of selected files.
  • Added : to go to a directory.
  • Added tab completion to all commands and search.
  • Only one enter key-press is required when searching and there's only one directory in the search results.
  • Fixed issue with cursor position in search.
  • Fixed bugs in LS_COLORS parsing.
  • Fixed bug with cursor being visible after spawning a shell.
  • Fixed bug with double // in path.
  • Directory item escaping is now prettier.