All Projects → golmman → twilight-commander

golmman / twilight-commander

Licence: MIT license
A simple console file manager.

Programming Languages

rust
11053 projects
shell
77523 projects

Projects that are alternatives of or similar to twilight-commander

vue-fs
A Vue file management client, complete with a node/express/FS backend.
Stars: ✭ 40 (+150%)
Mutual labels:  filemanager, file-manager
Jaya
Cross platform file manager application for Windows, Mac and Linux operating systems. (planned mobile support)
Stars: ✭ 219 (+1268.75%)
Mutual labels:  filemanager, file-manager
Diskover Web
Web file manager, disk space usage, storage search engine and file system analytics for diskover
Stars: ✭ 121 (+656.25%)
Mutual labels:  filemanager, file-manager
Pyfiling
Python script that organizes files in a folder or directory according to file type/extension.
Stars: ✭ 12 (-25%)
Mutual labels:  filemanager, file-manager
js-fileexplorer
A zero dependencies, customizable, pure Javascript widget for navigating, managing, uploading, and downloading files and folders or other hierarchical object structures on any modern web browser.
Stars: ✭ 124 (+675%)
Mutual labels:  filemanager, file-manager
Filemanager Ui
It is the graphical user interface File Manager, regardless of the backend, lets you work with PHP, Python, nodejs or another.
Stars: ✭ 44 (+175%)
Mutual labels:  filemanager, file-manager
Tinyfilemanager
The best web based PHP File Manager in single file, Manage your files efficiently and easily with tinyfilemanager
Stars: ✭ 2,679 (+16643.75%)
Mutual labels:  filemanager, file-manager
Filestash
🦄 A modern web client for SFTP, S3, FTP, WebDAV, Git, Minio, LDAP, CalDAV, CardDAV, Mysql, Backblaze, ...
Stars: ✭ 5,231 (+32593.75%)
Mutual labels:  filemanager, file-manager
just-fast
⚡ Just Fast is CLI file manager with focus on speed in both execution time and usage.
Stars: ✭ 20 (+25%)
Mutual labels:  filemanager, file-manager
clifm
The shell-like, command line terminal file manager: simple, fast, extensible, and lightweight as hell
Stars: ✭ 825 (+5056.25%)
Mutual labels:  filemanager, file-manager
Supreme
A command line visual file manager for linux
Stars: ✭ 22 (+37.5%)
Mutual labels:  filemanager, console-application
Remote-File-Manager
Server Based GUI File Manager
Stars: ✭ 55 (+243.75%)
Mutual labels:  filemanager, file-manager
Farmanager
File and Archive Manager
Stars: ✭ 898 (+5512.5%)
Mutual labels:  filemanager, file-manager
React Filemanager
JavaScript File Manager Material Design Folder Explorer Navigator Browser Manager in React and Redux with Mobile support (with backends for Local Files and FTP)
Stars: ✭ 57 (+256.25%)
Mutual labels:  filemanager, file-manager
Filegator
Powerful Multi-User File Manager
Stars: ✭ 587 (+3568.75%)
Mutual labels:  filemanager, file-manager
Angular Filemanager
JavaScript File Manager Material Design Folder Explorer Navigator Browser Manager in AngularJS with CSS3 Responsive (with FTP in PHP / Java / Node)
Stars: ✭ 1,693 (+10481.25%)
Mutual labels:  filemanager, file-manager
Video Hub App
Official repository for Video Hub App
Stars: ✭ 272 (+1600%)
Mutual labels:  filemanager, file-manager
Kcfinder
KCFinder web file manager
Stars: ✭ 399 (+2393.75%)
Mutual labels:  filemanager, file-manager
Jumpfm
A file manager that lets you jump.
Stars: ✭ 252 (+1475%)
Mutual labels:  filemanager, file-manager
sfm
simple file manager
Stars: ✭ 163 (+918.75%)
Mutual labels:  filemanager, file-manager

twilight-commander

Build Status

A simple console tree file explorer for linux, similiar to NERDTree but independent of vim. Developed and tested on Ubuntu 18.04 with xterm derivatives.

Screenshot

Build and install

Instructions for Debian 10 or Ubuntu 18.04/20.04

step description
1. install rust https://www.rust-lang.org/tools/install
2. clone the repository git clone https://github.com/golmman/twilight-commander.git
3. change to the newly created directory cd twilight-commander
4. build the project cargo build --release
5. run the executable ./target/release/twilight-commander

Implemented features

Configuration

The configuration is loaded as follows

  1. load values from $XDG_CONFIG_HOME/twilight-commander.toml
  2. else load values from $HOME/.config/twilight-commander/twilight-commander.toml
  3. fill missing values with app defaults
  4. overwrite values with defines from the command line options

For a config file with the default values, see twilight-commander.toml. The command line options are derived from the values defined inside the twilight-commander.toml . E.g.

[debug]
enabled = true

is set with the option --debug.enabled=true.

Configurable key bindings

The key bindings are configurable. For the set of configurable keys and key combinations consult the event.rs.

default key default configuration action
up arrow --keybinding.entry_up=up move an entry up
down arrow --keybinding.entry_down=down move an entry down
left arrow --keybinding.collapse_dir=left collapse an entry directory or jump to parent if not collapsable
right arrow --keybinding.expand_dir=left expand an entry directory
r --keybinding.reload=r collapse all directories and reload root directory
return --keybinding.file_action=return perform configured file action
q --keybinding.quit=q quit

Directory entry management

File Action

The command line option / config value --behavior.file_action defines the action taken when the return key is pressed on a file. The action is interpreted by bash and any occurence of %s will be replaced by the selected filename.
E.g. when enter is pressed on the file .bashrc in a twilight-commander process created with

twilight-commander "--behavior.file_action=xterm -e 'cat %s; echo opened file: %s; bash'"

then

bash -c "xterm -e 'cat /home/user/.bashrc; echo opened file: /home/user/.bashrc; bash'"

is executed, i.e.:

  • a new xterm window is opened
  • where the selected file (.bashrc) is printed to stdout
  • then opened file: ~/.bashrc is printed
  • bash prevents the window from closing.

--behavior.file_action defaults to true, which does (almost) nothing.

Scrolling modes

Specified with the option --behaviour.scrolling (default = center)

  • center: move the cursor until it is in the center, then move the text instead
  • editor: move the cursor until it hits the top/bottom boundaries set by the debug.paddin_top/bot limits

Utf-8 support

In case your terminal does not support utf-8 you can disable it with --composition.use_utf8=false.

Logs

Logs are written to

  1. $XDG_CONFIG_HOME/tc.log if XDG_CONFIG_HOME is defined
  2. else they are placed in $HOME/.config/twilight-commander/tc.log

Usage with tmux and vim

Screenshot

The tcide_vim and tcide_neovim scripts open a new tmux session with 3 panes: (neo)vim, twilight-commander and terminal. Hitting the file_action key (default: return) on a file entry opens it in a new tab.

tcide requirements

When using vim you need to build it with the clientserver option:

git clone https://github.com/vim/vim.git
cd vim/src
make distclean
./configure +clientserver
make
sudo make install

Ideas for improvements

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].