Built with Qt

fman: The cross-platform, dual-pane file manager that makes you faster, built with Qt and Python!

Are You (f)man Enough?

fman is a dual-pane file manager for Windows, Mac, and Linux. You use it as an alternative to Explorer on Windows or Finder on Mac.

Why would you do that, you ask? Well, fman aims to revolutionize file managers the same way Sublime Text changed what we think of text editors. Just like Sublime Text, fman works across platforms and sports keyboard shortcuts, a dark theme and other recent innovations from the world of text editors. fman's charmingly minimalistic design based on Qt Widgets forgoes graphical bells and whistles to maximize compatibility and speed. 

In short, fman makes you faster at file-related tasks like browsing, copying, renaming or opening files. And we all like speed, don't we?




Another key for success lies in fman's extendability, which is not very present in other file management applications out there. fman's powerful plugin system lets you customize your fman with plugins created by the growing community within the ranks for Python developers. If you feel like giving back, write your own and share them with the community!

Three things really impressed me: I was able to build the first prototype of fman with only 126 lines of code. The Model/View framework is very well thought-out. And Qt's documentation is fantastic.

Michael Herrmann, creator of fman

Evaluate Twice, Code Once

This story is not only about the creation of a brilliant file management tool, it is also a young developer's journey of discovery to find the perfect framework for his project.

Michael needed a cross-platform GUI framework for his Python application that would boast great performance and support for custom styles. After careful evaluation, he chose Qt because it let him "develop a stylable, performant, cross-platform desktop app with minimal effort."

In addition, choosing "the most prominent GUI framework fulfilling fman's requirements" came with numerous advantages, especially with regards to documentation quality, a large community or language bindings.

This choice, says Michael, saved him years. He started off with an OS X version, because the quality of existing tools at the time was the lowest. Thanks to Qt, he could release the Windows version only a month later, most of which was spent on implementing true automatic updates.

Below is a list of frameworks Michael evaluated, and the reasons why they didn't fulfill his requirements. Visit his blog for a more elaborate description of how he picked his desktop application development technology.

Framework runners-up

  • JavaFX / Swing
  • Electron
  • GTK+
  • wxWidgets
  • Tk

Disqualifying criteria

  • Java Virtual machine had too long start-up times
  • Would not achieve the required performance
  • Only limited support for Windows / OS X
  • Very limited support for custom styles
  • Qt has better documentation and a larger community

To help others who want to build desktop applications with Qt and Python, Michael open-sourced fman's build system. He claims it can save you months of development time.

Get the build system

Michael Hermann was born in Vienna, Austria, and has an MSc from the University of Oxford. He has been working on fman since February 2016. Previously, he founded an appointment reminder service for doctors and two test automation tools (Automa and Helium). In his earlier life, he worked for, Austria's largest portal for classified ads. To get in touch with Michael, send an email to michael(at)herrmann(dot)io or follow him on Twitter @m_herrmann.

Wouldn't you rather spend years making money of your killer app, rather than creating it? Do like Michael Hermann and use Qt .

Contact us

Related Cases