A fast file manager for Windows with tabs and side-by-side panes.
· English · Русский
Early stage. Rift already browses, copies, moves, searches and previews, and fits into Windows like Explorer does; next up are a winget package and signed binaries. See ROADMAP.md.
- As many panes as you like, split side by side or stacked, each with its own tabs and history
- Drag tabs between panes or to a pane's edge to split it; pinned tabs; reopen closed tabs
- The session (layout, tabs, views, window) comes back after a restart; save layouts as workspaces
- Copy and move between panes: F5 / F6, drag-n-drop, or Ctrl+C / Ctrl+V
- Drag files to and from Explorer, clipboard compatible with Explorer (including Cut)
- Operations panel with progress, pause and cancel; conflict dialog with "do this for all"
- Undo (Ctrl+Z) for copy, move, rename, new folder and delete to the Recycle Bin
- Delete to the Recycle Bin or permanently; browse the Recycle Bin, restore or empty it
- Right-click menu with Rift's actions, plus Explorer's full menu (7-Zip, Git, "Send to", …) under "More options"
- System file icons, Properties and "Open with" dialogs
- Folders refresh by themselves when files change on disk
- Hidden and system files on demand (Ctrl+H)
- Inline rename, new folder
- Sort by any column, resize and pick columns; details, tiles and thumbnail views
- Preview pane for images, text and code, video and PDF thumbnails
- Type-to-filter, recursive search with results in their own tab
- Command palette (Ctrl+K) for commands, recent folders, tabs and paths
- Editable address bar with autocomplete, breadcrumbs, back / forward / up
- Sidebar: pinned folders, quick access, This PC, Libraries, Network, Recycle Bin, drives
- Dark and light themes, custom title bar
- One window: "Open in Rift" and the taskbar jump list (recent folders) open tabs in the running Rift
- "Open in Rift" in Explorer's context menu
- Settings (Ctrl+,): theme (dark, light, as in Windows), accent color, Mica on Windows 11, language, shortcuts
- Tags on files and folders, shown as dots and in the sidebar
- English and Russian UI
Run Rift-win-Setup.exe from Releases: it installs Rift for your user
(no admin rights, no .NET install needed), adds it to the Start menu, and Rift then keeps itself up to date: a new version
downloads in the background and installs on restart (Settings → Updates). To uninstall, use "Apps" in Windows Settings.
Rather not install? Rift-win-Portable.zip runs from any folder and updates itself the same way.
Builds of every commit are in the artifacts of the CI runs.
The exe isn't signed yet, so SmartScreen may warn on the first start: "More info" → "Run anyway".
| Key | Action |
|---|---|
| Tab / Shift+Tab | Next / previous pane |
| Ctrl+Tab / Ctrl+Shift+Tab | Next / previous tab |
| Ctrl+\ / Ctrl+Shift+\ | Split right / down |
| Ctrl+Shift+Enter | Show only this pane / all panes |
| Ctrl+Shift+W | Close pane |
| Ctrl+Shift+T | Reopen closed tab |
| F5 / F6 | Copy / move selection to the other pane |
| Ctrl+C / Ctrl+X / Ctrl+V | Copy / cut / paste files (works with Explorer) |
| Del / Shift+Del | Move to Recycle Bin / delete permanently |
| F2 | Rename |
| Ctrl+Shift+N | New folder |
| Ctrl+Z | Undo (also brings files back from the Recycle Bin) |
| Shift+F10, Menu key | Context menu; Shift+right-click opens Explorer's menu directly |
| Alt+Enter | Properties |
| Ctrl+Shift+C | Copy path |
| Ctrl+H | Show / hide hidden files |
| Ctrl+K, Ctrl+Shift+P | Command palette |
| Ctrl+, | Settings (every shortcut here can be changed there) |
| Ctrl+F, Ctrl+E | Search in this folder and below |
| Ctrl+L, Alt+D, F4 | Edit the path |
| Alt+P | Preview pane |
| Ctrl+Shift+1 / 2 / 3, Ctrl+wheel | Details / tiles / thumbnails |
| Typing in the list | Filter; Esc clears |
| Ctrl+T / Ctrl+W | New tab / close tab |
| Enter, double click | Open |
| Backspace, Alt+↑ | Up |
| Alt+← / Alt+→ | Back / forward |
| Ctrl+R | Refresh |
Dragging: same drive moves, another drive copies; hold Ctrl to copy, Shift to move. Drop on a folder row to put files inside it.
Rift.exe C:\Projects --right D:\Backup- Without paths Rift brings back the last session. With paths it opens exactly those, each as a tab:
bare paths and
--leftgo to the first pane,--rightto a second one. - If Rift is already running, the paths open as new tabs in its window;
--new-windowstarts a separate window instead. shell:MyComputerFolder,shell:RecycleBinFolder,shell:Librariesandshell:NetworkPlacesFolderopen This PC, the Recycle Bin, Libraries and Network.--lang enor--lang ruoverrides the UI language (by default Rift follows Windows).--register-shell/--unregister-shelladd or remove "Open in Rift" in Explorer.
Turn it on in Settings (Ctrl+,), or run:
Rift.exe --register-shellThe item shows up for folders, empty space inside a folder and drives. It's written to HKCU, so no admin rights are needed.
On Windows 11 it's under "Show more options". The menu points to the Rift.exe it was enabled from, so re-enable it after moving the exe.
Needs the .NET 10 SDK. dotnet publish makes a Native AOT build and also needs Visual Studio's
"Desktop development with C++" workload; CI publishes it on every push.
dotnet run --project src/Rift.Appdotnet testTo check speed on a big folder, make one with 100,000 files and start Rift with RIFT_PERF=1: folder loads
and every UI-thread stall over 50 ms go to %TEMP%\rift-perf.log.
powershell -File scripts/bench-fixture.ps1Rift logs what goes wrong to %AppData%\Rift\logs (a file a day, kept for a week). When it crashes, a crash-*.txt
lands there too, and the next start offers to open a GitHub issue with the version and the stack trace; exception
messages and log lines stay out of it because they can name your files. RIFT_TEST_CRASH=1 makes Rift crash on
purpose once the window is up, to try that path.
A v* tag builds the AOT exe, packs it with Velopack (dotnet vpk, pinned in
dotnet-tools.json) and creates the GitHub release with the setup, the portable zip and the update packages;
notes come from .github/release-notes/<tag>.md. To try an update without a release, pack two versions into a folder
with dotnet vpk pack and start the installed Rift with RIFT_UPDATE_SOURCE set to that folder.
scripts/winget-manifest.ps1 -Version <x.y.z> writes the winget manifests for a published release.
- .NET 10, C#
- Avalonia 12 + Fluent theme
- CommunityToolkit.Mvvm
src/Rift.App UI: windows, views, themes, view models
src/Rift.Core logic without UI: folders, paths, history, file operations, undo, localization
src/Rift.Shell Windows integration: shell menus and dialogs, icons, Recycle Bin, clipboard, jump list, Explorer menu
tests/ Rift.Core tests
design/ interactive design mockup (React), open design/preview.html
scripts/ icon and demo files for screenshots
docs/ logo and screenshots
UI strings live in src/Rift.Core/Localization: Strings.resx (English) and Strings.ru.resx.
To add a language, add Strings.<culture>.resx with the same keys and list the culture in Strings.Supported;
a test checks that every translation has every key.
Screenshots are taken on mock files, never on real folders:
powershell -File scripts/demo-fixture.ps1dotnet run --project src/Rift.App -- --left C:\RiftDemo\Downloads --left C:\RiftDemo\Projects\rift --right C:\RiftDemo\Backup --right C:\RiftDemo\Mediapowershell -File scripts/demo-fixture.ps1 -RemoveThe app icon is generated by python scripts/make-icon.py (needs Pillow).


