Fyzenor
July 22, 2026 · View on GitHub
╔══╦ ╦╔═╗╔═╗╔╗╔╔═╗╦═╗
╠══╚╦╝╔═╝║╣ ║║║║ ║╠╦╝
╩ ╩ ╚═╝╚═╝╝╚╝╚═╝╩╚═
Fyzenor
A modern, blazing-fast terminal file manager built in C++ with live previews, async workflows, and a polished three-column interface.
Maintainer
@Bimbok Creator / Maintainer |
Fyzenor is designed and maintained by Bimbok.
⚡ Introduction
Fyzenor is a lightweight, high-performance terminal file manager engineered from the ground up with modern C++17. It is designed to bridge the gap between the raw power of the command line and the visual feedback of modern GUIs.
With its asynchronous architecture, Fyzenor ensures that heavy operations like directory size calculation and media preview generation never block the UI, providing a "blazing fast" experience even on large filesystems. Whether you are a developer, a system administrator, or a power user, Fyzenor allows you to navigate and manage your files with the speed of thought.
🌐 Official Documentation: fyzenor.vercel.app
🖼️ Interface Preview
🚀 Key Features
| Feature | Description |
|---|---|
| Three-Column Layout | Navigate with a Miller-style layout showing pinned items, parent/current directories, and a live preview pane. |
| Asynchronous Tabs | Open multiple directories in native tabs, navigating easily with [/] and number keys 1-9, preserving your selections. |
| Interactive Shell Commands | Execute shell commands globally with :. Supports foreground utilities, background tasks (&), and path placeholders ($f/$s). |
| Bulk Rename via Editor | Select multiple files and press r to rename them all at once inside your default text editor (e.g. nvim, nano). |
| Smart Copy Resumption | Resumes interrupted file copies block-by-block (seekg/seekp) by comparing file sizes and copying only the remaining bytes. |
| Task Play/Pause Controls | Suspend (pause) and resume background copy, move, delete, zip, and extract tasks directly from the task list. |
| Drag & Drop Integration | Drop files directly into the terminal window to Copy/Move them, or press Ctrl-D to drag files out into GUI applications (via ripdrag or dragon). |
| Lazygit Integration | Launch lazygit directly in your current directory with Ctrl+G. Displays as a centered, bordered popup overlay when inside tmux. |
| Freedesktop Trash System | Move items to trash (d) and restore/empty them in-build. Integrates home trash and local partition trash folders. |
Undo Trash Action (u) | Undo the last move-to-trash action instantly, restoring items back to their original paths. |
| Dynamic Disk Space Status | Displays partition name, progress bar, percent used, and free space dynamically for the current drive. |
| Dynamic Empty Folder Icons | Instantly identifies empty directories ( ) versus populated ones ( ) using fast metadata caching. |
| Simultaneous Multi-Open | Open all selected files simultaneously; code/text files load in a single editor, media in an mpv playlist, others in background launchers. |
| Robust Symlink Management | Custom link icons (), detailed resolution preview (detects broken paths), and quick absolute symlink pasting with Shift+Y (Y). |
| Dynamic Sorting Modes | Toggle sorting order dynamically by pressing s, cycling between Name, Size (Desc), and Date Modified (Desc). |
| Async Media Preview | Generate image and video previews in the background using the Kitty Graphics Protocol and ffmpeg, without freezing navigation. |
| Modern & Polished UI | A clean, minimal interface featuring rounded corners, optimized spacing, and an elegant color palette designed for long-term readability and comfort. |
| Syntax-Aware Text Preview | Preview code and text files with bat or batcat, with fallback to plain text when needed. |
| Background Folder Sizing | Directory sizes are calculated asynchronously and update in place while you keep moving. |
| Vim-Style Navigation | Fast keyboard-driven navigation with h, j, k, l, g, G, arrow keys, and enter-based traversal. |
| Nerd Fonts Integration | Rich iconography for directories, archives, media, and code file formats for faster visual identification. |
| Multi-Selection & Bulk Actions | Select multiple files and apply copy, cut, paste, delete, and zip operations efficiently. |
| Persistent Pins | Save frequently used directories to ~/.fm_pins and jump back to them instantly. |
| Flicker-Free Rendering | Optimized redraw behavior keeps the interface smooth while reducing unnecessary terminal updates. |
| Rich File Operations | Create files/folders, rename entries, zip selections, copy absolute paths, and manage content without leaving the TUI. |
| Theme Support | Customize the UI through ~/.config/fyzenor/theme.toml, with optional Matugen-powered wallpaper theming. |
| Archive Previewer | Inspect contents of .zip, .tar.gz, .rar, .7z archives directly in the TUI preview pane without extracting them. |
| Media Metadata Inspector | Read codec names, bitrates, dimensions, sample rates, title, and artist metadata tags for images, audio, and video tracks. |
| Custom Key Macros | Map single-key binds in ~/.config/fyzenor/keys.toml to run terminal macros with path placeholders ($f, $s). |
| Editor Integration | Opens text/code files with your configured editor via $EDITOR or $VISUAL, with sensible fallbacks. |
| Content Search (ripgrep) | Search for file contents under the current directory using ripgrep, displaying relative paths and supporting vim-like navigation. |
| Manual Cache Refresh | Refresh directory contents and invalidate sizes/previews cache instantly using F5 / Ctrl+R. |
| Dual-Pane Mode | Toggle (F2) side-by-side active file listings for drag-free copying, with easy tab focus switching (Tab). |
| Device Detection & Mounts | Detect, mount, unmount, and navigate connected USB block drives and mobile phones (Android MTP) natively without needing Nautilus. |
| Live Auto-Updates (inotify) | Automatically detects filesystem changes (creations, deletions, renames) in the current directory and refreshes the TUI instantly. |
🛠️ Tech Stack
Core
- Language: C++17
- UI Layer:
ncursesw - Concurrency: C++ threads with mutex-protected async workflows
- Filesystem:
std::filesystem
External Tools
- Preview Rendering: Kitty Graphics Protocol
- Image & Video Thumbnailing:
ffmpeg - Syntax Highlighting:
batorbatcat(rendered in color via custom ncurses ANSI parser) - File Content Searching:
ripgrep(rg) - Archive Support:
zip - Clipboard Support:
xclip,wl-copy, orpbcopy
🛠️ Prerequisites
To unleash the full power of Fyzenor, especially image previews, your system needs a few core components.
1. A Compatible Terminal
- Recommended: Kitty with native Kitty Graphics Protocol support.
- Others: WezTerm or Konsole may work, but Kitty is the primary development and testing target.
2. System Dependencies
On Debian-based or Ubuntu-based systems:
sudo apt update
sudo apt install build-essential libncursesw5-dev ffmpeg zip bat xclip wl-copy ripgrep
On Fedora-based systems:
sudo dnf update
sudo dnf install gcc gcc-c++ make ncurses-devel ffmpeg zip bat xclip wl-clipboard ripgrep
On Arch Linux-based systems:
sudo pacman -Sy
sudo pacman -S base-devel ncurses ffmpeg zip bat xclip wl-clipboard ripgrep
On Termux (Android) environments:
pkg update
pkg install clang cmake ndk-sysroot ncurses-utils ffmpeg zip bat ripgrep
libncursesw,ncurses, orncurses-utils: Essential for wide-character terminal rendering.ffmpeg: Powers asynchronous thumbnail generation for images and videos.zip: Required for built-in archive creation.batorbatcat: Used for syntax-highlighted text previews.xclip/wl-copy/pbcopy: Used for the copy-path feature.
⚙️ Installation & Update
The easiest way to install or update Fyzenor is using the universal installation script.
Windows Compiler Compatibility
Fyzenor requires a compiler with proper C++17 filesystem support.
Older MinGW GCC versions (such as GCC 6.x) may fail during compilation with:
fatal error: filesystem: No such file or directory
Recommended environments for Windows users:
- MSYS2 MinGW-w64
- WSL (Windows Subsystem for Linux)
Recommended compiler versions:
- GCC 8+
- Clang 7+
You can check your compiler version using:
g++ --version
Smart Installer (Stable vs Beta Channels)
# 📦 Install Stable Release (v4.2.0 - Default)
curl -fsSL https://raw.githubusercontent.com/Bimbok/fyzenor/main/install.sh | bash -s -- --stable
# 🧪 Install Beta Channel (v4.3.0-beta.1 - Lua Plugins & Cutting-edge features)
curl -fsSL https://raw.githubusercontent.com/Bimbok/fyzenor/main/install.sh | bash -s -- --beta
Manual Installation & Updates
# 1. Clone the repository
git clone https://github.com/Bimbok/fyzenor.git
# 2. Enter the repository
cd fyzenor
# 3. Run the installer
./install.sh
The installer:
- Compiles the C++ source into an optimized binary.
- Installs
fyzenorinto/usr/local/bin/. - Creates an
fmsymlink for faster access. - Installs the desktop application shortcut and branding icon globally.
🚀 Quick Start
If you want to build and run Fyzenor manually instead of using the installer:
git clone https://github.com/Bimbok/fyzenor.git
cd fyzenor
mkdir -p build && cd build
cmake ..
make
./fyzenor
This route is useful if you want direct control over compilation or want to test local modifications before installation.
🔍 Rich Previews
Archive Tree Previewer
Fyzenor reads .zip, .tar.gz, .tgz, .7z, and .rar archive tables on the fly without extraction. It leverages background listing tools (unzip, tar, 7z, unrar) to display a neat directory layout right in the preview pane.
Media Metadata Inspector
Get information about your media files (.mp4, .mp3, .mov, .png, .jpg, etc.) dynamically. The preview worker uses mediainfo or ffprobe (via ffmpeg) to show streams metadata, codecs, channels, sample rates, and tags.
PDF Text Layout Previewer
If pdftotext (from poppler-utils) is installed on your system, Fyzenor asynchronously extracts and renders the formatted text layouts of the first 3 pages of .pdf files directly in the preview pane.
Git & Lazygit Integration
Fyzenor features native integration with lazygit to make repository staging and committing seamless:
- Launch Hotkey: Press
Ctrl+Gin normal view mode to launchlazygitdirectly inside your currently active directory. - TMUX Floating Popup Modal: If Fyzenor is running inside a active
tmuxsession, it leveragestmux display-popupto spawnlazygitas a centered, floating overlay window (taking up 85% of screen width and height). This creates a gorgeous desktop-like modal experience without leaving your TUI layout. - Clean Full-Screen Fallback: Outside of tmux, the terminal is safely suspended,
lazygittakes over full-screen, and upon exiting, control is handed back to Fyzenor. - State Auto-Reloading: Once you close
lazygit, Fyzenor instantly reloads all directory files and statuses, ensuring checkout changes, branch updates, or resets reflect immediately in the browser pane.
⚙️ External Configuration (config.toml)
Fyzenor uses an external configuration file located at ~/.config/fyzenor/config.toml (automatically created on first launch or during installation). It allows you to customize the program's general options, panel sizes, pane visibility rules, icon glyphs (Nerd Fonts), and file extension mappings.
Configuration Format
Here is the fully documented default structure of ~/.config/fyzenor/config.toml:
[general]
# Show hidden files by default on startup
show_hidden = false
# Default sorting mode: "name", "size" (descending), or "date" (descending)
sort_mode = "name"
[layout]
# Proportional width of the left parent/pinned column in normal mode (ratio between 0.0 and 1.0)
parent_width = 0.18
# Proportional width of the central files list column in normal mode
current_width = 0.32
# Set to true to hide the rightmost file preview pane by default on startup (toggleable via F3)
hide_preview = false
# Set to true to hide the parent directory pane by default on startup (toggleable via F4)
hide_parent = false
# Set to true to hide the pinned bookmarks pane by default on startup (toggleable via F6)
hide_pinned = false
[icons]
# Custom glyphs for directory and file indicators (Nerd Fonts recommended)
dir = " "
video = " "
image = " "
core = " "
frontend = " "
config = " "
script = " "
docs = " "
font = " "
file = " "
music = " "
pin = " "
zip = " "
link = " "
[categories]
# Map specific file extensions to styling and icon categories
video = [".mp4", ".mkv", ".avi", ".mov", ".flv", ".wmv", ".webm", ".m4v", ".mpg", ".mpeg"]
image = [".png", ".jpg", ".jpeg", ".gif", ".bmp", ".webp", ".svg", ".tiff", ".ico", ".psd", ".ai"]
frontend = [".js", ".jsx", ".ts", ".tsx", ".css", ".scss", ".sass", ".less", ".styl", ".vue", ".html", ".svelte", ".htm", ".astro", ".mjx", ".dart", ".swift"]
scripts = [".sh", ".bash", ".zsh", ".fish", ".ksh", ".command", ".pl", ".pm", ".t", ".awk", ".ps1", ".psm1", ".bat", ".cmd", ".vbs", ".wsf"]
config = [".json", ".json5", ".jsonc", ".xml", ".xsd", ".xsl", ".gpx", ".yaml", ".yml", ".toml", ".ini", ".conf", ".cfg", ".prefs", ".properties", ".lock", ".env", ".dockerfile", ".gitignore", ".gitconfig", ".gitattributes", ".gitmodules"]
documentation = [".md", ".markdown", ".txt", ".text", ".log", ".pdf", ".doc", ".docx", ".odt", ".rtf", ".ppt", ".pptx", ".odp", ".xls", ".xlsx", ".ods", ".csv"]
core = [".py", ".pyw", ".ipynb", ".pyc", ".pyd", ".rb", ".ru", ".gemspec", ".php", ".cpp", ".cxx", ".cc", ".hpp", ".hxx", ".ixx", ".c", ".h", ".rs", ".java", ".class", ".jar", ".war", ".go", ".lua", ".sql", ".db", ".sqlite", ".sqlite3", ".db3", ".mdb", ".accdb", ".cmake", ".make", ".diff", ".patch", ".kt", ".kts", ".cs", ".csx", ".scala", ".sc", ".hs", ".lhs", ".clj", ".cljs", ".cljc", ".edn", ".r", ".rmd", ".jl", ".fs", ".fsi", ".fsx"]
font = [".woff", ".woff2", ".ttf", ".eot", ".otf"]
audio = [".mp3", ".wav", ".flac", ".m4a", ".aac", ".ogg", ".wma", ".opus", ".mid", ".midi"]
archive = [".zip", ".tar", ".gz", ".tgz", ".7z", ".rar", ".xz", ".bz2", ".tbz2", ".lzma", ".cab"]
🎨 Customization & Theming
Fyzenor supports custom themes via ~/.config/fyzenor/theme.toml. The default theme is Catppuccin Mocha.
Configuration Format
Create ~/.config/fyzenor/theme.toml and define colors using hex codes inside the [colors] section:
[colors]
dir = "#89b4fa"
file = "#cdd6f4"
sel_bg = "#585b70"
media = "#f9e2af"
image = "#f5c2e7"
border = "#b4befe"
success = "#a6e3a1"
error = "#f38ba8"
multi = "#fab387"
pin_bg = "#cba6f7"
pin_border = "#89b4fa"
sec_sel_bg = "#313244"
code = "#a6e3a1"
archive = "#eba0ac"
Wallpaper-Based Theming (Matugen)
Instead of manually writing colors, you can use Matugen to generate a theme that matches your current wallpaper.
Step 1: Create the Matugen Template
Create ~/.config/matugen/templates/fyzenor-colors.template:
# Fyzenor Theme: Matugen Generated
[colors]
dir = "{{colors.primary.default.hex}}"
file = "{{colors.on_surface.default.hex}}"
sel_bg = "{{colors.surface_variant.default.hex}}"
media = "{{colors.tertiary.default.hex}}"
image = "{{colors.secondary.default.hex}}"
border = "{{colors.outline.default.hex}}"
success = "{{colors.primary_fixed.default.hex}}"
error = "{{colors.error.default.hex}}"
multi = "{{colors.tertiary_container.default.hex}}"
pin_bg = "{{colors.secondary_container.default.hex}}"
pin_border = "{{colors.primary.default.hex}}"
sec_sel_bg = "{{colors.surface_dim.default.hex}}"
Step 2: Update your Matugen Config
Add this block to your ~/.config/matugen/config.toml:
[templates.fyzenor]
input_path = "~/.config/matugen/templates/fyzenor-colors.template"
output_path = "~/.config/fyzenor/theme.toml"
Step 3: Generate the Colors
matugen image /path/to/your/wallpaper.jpg
🛠️ Custom Keyboard Macros (keys.toml)
You can map single-key shortcuts to run shell commands on currently highlighted or selected files.
Create ~/.config/fyzenor/keys.toml and specify key mappings inside the [macros] section:
[macros]
# $f - Expands to highlighted file path
# $s - Expands to space-separated selected paths (falls back to $f if none selected)
v = 'nvim "$f"'
g = 'git diff'
l = 'ls -la'
When a custom key is pressed inside the browser panel (e.g. v), Fyzenor suspends NCurses mode, executes the command directly inside the currently browsed directory in your interactive shell (giving you full access to standard I/O), waits for you to press Enter, and then returns to the file manager, reloading the directory.
🛠️ CLI Usage
Fyzenor supports the following command-line arguments:
| Option | Description |
|---|---|
-v, --version | Display the current version of Fyzenor. |
-h, --help | Show the help message and exit. |
fyzenor --version
🏗️ Architecture
Fyzenor is structured as a compact terminal application with asynchronous jobs handling the expensive operations that would otherwise block UI updates.
fyzenor/
├── file_manager.cpp # Core application logic, UI rendering, preview pipeline
├── install.sh # Installer and shell integration bootstrap
├── fyzenor.png # Branding asset used in the README
└── Sample/ # Showcase screenshots
How It Works
- Navigation State: Tracks the current directory, parent context, selected entry, pins, and multi-selection state.
- Async Preview Pipeline: Generates media previews and text previews without freezing the navigation loop.
- Background Size Calculation: Directory sizes are resolved in the background and merged back into the UI.
- Command Handling: Keybindings trigger file operations, pin management, sorting, preview refresh, and shell integration behavior.
System Flow
flowchart TD
user[User]
input[Keyboard Input]
nav[Navigation State]
jobs[Async Preview and Size Jobs]
preview[Preview Renderer]
ops[File Operations]
tui[Terminal UI]
user --> input
input --> nav
nav --> jobs
nav --> ops
jobs --> preview
preview --> tui
ops --> tui
tui --> user
⌨️ Controls
Navigation
| Key | Action |
|---|---|
k or ↑ | Move selection up |
j or ↓ | Move selection down |
h or ← or BS | Go to parent directory / Clear search results |
l or → or Enter | Open file / Enter directory |
g | Go to top of list |
G | Go to bottom of list |
/ | Search content (ripgrep) |
f | Fuzzy Find files (internal) |
w | Active Tasks manager overlay |
Ctrl+O | Go back in directory navigation history |
Ctrl+P | Go forward in directory navigation history |
H | History Overlay (jump to recently visited directories) |
Note on Opening Files: Fyzenor automatically detects text and code files and opens them using your terminal-based editor, respecting
$EDITOR,$VISUAL,nvim,nano, thenvi. Media files are opened withmpvif available, and other files use your system's default opener.
File Operations
| Key | Action |
|---|---|
y | Yank (Copy) selected items to internal clipboard |
x | Cut selected items |
p | Paste items from clipboard |
Y | Paste as Symlink (absolute symlinks of clipboard) |
d or Delete | Move to Trash (deletes permanently if inside Trash Manager) |
D | Delete permanently (skips Trash) |
T | Toggle Trash Manager |
u | Undo last move-to-trash action |
r | Rename current item (acts as Restore if inside Trash Manager) |
n | Create New File |
N | Create New Folder |
z | Zip selected items into an archive |
e | Extract archive (acts as Empty Trash if inside Trash Manager) |
c | Copy Absolute Path to system clipboard |
Ctrl-D | Drag Out selected/highlighted files using ripdrag or dragon |
I | Visual Permissions & Ownership Editor (inspect/edit chmod/chown) |
Selection, View & Pins
| Key | Action |
|---|---|
Space or v | Toggle selection of current file |
a | Select All files in current directory |
Esc | Clear all active selections |
. | Toggle hidden files |
s | Cycle sorting (Name Size Date Modified) |
P | Pin current directory |
Tab | Toggle focus between Files and Pins (or switch active panes in Dual-Pane mode) |
F2 | Toggle Dual-Pane mode (split-screen side-by-side files lists) |
F3 | Toggle Preview Pane visibility (normal mode only) |
F4 | Toggle Parent Pane visibility (normal mode only) |
F6 | Toggle Bookmarks (Pinned) Pane visibility (normal mode only) |
Ctrl+G | Open Lazygit (normal mode) or Grow active pane width (Dual-Pane mode) |
Ctrl+B / Ctrl+H | Shrink active pane width (Dual-Pane mode only) |
F5 or Ctrl+R | Refresh directory layout and clear size/preview caches |
i | Show File Details (permissions, owner, size, times) |
m | Show Devices & Mounts overlay (detect, mount, unmount USB drives & Android phones) |
: | Execute Shell Command (suspend TUI / background &) |
q | Quit Fyzenor |
Tab Controls
| Key | Action |
|---|---|
t | Create New Tab |
W or Ctrl+W | Close Current Tab |
[ or ] | Switch to Previous / Next Tab |
1 - 9, 0 | Switch directly to Tab 1 - 10 (0 maps to tab 10) |
Pin Mode Controls
j/kor↑/↓: Navigate through your pins.Enter/l/→: Instantly jump to the pinned directory.d/Delete: Remove the selected pin.Tab: Switch focus back to the main file browser.
🎨 Visuals & Protocols
Kitty Graphics Protocol
Fyzenor uses the Kitty Graphics Protocol for high-resolution image and video previews. Previews are generated asynchronously so the UI remains fluid during navigation.
Nerd Fonts
Icons are rendered using Nerd Fonts. Ensure your terminal is using a Nerd Font for icons to display correctly.
Syntax Highlighting
Fyzenor integrates with bat or batcat to preview code and text files with rich syntax highlighting. Highlighted files are parsed directly into standard ncurses colors via a custom ANSI escape parser.
Trash, Tasks & Smart Copying
1. Multi-Partition Trash System
Fyzenor provides an in-built Freedesktop.org-compliant Trash manager:
- Asynchronous Execution: Trashing (
d) runs entirely on backgroundAsyncTaskworker threads, ensuring that deleting large numbers of files (e.g.Select All->d) never locks up or freezes the UI loop. - Automatic Mount Detection: Trashing (
d) automatically detects the mount point of the partition containing the file. - Partition Bins: If the file is on your home partition, it moves to
~/.local/share/Trash. On separate partitions (like shared drives or USB mounts), it creates and moves the file to<mount_point>/.Trash-<uid>to avoid slow, redundant cross-device copies. - External Drive Fallbacks: On read-only or unsupported filesystems (where local trash folders cannot be created), Fyzenor prompts:
"Trash not supported. Delete permanently? (y/n)". - Trash Manager (
T): Displays a unified list of trashed items across all mounted partition trash bins, resolving original filenames/extensions and allowing bulk Restoring (r), permanent Deletion (d), or Emptying (e) of all trash folders in the background.
2. Play/Pause Task Manager (w)
Pressing w displays background worker queues (copying, moving, deleting, trashing, zipping, and extracting).
- C++ Worker Suspend: Pressing
Spaceorpon a C++ task (like copy, delete, or trash) uses C++ condition variables to suspend the worker threads. They sleep at 0% CPU consumption until resumed. - POSIX Subprocess Suspend: Pausing external operations (Zip/Extract) sends a
SIGSTOPsignal to suspend the child process, andSIGCONTto resume it. - Safe Cancellation: Paused tasks can be safely killed (
x/d), automatically waking up the threads/subprocesses first to ensure clean exits and prevent zombie processes. - Throughput & Timing Metrics: Actively displays task execution durations (in seconds) and live transfer speeds (e.g.
MB/s) for copying and moving operations. - Completed Tasks History Log: Displays a split-pane log of recent completed, cancelled, or failed background operations. Clear the logs by pressing
c.
3. Smart Copy Resumption (Delta Copying)
When performing a paste operation:
- Skipping: Files that already exist at the destination and match the source size are skipped instantly.
- Resumption: If a copy was cancelled or interrupted, Fyzenor opens the destination file, seeks to its current size, seeks to the same position in the source file, and resumes copying only the remaining bytes block-by-block. Symlinks are automatically deleted and replaced to avoid overwriting their target paths.
4. Visual Permissions & Ownership Editor (I)
Instead of typing commands in a shell command prompt, users can launch an interactive modal overlay by pressing I (Shift+i) on any highlighted file.
- Checkbox Permission Grid: Visual 3x3 checkbox matrix to view and toggle Read, Write, and Execute bits for Owner, Group, and Others.
- Ncurses Interactive Controls: Allows using Vim navigation keys (
h/j/k/lor Arrows) and toggling withSpaceorEnter. - Metadata Field Modifiers: Pressing
Enteron the Owner or Group rows prompts the user to easily change the user/group IDs or usernames via POSIXchown.
5. Tab-Scoped Navigation History (Ctrl+O / Ctrl+P / H)
Fyzenor tracks navigation transitions (folder entries, parent traversal, pinned jumps, mount browsing) independently for each tab.
- Jump Navigation: Press
Ctrl+Oto jump back to the previously visited directory, andCtrl+Pto jump forward. - Navigation History List (
H): PressHto open a pop-up listing recently visited directory paths (newest first). Selecting a path and pressingEnterjumps directly to that folder and saves the jump to the back history stack.
🤝 Contributing
Contributions are welcome.
- Fork the repository.
- Create a feature branch.
- Make your changes.
- Test locally.
- Open a pull request with a clear description.
For detailed contribution Workflow, see CONTRIBUTING.md. Community participation is governed by CODE_OF_CONDUCT.md.
📞 Contact
- GitHub: Bimbok
- Issues: Open an issue
⚖️ License
Distributed under the MIT License. See LICENSE for more information.
✨ README Improvement Notes
📌 Formatting Enhancements Needed
- Improve heading hierarchy for better readability
- Ensure consistent spacing between sections
- Use proper Markdown formatting for code blocks and lists
- Align all installation and usage steps properly
🚀 Suggested Structure Upgrade
- Introduction
- Features
- Tech Stack
- Installation
- Usage
- Project Structure
- Contribution Guidelines
- License
🛠️ Documentation Improvements
- Add badges (optional): build, license, contributors
- Add screenshots for better UI understanding
- Standardize code blocks for commands
🎯 Goal
Improve onboarding experience for new contributors and users by making README more structured, readable, and professional