QtFM is a simple file manager that aims to provide the basic features of file management through a fast and intuitive interface. It's available for Linux, BSD, and macOS.
QtFM, as its name suggests, uses the Qt (canonically pronounced "cute") programming toolkit. I've worked with the Qt toolkit both in C++ and Python, and using it is always a pleasure. It's cross-platform, it's got multiple levels of useful abstraction so developers don't have to interact directly with vendor-specific SDKs, and it's highly configurable. From a user's perspective, it's a "natural" and fast experience, whether you're on the latest hardware or on an old computer.
There's not much to QtFM. It focuses on being exactly what its name claims: a file manager (FM) for Qt. The layout is what you probably expect from a file manager: a list of common places and devices on the left and a list of files on the right.
It's got just four menus.
File: Create a new file or folder, open a new tab or window, or exit the application.
Edit: Copy, paste, move to trash, or create a new bookmark in the left panel.
View: Toggle between the list and icon views, adjust the layout.
Help: Licensing information, and links to online documentation.
Interacting with QtFM is largely the same experience you're probably used to with any standard-issue file manager. You can click around to navigate, open files in its default application, drag-and-drop files and folders, copy and paste files and folders, launch applications, and whatever else you do when you're interacting with the contents of your computer. It's familiar, so there's basically no learning curve and no unpleasant surprises.
There are, however, several pleasant surprises. Here are three of my favorites.
1. Put a command into a contextual menu
With QtFM, you can add any command you can run in a terminal to the right-click contextual menu. For instance, suppose you want an option to convert an image into the webp format to the right-click menu. There's no complex framework or scripting language to learn, you don't need to develop a plugin. You can do it in just 3 steps:
Go to the Edit menu and select Settings
Click on the Custom actions tab
Click the Add button and enter the command you want to run, using
%ffor the source file and
%nfor the new file
The action now appears in your QtFM contextual menu.
2. Flexible layout
One of the built-in features of the Qt toolkit is that many of its components are ("widgets") detachable. QtFM takes advantage of this and allows you to unlock its layout from the View menu. Once unlocked, you can drag toolbars and side panels, anchoring them in new positions around your window. I was able to combine the menu bar, navigation toolbar, and the URI field into a unified panel, and I placed a file tree on the right side of the window for convenience.
This requires no special knowledge of application design or even configuration. You just unlock, drag and drop, and lock.
3. Tabbed view
Many Linux file managers offer tabs the same way as most web browsers do. It's a simple interface trick that lets you keep several locations handy. I don't know whether it actually saves time, but I always feel like it does. QtFM offers tabs, too, and there are two things I particularly enjoy about the way it implements them.
First of all, the tabs are at the bottom of the window by default (you can change that in Settings.) Because I tend to read from left to right and top to bottom, I usually prefer to have "extra" information at the bottom and right ends of a window. Of course, what constitutes "extra" information varies from user to user, so I don't blame any developer for placing widgets and panels in places I wouldn't put widgets and panels. It's nice, though, when a developer accidentally agrees with my preferences.
Secondly, the tabs are responsive. You can drag a file or folder from one tab into another just by hovering over your target tab. It feels as natural as dragging and dropping from one window to another.
On Linux, your distribution may package QtFM in its software repository. If so, you can use your package manager to install. For example, on Debian and Debian-based systems:
$ sudo apt install qtfm