fman 1.1.2: Progress feedback

After three weeks of hard work, fman 1.1.2 is finally live. Among other things, it implements the fourth most requested feature: Progress feedback for file operations.

fman progress dialog for copying a file

Up until now, there was no progress dialog for instance when you copied a file. That didn't just mean that it was hard to tell what was going on. It also meant that you couldn't cancel file operations once they were started. Pretty embarrassing.

Now, all of the major file operations – copying, moving, deleting files, packing and extracting archives etc. – have nice progress dialogs that give an indication what fman is working on. Further, they're cancelable so you can abort them if you change your mind. Really, it's what you expect from a serious file manager.

There were several other small improvements in this release. As usual, please consult the Changelog to see what else is new.

API changes

Implementing progress feedback required several additions and changes to the API. If you are a plugin developer and have written custom file systems, read on.

The first major change is that the functions touch, mkdir, copy, move, move_to_trash and delete no longer update fman's caches automatically. If you have implemented any of these functions in your custom FileSystem, please call notify_file_added, notify_file_changed and notify_file_removed to let fman know about changes you make.

A second change is that operations for custom file systems now display an "indefinite" progress dialog:

If you want to add more detail to this (and in particular show how many percent of the respective task such as copying has been completed), please take a look at prepare_copy, prepare_move, prepare_delete and prepare_trash.

Finally, you can also define arbitrary operations with progress feedback via fman's API. If you want to do this, please take a look at the Task class.

Michael started fman in 2016, convinced that we deserve a better file manager. fman's launch in 2017 was a huge success. But despite full-time work, it only makes $500 per month. The goal is to fix this.