Note: This is a personal project built for my own use. It's not designed for general consumption — no installer, no official support, and many things are hardcoded to my preferences. Feel free to use or modify it, but don't expect customer support.
This project is still a work in progress. Expect bugs, incomplete features, and rough edges. Nothing is guaranteed to work perfectly — it's being built incrementally as I need things.
[BETA] A Windows file explorer built from scratch using Rust and egui. The motivation is simple: I wanted a file explorer that's fast, can tag files with colors, and has built-in preview — without opening a separate app.
- Keyword Search — Fast text search via SQLite to find files by name.
- Color Tagging — Label files with HSL color tags. Filter instantly from the sidebar.
- Instant Preview — Preview panel for images (PNG, JPG, WEBP, BMP) and text files (.txt, .md, .json, etc.) with LRU texture cache — no need to open a file to see its contents.
- Realtime File Watcher — Automatic detection when files are added, deleted, or modified. No manual refresh needed.
- Context Menu — Right-click for rename, delete, assign tag, copy path.
- Breadcrumb Navigation — Navigate folders via an interactive path bar.
- Dark Theme — The only theme. Dark, clean, with Phosphor icons.
| Component | Tech |
|---|---|
| Language | Rust (edition 2024) |
| UI | egui + eframe 0.34 |
| Database | SQLite via rusqlite (bundled) |
| Icons | Phosphor (egui-phosphor) |
| File scanning | walkdir + rayon (parallel) |
| File watching | notify |
| Image decoding | image crate |
| Threading | crossbeam-channel, rayon, parking_lot |
| Config | TOML (serde + toml) |
| Logging | tracing + tracing-appender (rolling file) |
Four layers with one-directional dependencies:
ui/ → services/ → infrastructure/ → shared/
shared/— Data models, traits, error types. No external dependencies.infrastructure/— SQLite storage, config loader, OS integration (dialogs, drives).services/— Business logic: file scanner, search, tag management, preview cache.ui/— egui components. Each component returns an action enum, processed byDrxApp.
Inter-thread communication via crossbeam-channel. No shared mutable state.
Requires Rust 1.85+ (edition 2024).
cargo build # Debug
cargo build --release # Release
cargo run # RunNo need to install SQLite — rusqlite uses the bundled feature.
C:\DrxManager\
├── config.toml # Configuration
├── data\drxmanager.db # SQLite database (WAL mode)
└── logs\drxmanager.log # Daily rolling log
These paths are hardcoded for Windows. If developing on Linux/macOS, the folders will be created literally at that path — adjust
shared/constants.rsif needed.
This project is actively used and developed as needed. Vector search (Qdrant + ONNX embedding) is planned but not yet implemented — the app runs fully without it.
This project is licensed under the MIT License.