-
Notifications
You must be signed in to change notification settings - Fork 2
Getting Started
Federico edited this page Jun 2, 2016
·
13 revisions
- 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.
- 2 tabs support. Their content is kept in sync.
- image previewing support through w3mimgdisplay
- 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.
- 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).
- 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.
- 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 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.
If built with libconfig support, it reads following variables from $HOME/.config/ncursesFM.conf or /etc/default/ncursesFM.conf...remember to set them!
- editor -> editor used to open files, in non X environment (or when xdg-open is not available)
- show_hidden -> whether to show hidden files by default or not. Defaults to 0.
- starting_directory -> default starting directory.
- use_default_starting_dir_second_tab -> whether to use "starting_directory" when opening second tab, or to open it in current directory. Defaults to 0.
- inhibit -> whether to inhibit powermanagement functions. Defaults to 0.
- starting_helper -> whether to show helper win after program started. Defaults to 1.
- automount -> whether to enable devices automount. Defaults to 0.
- loglevel -> to change program loglevel. Defaults to 0.
- persistent_log -> to enable log persistency across program restarts. Defaults to 0.
- bat_low_level -> to set threshold to signal user about low battery. Defaults to 15%.
- border_chars -> to change printed borders' chars.
- cursor_chars -> to change printed cursor's chars.
- sysinfo_layout -> customize layout of sysinfo line (last line).
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} -> threshold to signal user about low battery.
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.