A picture is worth a thousands words so again let’s see the screenshot first.
This is the Qt port of PCManFM with desktop management feature turned on. The desktop icons and the wallpaper were painted by PCManFM-Qt, just like the gtk+ version of the original PCManFM. The new Qt port is in a pretty good shape now.
Although it’s not yet ready for production use, it’s almost there. About 85% of the planned features are finished.
Things which do not work or are still work in progress:
No, LXDE will NOT use Qt. Don’t panic!!
It’s just one of my side projects and was an experiment to test how good libfm and Qt are. Since the core library of PCManFM, libfm, is carefully separated from its Gtk+ UI code, theoratically it can be ported to other GUI toolkits. To give it a test, I played with Qt recently. The result is quite satisfactory and impressive. I must admit that working with Qt is quite pleasant.
At first glance, this looks like the original GTK+ version very much. Because I choose “Cleanlook” Qt style, it highly resembles Gtk+ “Clearlooks” theme. Besides, I load the “elementary” icon theme. Though it matches the looks and feels of typical Gnome/Gtk+ programs, this is an 100% pure Qt program.
The most interesting and unique part of the PCManFM Qt port are:
For decades, people from the Gnome/Gtk+ camp and the KDE/Qt camp don’t work each other sometimes. Each of them likes to reinvent the wheel and create functionally equivalent programs with different toolkits. The fact is, technology from both camps can be mixed very well. Qt-based UI sit on top of low level platform APIs from Gnome stack is another good option.
PCManFM Qt, when finished, will be a perfect mix of Gnome libraries + Qt-based UI. I think it’s a good news for who like Qt but don’t want to install KDE.
The source code is available here:
git clone git://pcmanfm.git.sourceforge.net/gitroot/pcmanfm/libfm-qt
It’s still a work in progress and many parts don’t work yet.
If you’re a Qt developer and is interested in helping the development, feel free to contact me.
P.S. Special thanks to KDE developers Aaron Seigo and Will Stephenson. I met them last year during an open source event “COSCUP 2012” in Taipei, Taiwan. They gave some instructions about how to use Qt. Then, I finished the basic skeleton of this port at that night.