The fastest GUI file manager on Linux.
Keyboard-first. Built for Omarchy.
Install · Views · Performance · Keyboard · Releases
Flea combines a Rust backend with a Quickshell interface that follows your Omarchy theme. Large directories stay responsive: the window loads rows and requests thumbnails as you need them.
- Four views. List, columns, grid and two panes side by side, with tabs and natural filename sorting.
- Quick Look. Press Space for images, PDFs, text, media, 3D model thumbnails and archive contents.
- File operations. Copy, move, rename, trash, compress and extract, with an undo journal. Rename several files in one card. Pasting a folder onto one with the same name merges them, and undo reverts the merge. Opening a script, a program or an AppImage asks first: Run, Run in terminal or Open as text. Properties counts a folder's size and items.
- Tags. Seven tags in your theme's colours, set with
Tand the keys 1 to 7, listed in the sidebar and found withtag:red. - Search. Ranked results replace the listing as you type. Esc returns to the folder and the cursor; Enter keeps the results.
- Network and sharing. SMB, SFTP, FTPS, WebDAV, NFS, Dropbox and Taildrop.
- Devices. USB drives, phones and cameras over MTP, PTP and AFC, mounted from the rail. An encrypted drive unlocks from its rail row and locks again when you unmount it.
- Disk images. Write an ISO or IMG to a USB drive, plain, compressed or inside a zip; Flea reads every byte back to verify it.
- Desktop integration. Default file manager, “Show in folder” and Open/Save dialogs.
- Your settings. Omarchy text sizes, configurable menus and Default, Vim, Mac or Windows keys.
A menu row that cannot act says why beside its label (offline, signed out, no devices), and muted text keeps a 4.5:1 contrast against its background.
An iPhone appears once it has been unlocked and trusted on this machine. AFC then uses the pairing record, so the screen does not need unlocking each time.
Install Flea and make it your default file manager, file chooser and the app opened by Super+Shift+F:
omarchy pkg aur add flea-bin && flea --defaultflea-bin is the tagged release, prebuilt for x86_64 and aarch64 and available minutes after each tag.
Omarchy's own repository reviews, builds and signs flea, a day or more later:
omarchy pkg add flea && flea --defaultInstall one of the two, never both.
Run flea --default in a terminal inside your session: it restarts xdg-desktop-portal, so file
dialogs switch at once. To try Flea without changing your defaults, run only the install.
flea --default off undoes it, and Settings, About switches either way.
Update through Omarchy:
omarchy updateTo switch from flea to flea-bin, run this and answer y when pacman asks to remove flea:
yay -S flea-binFile chooser only, development package and removal
Use Flea for portal Open/Save dialogs without changing your default file manager:
flea --pickerFor the development build, which follows main and compiles on your machine, answer y if pacman
asks to remove an installed Flea:
yay -S flea-gitIt updates with yay -Sua --devel.
Before removing Flea, undo its desktop integration, then drop whichever package you installed:
flea --default off
omarchy pkg drop fleaIf you previously pinned another directory handler, restore that handler explicitly. Installation details cover dependencies, desktop integration and removal.
List for file details. Grid for photos and clips. Columns for browsing folders with a preview beside them.
Two panes show two folders side by side (Ctrl+4). Drag the divider to resize them, double-click it to make them equal, and Flea remembers the split. An optional setting remembers List, Columns or Grid for each folder.
Space opens Quick Look from any view. Page through a PDF, play media or inspect an archive. + and - zoom an image, 0 returns it to fit, and media has a volume track beside its seek bar. Archive contents list for 7z, ISO images and packages, and a password archive asks for its password.
The shelf sits in the Omarchy bar: send files to it from any menu, drag them out into any app, and pin the ones you reuse. Phones are Devices rows over MTP, AFC and PTP.
Dragging moves within one device and copies between devices. Hold Ctrl to copy, Shift to move, or Ctrl with Shift to link through the Paste as links card; Flea reads these keys when the drag starts. A drag into another app offers copy, or move with Shift, or a link with Ctrl and Shift, and that app does the work: Flea deletes nothing afterwards. A terminal gets the path.
Background opacity comes from a theme's shell.toml, or from ~/.config/omarchy/shell.toml for every theme:
[flea]
background-alpha = 0.34Values run from 0 to 1, and the default is 1. The listing, the rail and the bars let the desktop through at that value; text, icons, thumbnails, menus, dialogs and Quick Look stay opaque. With Auto-hide sidebar on, the rail stays opaque, because it opens over the listing.
Measured on 12 October 2026, using the 0.3.10 source tree. Cold caches, 3 runs per app, medians below. 7 GUI apps on the same machine.
| File manager | Version | First window | Settled |
|---|---|---|---|
| Flea | 0.3.10, source 5816ab88 | 505 ms | 1.00 s |
| Dolphin | 26.08.2-1 | 752 ms | 5.07 s |
| Nautilus | 51.0.1-2 | 921 ms | 6.59 s |
| Nemo | 6.6.4-1 | 857 ms | 21.78 s |
| PCManFM | 1.4.0-2 | 448 ms | 33.54 s |
| Strata | v1.0.0 | 588 ms | 1.84 s |
| Thunar | 4.20.10-1 | 518 ms | 19.45 s |
| File manager | Version | First window | Settled | Thumbnails |
|---|---|---|---|---|
| Flea | 0.3.10, source 5816ab88 | 541 ms | 1.83 s | 43 |
| Dolphin | 26.08.2-1 | 733 ms | 13.18 s | 500 |
| Nautilus | 51.0.1-2 | 876 ms | 18.19 s | 641 |
| Nemo | 6.6.4-1 | 842 ms | 1.71 s | not measured |
| PCManFM | 1.4.0-2 | 416 ms | 114.99 s | 700 |
| Strata | v1.0.0 | 656 ms | 3.26 s | not measured |
| Thunar | 4.20.10-1 | 507 ms | 0.93 s | not measured |
Note: Nemo, Thunar: "unranked: nothing reached the thumbnail cache so its work was not measured". Note: Strata: "unranked: its watches saw 0 renders for 86 opened fixture files so neither is a count".
| File manager | Version | First window | Settled | Thumbnails |
|---|---|---|---|---|
| Flea | 0.3.10, source 5816ab88 | 530 ms | 1.77 s | 43 |
| Dolphin | 26.08.2-1 | 747 ms | 13.76 s | 642 |
| Nautilus | 51.0.1-2 | 897 ms | 19.29 s | 641 |
| Nemo | 6.6.4-1 | 862 ms | 3.40 s | 60 |
| PCManFM | 1.4.0-2 | 420 ms | Timed out | 690 |
| Strata | v1.0.0 | 599 ms | 3.45 s | not measured |
| Thunar | 4.20.10-1 | 513 ms | 1.00 s | not measured |
Note: Strata: "unranked: its watches saw 0 renders for 86 opened fixture files so neither is a count". Note: Thunar: "unranked: nothing reached the thumbnail cache so its work was not measured".
| File manager | Version | Window PSS | CPU |
|---|---|---|---|
| Flea | 0.3.10, source 5816ab88 | 80.7 MiB | 0.75 s |
| Dolphin | 26.08.2-1 | 202.6 MiB | 7.67 s |
| Nautilus | 51.0.1-2 | 321.4 MiB | 8.27 s |
| Nemo | 6.6.4-1 | 472.8 MiB | 25.00 s |
| PCManFM | 1.4.0-2 | 123.0 MiB | 23.05 s |
| Strata | v1.0.0 | 130.6 MiB | 1.53 s |
| Thunar | 4.20.10-1 | 358.5 MiB | 19.33 s |
| File manager | Version | Window PSS | CPU |
|---|---|---|---|
| Flea | 0.3.10, source 5816ab88 | 93.6 MiB | 5.04 s |
| Dolphin | 26.08.2-1 | 99.3 MiB | 64.30 s |
| Nautilus | 51.0.1-2 | 176.4 MiB | 114.32 s |
| Nemo | 6.6.4-1 | 45.1 MiB | 1.66 s |
| PCManFM | 1.4.0-2 | 42.0 MiB | 171.36 s |
| Strata | v1.0.0 | 86.3 MiB | 7.61 s |
| Thunar | 4.20.10-1 | 34.2 MiB | 0.90 s |
| File manager | Version | Window PSS | CPU |
|---|---|---|---|
| Flea | 0.3.10, source 5816ab88 | 93.5 MiB | 4.82 s |
| Dolphin | 26.08.2-1 | 102.8 MiB | 68.07 s |
| Nautilus | 51.0.1-2 | 176.4 MiB | 120.73 s |
| Nemo | 6.6.4-1 | 54.7 MiB | 9.38 s |
| PCManFM | 1.4.0-2 | 39.6 MiB | 154.08 s |
| Strata | v1.0.0 | 87.5 MiB | 7.32 s |
| Thunar | 4.20.10-1 | 35.2 MiB | 0.95 s |
"First window" records compositor registration. "Settled" means 500 ms without process-tree CPU activity; neither measures input readiness. PSS covers the window process, excluding helpers and GPU memory. CPU is everything the app started, counted from a control group of its own, so sandboxed thumbnailers are in it. Shared libraries affect PSS. Results describe this machine and workload. Settled time and CPU are not ranked against an app whose thumbnail work was not measured; the notes under each speed table name those apps.
Method · Local CSV · Local manifest · Matched CSV · Matched manifest · Media CSV · Media manifest
Press ? for the full keymap, or , to change settings.
| Action | Keys |
|---|---|
| Move / parent / enter | j k / h / l |
| Open with the default app | Enter |
| Quick Look | Space |
| Select / extend selection | v / Shift + arrows |
| Copy / cut / paste | y x p, or Ctrl+C Ctrl+X Ctrl+V |
| Rename / trash / undo / redo | r or F2 / dd or Delete / z / Ctrl+Shift+Z |
| Tag the selection | T, then 1–7 |
| New folder | Ctrl+Shift+N |
| Search / filter the list | f / / |
| Enter a path, or jump to a folder by name | : or Ctrl+L, then a path or a name |
| List / columns / grid / two panes | Ctrl+1 / Ctrl+2 / Ctrl+3 / Ctrl+4 |
| Next / previous area | Tab / Shift+Tab |
| New tab / close tab / switch tab | t / w / 1–9 |
| Open terminal / context menu | Ctrl+T / m |
| Show hidden files | . |
| Zoom an image in Quick Look / fit | + - / 0 |
The Windows preset uses Ctrl+Shift+1/2/3/4 for views and Ctrl+Y for redo. Menu visibility does not disable shortcuts.
See the full key table for preset bindings and pointer actions.
Requires Omarchy, Quickshell 0.3.1 or newer, and Rust. See installation details for runtime and optional dependencies.
cargo build --release
FLEA_UI="$PWD/ui" ./target/release/flea --guiPass a directory to open it, or --select <path> to reveal a file.
./tests/run-all.shThe headless runner builds both profiles and reports suites that need a display, credentials or a package. The test suites cover file operations, previews, persistence and input; the protocol guide documents the backend.
If this saved you an afternoon, you can sponsor me on GitHub or buy me a coffee.
MIT.





