MTT-File-Manager-RUST
MTT File Manager is a Rust-based Windows file manager with tabbed navigation, rich media previews, deep system integrat…
git clone https://github.com/MTTamurex/MTT-File-Manager-RUST.gitMTTamurex/MTT-File-Manager-RUSTMTT File Manager
Native Windows file manager built in Rust with a modern UI, archive browsing, advanced media preview, and Windows integration.
Key Features
Interface & Navigation
- Dark / Light theme — Toggle between dark and light mode in Settings > Appearance; persisted in SQLite, applied to all windows including image, PDF, and text viewers with native title bar support via DWM
- Dual panel (split view) — Side-by-side file browsing with independent left and right panels; toggle via the toolbar button. Each panel maintains its own navigation history, sort order, view mode, and selection. File copy/move operations default to the opposite panel as the destination
- Tabbed navigation — Multiple tabs with independent history
- Grid, Details, Column List, and Miller's Columns views — Switch between thumbnail, detailed table, horizontally scrolling list, and Finder-style hierarchical layouts. Miller's Columns keeps the folder hierarchy visible in side-by-side columns and supports keyboard navigation, multi-selection, rectangle selection, inline renaming, context menus, and drag-and-drop
- Per-folder view locks — Preserve the view mode, sorting, and folder position for one folder or for that folder and all of its subfolders; inherited locks identify their source folder
- Smart address bar — Direct path input with breadcrumbs
- Sidebar — Quick access to drives, libraries, Cloud Drives, and Recycle Bin
- Cloud Drives — Detects Windows Cloud Files sync roots registered with Explorer and shows them in a dedicated sidebar section; tested with OneDrive, Proton Drive and Google Drive
- Quick Access — Pin folders via right-click or drag-and-drop; reorder via drag; persistent storage
- Tags — Assign persistent color tags to files and folders, browse dedicated Tag views from the sidebar, resize the Tags area, and manage custom tags from Settings
- Archive navigation — Open supported compressed files like folders and browse their contents directly (
.zip,.7z,.rar,.tar,.tar.gz,.tgz,.tar.bz2,.tbz2,.tar.xz,.txz,.tar.zst,.tzst,.gz,.gzip)
Media Preview
- Integrated preview — View files without leaving the app
- Dedicated image viewer — Separate process with a bounded sliding-window GPU texture cache, hidden-first startup, and multi-threaded decoding
- Text viewer — Separate process for plain text, code, logs, and markup files using the same lightweight viewer runtime as the image/PDF viewers
- Video player — Standalone mpv-based player with D3D11 GPU pipeline; Up/Down adjusts volume in 5% steps and the mouse wheel seeks backward or forward by five seconds
- Audio playback & metadata — Audio-only files open in the standalone mpv player with real-time waveform visualization; the preview panel extracts codec, bitrate, channels, sample rate, and music tags
- PDF viewer — Native pdfium-based viewer with asynchronous document loading, prioritized progressive rendering, virtualized pages and thumbnails, bounded texture caching, and keyboard navigation in the thumbnail sidebar
- Smart thumbnails — Multi-stage generation: image crate → WIC → Shell API → Media Foundation
- Animated GIF playback — Animated preview on details panel
Global Search
- Instant search — Query an in-memory index supporting millions of files
- Hybrid volume indexing — NTFS/ReFS via USN Journal; non-USN volumes via full-tree scan
- Background service — Dedicated Windows Service for continuous indexing
- Spotlight-style overlay — Activated by Ctrl+Shift+F
- Paginated results — Offset/limit pagination with incremental loading
- Tag filters — Narrow global search results to any tagged item or to specific tags
- File interactions — Select multiple results, use range selection, copy or cut files, rename inline, open the Windows context menu, and drag results to folders or other applications
- Responsive tagged search — Tagged results are resolved asynchronously and stale requests are cancelled when the query or filters change
Disclaimer: The Global Search feature reads the NTFS/ReFS USN Journal and MFT to build its index. Because accessing these system structures requires elevated privileges, the installer registers a dedicated Windows Service that runs with administrative rights. This is the only component of MTT File Manager that requires elevated installation privileges.
File Operations
- Core operations — Copy, cut, paste, rename, delete
- Batch rename — Select 2+ files and press F2 to open the batch rename modal; configure a shared base name, number position (suffix/prefix), separator style (parentheses, underscore, dash, space, or none), and start/step/padding; drag-to-reorder; live preview table with per-row conflict detection
- Native context menu — Full Windows Shell context menu integration, including the native New submenu when right-clicking an empty folder area
- External drag-and-drop — Drag files from MTT File Manager to Windows Explorer and other compatible Windows applications
- Tag assignment — Add, remove, or switch file/folder tags from the context menu; tags are preserved on supported renames/moves and cleared when files are deleted
- Recycle Bin — Browse, restore, and permanently delete
- Cloud Files support — Sync status badges for cloud-only, locally available, syncing, and pinned files; supports Windows Cloud Files actions such as "Always keep on this device" and "Free up space"
- ISO mounting — Mount ISO files as virtual drives, detect images mounted before the app starts, and eject them from the sidebar
Automatic File Organizer
- Persistent rules — Automatically move files from a source folder to a destination based on file extensions
- Extension presets — Quickly configure rules for documents, images, videos, audio, archives, and executables, or enter custom extensions
- Safe folder monitoring — Existing and newly created matching files are processed only after remaining stable for two seconds; destination conflicts are skipped and existing files are never overwritten
- Protected moves and rule validation — Cyclic rules are rejected, source files are checked before moving, and cross-drive copies are verified before their sources are removed
- Preview and notifications — Preview how many files match a rule before using it and receive batched details about completed moves, conflicts, and failures
Performance & Cache
- Multi-level cache — Memory, disk (SQLite), and GPU textures
- Tag view cache — Persistent metadata cache and paged loading make large Tag views appear quickly without preloading thumbnails or increasing GPU texture cache limits
- Async workers — Background processing keeps UI responsive
- UI virtualization — Efficient rendering of large directories
- Per-folder monitoring — Default
notifycrate watcher with opt-in drive-wideReadDirectoryChangesW
Graphics Backend
The app supports three rendering backend choices, selectable in Settings > General > GPU Backend (requires app restart):
Auto — Vulkan (Default)
- Default backend for the main window on Windows
- Best observed scrolling and thumbnail-upload performance in large media folders
- Uses Vulkan through
wgpuwith aggressive thumbnail memory cleanup tuned for this backend Automode uses Vulkan only. If Vulkan is unavailable on the machine, select the Glow + OpenGL fallback and restart the app
Glow — OpenGL (Fallback)
- Recommended fallback when Vulkan is unavailable or unstable on the machine
- Uses eframe's
Glowrenderer directly instead ofwgpu's OpenGL backend - OpenGL texture uploads can be synchronous on the CPU thread, so the app applies more conservative thumbnail and folder-preview upload limits on this backend
Wgpu — DirectX 12 (Experimental)
- Available for compatibility testing from Settings > General > GPU Backend
- Known limitation DX12: because wgpu creates the swapchain with
FLIP_DISCARD, a brief black frame may flash during the minimize animation on Windows. This is a documented behavior of the wgpu DX12 backend and does not affect functionality. - DirectX 12 is the only backend currently treated as experimental compared with the Vulkan default and Glow + OpenGL fallback
Prerequisites
- Windows 10 or newer, 64-bit — The installer targets x64-compatible Windows systems.
- Microsoft Visual C++ Redistributable 2015-2022 (x64) — Required by the native runtime dependencies. The official Microsoft installer is available at: https://aka.ms/vs/17/release/vc_redist.x64.exe
- Administrator permission during installation — Required to install and start the Global Search Windows Service (
mtt-search-service.exe). - Video codecs for extended thumbnail support — Optional, but recommended for formats not supported by Windows out of the box. See Video Thumbnail Codecs.
The main file manager does not need to run as administrator for normal file browsing and file operations. Elevated permission is needed for the search service because Global Search indexes NTFS/ReFS volumes using low-level Windows filesystem data such as the USN Journal and MFT. Access to those structures is restricted by Windows, so the installer registers a dedicated Windows Service with the required privileges instead of requiring the whole application to run elevated.
Usage
Tags
- Assign tags — Select one or more files/folders, open the context menu, and use the Tag submenu to apply or remove color tags.
- Browse by tag — Use the Tags section in the sidebar to open a virtual Tag view containing every item assigned to that tag.
- Manage tags — Open Settings > Tags to create, rename, recolor, delete tags, and toggle whether the Tags section is shown in the sidebar.
- Resize the Tags section — Drag the divider above Tags to adjust its height; double-click the divider to restore automatic sizing.
- Search with tags — In Global Search, use the Tag filter to show all results, any tagged item, or items matching selected tags.
- Performance behavior — Tag views load in pages and use cached file metadata for fast first paint while thumbnails remain loaded only for visible items.
File Organizer
- Create a rule — Open Settings > Organizer, choose source and destination folders, then select an extension preset or enter a comma-separated list of extensions.
- Preview matches — Use Preview on an enabled rule to check how many files currently match it.
- Enable or disable rules — Enabled rules scan existing matching files and keep monitoring the source folder for new files. Disabling a rule cancels its pending work.
- Handle conflicts — If a file with the same name already exists in the destination, the source file is left in place and the app reports the conflict.
- Prevent rule cycles — Rules that would repeatedly move the same file type between folders are rejected when saved.
Keyboard Shortcuts
Some app-level shortcuts are configurable in Settings > Keyboard Shortcuts. Standard file and folder shortcuts remain fixed.
| Shortcut | Action |
|---|---|
| Ctrl+T | New tab |
| Ctrl+W | Close tab |
| Ctrl+Tab | Next tab |
| Ctrl+Shift+Tab | Previous tab |
| Ctrl+C / Ctrl+V | Copy / Paste |
| Ctrl+X | Cut |
| Delete | Move to Recycle Bin |
| Shift+Delete | Permanent delete |
| F2 | Rename (single file) / Batch Rename modal (2+ files selected) |
| F5 | Reload folder |
| Ctrl+Shift+F | Global search |
| Ctrl+L | Focus address bar |
| Ctrl+Shift+N | New folder |
| Ctrl+Mouse Wheel | Adjust thumbnail size |
| Alt+Enter | Properties |
| Space | Video Preview / Open file with internal viewer (Images,PDF,Text) |
Technologies
| Category | Technology | Version | Purpose |
|---|---|---|---|
| Language | Rust | Edition 2021 | Performance and safety |
| GUI | eframe/egui | 0.31 | Modern immediate-mode GUI (features: persistence, wgpu, glow) |
| GPU Backend (Default) | wgpu Vulkan via eframe | 24.x | Main window uses Vulkan by default for best thumbnail/grid performance |
| GPU Backend (Fallback) | Glow OpenGL via eframe | via eframe | OpenGL fallback when Vulkan is unavailable; requires app restart |
| GPU Backend (Experimental) | wgpu DirectX 12 via eframe | 24.x | Compatibility backend available from Settings; requires app restart |
| Windows API | windows-rs | 0.61.0 | Native Windows integration |
| Video | libmpv2 | 5.0.3 | High-performance video playback |
| pdfium (pdfium-render) | 0.8.37 | Native PDF rendering (requires pdfium.dll) | |
| Database | SQLite (rusqlite) | 0.32 | Reliable persistence |
| Images | image crate | 0.25 | Image processing |
| Archives | zip + sevenz-rust + tar + flate2/bzip2/xz2/zstd | 2 / 0.6 / 0.4 / 1 / 0.5 / 0.1 / 0.13 | Native archive handling for ZIP, 7z, TAR, and compressed TAR variants |
| RAR | unrar | 0.5 | Native RAR handling via the upstream UnRAR source |
| Parallelism | rayon | 1.10 | Parallel processing |
| IPC | Named Pipes + bincode | 1.3 | App ↔ search service communication |
| Service | windows-service | 0.7 | Background indexing service |
| i18n | rust-i18n | 3 | Multi-language support (en, pt-BR) |
Runtime Dependencies
- libmpv-2.dll — Required for video playback
- pdfium.dll — Required for PDF viewer
- Video codecs — Required for video thumbnail extraction (see Video Thumbnail Codecs below)
Diagnostic Mode Privacy Notes
Settings > Diagnosticswrites a privacy-filtered diagnostic file intended for technical troubleshooting with data minimization by design.- The diagnostic file is meant to keep only technical information relevant to application behavior.
- File names, folder names, full paths, search text, and other sensitive or private user identifiers should not be exposed in this artifact. The log file is in plain text, so you can check it yourself to see all info collected and decied for yourself if you want to share or not.
- Nothing is sent automatically outside the application. The diagnostic file stays local unless the user chooses to share it.
- The feature auto-disables after 24 hours and keeps only the latest 10 MiB of filtered diagnostic events.
- This is a technical privacy measure for minimization and safer troubleshooting. It is not a standalone legal certification of LGPD or any other regulatory compliance.
Video Thumbnail Codecs
The thumbnail pipeline uses 3 Windows APIs for video files: Shell API (Stage 3), IThumbnailCache (Stage 4), and Media Foundation (Stage 5). All three require video codecs to be registered on the system.
What works out of the box (Windows 10/11)
- MP4 (H.264/AVC), WMV, AVI — native Windows codecs
What requires installation
| Format | Without codecs | With K-Lite Codec Pack |
|---|---|---|
| MP4 H.264 | ✅ Works | ✅ Works |
| MP4 HEVC/H.265 | ❌ Fails | ✅ Works |
| MKV (any codec) | ❌ Fails | ✅ Works |
| WEBM VP9/AV1 | ❌ Fails | ✅ Works |
| FLV | ❌ Fails | ✅ Works |
Recommended: K-Lite Codec Pack
Download K-Lite Codec Pack (Standard) — includes LAV Filters which register:
- Thumbnail handlers for Windows Shell (enables Stages 3 and 4)
- Media Foundation decoders (enables Stage 5)
- Support for HEVC/H.265, VP9, AV1, MKV, WEBM, FLV, and more
Note: Without the appropriate codecs installed, all video thumbnail stages will fail silently and the file will display a generic icon instead.
Credits
This project includes and builds upon work from the following projects:
- ModernH, by Harkesh Bhatia. Our OSC file originated from this project and is used here with small modifications.
- RTX HDR / RTX VSR toggle gist, by anthonybaldwin. This gist served as an early development reference while experimenting with RTX HDR / RTX VSR behavior in mpv; the current repository implementation has since been reworked independently.
License
Except where otherwise noted, the original code and documentation authored for this repository are licensed under the Apache License, Version 2.0. See the top-level LICENSE and NOTICE files.
Apache-2.0 was chosen because it fits the current Rust stack well and gives a clear attribution baseline: anyone redistributing the Apache-licensed portions of this project must preserve the copyright notice, the license text, and any applicable NOTICE entries. In practice, this lets the project require retention of legal attribution, but it does not force public branding, UI credits, or endorsement for every downstream project.
This repository also contains or redistributes third-party components that remain under their own licenses and are not relicensed under Apache-2.0. Key examples include:
mpv_ui/portable_config/scripts/modernH.luaandmpv_ui/portable_config/script-opts/osc.conf, derived from ModernH and kept under LGPL-2.1.mpv_ui/portable_config/scripts/autoload.lua, copied from upstream mpv tooling and governed by upstream mpv licensing.target\release\libmpv-2.dll, whose redistribution terms depend on the exact binary build shipped.target\release\pdfium.dll, which carries upstream PDFium licensing and notice obligations independent of the Rust bindings.mpv_ui/portable_config/fonts/Material-Design-Iconic-Font.ttf, which has its own upstream asset license.unrar, whose Rust wrapper is permissive but whose embedded UnRAR sources retain the upstream UnRAR license.
The official Windows installer is therefore a multi-license distribution, not an Apache-only artifact. Public redistribution is intended to be allowed when the installer keeps the bundled notices/license texts, the matching source code or source locations remain available, and third-party components are not described as being relicensed under Apache-2.0.
For practical release guidance, see THIRD_PARTY_NOTICES.md and the
third_party_licenses/ bundle. Public installers include that directory, which
contains full license texts, attribution notes, source availability notes, and
release-sensitive binary provenance.
more like this
TachiSnap
TachiSnap — Pixel Snapper for animation pixel artists. Rust + WebAssembly client-side tool for cleaning up AI-generated…
r2
Free open-source Cloudflare R2 desktop client and S3 GUI for macOS, Windows, and Linux. Manage Cloudflare R2, AWS S3, M…
meine
meine 🌒 - A CLI file manager and system utility built with Textual. It combines intuitive command parsing with rich t…