tfiles is a terminal-based file manager designed for efficient file navigation and management directly from the command line interface.
It should work over SSH.
- Directory Navigation: Traverse through directories using keyboard arrows.
- File Preview: Preview images and file details within the terminal.
- Command Execution: Run terminal commands on selected files and directories.
- Search Functionality: Search for files within a directory using
/. - File Operations:
- Default configurations for programs located in ~/.local/share/tfiles/mimetypes
- It follows a pattern of extension to type and then a type to command.
- Copy, move, and delete files and directories.
- Set and paste file buffers for file transfers.
- Default configurations for programs located in ~/.local/share/tfiles/mimetypes
- Keyboard Driven: Fully controlled using the keyboard for maximum efficiency.
- GCC or compatible C compiler
- libpng library
- libjpeg library
- you can disable image support by following the instructions in the IMAGE_SUPPORT header file. They are enabled by default.
- POSIX-compliant system
- 256 color terminal like st
- Clone the repository:
git clone <repository-url> cd tfiles
- Compile the source code:
make
- Run the file manager:
./tfiles
- Arrow Keys: Navigate files and directories
- Enter: Open selected file or directory, if there is no default application then you will be prompted for a command
- Tab: Preview image (if applicable)
- / (Forward Slash): Search for a file
- Spacebar: Open options popup
- r: Refresh current directory view
- ESC: Quit the program
- Delete: Press
Space->dto delete the selected file - Copy: Press
Space->bto set file buffer, thenSpace->cto paste here - Move: Press
Space->bto set file buffer, thenSpace->mto move here - Press
Spacefor more information
- Press
Space->tto enter a custom terminal command for the selected file or directory. - "%b" signifies the buffer variable (for copy and pasting), double quotes are recommended
- "%f" signifies the highlighted file, double quotes are recommended
- "%d" signifies the current directory, double quotes are recommended
- "%q" signifies an element in the queue, double quotes are recommended
- for each element in the queue it will run the command manipulating "%q"
- main.c: The main entry point and core logic
- command_processor.c: Handles parsing and processing of terminal commands
- rendered/: UI rendering and key definitions
- rendered/icons.h: this is where the default applications are defined as well as the 16x7 icons
- the icon color in the default set is #1c80bf with a white to alpha gradient
Feel free to fork and submit pull requests. Contributions for performance improvements and feature additions are welcome.
This project is licensed under the GPL License.