Fyzenor

July 22, 2026 · View on GitHub

╔══╦ ╦╔═╗╔═╗╔╗╔╔═╗╦═╗
╠══╚╦╝╔═╝║╣ ║║║║ ║╠╦╝
╩   ╩ ╚═╝╚═╝╝╚╝╚═╝╩╚═
Fyzenor Logo

Fyzenor

A modern, blazing-fast terminal file manager built in C++ with live previews, async workflows, and a polished three-column interface.

C++ ncurses Kitty Graphics Platform Version Documentation

Maintainer

Bimbok
@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

Fyzenor Showcase 1

Fyzenor Showcase 2

Fyzenor Showcase 3

Fyzenor Showcase 4

Fyzenor Showcase 5

Fyzenor Showcase 6

🚀 Key Features

FeatureDescription
Three-Column LayoutNavigate with a Miller-style layout showing pinned items, parent/current directories, and a live preview pane.
Asynchronous TabsOpen multiple directories in native tabs, navigating easily with [/] and number keys 1-9, preserving your selections.
Interactive Shell CommandsExecute shell commands globally with :. Supports foreground utilities, background tasks (&), and path placeholders ($f/$s).
Bulk Rename via EditorSelect multiple files and press r to rename them all at once inside your default text editor (e.g. nvim, nano).
Smart Copy ResumptionResumes interrupted file copies block-by-block (seekg/seekp) by comparing file sizes and copying only the remaining bytes.
Task Play/Pause ControlsSuspend (pause) and resume background copy, move, delete, zip, and extract tasks directly from the task list.
Drag & Drop IntegrationDrop 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 IntegrationLaunch lazygit directly in your current directory with Ctrl+G. Displays as a centered, bordered popup overlay when inside tmux.
Freedesktop Trash SystemMove 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 StatusDisplays partition name, progress bar, percent used, and free space dynamically for the current drive.
Dynamic Empty Folder IconsInstantly identifies empty directories () versus populated ones () using fast metadata caching.
Simultaneous Multi-OpenOpen all selected files simultaneously; code/text files load in a single editor, media in an mpv playlist, others in background launchers.
Robust Symlink ManagementCustom link icons (󰌹), detailed resolution preview (detects broken paths), and quick absolute symlink pasting with Shift+Y (Y).
Dynamic Sorting ModesToggle sorting order dynamically by pressing s, cycling between Name, Size (Desc), and Date Modified (Desc).
Async Media PreviewGenerate image and video previews in the background using the Kitty Graphics Protocol and ffmpeg, without freezing navigation.
Modern & Polished UIA clean, minimal interface featuring rounded corners, optimized spacing, and an elegant color palette designed for long-term readability and comfort.
Syntax-Aware Text PreviewPreview code and text files with bat or batcat, with fallback to plain text when needed.
Background Folder SizingDirectory sizes are calculated asynchronously and update in place while you keep moving.
Vim-Style NavigationFast keyboard-driven navigation with h, j, k, l, g, G, arrow keys, and enter-based traversal.
Nerd Fonts IntegrationRich iconography for directories, archives, media, and code file formats for faster visual identification.
Multi-Selection & Bulk ActionsSelect multiple files and apply copy, cut, paste, delete, and zip operations efficiently.
Persistent PinsSave frequently used directories to ~/.fm_pins and jump back to them instantly.
Flicker-Free RenderingOptimized redraw behavior keeps the interface smooth while reducing unnecessary terminal updates.
Rich File OperationsCreate files/folders, rename entries, zip selections, copy absolute paths, and manage content without leaving the TUI.
Theme SupportCustomize the UI through ~/.config/fyzenor/theme.toml, with optional Matugen-powered wallpaper theming.
Archive PreviewerInspect contents of .zip, .tar.gz, .rar, .7z archives directly in the TUI preview pane without extracting them.
Media Metadata InspectorRead codec names, bitrates, dimensions, sample rates, title, and artist metadata tags for images, audio, and video tracks.
Custom Key MacrosMap single-key binds in ~/.config/fyzenor/keys.toml to run terminal macros with path placeholders ($f, $s).
Editor IntegrationOpens 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 RefreshRefresh directory contents and invalidate sizes/previews cache instantly using F5 / Ctrl+R.
Dual-Pane ModeToggle (F2) side-by-side active file listings for drag-free copying, with easy tab focus switching (Tab).
Device Detection & MountsDetect, 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: bat or batcat (rendered in color via custom ncurses ANSI parser)
  • File Content Searching: ripgrep (rg)
  • Archive Support: zip
  • Clipboard Support: xclip, wl-copy, or pbcopy

🛠️ 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, or ncurses-utils: Essential for wide-character terminal rendering.
  • ffmpeg: Powers asynchronous thumbnail generation for images and videos.
  • zip: Required for built-in archive creation.
  • bat or batcat: 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:

  1. Compiles the C++ source into an optimized binary.
  2. Installs fyzenor into /usr/local/bin/.
  3. Creates an fm symlink for faster access.
  4. 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+G in normal view mode to launch lazygit directly inside your currently active directory.
  • TMUX Floating Popup Modal: If Fyzenor is running inside a active tmux session, it leverages tmux display-popup to spawn lazygit as 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, lazygit takes 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:

OptionDescription
-v, --versionDisplay the current version of Fyzenor.
-h, --helpShow 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

  1. Navigation State: Tracks the current directory, parent context, selected entry, pins, and multi-selection state.
  2. Async Preview Pipeline: Generates media previews and text previews without freezing the navigation loop.
  3. Background Size Calculation: Directory sizes are resolved in the background and merged back into the UI.
  4. 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

KeyAction
k or Move selection up
j or Move selection down
h or or BSGo to parent directory / Clear search results
l or or EnterOpen file / Enter directory
gGo to top of list
GGo to bottom of list
/Search content (ripgrep)
fFuzzy Find files (internal)
wActive Tasks manager overlay
Ctrl+OGo back in directory navigation history
Ctrl+PGo forward in directory navigation history
HHistory 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, then vi. Media files are opened with mpv if available, and other files use your system's default opener.

File Operations

KeyAction
yYank (Copy) selected items to internal clipboard
xCut selected items
pPaste items from clipboard
YPaste as Symlink (absolute symlinks of clipboard)
d or DeleteMove to Trash (deletes permanently if inside Trash Manager)
DDelete permanently (skips Trash)
TToggle Trash Manager
uUndo last move-to-trash action
rRename current item (acts as Restore if inside Trash Manager)
nCreate New File
NCreate New Folder
zZip selected items into an archive
eExtract archive (acts as Empty Trash if inside Trash Manager)
cCopy Absolute Path to system clipboard
Ctrl-DDrag Out selected/highlighted files using ripdrag or dragon
IVisual Permissions & Ownership Editor (inspect/edit chmod/chown)

Selection, View & Pins

KeyAction
Space or vToggle selection of current file
aSelect All files in current directory
EscClear all active selections
.Toggle hidden files
sCycle sorting (Name \rightarrow Size \rightarrow Date Modified)
PPin current directory
TabToggle focus between Files and Pins (or switch active panes in Dual-Pane mode)
F2Toggle Dual-Pane mode (split-screen side-by-side files lists)
F3Toggle Preview Pane visibility (normal mode only)
F4Toggle Parent Pane visibility (normal mode only)
F6Toggle Bookmarks (Pinned) Pane visibility (normal mode only)
Ctrl+GOpen Lazygit (normal mode) or Grow active pane width (Dual-Pane mode)
Ctrl+B / Ctrl+HShrink active pane width (Dual-Pane mode only)
F5 or Ctrl+RRefresh directory layout and clear size/preview caches
iShow File Details (permissions, owner, size, times)
mShow Devices & Mounts overlay (detect, mount, unmount USB drives & Android phones)
:Execute Shell Command (suspend TUI / background &)
qQuit Fyzenor

Tab Controls

KeyAction
tCreate New Tab
W or Ctrl+WClose Current Tab
[ or ]Switch to Previous / Next Tab
1 - 9, 0Switch directly to Tab 1 - 10 (0 maps to tab 10)

Pin Mode Controls

  • j / k or / : 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 background AsyncTask worker 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 Space or p on 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 SIGSTOP signal to suspend the child process, and SIGCONT to 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/l or Arrows) and toggling with Space or Enter.
  • Metadata Field Modifiers: Pressing Enter on the Owner or Group rows prompts the user to easily change the user/group IDs or usernames via POSIX chown.

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+O to jump back to the previously visited directory, and Ctrl+P to jump forward.
  • Navigation History List (H): Press H to open a pop-up listing recently visited directory paths (newest first). Selecting a path and pressing Enter jumps directly to that folder and saves the jump to the back history stack.

🤝 Contributing

Contributions are welcome.

  1. Fork the repository.
  2. Create a feature branch.
  3. Make your changes.
  4. Test locally.
  5. 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


⚖️ 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