Skip to content

Getting Started

Federico edited this page Mar 19, 2017 · 13 revisions

Full list of features:

To clarify: to paste/move a file you'll have to select it with space, then move to another dir or change tab, and press v/x.

  • Every feature you would expect by a basic FM
  • Terminal window resize support
  • Desktop notifications support
  • i18n support: for now it supports en, it, de, es_AR. Big thanks to translators
  • full unicode support
  • libmagic mimetype support
  • 2 tabs support. Their content is kept in sync
  • per-user configs support. Copy default config file in your user $HOME/.config/ and change it here
  • Basic mouse support
  • Pressing space on '..' will select/deselect all files in current folder
  • Simple sysinfo monitor that will refresh every 30s: clock, battery and some system info. If you've got Upower installed, AC (dis)connection will refresh battery status instantly, instead of waiting up to 30s until next refresh
  • Fast browse mode: it lets you jump between files by just typing their names
  • 4 sorting mode: alphabetically (default), by size, by last modified or by type
  • If executed on a X screen, and xdg-open is found, ncursesFM will open files with xdg-open. Otherwise, it will use $editor (config file defined) var. It fallbacks to environment $EDITOR if none is set
  • Stats support (permissions and sizes). For devices, it will show free/total size and mount flags, if mounted, otherwise only total size
  • Inotify monitor to check for fs events in current directories (eg: file removed). This way, if you create/remove/modify a file from another fm/command line, your changes will still show up in ncursesFM
  • Bookmarks support: it will load bookmarks from $HOME/.config/user-dirs.dirs and $HOME/.config/ncursesFM-bookmarks. You can add whatever type of file you wish as bookmark from within ncursesFM. You can remove bookmarks too
  • Search support: it will search your string in current directory tree. It can search your string inside archives too
  • Basic print support through libcups
  • Extract/compress files/folders through libarchive. It can extract pwd-protected archives too if libarchive >= 3.2.0
  • Long file operations are performed in a different thread. You'll get a notification when the job is done
  • You can queue as many file operations as you wish, they'll be taken into care one by one
  • content-based helper window: helper will update as you switch between modalities/tabs
  • it ships a bash autocompletion script
  • it has a very nice logger
  • it is valgrind clean
  • it already uses copy_file_range syscall (introduced on linux 4.5) if linux >= 4.5 is detected
  • very lightweight

Optional (compile time) features that require sd-bus API (systemd)

  • Powermanagement inhibition while processing a job (eg: while pasting a file) to avoid data loss.
  • Internal udisks2 monitor, to poll for new devices. It can automount new connected devices too. Device monitor will list only mountable devices, eg: dvd reader will not be listed until a cd/dvd is inserted.
  • Drives/usb sticks/ISO files (un)mount through udisks2.
  • Distro package files installation.
  • It can reveice AC (dis)connection events from upower, to instantly update battery monitor.

NcursesFM ships an autocompletion script for cmdline options. It supports following options:

  • "--editor" /path/to/editor
  • "--starting_dir" /path/to/dir
  • "--helper_win" {0,1} to disable(enable) helper window show at program start.
  • "--inhibit" {0,1} to disable(enable) powermanagement inhibition.
  • "--automount" {0,1} to disable(enable) automount of connected devices.
  • "--loglevel" {0,1,2,3} to change program loglevel.
  • "--persistent_log" {0,1} to disable(enable) log persistency across program restarts.
  • "--low_level" {$level} to change threshold to signal user about low battery.
  • "--safe" {0,1,2} to change safety level. (check ncursesFM.conf to better understand).
  • "--silent" {0,1} to avoid desktop notifications.

Log file is located at "$HOME/.ncursesfm.log". It is overwritten each time ncursesFM starts (unless persistent_log option is != 0). Log levels:

  • 0 : log errors only.
  • 1 : log warnings and errors.
  • 2 : log info messages, warnings and errors.
  • 3 : log disabled.
Clone this wiki locally