Skip to content

Getting Started

Federico edited this page Jun 26, 2016 · 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.
  • i18n support: for now it supports en and it.
  • 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: left click to manage current file and right click to select it. Only supported on ncurses >= 6: mouse wheel to scroll up and down.
  • 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: enable it with ','. It lets you jump between files by just typing their names.
  • '.' to change files/dirs 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.
  • 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 (its mem usage depends upon terminal win size. On my 15" 1366x768 laptop, it only takes 2.5Mb of ram, maximized, with everything enabled.)

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).

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