Skip to content

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CMF

A fast, keyboard-driven TUI file manager written in Rust.

CMF (Compact Minimalist File manager) is a lightweight, terminal-based file manager designed for speed and simplicity. It features a clean monochrome interface, full mouse support, dynamic plugin loading via shared libraries, and adaptive layout that adjusts to your terminal width.


Features

  • Minimalist Design — Clean monochrome interface with rounded borders.
  • Keyboard & Mouse — Navigate with arrow keys or click, scroll, and double-click to open.
  • Live Search — Press f to filter files by name and content in real time.
  • Dynamic Plugins — Drop .so/.dylib/.dll files into ~/.config/cmf/plugs/ to extend functionality without recompiling.
  • Adaptive Layout — Automatically adjusts panels to terminal width.
  • File Operations — Create, delete, rename, copy, and paste files and directories.
  • File Preview — Built-in text preview panel with syntax-aware Nerd Font icons.
  • External Editor — Opens files in $EDITOR (falls back to nano if unset or empty).
  • Themes — Built-in default and dark themes, plus custom HEX colors via config.

Installation

Arch Linux (PKGBUILD)

A PKGBUILD is included in the repository for Arch-based distributions:

git clone https://github.com/flare-d/cmf.git
cd cmf
makepkg -si

From Source

git clone https://github.com/flare-d/cmf.git
cd cmf
cargo build --release
cp target/release/cmf ~/.local/bin/

One-liner

./install.sh

Usage

cmf [OPTIONS] [PATH]

CLI Options

Flag Description
-v, --version Print version and exit
-h, --help Print help and exit
PATH Directory to open on startup

External Editor

CMF respects the $EDITOR environment variable. If it is unset or empty, nano is used automatically.

export EDITOR=vim
cmf

Default Keybindings

Key Action
/ Move cursor
Enter Open file or directory
Backspace / Go to parent directory
h Toggle hidden files
f Find / filter files by name and content
n Create new file
d Create new directory
r Rename selected item
c Copy to clipboard
v Paste from clipboard
x / Delete Delete selected item
q / Esc Quit

Press f again with an empty query to clear the filter.


Configuration

Configuration is stored in ~/.config/cmf/cmf.conf.

theme = default
show_hidden = false

Themes

  • default — Classic monochrome white-on-black.
  • dark — Subtle blue-gray tones for low-light environments.

Custom colors can be set via theme_* hex keys in the config file.


Dynamic Plugins

Place compiled cdylib plugins in ~/.config/cmf/plugs/. CMF loads them on startup without recompilation. See examples/clock_plugin/ for a minimal example.


License

MPL-2.0

About

A fast, keyboard-driven TUI file manager written in Rust. Features a minimalist monochrome interface, dynamic plugin loading via shared libraries, adaptive layout, and full mouse support. Opens files in $EDITOR with a fallback to nano.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages