From: PCMan <pcm...@gm...> - 2011-11-15 18:30:10
|
First, I highly recommend anyone who want to do gtk+ program development to learn Vala. Last week, I finished custom menu actions support for pcmanfm/libfm in one week, with Vala. With Vala, I became much more productive than ever! It's really a nice programming language to work with. The generated C/GObject code is a little bit redundant sometimes. However after compiler optimization, the difference between generated code and hand-written one became insignificant. So, now PCManFM supports most parts of DES-EMA spec proposed by the author of nautilus-actions http://www.nautilus-actions.org/?q=node/377 By default the newly added DES-EMA code does not affect pcmanfm/libfm. If you don't install any action definition files to $XDG_DATA_DIRS/file-manager/actions, it's disabled. So it won't break anything by default. Actually, without touching source code of libfm, we can use DES-EMA support to add "Send To" to popup menus with several *.desktop entry files and simple shell scripts. Now I'm trying to improve the file operations to make them faster and more reliable. This is the most important thing since errors in this part can cause potential data loss. Later I'll try to fix other bugs. Adding Vala support is an important step for future development. The increase of productivity is much more than expected. With Vala, only 1/3 amount of code needs to written compared with plain C. Doing object-oriented programming becomes much easier and code is much more readable than plan C. Besides, Vala does additional type checks and memory checks so coding becomes easier and less error-prone. With vala, doing gtk/gobject programming is of fun again! Cheers! |