Various Rants

= File Managers =

I wonder what is wrong with the developers of open-source file managers. Most of them neglect the basics.

When evaluating a file manager, my checklist is as follows:


 * It should be able to display 2 directories on the same window, like Norton Commander did.
 * Compressing and decompressing zip files should be easy.
 * Whether it is portable (Linux, Windows, Mac).
 * It should not litter visited directories with automatically-created files. For example, Microsoft Windows tends to create thumbnail cache files named thumbs.db, and KDE's Dolphin creates little .directory files.
 * Ctrl+L should take you to the text field where you type the current path. Every body follows this convention: Dolphin, Firefox, Google Chrome, even Microsoft Internet Explorer.
 * The text field with the current path should implement autocompletion. Instead of offering just the one closest file or directory name, all possible names should be presented in a drop-down list, like Firefox does. The offered items should be matched in a case-insensitive fashion.
 * You should be able to search for files recursively with a case-insensitive text filter.
 * There should be a way to define your own commands (calling shell scripts on selected files or directories) without manually editing configuration files.
 * It should scale cleanly on HiDPI displays.
 * I just want a file manager. It should not take over repainting my desktop icons, and it should not require big dependencies from some desktop environment I do not want.
 * It should be properly maintained and have a working mailing list and bug tracker. As a bonus, the project should list its more prominent shortcomings. I don't see why my users should have to learn about long-known problems themselves.
 * It should not be developed in a multithreaded manner. It is very hard to get multithreading right, so you end up with occasional hangs and crashes. Besides, maintaining such software is very hard. A file manager should not need much CPU performance, so a single thread should suffice. If a remote PC becomes unresponsive, the file manager should not hang until the connection times out, but this should be coded as asynchronous operations on the main thread. At the very least, interaction with the UI toolkit should be single threaded. Most UI toolkits are not thread safe. For example, GTK+3 is no longer thread safe, so anybody porting a multithreaded application from GTK+2 has a problem.

All file managers I know not only fail several of these criteria, but they also come with weird quirks. And I have tried many of them: Nemo, Caja, Xfe, Double Commander, muCommander, trolcommander, GNOME Files / Nautilus, GNOME Commander, Krusader, Tux Commander, Worker, Thunar, SpaceFM, PCManFM, Gentoo File manager and even rox-filer.