PCManFM Roadmap

From LXDE.org
Jump to: navigation, search
Outdated icon.svg This page is outdated and is only kept for historical reference.

Here is a TODO list of the next generation PCManFM. The goals are already set, and the development began in June, 2009.

Port to gio/gvfs

The latest glib/gio will be used in the future in a judicious way. People think that gio/gvfs is much heavier. However, we'll do our best to preserve the original performance and memory footprint of PCManFM. "I believe that I can do that." (PCMan)

A separate glib/gio-based vfs library

A separate desktop independent lib called libfm is created for this purpose. After the development is finished, it will be used as the core part of PCManFM. Then the source code of PCManFM itself can be simplified then be move into LXDE repository. It will be separated in sevearl parts

A non-GUI core lib providing file management facilities. Can be used in many different desktop programs.
A lib providing file manager-related gtk+ widgets useful for file managers or similiar programs.
A lib used for overriding the file chooser dialog of gtk+ with LD_PRELOAD. Providing a more advanced and faster file chooser dialog based on libfm-gtk.

The libfm project is now hosted on SourceForge.net: libfm releases

The project is in its very early stage, but you can monitor the progress here: cia.vc/stats/project/libfm

A stripped down, gnome-free fork of gvfs

Because gvfs has many gnome dependencies, we would like to fork gvfs, and developed a gnome-free version named gvfs-lite. If it couldn't be totally gnome-free, we'll do our best to eliminate most gnome dependencies. This will be part of libfm and hosted in its repository. The volume management part will need to be hacked to remove the hard-coded gnome-mount. Maybe gnome-mount can be copied into this project, with most gnome dependencies removed.

Access to remote filesystems

Of course, this will be available after shifting to glib/gio/gvfs.

Trash Can support

Of course, this will be available after shifting to glib/gio/gvfs.

My Computer

The URI scheme computer:/// will be supported since glib/gio/gvfs is used. Can disk management facilies be integrated?


This part might be handled differently from gtk+/gnome. Maybe integration with KDE bookmarks can be considered?

Application launching

This part will be handled with gio/GDesktopAppInfo. However since gnome-terminal is hard-coded in glib/gio, which is very bad, we'll need a wrapper script named gnome-terminal to override it's behavior and launch the terminal emulator we want.


  • Apparently, current thumbnail support has some serious bugs and it suffers from racing condition. So sometimes thumbnails fail to load.
  • Thunar works well in this area by extracting existing thumbnail in jpeg files' EXIF.
  • This part needs to be reworked.
  • Need to have a mechanism to clean old, rarely used thumbnails on idle.

Desktop icons

  • Moving desktop icons is actually possible. Most of the code is already in the svn repo, but it's turned off. Mechanism used to save/restore the icon positions need to be established first. And, how should the FM behave when a new file is added to desktop? Where should it be put if auto-sorting is turned off and customized icon positions are used?
  • Virtual items like "My documents" and volumes should be hidden if the users don't want them.
  • Show removable media (volumes) on desktop.

Volume management

This will be done via gio/gvfs. Auto-mounting should be implemented later.

Popup menus for files

  • Rework the popup menus with GtkUIManager.
  • Custom actions for file types can be done with desktop entry files in specific folder, and the layout in menu can be done with GtkUIManager.


Due to the promotion of Freedesktop.org, GNOME, KDE, along with the major distros are shifting to PolicyKit and deprecate the use of old school 'sudo' and gksu things.

  • Some study needs to be done to understand how to use PolicyKit in LXDE.

Find Files