About
CFFM is a minimalist terminal-based file manager. Heavily inspired by similar
terminal based file managers such as ranger and lf, CFFM seeks to
provide a clean, snappy, and customizable file managing experience while adherign to a
minimalist, Unix-like philosophy.
You can browse and manage files without moving your hands from the keyboard...
Philosophy
CFFM's design philosophy was inspired heavily by the
Suckless Philosophy. Whether or not experienced hackers would consider CFFM truely
"Suckless" or "KISS" is debatable, however one thing is for sure, and that is that CFFM is
minimalist and not bloated. I have been using ranger for about a year now, and I
couldn't help but notice that it was lagging behind and sometimes not responsive. This is
because it was written in python, and was calling external scripts to execute commands. I was
interested switching to the file manager lf, however it too used external
configuration files and building it required installing golang. I always liked Suckless'
dwm and st due to their configuration being compiled directly into the
program, as well as for the fact that they are extremely portable and light programs. So, I
decided to write my own terminal file manager, with simplicity and portability in mind.
What's New [v1.0]
- After being in development for two months (on and off), CFFM is officially released, with all of it's basic functionality tested and working.
- Added cut/copy/paste and selection functionality.
- Fixed file previews.
- Various bug fixes.
User Manual
Download
You can download a static "just works" binary from the releases section on Github.
Self-Compilation
Most of the important work is taken care of in the Makefile. All you have to do is give the right command.
Dependencies:
- 'libncurses-dev' (Debian)
Compiling:
makefor a slim, dynamically linked binary.make releasefor a static binary.
Installing:
make install
Uninstalling CFFM
make uninstall
OR
sudo rm /bin/cffm
| Key | Function |
|---|---|
| H | Move up a directory |
| L | Change into directory / open file |
| J | Move Cursor down file list |
| K | Move Cursor up file list |
| Q | Quit CFFM |
| : | Execute shell command |
| T | Rename File (bulk rename coming soon) |
| Space | Select File(s) (single select) |
| V | Visual Mode (drag select) |
| X | Cut selected |
| Y | Copy selected |
| P | Paste |
| D | Delete selected |
| R | Toggle hidden files |
| B | Toggle border |
Configuration
To configure CFFM, locate the file config.h in the source code you
downloaded above.
You can modify any #define value in to your liking. This should look
familiar to anyone who has used DWM, or similar
software. When done, simply re-compile using the above steps and run.
Runtime Customization Options
By default, pressing b allows you to show/hide the border. Of course,
you can configure this to your liking in config.h.