manycommander

for the Omarchy terminal

Two panels. Your theme. Nothing half-written.

A keyboard-driven, dual-pane file manager in the Total Commander tradition. It lives in your terminal, wears the active Omarchy theme, and opens archives, SFTP servers and pictures as panels.

Install Docs Source

  • Rust
  • one static binary
  • MIT or Apache-2.0
  • no daemon, no telemetry

install

Step 1 of 3: the binary, with mise, which Omarchy ships.

mise use -g github:manyfold-dk/manycommander
  • checksum checked
  • build provenance attested
  • updated by omarchy update

This installs the binary only; it binds no key. Step 2 puts Super+E in your Hyprland config, one line, and step 3 presses it: set up in three steps.

Any Linux distribution with kernel 6.8 and glibc 2.34 or later, on x86-64, in a truecolor terminal. Without mise, install a release by hand or build from source.

manycommander with a Rust project in the left panel and a Downloads folder in the right panel

Two panels with tabs, marks, a command line and the F-key bar, in the Omarchy theme you run. The keymap

02 / see

Archives, servers and pictures,
as panels.

Anything that lists like a directory opens like one, with the same keys.

archives

The archive git-x86_64.pkg.tar.zst open at /usr/bin in the left panel, with git and scalar marked

Enter opens a zip, tar, .pkg.tar.zst or 7z archive as a read-only directory.

Browse it with the usual keys, view its members, and extract what you mark with F5. Nothing ever writes into an archive.

sftp

sftp://user@example.org/srv/www open in the left panel

cd sftp://host/path opens a server through your own ssh.

Your config, keys, agent and ProxyJump apply unchanged. F5 uploads and downloads; on a server with hard links, an upload never shows a partial file, and a server without them gets direct writes.

quick view

The quick view of alpine-lake.png: a mountain lake at dusk drawn in the right half of the screen

Ctrl+Q shows the picture under the cursor beside the list.

Kitty graphics, Sixel or halfblocks, whichever your terminal speaks. Everything else gets an info card with its first lines.

live theme

It wears the active Omarchy theme and recolours the moment you switch.

No hook to install, nothing to configure; light themes work as they are. Pick a theme above and watch the panels follow.

03 / trust

A file you can see
is complete.

Every copy, move and delete is written so that a crash leaves nothing half done.

safe copy and move

The File exists dialog for mountains.jpg, with the choices Overwrite, Overwrite all, Overwrite all older, Skip, Skip all, Rename and Cancel job

On ext4, btrfs and xfs, a copy or a move never leaves a half-written file behind.

A copy is written under a temporary name and renamed into place. An overwrite replaces the old file atomically. A move across filesystems deletes the source only after the copy is flushed, so a crash can leave a file in both places, never in neither. A filesystem without hard links or RENAME_NOREPLACE, such as some FUSE mounts, gets direct writes.

trash

F8 moves to the freedesktop.org trash, the one Nautilus and gio use.

Restore from either. It never copies across filesystems. Deleting for good is Shift+F8, and it waits until you type delete.

measured

first frame
13 ms
100,000 entries listed and sorted
121 ms
p99 key-to-screen during a 10 GiB copy
1.5 ms

Release build on the reference laptop, NVMe, warm cache, from the latest run in the benchmark log. Every release since the first lies within run-to-run noise of the one before. Not a promise for every machine.

in your terminal

One static binary. No daemon, no toolkit, no telemetry.

It runs wherever a terminal does, over ssh and inside tmux, and opens no connection except the server you cd to.

set up in three steps

  1. Install the latest release with mise, which Omarchy ships; the same command as above. mise checks the download against its checksum, and omarchy update keeps it current. It installs the binary only.

    mise use -g github:manyfold-dk/manycommander
  2. Bind it in ~/.config/hypr/bindings.lua. focus = true brings a running window forward instead of opening a second one.

    o.bind("SUPER + E", "File manager (dual pane)", { tui = "manycommander", focus = true })
  3. Press Super+E. The left panel opens in the working directory and the right one in your home; after that, every start restores your last tabs.

Launch options and arguments · The install guide

04 / questions

Before you install.

The questions the keymap does not answer.

Does it need Omarchy?

No. It runs on any Linux distribution with kernel 6.8 and glibc 2.34 or later, so Ubuntu 24.04, Debian 13, Fedora 40 and their successors as well as Arch, in any truecolor terminal; it needs no library beyond glibc. The kitty keyboard protocol, which Ghostty, foot, Alacritty and Kitty speak, adds the Ctrl+M and Ctrl+1 to Ctrl+9 chords; kitty graphics or Sixel add sharper pictures than halfblocks. The live theme reads Omarchy's palette. Elsewhere, --theme-file points it at any colors.toml, and without one it uses the terminal's own colours. The Hyprland binding above is Omarchy's way to launch it; any other desktop binds a terminal command its own way. Other palettes and fallbacks

How is it different from a desktop file manager?

It is a terminal program. It starts at once, runs over ssh and inside tmux, and takes the keys your hands know from Total Commander and mc. There is no icon grid and no drag and drop; it shows one picture at a time, in the quick view, and lists everything else as text you can filter, mark and act on.

I know Total Commander or mc. What carries over?

The two panels, Tab between them, Insert to mark, the F-keys from F3 view to F8 delete, Alt+F7 to find, Ctrl+D for the directory hotlist, Ctrl+M for multi-rename, and a command line under the panels. F1 inside the app shows the whole keymap. The keymap

Why Linux 6.8 or later?

The guarantees rest on four kernel features: statx mount IDs to tell filesystems apart, renameat2 for an overwrite that never truncates, copy_file_range for copies the filesystem can accelerate, and syncfs error reporting, so a move across filesystems deletes its source only after the copy is known to be on disk. The project tests on 6.8 and later, where statx reports the unique mount ID. The same calls exist from Linux 5.8 on, with the older reusable mount ID, and the program makes no version check; that path is not verified yet, so the promise stops at 6.8. Durability

Is there an aarch64 build?

Not yet. Every release carries one binary, for Linux x86-64; an aarch64 release is planned. Until then, build from source with cargo; the code has no x86-64-only parts, but the project tests x86-64 only. Build from source

What does "nothing half-written" mean in practice?

A file you can see under its real name is complete. A copy is written under a temporary name and renamed into place; an overwrite replaces the old file in one step; a move across filesystems keeps the file in at least one complete place at every moment. That holds on ext4, btrfs and xfs. A filesystem without hard links or RENAME_NOREPLACE, such as some FUSE mounts, and a server without hard links, get direct writes instead, and the app says so. What each operation guarantees

Does it phone home?

No. manycommander opens no network connection except the SFTP server you cd to, through your own ssh. It has no update check and no telemetry; omarchy update and mise handle updates. This site loads nothing from a third party and sets no cookie; a theme you pick here stays in your browser's local storage.

Where is the AUR package?

Not published yet. Each release builds and checks the package manycommander-bin, but the AUR accepts no new accounts at the moment, so the project has no account to publish it from. On Arch, install with mise or a release. The AUR

How does it compare with mc, ranger, yazi, nnn and lf?

A table in the docs reads each project's own documentation for the things manycommander does differently: the two panels and F-keys, archives and servers as panels, the copy and trash guarantees, and the live theme. Compared with other terminal file managers