{"id":50396065,"url":"https://github.com/mttamurex/mtt-file-manager-rust","last_synced_at":"2026-06-02T00:00:51.074Z","repository":{"id":359809298,"uuid":"1123961313","full_name":"MTTamurex/MTT-File-Manager-RUST","owner":"MTTamurex","description":"MTT File Manager is a Rust-based Windows file manager with tabbed navigation, rich media previews, deep system integration, and instant global search powered by a background indexing service.","archived":false,"fork":false,"pushed_at":"2026-05-30T19:50:35.000Z","size":12186,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-30T21:20:52.752Z","etag":null,"topics":["egui","file-manager","files","git","instant-search","mpv","productivity","rust","windows"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MTTamurex.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"security_verify.ps1","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-28T02:31:43.000Z","updated_at":"2026-05-30T19:40:39.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/MTTamurex/MTT-File-Manager-RUST","commit_stats":null,"previous_names":["mttamurex/mtt-file-manager-rust"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/MTTamurex/MTT-File-Manager-RUST","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MTTamurex%2FMTT-File-Manager-RUST","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MTTamurex%2FMTT-File-Manager-RUST/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MTTamurex%2FMTT-File-Manager-RUST/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MTTamurex%2FMTT-File-Manager-RUST/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MTTamurex","download_url":"https://codeload.github.com/MTTamurex/MTT-File-Manager-RUST/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MTTamurex%2FMTT-File-Manager-RUST/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33798943,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-01T02:00:06.963Z","response_time":115,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["egui","file-manager","files","git","instant-search","mpv","productivity","rust","windows"],"created_at":"2026-05-30T21:01:15.505Z","updated_at":"2026-06-02T00:00:51.048Z","avatar_url":"https://github.com/MTTamurex.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MTT File Manager\n\n**Native Windows file manager** built in Rust with a modern UI, archive browsing, advanced media preview, and Windows integration.\n\n\u003cimg width=\"3839\" height=\"2064\" alt=\"MTT-File-Manager Screenshot\" src=\"https://github.com/user-attachments/assets/b6923890-a12b-4890-b5e0-d794b19d7b3b\" /\u003e\n\n## Key Features\n\n### Interface \u0026 Navigation\n- **Dark / Light theme** — Toggle between dark and light mode in Settings \u003e Appearance; persisted in SQLite, applied to all windows including image, PDF, and text viewers with native title bar support via DWM\n- **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\n- **Tabbed navigation** — Multiple tabs with independent history\n- **Grid and List views** — Adjustable thumbnail sizes\n- **Smart address bar** — Direct path input with breadcrumbs\n- **Sidebar** — Quick access to drives, libraries, OneDrive, and Recycle Bin\n- **Quick Access** — Pin folders via right-click or drag-and-drop; reorder via drag; persistent storage\n- **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`)\n\n### Media Preview\n- **Integrated preview** — View files without leaving the app\n- **Dedicated image viewer** — Separate process with a bounded sliding-window GPU texture cache, hidden-first startup, and multi-threaded decoding\n- **Text viewer** — Separate process for plain text, code, logs, and markup files using the same lightweight viewer runtime as the image/PDF viewers\n- **Video player** — Standalone mpv-based player with D3D11 GPU pipeline\n- **Audio playback \u0026 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\n- **PDF viewer** — Native pdfium-based viewer with bounded texture caching and asynchronous rendering in a separate process\n- **Smart thumbnails** — Multi-stage generation: image crate → WIC → Shell API → Media Foundation\n- **Animated GIF playback** — Animated preview on details panel\n\n### Global Search\n- **Instant search** — Query an in-memory index supporting millions of files\n- **Hybrid volume indexing** — NTFS/ReFS via USN Journal; non-USN volumes via full-tree scan\n- **Background service** — Dedicated Windows Service for continuous indexing\n- **Spotlight-style overlay** — Activated by Ctrl+Shift+F\n- **Paginated results** — Offset/limit pagination with incremental loading\n\n\u003e **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.\n\n### File Operations\n- **Core operations** — Copy, cut, paste, rename, delete\n- **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\n- **Native context menu** — Full Windows Shell context menu integration\n- **Recycle Bin** — Browse, restore, and permanently delete\n- **OneDrive support** — Sync status detection\n- **ISO mounting** — Mount ISO files as virtual drives\n\n### Performance \u0026 Cache\n- **Multi-level cache** — Memory, disk (SQLite), and GPU textures\n- **Async workers** — Background processing keeps UI responsive\n- **UI virtualization** — Efficient rendering of large directories\n- **Per-folder monitoring** — Default `notify` crate watcher with opt-in drive-wide `ReadDirectoryChangesW`\n\n## Prerequisites\n\n- **Windows 10 or newer, 64-bit** — The installer targets x64-compatible Windows systems.\n- **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\n- **Administrator permission during installation** — Required to install and start the Global Search Windows Service (`mtt-search-service.exe`).\n- **Video codecs for extended thumbnail support** — Optional, but recommended for formats not supported by Windows out of the box. See [Video Thumbnail Codecs](#video-thumbnail-codecs).\n\nThe 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.\n\n## Usage\n\n### Keyboard Shortcuts\nSome app-level shortcuts are configurable in Settings \u003e Keyboard Shortcuts. Standard file and folder shortcuts remain fixed.\n\n| Shortcut | Action |\n|----------|--------|\n| Ctrl+T | New tab |\n| Ctrl+W | Close tab |\n| Ctrl+Tab | Next tab |\n| Ctrl+Shift+Tab | Previous tab |\n| Ctrl+C / Ctrl+V | Copy / Paste |\n| Ctrl+X | Cut |\n| Delete | Move to Recycle Bin |\n| Shift+Delete | Permanent delete |\n| F2 | Rename (single file) / Batch Rename modal (2+ files selected) |\n| F5 | Reload folder |\n| Ctrl+Shift+F | Global search |\n| Ctrl+L | Focus address bar |\n| Ctrl+Shift+N | New folder |\n| Ctrl+Mouse Wheel | Adjust thumbnail size |\n| Alt+Enter | Properties |\n| Space | Video Preview / Open file with internal viewer (Images,PDF,Text)|\n\n## Technologies\n\n| Category | Technology | Version | Purpose |\n|----------|-----------|---------|---------|\n| **Language** | Rust | Edition 2021 | Performance and safety |\n| **GUI** | eframe/egui | 0.31 | Modern immediate-mode GUI (features: `persistence`, `wgpu`, `glow`) |\n| **GPU Backend** | wgpu + glow (via eframe) | 24.x / via eframe | Main window uses `wgpu` with HighPerformance preference; image/PDF/text viewers use the lighter `glow` path |\n| **Windows API** | windows-rs | 0.61.0 | Native Windows integration |\n| **Video** | libmpv2 | 5.0.3 | High-performance video playback |\n| **PDF** | pdfium (pdfium-render) | 0.8.37 | Native PDF rendering (requires pdfium.dll) |\n| **Database** | SQLite (rusqlite) | 0.32 | Reliable persistence |\n| **Images** | image crate | 0.25 | Image processing |\n| **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 |\n| **RAR** | unrar | 0.5 | Native RAR handling via the upstream UnRAR source |\n| **Parallelism** | rayon | 1.10 | Parallel processing |\n| **IPC** | Named Pipes + bincode | 1.3 | App ↔ search service communication |\n| **Service** | windows-service | 0.7 | Background indexing service |\n| **i18n** | rust-i18n | 3 | Multi-language support (en, pt-BR) |\n\n### Runtime Dependencies\n- **libmpv-2.dll** — Required for video playback\n- **pdfium.dll** — Required for PDF viewer\n- **Video codecs** — Required for video thumbnail extraction (see [Video Thumbnail Codecs](#video-thumbnail-codecs) below)\n\n## Diagnostic Mode Privacy Notes\n\n- `Settings \u003e Diagnostics` writes a privacy-filtered diagnostic file intended for technical troubleshooting with data minimization by design.\n- The diagnostic file is meant to keep only technical information relevant to application behavior.\n- File names, folder names, full paths, search text, and other sensitive or private user identifiers should not be exposed in this artifact.\n- Nothing is sent automatically outside the application. The diagnostic file stays local unless the user chooses to share it.\n- The feature auto-disables after 24 hours and keeps only the latest 10 MiB of filtered diagnostic events.\n- 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.\n\n## Video Thumbnail Codecs\n\nThe 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.\n\n### What works out of the box (Windows 10/11)\n- **MP4 (H.264/AVC)**, **WMV**, **AVI** — native Windows codecs\n\n### What requires installation\n\n| Format | Without codecs | With K-Lite Codec Pack |\n|--------|---------------|------------------------|\n| MP4 H.264 | ✅ Works | ✅ Works |\n| MP4 HEVC/H.265 | ❌ Fails | ✅ Works |\n| MKV (any codec) | ❌ Fails | ✅ Works |\n| WEBM VP9/AV1 | ❌ Fails | ✅ Works |\n| FLV | ❌ Fails | ✅ Works |\n\n### Recommended: K-Lite Codec Pack\n\n**[Download K-Lite Codec Pack (Standard)](https://codecguide.com/download_kl.htm)** — includes LAV Filters which register:\n- **Thumbnail handlers** for Windows Shell (enables Stages 3 and 4)\n- **Media Foundation decoders** (enables Stage 5)\n- Support for **HEVC/H.265**, **VP9**, **AV1**, **MKV**, **WEBM**, **FLV**, and more\n\n\u003e **Note**: Without the appropriate codecs installed, all video thumbnail stages will fail silently and the file will display a generic icon instead.\n\n## Credits\n\nThis project includes and builds upon work from the following projects:\n\n- [ModernH](https://github.com/HarkeshBhatia/ModernH), by Harkesh Bhatia. Our OSC file originated from this project and is used here with small modifications.\n- [RTX HDR / RTX VSR toggle gist](https://gist.github.com/anthonybaldwin/1e49b28b49babf64f159cb793c506333), 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.\n\n## License\n\nExcept 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.\n\nApache-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.\n\nThis 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:\n\n- `mpv_ui/portable_config/scripts/modernH.lua` and `mpv_ui/portable_config/script-opts/osc.conf`, derived from ModernH and kept under LGPL-2.1.\n- `mpv_ui/portable_config/scripts/autoload.lua`, copied from upstream mpv tooling and governed by upstream mpv licensing.\n- `target\\release\\libmpv-2.dll`, whose redistribution terms depend on the exact binary build shipped.\n- `target\\release\\pdfium.dll`, which carries upstream PDFium licensing and notice obligations independent of the Rust bindings.\n- `mpv_ui/portable_config/fonts/Material-Design-Iconic-Font.ttf`, which has its own upstream asset license.\n- `unrar`, whose Rust wrapper is permissive but whose embedded UnRAR sources retain the upstream UnRAR license.\n\nThe official Windows installer is therefore a multi-license distribution, not\nan Apache-only artifact. Public redistribution is intended to be allowed when\nthe installer keeps the bundled notices/license texts, the matching source code\nor source locations remain available, and third-party components are not\ndescribed as being relicensed under Apache-2.0.\n\nFor practical release guidance, see `THIRD_PARTY_NOTICES.md` and the\n`third_party_licenses/` bundle. Public installers include that directory, which\ncontains full license texts, attribution notes, source availability notes, and\nrelease-sensitive binary provenance.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmttamurex%2Fmtt-file-manager-rust","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmttamurex%2Fmtt-file-manager-rust","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmttamurex%2Fmtt-file-manager-rust/lists"}