Skip to content

sanderboer/sfm

 
 

Repository files navigation

sfm logo

simple file manager

Language grade: C/C++ Build status code-inspector code-inspector

Description

sfm is a simple file manager for unix-like systems.

  • pthreads(7) to read events, no timers.
  • BSD kqueue(2) - kernel event notification mechanism.
  • Linux inotify(7) - monitoring filesystem events.
  • dual pane.
  • bookmarks.
  • open files by extension.
  • bottom statusbar.
  • vim-like key bindings.
  • filter.
  • no dependencies.
  • c99 static linking.
  • based on termbox.
  • Inspired by vifm and noice.
  • Follows the suckless philosophy.

Patches

sfm-patches

Performance

$ perf stat -r 10 sfm

Options

$ sfm [-v]
$ man sfm

sfm screenshot

Installation

Packaging status

current

git clone git://git.afify.dev/sfm
cd sfm/
make
make install

latest release

[ "$(uname)" = "Linux" ] && shacmd="sha256sum" grepf="--color=never"|| shacmd="sha256"
latest=$(curl -s https://git.afify.dev/sfm/tags.xml | grep $grepf -m 1 -o "\[v.*\]" | tr -d '[]')
tgz="https://git.afify.dev/sfm/releases/sfm-${latest}.tar.gz"
sha="${tgz}.sha256"
wget "${tgz}"
wget "${sha}"
${shacmd} -c "sfm-${latest}.tar.gz.sha256" && \
tar -xzf "sfm-${latest}.tar.gz" && cd "sfm-${latest}" && \
make
make install

Run

$ sfm

Configuration

The configuration of sfm is done by creating a custom config.h and (re)compiling the source code. This keeps it fast, secure and simple.

About

simple file manager

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 96.7%
  • Roff 1.8%
  • Makefile 1.5%