https://github.com/bahaamohamed98/bfilex
Simple terminal-based file explorer written in C++
https://github.com/bahaamohamed98/bfilex
file filemanagement filesystem terminal-app tui
Last synced: 2 months ago
JSON representation
Simple terminal-based file explorer written in C++
- Host: GitHub
- URL: https://github.com/bahaamohamed98/bfilex
- Owner: BahaaMohamed98
- License: apache-2.0
- Created: 2024-10-31T19:18:25.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-01-25T10:24:53.000Z (12 months ago)
- Last Synced: 2025-01-25T11:20:33.999Z (12 months ago)
- Topics: file, filemanagement, filesystem, terminal-app, tui
- Language: C++
- Homepage:
- Size: 6.73 MB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# BFileX
A modern, lightweight terminal file explorer written in C++. BFileX provides an intuitive interface for navigating and
managing your files with vim-style keybindings and a color-coded display.
## ✨ Features
- 🎨 Color-coded interface for different file types
- 𝐕I Vim-style navigation
- 🚀 Fast and lightweight
- 🔍 File type detection with custom icons
- 📊 Detailed file information (permissions, size, modified date)
- 🖥️ Cross-platform support (Linux, macOS, Windows)
- 🔄 Real-time updates for file system changes
- ⬆️ Comprehensive keybindings for navigation and actions
- 📁 Directory management: Create, rename, and delete directories on the fly
## 🖼️ Screenshots
Explore how BFileX looks and works in different scenarios:
Main Interface
BFileX source code entries displayed
File Preview
File preview for a text file
Directory Management
Make Directory
Creating a new directory
Newly created directory highlighted in the list
Rename File/Directory
Renaming a selected file or directory
Delete File/Directory
Deleting a file or directory
Confirmation for recursive deletion of directories
## 🚀 Installation
### Prerequisites
- C++17 or higher
- CMake 3.15 or higher
- Git
### Build from Source
#### Clone the repository
```bash
git clone https://github.com/BahaaMohamed98/BfileX.git
cd BfileX
```
#### Initialize submodules
```bash
git submodule update --init --recursive
```
#### Build using Cmake
```bash
cd build
cmake ..
cmake --build .
```
#### Run the app
```bash
./BFileX
```
## ⚙️ Command-Line Options
| Option | Description |
|-----------------------|--------------------------|
| `-t`, `--time` | Sort entries by time |
| `-s`, `--size` | Sort entries by size |
| `-r`, `--reverse` | Reverse the sort order |
| `-a`, `--all` | Show all entries |
| `-np`, `--no-preview` | Don't show file previews |
| `-h`, `--help` | Show help screen |
## 🎮 Default Keybindings
| Key | Action |
|-------------------------------------------------------|-------------------------------|
| j, Tab, Right Arrow | Move down |
| k, Up Arrow | Move up |
| l, Enter,Right Arrow | Open file/directory |
| h, Left arrow | Go to parent directory |
| m | Make a new directory |
| r | Rename current entry |
| d | Delete current entry |
| t | Toggle sorting by time |
| s | Toggle sorting by size |
| R | Toggle reversing entries |
| H | Toggle showing hidden entries |
| p | Toggle preview |
| q | Quit |
## 📄 License
This project is licensed under the Apache 2.0 License - see the [LICENSE](LICENSE) file for details.