Skip to content
AdriLabTechPublic

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FileTUI

filetui

A small, fast, minimalist three-panel file explorer for the terminal, written in Rust with Ratatui and Crossterm.

It is deliberately simple — it does not try to compete with ranger, lf or yazi. It is meant to be a pleasant, Unix-like place to move around a source tree.

imagen_prev

Features

  • Three panels: parent directory on the left (with the current directory highlighted), current directory listing in the center, and details + preview on the right.
  • Columns: name, size and type for every entry. Directories are shown first, sorted alphabetically.
  • Text preview: the right panel shows metadata plus the start of text files. Binary files are detected by content sniffing and show metadata only.
  • Image preview: images render inside the right panel using the Kitty graphics protocol when TERM=xterm-kitty (kitty, wezterm). Other terminals show metadata plus a hint. PNG/JPEG/GIF stream as-is; BMP/WebP/TIFF/ICO are re-encoded to PNG.
  • Hidden files toggled with ..
  • Fullscreen help with h.

Keys

Key Action
↑ / ↓, j/k Move the selection
Enter / → Enter the selected directory
Backspace / ← Go to the parent directory
g / G Jump to first / last entry
Home / End Jump to first / last entry
h Toggle help
. Toggle hidden files
q Quit

Operations

Key Action
n Create directory (type the name, press Enter)
N Create file
r Rename the selected entry
d Delete the selected entry (asks confirmation y/n)
c Copy the selected entry to the clipboard
m Move the selected entry (cut to the clipboard)
p Paste the clipboard into the current directory

Copies are never overwritten: if the name exists a .copy1, .copy2, … suffix is appended. In dialogs, Enter confirms, Esc cancels, and Backspace / Delete edit the text.

Build and run

cargo build --release
target/release/filetui            # starts in the current directory
target/release/filetui /some/path # or start somewhere specific

Safety

Destructive operations (d) always require confirmation. Errors such as insufficient permissions, missing files, or failing cross-device moves are reported in the status bar or a dialog and never crash the app. Symlinks are shown and entered transparently. The terminal is always restored on exit, even after an error.

Architecture

The code is split into clearly separated modules; render code never touches the filesystem.

Module Responsibility
fsops Every filesystem operation (list, create, rename, delete, copy, move)
state Application state: cwd, parent, entries, selection, dialogs, clipboard, navigation
input Key events → state transitions
dialogs Dialog business logic (submitting mutations, confirms)
preview Text/binary preview content
img Kitty graphics protocol: image placement, fitting, base64 chunking, delete
ui All Ratatui rendering (panels, help, dialogs, status)

Run the tests with cargo test.

Community

Questions, ideas and feedback about this project live in the Low Noise Discord (channel #build). The videos are on YouTube.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages