Skip to content

Bahaaio/BFileX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BFileX

Terminal++ Logo

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)
  • 🔄 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
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

git clone https://github.com/BahaaMohamed98/BfileX.git
cd BfileX

Initialize submodules

git submodule update --init --recursive

Build using Cmake

cd build
cmake ..
cmake --build .

Run the app

./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
c Create a new file
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 file for details.