Open source · MIT / Apache-2.0

Gather every file in two panes.

Procyon (PROH-see-on) — Latin for raccoon — is a keyboard-first dual-pane file manager. Local folders, archives, and SSH hosts share one pane-wise workflow, powered by a Rust operation engine and a virtualized table that holds its own at a million entries.

Alpha desktop builds for Windows, macOS & Linux

Procyon running in a window: dual panes, directory table, operation centre and command palette
Keyboard-first · F2 rename F3 view F4 edit F5 copy F7 folder · ⌘P palette ⌘\ terminal Space select · ⇧* invert ⌘L path
2
panes, as it should be
1,000,000
virtualized rows — benchmarked
3
runtimes, one codebase
0
accounts needed — local-first
01 · Core

Everything a dual-pane file manager should do — with keyboard in hand.

Every mutation runs through the Rust operation engine. No filesystem writes from the UI, ever.

Virtualized dual-pane table

Only visible rows render, so a million-entry directory stays fluid. Draggable splitter, per-pane tabs, breadcrumb path bar, sortable columns with a git-status badge, and Ctrl/Cmd+L path editing.

Tab⌘L

Copy, move, duplicate

Single files and whole trees stream through conflict-safe copy and move. Shared-destination checks kill accidental writes before they start.

F5⌘C · ⌘V

Trash, not regret

Move to the OS Trash or Recycle Bin by default, then safely undo it. Permanent delete stays one deliberate, confirmed step away.

⌘⌫

Rename & multi-rename

Inline F2 editing plus a batch tool with search/replace, prefix/suffix, sequence and case — live preview before you apply.

F2

Total-Commander-style selection

Cursor and selection stay independent, keyed by stable IDs. Invert, select-by-mask, range select, and type-to-select prefix matching.

Space⇧*

Tabs, favourites, workspaces

Multiple tabs per pane, bookmarks and recent locations, saved workspaces that restore your layout — plus an Alt+F10 directory-tree sidebar with lazy expansion across every provider.

⌘TAlt+F10
02 · Find & open

Search, filter, preview, edit — without leaving the keyboard.

Recursive & content search

Deep filesystem search plus literal content search across files, served by a dedicated Rust search engine.

⌘F

Command palette

Fuzzy-search every action — built-in and plugin-provided — with shortcuts, availability, and parameter prompts.

⌘P

Office & large-file viewer

Open huge text files with lazy search, preview DOCX and PPTX documents, or explore bounded spreadsheet sheets with filtering, formulas and three-state sorting.

F3 viewF4 edit

Browse & mutate archives

Preview an archive's contents, then open zip, tar and friends like folders — browse, extract and add files, including password-protected archives.

Enter

Drag in, drag out

Drag between panes, onto tabs, or into Finder and Explorer. Native drops queue through the same conflict-safe engine.

Opt+drag

Themeable file icons

Themeable icon sets with optional native macOS file-icon overlay, shipped as distributable plugins.

Catppuccin
03 · View & edit

Read it, edit it, preview it — in place.

The F3 viewer opens huge files instantly with lazy search. It also renders bounded DOCX, PPTX and spreadsheet previews without loading an entire document into memory.

Spreadsheet sheets open as compact tables with worksheet tabs, filtering, formulas, optional row numbers and sortable columns. The F4 editor edits text in-app with a Markdown preview pane.

Grid/icon view adds three icon sizes, photo-day grouping and type filtering, with image, video, PDF and CBZ/CBR thumbnails served by the backend.

The Properties dialog shows byte-precise sizes, timestamps and permissions — and aggregates totals across a multi-selection. On macOS, Finder tags and Spotlight comments round-trip with Finder itself.

F3Instant large-file viewer with lazy search
.xlsxBounded worksheet preview with filtering and reversible sorting
F4In-app editor with live Markdown preview
⌘IProperties dialog with multi-selection totals
Procyon showing a Markdown file in the F4 in-app editor with a rendered preview pane
F4 in-app editor with Markdown preview
Procyon in-app text editor open on a source file
F4 integrated editor — no external app needed
04 · Operation engine

Jobs you can steer.

Long-running work is a bounded Rust scheduler, not a spinner. Each copy, move, rename or delete is a typed job with lifecycle, progress and a smoothed transfer rate — cancellable, pausable and resumable at safe boundaries.

Conflicts resolve up front with ask, overwrite, rename-new or skip. Completed renames, moves, copies, duplicates and recoverable trash operations carry fingerprint-guarded undo plans, so later edits are never overwritten or deleted.

Pause / resume Cancellation Preflight checks Idempotent retries Safe undo
⌘PInspect every running, queued and failed job
PausePause or cancel from the Operation Centre — partial progress is always summarised
F5Copy one file or a whole tree to the other pane
05 · Remote

Your servers, one pane away.

SFTP and FTP/FTPS roots live beside local folders in the same two-pane engine — copy local ↔ remote and remote ↔ remote streams through the exact same operation jobs, with server-native rename when both sides share a connection. Session pooling keeps transfers moving, and remote change tracking keeps the view honest.

Host keys are never auto-accepted: a changed key becomes a visible status you must explicitly confirm. Credentials stay as opaque references in your macOS Keychain or Windows Credential Manager, never in the profile itself.

The embedded terminal drawer opens a real remote shell over SSH for any location backed by a connection — no window hopping.

Host-key verification. First use and every change surface a fingerprint probe before connect.
SSH terminal. Ctrl+` / F12 spawns a shell in the remote's directory.
FTP / FTPS. Passive FTP and explicit FTPS providers flow through the same engine.
Server favourites. Cloud, network and SSH locations surface under grouped favourites — no credentials for OS-exposed folders.
Procyon with the embedded SSH terminal open in the drawer, running commands inside the remote directory
Ctrl+` embedded SSH terminal in the remote's directory
dev-prod sftp://procyon@dev
~/srv/wwwindex.html · assets/key verified
~/releasesv0.2.0.tar.gzkey verified
staging sftp://deploy@staging.int
/var/wwwroothost key unverified
/opt/applogs/host key unverified
CLOUD — iCloud DrivemacOS · no credentials neededlocal
06 · Plugins

Extend from inside a sandbox.

Plugins declare a manifest and a permission set, then contribute actions, columns and icon themes from a restricted Lua sandbox — resource-limited, diagnostics-bounded, auto-disabled after repeated failures.

Copy Markdown Path

Turns the current path into a clickable [text](path) link on your clipboard.

contrib · action
File Age Column

Adds a host-rendered column that shows how old each entry is, sorted by raw modification time.

contrib · column
Catppuccin Icons

A distributable icon theme layered over the default set, switchable from the plugin manager.

theme · icons
Designed by contract.

Plugin actions register in the same action registry as built-ins, so they arrive in the command palette and context menus automatically — with permission checks and isolation handled by fm-plugin-runtime.

07 · Platforms

Desktop builds for Windows, macOS and Linux.

Windows and macOS have native desktop integration. Linux ships as both a Debian package and portable AppImage, with the same file-management core and fewer platform-specific integrations.

macOS Full

Native file iconson
Trash / Recycle Binon
Reveal + Open terminalon
Finder tags & Spotlight commentson
Native menu baron
$brew install --cask procyon
Tap erikvullings/tap first — or install the unsigned alpha DMG directly.

Windows Available

Native file iconson
Trash / Recycle Binon
Reveal + terminalon
Native menu bartodo
Unsigned alpha installers. Chocolatey availability currently trails the latest release.

Linux Available

Tauri desktop + browser coreon
Archive + SFTP providerson
Native desktop integrationpartial
In-memory credential fallbackpartial
$sudo apt install ./Procyon_0.1.0-13_amd64.deb
Unsigned x86-64 alpha builds.
08 · Open source

A gatherer you can trust enough to read.

Procyon is built from a Rust workspace — Axum server, Tauri 2 desktop shell, VFS providers for local, SFTP and archive storage — with a Mithril + TypeScript frontend. One OpenAPI contract drives the HTTP client, the desktop IPC and the mock runtime from a single definition.

Work is tracked task-by-task in the repo, milestone against milestone. The dual MIT / Apache-2.0 license keeps it usable anywhere you please.

fmtcargo fmt + clippy -D warnings gate every change
testRust, frontend and script suites run on macOS, Windows and Linux CI
apiChecked-in OpenAPI document — reject if the generated client would drift
Repositorygithub.com/erikvullings/procyon
LanguageRust · TypeScript · Mithril
ShellTauri 2 + Axum
Cratesfm-operations · fm-vfs · fm-search
Statusv0.1.0-13 · alpha
MIT Apache-2.0  dual-license
Ready to gather?

Two panes. Every file.

Free, open source, and local-first. Install it, connect a server, and let Procyon do the gathering.