Open beta
Two panes or four, a job queue you can pause and undo, a search that speaks a query language, and a terminal in the same window. For Linux, which never had one — and for Windows, where FileNo raises the bar.
One command on Debian, Ubuntu, Mint and Gentoo · an installer on Windows · Qt comes inside.
Every desktop ships its own file manager, and every one of them stops somewhere: no queue, no undo, no scripting, no terminal — pick the missing half. Windows has had Total Commander and Directory Opus for thirty years; Linux has had nothing to answer them with. That gap is the whole reason FileNo exists.
The most complete file manager anybody has shipped — measured against that whole list at once, and living on Linux. Not a launcher with a file list in it. A workshop.
Nine things a working day reaches for — and the long tail folded just below.
From one to four panes per window, tabs in each with locking, custom names and pairing, dragging between them, and window layouts you can name and recall.
A clickable path with subfolder menus and “ghosts” after going up, back and forward history, the folder tree, places, devices, favourites and collections.
Copying, moving and deleting through a queue with byte progress, rate and time left. Pause one job or the whole queue. Nothing blocks the window.
Mistakes step back with Ctrl+Z. Conflicts show the source next to the target before you decide. The trash follows the FreeDesktop standard, so Files and Dolphin see it too.
Find as you type, a quick filter, and a Find panel whose advanced mode takes a written query — name, size, date, tags, path, rating — through file content and into archives.
ZIP and TAR open like folders. Extraction runs in the background with progress; a selection packs to ZIP. 7z and RAR join in when the system tools are there.
Images, text, PDF, a video frame and an archive's contents in the side panel — plus a viewer the desktop can adopt as its image viewer: zoom, slideshow, hex mode, and edits that save back into the file with Ctrl+S.
Colour labels, star ratings, tags and collections; pane comparison, folder sync, a duplicate finder by content, checksums, splitting and joining, batch renaming with macros.
Preferences apply without a restart, every shortcut is changeable with conflict warnings, and there are as many toolbars as you want — each with its own buttons, edge, icon size and colour — with a command language driving the lot.
The regression suite runs headless, reproduces every fault that has ever been fixed, and has to be green before anything ships.
Messages say what happened, not “something went wrong”. There is an operation log to read back, and deletion into a trash the rest of the desktop can restore from.
On a collision the dialog puts the source next to the target — size, date, path — before you choose Overwrite, Keep both or Skip, once or for every conflict that follows.
Ctrl+Z undoes the last operation and Ctrl+Y puts it back. A permanent delete cannot be undone — and the program says so beforehand rather than afterwards.
The Find panel has a simple mode with fields for the ordinary days. Press Alt+A and it becomes a query you write out, refine, and turn into a tab, a collection or a selection.
name:*.jpg AND size>1M AND NOT path:*copy* (type:Image OR ext:png) AND date>=2026-01-01 rating>=4 AND tag:invoice # fields: name · stem · ext · type · path · size # date · tag · rating · dir · link · hidden
Refine intersects a new query with the results you already have, so a search is a conversation rather than a single guess.
A script can add a command, add a column to the list, react to events, or simply be code you run once. Tools → Scripts… → Install the examples puts four working ones in place.
This one selects the newest n files in the active tab, and arrives as a real command — usable from the command box, bindable to a key, addable to the toolbar.
def OnInit(init): init.name = "Select the newest" cmd = init.add_command() cmd.name = "SelectNewest" cmd.method = "OnSelectNewest" cmd.template = "COUNT/K" def OnSelectNewest(data): tab = data.func.sourcetab count = int(data.func.args.get("COUNT") or 1) tab.select(sorted(tab.files, key=lambda i: i.modify, reverse=True)[:count])
Leave a name and an address — the key comes back to it, free, for your own machines.
One command on Debian, Ubuntu, Mint and Gentoo; an installer on Windows. Qt comes inside.
FileNo asks on first start. Paste, done — release a machine any time from Help → License.
Beta · Python 3 + PySide6 (Qt 6) · Linux and Windows
The installer looks at what the machine has. Where there is apt it fetches the newest .deb and installs it; where there is emerge it adds the Portage overlay and lets Portage build. Same line either way.
Uninstalling is sudo apt remove fileno, or sudo emerge --deselect app-misc/fileno. On Gentoo the USE flags archives, pdf and video pull in 7zip, poppler and ffmpegthumbnailer.
An installer with everything inside it — Python and Qt included. Nothing to set up first, and the same window as on Linux: the panes, the tabs, the tree, the terminal.
On Linux, optional extras the program works without — and says plainly when it is missing one: p7zip-full for 7z archives, poppler-utils for PDF previews, ffmpegthumbnailer for video thumbnails.
Help → Report a bug; the thing you wish it had, through Help → Suggest a feature. Wishes weigh as much as bugs, and reports about lost or damaged data always come first.Nothing. The key is free and covers several of your own machines. You can release a machine at any time from inside the program, under Help → License.
Until 2 August 2027 — the same day for everyone. The beta program stops opening then; your files stay untouched. What comes after is not settled yet, so we promise nothing.
Debian, Ubuntu, Mint and Gentoo with one command, a .deb for other apt systems, and an installer on Windows 10 and 11. Qt ships inside — there is nothing else to install.
The rule is simple: every operation goes through a queue with undo, deletion goes to the trash, and every release passes a headless regression suite. Reports about lost or damaged data always come first.
No. Preferences ships whole layouts: classic dual-pane (Total Commander), GNOME Files, Dolphin and Krusader — and every single key stays changeable afterwards.
And if your fingers learned a different layout, Preferences hands it out whole — classic dual-pane, GNOME Files, Dolphin or Krusader — and every single key stays changeable afterwards.