Skip to content
keyldevPublic

About

A fast file manager for Windows with tabs, split panes, a command palette, previews and full Explorer integration. Built with Avalonia and .NET 10.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

Rift

Rift

A fast file manager for Windows with tabs and side-by-side panes.

Build  ·  English  ·  Русский

Rift, dark theme

Light theme

Rift, light theme

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.

Features

  • 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

Download

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".

Keyboard

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.

Command line

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 --left go to the first pane, --right to a second one.
  • If Rift is already running, the paths open as new tabs in its window; --new-window starts a separate window instead.
  • shell:MyComputerFolder, shell:RecycleBinFolder, shell:Libraries and shell:NetworkPlacesFolder open This PC, the Recycle Bin, Libraries and Network.
  • --lang en or --lang ru overrides the UI language (by default Rift follows Windows).
  • --register-shell / --unregister-shell add or remove "Open in Rift" in Explorer.

"Open in Rift" in Explorer

Turn it on in Settings (Ctrl+,), or run:

Rift.exe --register-shell

The 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.

Building

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.App
dotnet test

To 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.ps1

Logs and crash reports

Rift 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.

Releases

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.

Stack

  • .NET 10, C#
  • Avalonia 12 + Fluent theme
  • CommunityToolkit.Mvvm

Layout

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

Translations

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 and icon

Screenshots are taken on mock files, never on real folders:

powershell -File scripts/demo-fixture.ps1
dotnet run --project src/Rift.App -- --left C:\RiftDemo\Downloads --left C:\RiftDemo\Projects\rift --right C:\RiftDemo\Backup --right C:\RiftDemo\Media
powershell -File scripts/demo-fixture.ps1 -Remove

The app icon is generated by python scripts/make-icon.py (needs Pillow).

License

MIT

About

A fast file manager for Windows with tabs, split panes, a command palette, previews and full Explorer integration. Built with Avalonia and .NET 10.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages