Skip to content

afify/sfm

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
July 14, 2022 19:36
April 1, 2023 15:14
November 5, 2021 17:11
June 30, 2020 06:44
October 15, 2021 13:45
June 30, 2020 06:44
July 13, 2020 21:10
June 6, 2021 17:32

sfm logo

simple file manager

Build status

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.