PCManFM Qt port is 85% finished now!

A picture is worth a thousands words so again let’s see the screenshot first.

PCManFM Qt with desktop manager turned on

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.

What already works:
  1. Nearly all folder browsing features
  2. Change icon theme
  3. Preferences dialog (most options work)
  4. Load/save settings
  5. Single instance + dbus service
  6. Command line options
  7. Desktop icon manager: enable with “pcmanfm-qt –desktop”. You can add “pcmanfm-qt –desktop” to the startup script of your desktop environment/window manager.
  8. Change wallpapers via “Desktop Preferences” dialog
  9. Mount remote filesystems and removable devices (requires gvfs)
  10. Split into pcmanfm-qt and libfm-qt library.
  11. Install libfm-qt header files to /usr/includ/libfm-qt along with a pkgconfig file, so later libfm-qt can be used in other Qt programs
  12. Most file operations, move/copy/symlink/trash/rename, change file attributes in the file properties dialog.
  13. Basic drag and drop support (very basic)

Things which do not work or are still work in progress:

  1. Create new folders/files
  2. Edit bookmarks
  3. Auto-mount/auto-run for removable devices
  4. No thumbnail support yet. (This may require some changes of the upstream libfm library)
  5. No ABI version (libtool soname not set yet)
  6. No translations yet (Qt Linguist and the *.ts files are hard to work with and lack features I need, I consider using GNU gettext instead)
Also noted that the git repository is now moved to:
The original libfm-qt repo will be removed later.
The binary program pcmanfm-qt and the library libfm-qt.so are bundled in the same package.
Please help test and give some comments.
If anyone is interested in helping the development, patches are welcomed.
Thank you!

PCManFM file manager is ported to Qt?

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.

Everybody loves screenshots so here is one.

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:

  1. No KDE dependency. Really, it’s a lightweight pure Qt4 program.
  2. Almost as fast as the original Gtk+ version. I have not taken any time to do optimization yet. It’s possible to make it faster after optimization.
  3. Uses Libfm + glib/gio, and supports gvfs. So you can mount remote filesystems.
  4. Source code is clean and short, written in C++.
  5. Desktop independent, do not depend on any specific desktop environment (although it uses glib/gio/gvfs, it does not require Gnome)
  6. Built with cmake. No more autotools.
  7. Later, when the APIs becomes stable, I’ll make it two parts, PCManFM main binary and libfm-Qt, which can be used in other pure Qt programs.

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.

Important bug fix release for menu-cache 0.4.1!

Just days since the last release and here I am again prodding about menu-cache. Release early, release often in real life =)

All changes was there but one file was missing in the generated tar file we distribute. Sorry.

No real changes are available in this relase if you pull and use git, but the old tar file linked in the old post is just botched.

menu-cache-0.4.1.tar.gz, sha1sum: ca79049f9cab6d5099a8ab03584dc44bdc35a7c4

menu-cache 0.4.0 released!

The backend library to read freedesktop.org application menu files has been released updating important aspects.

  • The libmenu-cache is made thread-safe. Thread-unsafe APIs are marked as deprecated now and should be never used in any multithreaded application.
  • Added creation of HTML developers documentation. It is triggered by configure script option –enable-gtk-doc.
  • The libmenu-cache is made more responsible by moving some time-critical operations into thread. Also it preloads saved cache file if it exists so it is available near instantly after menu_cache_lookup(). Caller still will get updates by adding notifier to the cache.
  • Added automatic shutdown of menu-cached server after some inactivity timeout (i.e. all clients were unregistered).
  • Fixed few memory problems (referencing errors and memory leaks).
  • Fix for bug #3501347: use g_get_tmp_dir() instead of hardcoded “/tmp”.
  • The libmenu-cache ABI bumped to 2.

menu-cache-0.4.0.tar.gz, sha1sum: f853d195cde1209873cc1f11bc401cce2cbef2f6

UPDATE: The release tar file is missing a file! Do not use it, grab 0.4.1 instead (or rather use the git repository).

changelog
df0e231 – Update for NEWS file.
bf741d1 – ABI bump 1 -> 2.
89aa5d8 – Source documentation: enums for MenuCacheItem.
2823f05 – [#3501347]g_get_tmp_dir() should be used instead of hardcoded “/tmp”.
35c4abe – Fix: memory leak in menu_cache_unref().
8b046bf – New thread-safe API menu_cache_dir_list_children().
3899a74 – Always do cache reload in default main loop.
9e5f0e1 – Fix: –enable-debug doesn’t affect libmenu-cache compilation.
9ccbff2 – Don’t recreate cache if nobody listen for reloads.
d134e6c – Fix on server starter in libmenu-cache: it may get ENOENT.
a7002ac – Fix on test for separator in cache file parser.
d3089bd – Fix for compilation with DISABLE_DAEMONIZE.
fab90d5 – Corrections on GIOChannel handling.
e528621 – Test g_source_is_destroyed() in timeout handler is very welcomed.
c423cfe – Cosmetic changes (indentation, source text formatting).
b9c2816 – Changed cache referencing completely.
8edebe4 – Use GCancellable in connection process too.
a630e77 – Addicg GMutex to avoid parallel connect from different threads.
44ed600 – Use GCancellable on cache file read operations.
b03ac65 – Load cached file first if available.
2dd8924 – Loading cache better be started in thread.
b839830 – Avoid launch of duplicate menu-cached in case of errors.
08a0127 – A little optimization on casts MENU_CACHE_DIR(dir) in _dup_ APIs.
b3f7561 – Change for lock since parent member of MenuCacheItem isn’t protected by reference.
fa16c31 – Change for lock since items in hash aren’t protected by reference.
6192475 – Fixes for all compilation warnings.
d60060e – Fix for memory leak on cache loading error.
f647b41 – Adding documentation in sources for gtk-doc processing.
380c917 – Adding missed ‘static’ keyword for few definitions.
063a9d9 – Add gtk-doc documentation handling into source tree.
02901b0 – reload_notify should be called always on idle to be thread-safe.
2bbec57 – Notifier should use not gpointer but some specific data.
0fd928d – Added three thread-safe API replacements for thread-unsafe APIs.
908a1ee – Added a common lock for thread safety.
0adf7a8 – Eliminated all compiler warnings in libmenu-cache.
9ac8975 – Removed redundant parameters from ADDITIONAL_FLAGS.
fbead80 – Non void function should return something

PCManFM 1.1.0 and libfm 1.1.0!

Double release!?
We made a poop here. First we pushed 1.0.2 of PCManFM and libfm, that was busted and needed an adjustment. At the same time we debated the version numbering things and as we had to do a new release we decided to bump the version number to hilight the fact that there are hundreds and hundreds of changes in these two releases. 1.1.0 is more like a bug fix to the 1.0.2 but also bumps the version. Happy file managing everyone =)

PCManFM

Main changes in PCManFM 1.1.0 (since 1.0.1)

  • Corrected underscores (mnemonics) on every menu and dialog.
  • Migrated to new libfm APIs for simplification.
  • Fixed GTK+ 3.0 compatibility problems. Added switch –with-gtk=N to configure script where N is GTK+ version: 2 or 3. Default is 2.
  • Added option ‘Treat backup files as hidden’ into ‘Display’ tab of the preferences dialog and ‘Use Application Startup Notify by default’ into ‘Advanced’ tab. Both have effect with libfm 1.0.2 or newer.
  • Added rintime option ‘–new-win’ to open new window instead of new tab when started with some directory name.
  • Added runtime option ‘–role’ to set WM_WINDOW_ROLE property which can be used by window manager to do arrangement of window. Works only if option ‘–new-win’ is also used.
  • Added search engine support. Works if compiled with libfm-gtk >= 1.0.2.
  • The items which cannot act (such as “Copy” when no items selected) now are disabled in menu and toolbar.

libfm

Main changes in libfm 1.1.0 (since 1.0.1)

  • Added ‘no_usb_trash’ option into config file, defaulted to 0, which defines whether skip trashing files on removable media or not. If defined to skip then files will go into “trash-unsupported” and user will be asked by fm_file_ops_job_run_with_progress() to remove them instead.
  • Added ‘no_child_non_expandable’ option into config file, defaulted to 0, which adds feature to hide expanders on non-expandable rows so no extra ‘No Sub Folder’ rows are shown. No automation on that is done still since it may be expensive sometimes.
  • Corrected underscores (mnemonics) on every menu and dialog.
  • Fixed GTK+ 3.0 compatibility problems. Libfm can be compiled with Gtk 2.18 … 3.x and Glib 2.22+ currently (if glib < 2.26 or vala < 0.13 still requires run configure –disable-actions). Added new switch to configure script –with-gtk=N where N is GTK+ generation to be used, may be either 2 or 3. Default is 2.
  • Enabled option to Unmount removable media without ejecting it.
  • Migrated menu:// support into built-in VFS. There will be support for menu editing functions later.
  • Added search engine. Supports search:// URIs and has the UI represented by API fm_launch_search_simple().
  • Full name in Icon View mode now shown in tooltip while long names are placed under icons in truncated form.
  • Added ability to change columns of view. Works only for Detailed List View in FmStandardView widget for now. Implementation for other modes and widgets will come later on demand.
  • Added a FmSortMode enumerator (similar to GtkSortType) with few modes specific fo file manager (ascending/descending is one of new modes).
  • Sorting set/get functions moved from FmFolderView into FmFolderModel. Sorting isn’t remembered by implementations of FmFolderView anymore so application should set sorting explicitly after creation of new FmFolderModel instance. Previously FmFolderView remembered it and no explicit setting was required.
  • A lot of lesser bugfixes.

Download
pcmanfm-1.1.0.tar.gz, sha1: 8c780b79d2b29bc04660c5c929e1ce314ba9a5a4
libfm-1.1.0.tar.gz, sha1: 552cc85bb50aae7d5620419694c6d566015bde10

Changelog for libfm without merges and translation commits
* c868bf3 – Release v.1.0.2.
* 9a2991c – Bump abi revision num before release.
* 5e6df27 – Make fm_bookmark* API thread-capable with help of GMutex.
* 46a674c – [#3580999]FmBookmarkItem should have reference counter.
* 07dfa37 – [#3580999]The change in bookmarks should be propagaded.
* 024fa13 – [#3580979]Don’t recurse into directory on deletion again.
* 8bf1fbb – [#3577013]Workaround on strange ExoIconView bug with GTK-3.4.2.
* af41a0c – Rename fm_folder_model_col_by_name into fm_folder_model_get_col_by_name.
* 98f99ad – Fix on workaround of menu-cache bug in menu:// VFS.
* 1ed3429 – Update on .gitignore: two generated files were missed.
* c51d537 – Replacing deprecated API fm_folder_view_sort() in libfm-demo.
* 74498dd – g_timeout_add() callbacks should contain g_source_is_destroyed() test.
* 00d414d – The ‘#include ‘ was missed in src/base/fm-file.c.
* 091c841 – [#3578780]Fix for GtkTreeView bug leading to selection reset on click.
* 7acd04c – Update for NEWS file on changes in FmFolderView sort handling.
* edc9f40 – Few definitions missed a keyword static while they were meant to be ones.
* a29d960 – Removing leftovers from old data: fm_mutex_menucache.
* dc25ba3 – Fix for fm_folder_view_sort() with type -1.
* b0241bf – Don’t set any defaults on context menu sorting.
* 51b4f7a – Sort change by folder context menu was broken.
* 97cb38a – ‘Paste’ should be visible only in context menu for single directory.
* 25938a9 – [#3576910]Corrected text size in Thumbnails View mode.
* d6e75ff – [#3568358]Changed behavior of right-click in Detailed List View.
* 7610233 – [#3572032]Removed preliminary pushing requests into ready_queue.
* a840fc6 – [#3576649]Fixed keys handling with rigth-to-left layout.
* d75fca1 – [#3576910]Reverted back text spacing in icon view.
* 9cecf78 – Added 6 more pixels to rendered text width in icon view, it looks better so.
* 9af4d83 – Implemented setting of icon view cell size according to icon size.
* 43b03fe – [#3576450]Added file gtk/fm-sortable.h missing on install.
* 21a3675 – Set anchor item if the cursor is set.
* 9706364 – Fixed double-click on ExoTreeView (see bug http://bugzilla.xfce.org/show_bug.cgi?id=6230)
* cff1a92 – Updated documentation for new column APIs.
* 877a86f – Cosmetic changes in fm-folder-model.h, fm-sortable.h, fm-standard-view.c.
* f5c79c4 – Fixed crash on pixbuf renderer which was unreferenced already.
* cf8c425 – libfm-demo now shows search window with column ‘Location’.
* 441db50 – Implemented _fm_standard_view_get_columns() internal API.
* 123b4a7 – Cosmetic change if -> switch in on_btn_pressed().
* 58436fc – Fixed possible vulnerabilities in name<->mode conversion in FmStandardView.
* dc9e3ea – Removed duplicate columns list from FmStandardView.
* f8385da – Replaced deprecated COL_FILE_* with FM_FOLDER_MODEL_COL_*.
* a159b4f – Added fm_folder_view_set_columns and fm_folder_view_get_columns APIs.
* c975f93 – Creation of default columns for Detailed View mode postponed a bit.
* a1df829 – set_sort and get_sort aren’t used in FmFolderViewInterface.
* 7ff5dcf – Changed args for fm_standard_view_set_columns, it uses GSList now.
* c66ac4f – Moved FmStandardViewColumnInfo into fm-folder-view.h.
* 72174c3 – Added model arg for fm_folder_model_col_get_title and fm_folder_model_col_is_sortable.
* b7eda03 – Renamed fm_folder_model_col_from_str into fm_folder_model_col_by_name.
* 34d9cf1 – Renamed fm_folder_model_col_to_str into fm_folder_model_col_get_name.
* 5f50a94 – Renamed FmFolderModelSortMode into FmSortMode due to fm-sortable.h.
* eb6922b – Moved FM_FOLDER_MODEL_SORT_ stuff into separate file.
* e1b4888 – Converted fm_folder_model_get_sort_mode into fm_folder_model_get_sort.
* 6f46fb8 – Renamed fm_folder_model_sort into fm_folder_model_set_sort.
* 03cda56 – Made FM_FOLDER_MODEL_SORT_ASCENDING and FM_FOLDER_MODEL_SORT_DESCENDING mutually exclusive.
* 1906c3d – Disabled FM_FOLDER_MODEL_SORT_FOLDER_FIRST flag for now.
* cca0c3c – Restored old order of FmFolderModelCol for compatibility.
* 1eff671 – Fixed invalid indexing of column_infos.
* 3fcac19 – Implement correct sorting behavior according to FmFolderModelSortMode flags.
* 1c1df3f – * Use FmFolderViewColInfo struct to store column information. * Add fm_folder_model_sort() and unify sort mode flags.
* 235f1b1 – Add some new APIs to manipulate columns of FmStandardView with detailed list mode.
* b8033a6 – Simplify conversion between some enum values and strings.
* 2cb17fe – Add GType for enums, so we can use them to do conversion between strings and values.
* 7b048c5 – Add fm_folder_model_get_column_title() and prepare for supporting FM_FOLDER_MODEL_COL_DIRNAME.
* c676bc9 – Rename FmFolderModelViewCol to FmFolderModelCol and make the enum values namespaced. Add fm_path_compare().
* 004d727 – Corrected documentation on FmDirListJob::files-found signal.
* 8277a15 – [#3575403]Added a workaround if “folder-locked” icon isn’t avilable.
* c3d2211 – [#3575354]Fixed incorrect usage of g_main_current_source() in clear_src_cache().
* 2515221 – Fixed GTK3 cell size estimations in FmCellRendererText.
* 6e533ee – A little fix over previous commit.
* 70c96a0 – [#3575130]Added support for OpenWith… on mixed selection.
* bccbd07 – Fixed incorrect cleanup of temp. appinfo file.
* dde8f30 – [#3575096]Fixed problems with “Open with…” on files of different mime types.
* a718252 – [#3574931]Fixed display of current file in progress dialog window.
* a1bab88 – [#3574926]Added missing gtk_window_set_transient_for() calls.
* 30093d4 – [#3574371]Fixed update of view on rename at remote folder.
* c428a70 – Ouch, I was too hasty in last commit. Fixing now.
* fe3bd0d – Fixed wrong ‘locked’ flag setting in FrmThumbnailTask.
* 820185a – Added support for escaped “\&” in search patterns.
* a441318 – FmPathEntry was still not always correct so fixed.
* 43cd39e – Fixed incorrect text conversions in FmPathEntry.
* 199554a – Commented out a debug message which will be annoyance otherwise.
* c7f1c87 – [#3514505]Fixed escaping of subpaths on remote URIs.
* 585a60a – Fixed infinite loop in search job.
* fb1703e – Fixed idle callbacks in multithreaded environment.
* 5f156f5 – Fixed incorrect flags usage in src/gtk/fm-thumbnail.c.
* 51ed615 – Fixed a little incorrectness in 47e062a.
* b716d03 – Fix DSO linking for tests
* bf1b55f – Fixed possible binary incompatibilities with 1.0.1.
* 47e062a – File menu: shadow ‘Paste’ if clipboard is empty.
* 4782de1 – Don’t fail on valac if compiling from dist tarball.
* fe9a9da – Implemented “max-height” property for FmCellRendererText.
* e7c78b7 – Added tooltip for icon name (closes #3572974).
* b3ca375 – Added “filter-changed” signal to FmFolderView (bouncer from FmFolderModel).
* 350d7d2 – Removed “UTF8_STRING” from list of valid targets for Paste.
* a18c4b5 – Added signal “filter-changed” for FmFolderModel.
* ffab4b1 – Fixed installation with –disable-actions (https://bugs.gentoo.org/show_bug.cgi?id=436058)
* a8ac2bd – Removed debug leftovers.
* 6df33df – Added workaround on buggy menu_cache_get_dir_from_path().
* fdb3340 – Fixed FmPathEntry completion bugs (closes #3572499 too).
* 9dd239d – One more fix (sorry!) on the same.
* f8656bd – Fixed errors from commit on fm_get_home_dir.
* 816e600 – Added gdk_threads_enter/leave into callback on_thumbnail_loaded().
* ac1a538 – Added an assertion into src/gtk/fm-thumbnail.c.
* 361b194 – Implemented fm_get_home_dir based on docs for usage of g_get_home_dir().
* 7ad80ef – Updated file libfm-sections.txt.
* a26e531 – Make vertical spacing adaptive (closes #3475655).
* 54483e4 – Removed extra unneeded variable from fm_file_info_set_from_native_file().
* 969cf8c – Fixed setting display name in fm_file_info_set_from_native_file() (closes #3105153).
* 379845f – Added support for opening files in trash; works with gvfs >= 1.13.3.
* 18662e5 – Changed internal URI format (closes #3565833).
* 3bba068 – Reverted fix in src/gtk/fm-path-entry.c, it crashes in another place.
* bc9fb54 – Macro fm_path_is_virtual() declared deprecated.
* 28b5def – Added support for Gtk+ text targets for FmDndSrc (closes #3502577).
* 5bb9bb6 – Fixed untranslateable search UI.
* 79d8d52 – Added workaround on ExoTreeView bug (closes #3570676).
* d409973 – Fixed compilation errors (closes #3570675).
* 012b942 – Fixed incorrect menu translation init.
* 7f7a949 – pot file update
* 542b6e9 – A little correction on icon setting in fm_file_info_set_from_gfileinfo()
* 19aa231 – Added back reverted test for incremental folder.
* ec45e2b – Updated POTFILES.
* 1614369 – Added search menu item into libfm-demo.
* 65258b3 – Moved search UI fm_launch_search_simple() into src/gtk/fm-gtk-file-launcher.c.
* 0825d32 – Moved search UI from pcmanfm.
* c06074a – Updated to tag 1.0.2~alpha1.
* 042a92f – Renamed fm_folder_model_refilter into fm_folder_model_apply_filters.
* 0e9283d – Remove unnecessary code.
* ad42352 – Add fm_folder_model_add_filter(), fm_folder_model_remove_filter(), and fm_folder_model_refilter(). Reimplement fm_folder_model_set_show_hidden with the new filter APIs.
* f11c205 – Reverted unwanted changes back.
* d9604ee – It works now but should be merged with ‘fm-file’ to work.
* 8af75f3 – Draft of VFS search:// – other parts are in ‘fm-file’ branch.
* 3c6ff45 – Moved fm-search-job files into vfs/fm-vfs-search.
* 8fc0813 – Fixed compilation warnings.
* 44b9b0b – Fix broken searching parameters min_mtime and max_mtime. Remove some unnecessary debug messages.
* 6a07fd0 – Change search URI parameters for min and max mtime.
* 2bc28e7 – A trivial fix.
* 35be4b0 – Slightly improve mime-type based file searching. Accept types ended with /*.
* 00ad400 – Finish file content-based search (including regexp support).
* f48e9ad – Add fm_folder_is_incremental(). Some little fixes.
* e0226d8 – Support search:// URI to perform file searching.
* 13a9fcc – Merge branch ‘master’ into search
* b54b688 – Delete unnecessary files.
* f06e36e – type search more generic
* 3ff21c8 – fixed content search; use gio type comparison
* 8f25e47 – ginputstream content reworked
* 88940ea – pcmanref/unref, utf content search
* bc05496 – cancelable content search
* a0905db – fixed cancel button; fnmatch->strstr for content;some crash fixes
* e515e1a – fixed bugs; added modified time search
* 8307c27 – fixed files-added signal
* 8114a5f – added emiting file-added
* ed17a91 – Work on UI
* 4efa864 – fixed build error, added UI work
* 41b0dbc – folder view; work on rules funcs
* ece8f38 – removed old function
* 0e57b37 – added customizable rules system
* 86252fa – schedule update, fix build problems from git
* c56f2e1 – file size checking
* 85e4f1e – case sensitive toggle
* ef8b729 – fnmatch, added fnmatch and checking types to demo
* a1db2ff – regex option and toggles in demo
* 6084f0d – improved demo; attempt mime checking; hidden and recursive toggles
* 5d6d5d0 – hidden file and recurisve toggles; FmFileSearch(Job) interface work
* 18b3b22 – error checking in job
* 209176d – error checking; work on GFileInputStream content search
* d49d104 – mmap content search
* 36dc387 – GFileInputStream content search; unref in job
* ba7223a – gfile and gfileinfo
* 8255bb7 – debuging
* cc66eef – debuging
* 53b446e – work on cli test; work on file search job; debuging
* 33476d7 – work on file search job
* 13ceca2 – added basic finalize function
* f9e2cd9 – first commit
* a0fd4bb – Added FM_CHECK_VERSION macro into fm.h file.
* c4f3375 – Fixed new warnings in configure script.
* a7e7db1 – Added workaround for g_thread_unref() crash.
* e7f4e8a – Fixed invalid menu enumeration.
* 43c3645 – Fixed incorrect resetting of fi->mime_type.
* 6944bbc – Both libfm-gtk.pc and libfm-gtk3.pc should be installed.
* bf318c7 – Don’t install HTML docs if run with –disable-gtk-doc
* 129c84e – Fixed mime-type handling in fm_file_info_set_from_gfileinfo.
* 925107e – Fixed a small portability issue.
* 347dda5 – Yet one more fix on cleanup on install.
* f5aaa6f – Fixed enumerator creation in menu:// VFS.
* 24cae06 – Fixed SIGSEGV if g_file_get_child() failed on copy op.
* 0ef157d – Added fm_run_in_default_main_context() API to fm-utils.
* bdc3c1e – Enforced menu-cache API to run in main loop context.
* 1ff49b9 – To pass only path from uri to constructor is silly so fixed.
* 4326118 – Fixed incorrect cleanup on install.
* 3cb91a6 – Corrected arg of wants_incremental: FmFile -> GFile.
* 1357593 – POTFILES update for src/vfs/fm-vfs-menu.c
* bdd088f – Removed stale ‘#include ‘.
* e014c6f – Implemented VFS for menu:// – functionality is basic as before.
* cb9cbe1 – Implemented new API fm_file_add_vfs() to register VFS.
* 1fa71e3 – Implemented new GInterface: FmFile – for VFS extentions.
* f23dde9 – Added workaround on hit test while loading view (closes #3390778).
* 0317b82 – Added support for special dirs icons (the same way as GLib does).
* 0aa6e76 – Updated rest of developers documentation.
* 94805e3 – Added missing gdk_threads_enter/leave into idle callback in fm-standard-view.
* c992ca8 – Fixed compiler warnings on libfm-demo.
* 88d4a11 – fixed few gtk-doc warnings.
* 7ee391d – Sealed details of FmPath and FmThumbnailer; updated developers documentation.
* 019062e – Sealed details of FmMimeType; updates in developers documentation.
* b39a09f – Redesigned FmNavHistory a bit.
* 825dfe8 – Enabled option to Unmount removable media (closes #3538822 and bunch of other reports).
* 0353922 – Yet one more ExoIconView rubberbanding fix.
* 9d013f8 – Fixed error in libfm-gtk3.pc.in.
* 6ea0e1f – Fixed broken multithreaded biuld.
* 55d281f – Implemented new API fm_folder_view_set_active().
* 4fbfe72 – Fixed Gtk+2 compatibility issues.
* 34d03a8 – Eliminated Gtk 3.4 compiler warnings on library.
* ee20d54 – Added option –with-gtk to configure to choose 2/3/no.
* b6d3148 – Fixed search window positioning in ExoIconView.
* 2806e2f – Fixed name of fm_file_info_get_collate_key_nocasefold() API.
* bfb0603 – Added simple versioning of installed headers path.
* 5ac7857 – Removed ‘\r’ from URI generated from path (closes #3564414).
* 92befeb – Disabled completion for paths like /usr/ (closes #3543800).
* bc60cf2 – Thumbnail generation optimized a lot.
* 40a066c – Added fm_file_info_collate_key_nocasefold() API for case-sensitive sorting.
* ec211f5 – Fixed Gtk-warning with gtk2.
* ecde497 – Fixed scrolling when compiled with Gtk+3.
* 2acc82b – Made it compilable and working with GTK+3. Scrolling doesn’t work yet.
* 8ceee2d – Updated GDK_ keys with GDK_KEY_ ones.
* 686fd3f – Fixed the rubberbanding draw in icon view (was broken by last commit).
* 04e0bf9 – Removed deprecated and sealed from gtk/exo/*.
* 7d9c129 – Moved some code from fm_folder_view_item_clicked() into fm_launch_paths().
* 9198b1e – Fixed incorrect “data-get” callback from FmStandardView.
* b3194be – Migrated FmStandardView to new API fm_dnd_dest_new_with_handlers().
* 43baef9 – Fixed incorrect calls sequence in on_drag_motion in fm-places-view.c
* 1d7738c – fm_dnd_dest_get_default_action() should alwas query sources (closes #3563001:1)
* 50255bf – Migrated FmPlacesView to new API fm_dnd_dest_new_with_handlers().
* 19b63d2 – A little cleanup in on_drag_data_get() FmDndSrc handler.
* c12523d – Some cleanup on FmDndDest handlers.
* fef73ba – Added FM_DND_*_RESERVED* numbers: don’t use them until ABI bump!
* dc806ba – Fixed incorrect sequence of removal in last commit.
* 4840a0f – Dir tree feature: hide expanders on non-expandable rows (closes #3537328).
* c293b4d – Cleanup around fm_default_dnd_src_targets.
* 1e91243 – Adding to “unsupported” was missed in commit 00dc3de
* e6ec276 – Optimization and cleanup on fm_default_dnd_dest_targets.
* f49e2c5 – Implemented an option ‘no_usb_trash’ (closes #3528099).
* 4b57942 – Updated usage of APIs that went deprecated in GLib 2.32.
* 14370dd – Corrected underscored strings everywhere.

Changelog for PCManFM without merges and translation commits
* 21fa6fc – [#3582133]Compatibility fix for GTK < 2.21.
* 7a10e54 – Release v.1.0.2.
* 7cd0d79 – Remove libtoolize from autogen.sh: the pcmanfm doesn’t use libtool.
* 1009f57 – [#3578503]The variable set_wallpaper should be freed after usage.
* 2c44bfa – [#3579666]If su_cmd failed then open preferences dialog as well.
* 08c4ba2 – [#3580592]Handle ‘Enter’ key to open desktop item.
* add1a71 – Adding file .gitignore.
* 81b5c5f – The ‘#include “gseal-gtk-compat.h”‘ was missed in src/main-win.c.
* b436896 – [#3578794]Quickfix for history dropdown menu.
* aabb312 – Apply sorting on model instead of view if compiled with libfm >= 1.0.2.
* 81638f1 – Fix for: Gtk-WARNING **: Radio group does not contain an action with value ‘-1′
* 2ae9055 – The ‘Desktop Preferences’ string appeared untranslated in desktop popup.
* a7a1dee – Fixed invalid items layout on non-first monitor.
* 9be3438 – Corrected shortkeys for Thumbnail and Compact View.
* ade5f61 – [#3577161]Fixed wrong preferences pages enum – added PREF_LAYOUT.
* 4d66939 – [#3577014]Fixed incorrect cursor restoring: was on wrong widget.
* b4f9585 – Fixed solid color desktop background set with GTK3.
* 9880c79 – Fixed invalid cast from `GtkColorButton’ to `GtkFontButton’.
* 421fb70 – Fixed one-color background filling; was broken after 1.0.1.
* 36f8e15 – Fixed untranslated key nav. window and context menu additions.
* 3ca6bd0 – Removed check for libmenu-cache, it isn’t used by PCManFM.
* db99c94 – autorun: Pass root of mounted device to launched app (#3575428)
* bc132e3 – Implemented side pane hiding.
* a906053 – Experimental implementation of option –one-screen (see #3570956).
* f9c62c1 – Fixed ShowHidden sync between context and main menus.
* c1341e4 – Added two missing tooltips.
* 91982db – Added updating menu state (disable unavailable items).
* 965fdec – Added a small info window with navigation keys (closes #3557511).
* a861bb2 – pot file update
* d289856 – Added ‘TwinPane’ unused dummy action.
* 6daaf80 – Updated to libfm fm_launch_search_simple() API.
* 45c0755 – Moved search UI files into libfm.
* f2e13d0 – Few adaptations to libfm; 1.0.2~alpha1. Search UI should be moved to libfm later.
* 3cd4c49 – Primitive support for searching files based on mtime. Polishing UI.
* 48be498 – Little adjustment of UI. Support searching based on file types and sizes.
* 5743328 – Remove generated files.
* 3ac196d – Readded filesearch.glade to data/ui/Makefile.am
* f5eb879 – Integrate work done during Google SoC 2010.
* 9d1f532 – Remove unnecessary files and integrates deliverables of GSoc 2010.
* 5226ffd – fixed missing function
* 40feae9 – type search more generic
* 81d6394 – pcmanref/unref, utf content search
* e36c873 – Popup menu for files
* 1cd2473 – cancelable content search
* 74a0509 – fixed cancel button; fnmatch->strstr for content;some crash fixes
* fb26a00 – fixed bugs; added modified time search
* d88aeab – fixed file size search
* 380ca44 – fixed potfiles.in; work on file size search ui
* 58f3e58 – Work on UI
* 608d024 – Added support for FM_CHECK_VERSION macro to be able use it.
* c5b0601 – Fixed crash on start (closes #3568625).
* 1f5f38a – Small improvements for debug mode compilation.
* e4f3eba – Fixed compilation problem with newer libfm.
* 92d36ca – Change focus to folder view after selection on side pane (closes #3531696).
* 8acbbc2 – Simplified pcmanfm_run() replacing fm_launch_files_simple with fm_launch_paths_simple.
* bc99152 – Fixed args passed to single instance.
* 86ef20e – Corrected text that is shown with –help (closes #3561697).
* 024eff7 – Added runtime option ‘–role’ (see #3453052).
* 2873a0f – Added new runtime option –new-win.
* 37236e6 – Added support for options force_startup_notify and backup_as_hidden.
* 203520a – Added configure option –with-gtk.
* c8401c0 – Made it buildable with Gtk+-3.0.
* 38459ae – Eliminated deprecated calls.
* 3f8714d – FmMainView migrated to new FmFolderView API.
* e85f73e – FmDesktop migrated to FmFolderView and Cairo APIs.
* 62e7953 – Corrected mnemonics (underscores) in dialogs and menus.
* fbce80c – Fix for left pane of pref. dialog (closes #3561700).

Infrastructure change: pootle.lxde.bsnet.se

Repost from mailing list.

“It has come to this.

tldr; pootle.lxde.bsnet.se will cease to exist in 12 hours time is offline now. new server and new URL will be available later.

At Wednesday the hosting for the current Pootle setup will end. (Thanks a bunch to RSN, the student union in Blekinge, Sweden and the Swedish University Network!)

I will turn off the services later tonight The services are offline and I did salvage the data and hopefully have stuff running tonight or something. It really depends on what obstacles I might hit during the ride. Yes I should have done this months ago but other stuff came across…

The URL for the Pootle instance will change, no doubt. Hopefully I can get a landing page at the old URL pointing out the change but I am not sure about that yet.”

UPDATES WILL FOLLOW!

PCManFM 1.0.1 and libfm 1.0.1!

PCManFM

Main changes in PCManFM 1.0.1 (since 1.0).

  • Implemented basic multi-monitor support.
  • Implemented toggling fullscreen mode via ‘F11′ key press.
  • Added tab ‘Layout’ into Preferences dialog.
  • Few lesser bugfixes.

libfm

Main changes in libfm 1.0.1 (since 1.0)

  • Fixed slowness on loading and changing of very large folders.
  • FmFolderView is converted into generic interface. Former FmFolderView is renamed into FmStandardView so APIs specific to it have changed their names and arguments. Old APIs left for compatibility reasons. New FmFolderView interface now contains methods to handle popups, keyboard and mouse gestures, including Cut/Copy/Paste operations.
  • Fixed compatibility with systems that are a bit old so have neither decent Vala compiler nor GLib 2.26.
  • Few lesser bugfixes

Download
pcmanfm-1.0.1.tar.gz, sha1: 36331ce628f6b81d64d5a8a677133555c9fbf042
libfm-1.0.1.tar.gz, sha1: 0df9084328e42b946085b4eb183078db117ada1c

Changelog for PCManFM without merges and translation commits
* d185c65 – Revert “Add a GtkHBox and GtkVBox inside right pane so later we can add other side bars as needed.” Put this in a feature branch “fileter” first.
* cc34028 – Add a GtkHBox and GtkVBox inside right pane so later we can add other side bars as needed.
* 6a9e415 – Fixed invalid sysconfdir when –prefix=/usr
* c78fba0 – Added workaround for ExoTreeView failure (see #3559255)
* 8ee5c1a – Fixed rubberbanding on desktop (closes #3561482).
* 1d8245a – Fixed forgotten reverting GIO encoding to NULL.
* 994d032 – Fixed error message on invalid IPC char a bit.
* d3de46e – removed validation of chars in IPC to allow invalid encodings to pass
* e0854cd – Fixed SIGSEGV on startup.
* e982b2e – Fixed memory leak in previous commit.
* 7f2da9d – Fixed single inst. client socket handler (closes #3527770).
* 2e20cdf – Added tab ‘Layout’ into preferences dialog.
* d0a8cb5 – Added one more hidden setting into pref dialog for future.
* 549b998 – Simplified configuration tests for more easy compiler arguments.
* 330e7e6 – Added few hidden elements into preferences dialog for future fixes.
* 6aec080 – Added test for library containig round(); thanks to Charles A Edwards.
* 96ad982 – Enforced dialog for inserted media to be above (closes #3558066).
* c4e5298 – Fix: cur_desktop was set to 0 always on startup.
* d5cbf01 – Added ‘Fullscreen’ toggle into main menu.
* 4cb6570 – Fixed shortcut creation when path contains spaces.
* 18aab7b – Added missing config.h inclusions.
* 6f316e3 – Fixed invalid detection of fm_default_dnd_dest_targets.
* f04f910 – Revert “Added configurable timeout for non-immediate config saving.”
* 3b53a34 – Added configurable timeout for non-immediate config saving.
* 1bba6c9 – Set version to 1.0.1~beta.
* 012b296 – Fixed invalid cast in init_entry().
* 98666c0 – Fixed pref.glade that has been made invalid by glade.
* cdcefd9 – Fixed invalid callback on_notebook_switch_page().
* 6e23f80 – Updated DnD to latest changes in libfm API.
* 244f9d2 – Fixed compatibility with GLib < 2.26.
* 3310f26 – Updated NEWS file.
* b53b7b3 – Implemented toggling fullscreen by ‘F11′.
* 8b85c2d – Fixed usage of SI units (closes #2964811).
* a0ac0f2 – Added config option for usage of SI units (closes #2964811).
* 3b5a3d9 – Fix for #3138596: Does not remeber window dimension after reboot
* a56a9de – Fix for #3411306: Open a folder on the wrong desktop.
* c65ba57 – Implemented multi-monitor support.

Changelog for libfm without merges and translation commits
* c867b0c – Fix incorrect marshaller used in “FmFolderView::sel-changed” signal.
* 9156919 – Fixed Cut->Paste again, now it tested to work cross-FM too.
* bb86682 – Fixed ‘Empty trash’ which ceased to work (see #3567440).
* 0730a52 – One more little fix on the same subject.
* 7d2f156 – A little doc fix.
* b7a0e2d – Macro G_DEPRECATED isn’t available on GLib < 2.32.
* db3bef2 – Don’t show folder as locked if its mode isn’t known.
* b072443 – Fix: icon_locked_folder shouldn’t be on non-folders (closes #3567440).
* a094f45 – Fix a typo – rename fm_dir_dist_job_get_files() to fm_dir_list_job_get_files().
* 7af850c – Fixed crash in FmPathEntry completion.
* 2011f3c – Optimized incorrect fm_folder_view_bounce_action() API.
* 717cc43 – Fixed validation and docs on fm_folder_view_set_active().
* 73dcdcc – Fixed Gtk-Critical via locks on GtkAccelGroup.
* 7403731 – Added fm_folder_view_set_active API – it’s required by pcmanfm…
* 082fc02 – Clipboard should not be cleared if it owned by others.
* 0d66c91 – Fix: absent focus may mean it’s FmDesktop so added check for it.
* 01fbb2d – Added one more ret=FALSE in the copy job, just in case.
* f844141 – Fixed losing the files in subdir on move errors (closes #3565792).
* d960cb1 – Added API fm_folder_view_unselect_all().
* 2692005 – Fixed invalid Cut->Paste clipboard behavior.
* 9adb644 – Added new API fm_clipboard_have_files().
* 359fe35 – ABI age bump before release.
* fbda66a – Added two config options for usage in 1.0.2.
* fcb3d11 – Fixed possible problem in src/job/fm-file-ops-job-change-attr.c.
* 74fd13a – Added few TODO comments.
* dbe546d – Corrected on_object_finalize() in docs for FmDndSrc and FmDndDest.
* fadb3f8 – Added commented out code for future optimizations.
* 158dc0b – A little documentation update for FmDndDest again.
* 3fb0d17 – GDK_ACTION_DEFAULT should not be used – fixed.
* 8b939de – Fixed crash in fm_dnd_dest_files_dropped() with empty selection.
* 6bddb07 – Added missing #include into src/glib-compat.h
* 8ae6863 – Little documentation update on FmDndDest APIs.
* 2c016b1 – Added macro fm_dnd_src_add_targets() for convenience.
* 77e9981 – Added 2 new APIs: fm_dnd_dest_new_with_handlers and fm_dnd_dest_add_targets.
* 2418f5a – Updated documentation on FmDndSrc for 1.0.1 changes.
* 611cf8d – Workaround on empty drag files list (possibly fixes #3559255:2).
* df13784 – A little optimization on “GTK_TREE_MODEL_ROW” atom usage.
* 155289f – Fixed adding bookmark by DnD to Places (was broken since 0.1.99).
* 20ea186 – If Vala requested but not found configure should fail (closes #3561872).
* 6ea762b – Fixed escaping of URI on launch (closes #3556518).
* 06aa1b6 – Fix broken C++ compatibility.
* daf102b – Fixed renaming fm-folder-exo-view.c in the po/POTFILES.in
* 4dabf8b – Fixed unportable macros in src/Makefile.
* 16a4b87 – Defaulting to copy if glib failed to determine drag target filesystem.
* 55a9544 – Fixed crash on symlink creation error.
* 1b03711 – Fixed crash in fm_app_menu_view_new() if “XDG_MENU_PREFIX” unset.
* 76eafac – Fixed invalid setting of single click in Detailed List View mode.
* fa46327 – Fix for #3559831: Right-click menu does not work with libfm git
* b1ad856 – Added condition on g_thread_init() which is deprecated in GLib >= 2.32.
* 94eae3e – Replaced deprecating AC_CHECK_LIB with AC_SEARCH_LIBS.
* 837ec6b – FmFolderExoView renamed into FmStandardView.
* 05c9fde – Removed glib-compat.h and gtk-compat.h from docs as it ought to be.
* e1e6ae2 – Added few translateable strings for future additions.
* 845103d – Added placeholder ‘CustomSortOps’ into src/gtk/fm-folder-view.c
* bd0c2da – automake 1.12: AM_PROG_AR should be before any of AC_
* 7252afd – Fixed signals accumulators and therefore descriptions.
* ff00280 – Fixed docs incompatibility with –disable-actions.
* 93d661c – Replaced g_list_free_full() which was missed in old GLib.
* 5e2c86f – Fix: g_app_info_set_as_last_used_for_type() requires GLib >= 2.27.6
* f5dd721 – quickfix for #3557764: pcmanfm-1.0 segfault in fm_file_info_is_image
* aa5566d – Fixed bad selection on right-click menu due to delayed “sel-changed” signal.
* 4eedb21 – Added Shift+F10 as menu shortcut (since we set it instead of signal).
* 67eb91f – Supressed error message when directory dragged few pixels so dropped on itself.
* a73208d – Added missing API into libfm-sections.txt file.
* 434daa9 – Fixed two settings on config save.
* 32ffc78 – Fixed slow thumbnails update (closes #3557361).
* 20e1fb6 – Implemented dropping files on desktop entry (closes #3448566).
* ceaf3ed – Set version to 1.0.1~beta.
* cb336a3 – Implemented wrapping of file name in view (closes #3436276, #3532037).
* eca482e – Fix for #3300797: Delete prompt isn’t on the first layer
* 364ea79 – Fixed leftover problems when compiled with gtk3; only src/gtk/exo/* left.
* 2fb14e3 – Fix for #3409834: Removable directory not removed if no x flag
* eb889f5 – Fixed custom application adding by full path (closes #3107434).
* 423f2c7 – Fixed user custom commandline app creation (closes #3100063).
* 9817947 – Choosen application should be set first (closes #3550143).
* aed49ac – Added minimal support for unacessible folders (closes #1893449).
* a286c4a – Fixed incorrect model unsetting in FmFolderExoView.
* 4ddf8a6 – Fix in fm_folder_view_item_clicked() without popup initialized.
* 41c81ef – Fixed wrong compatibility define.
* 1dd4c38 – Fixed wrong ShowHidden initialization in popup.
* 8b18344 – Fixed marshalling of GError for GLib < 2.26.
* 49eb765 – Added compatibility with GLib 2.22.
* 9943cbb – Adaptations for Gtk+3.0. src/gtk/exo/* still needs reworking.
* 2ea6fcf – Replaced deprecated Gtk APIs.
* 98824b4 – Fixed compilation with –disable-actions.
* 92c1cf4 – Fix on compatibility of FM_FOLDER_EXO_VIEW_MODE_IS_VALID.
* 586b02e – Fixed libfm/fm-gtk.h include file.
* 088ddcf – More fixes on developer documentation.
* 43efa7b – Updated NEWS file.
* d2f0cd5 – Disabled check for mmap since mmap isn’t used anymore.
* 04853a5 – Developers documentation update.
* 5463ad5 – Lowered glib requirement to 2.24 if built with –disable-actions.
* 9675a38 – Commented out GMODULE tests as it isn’t used currently.
* f053378 – Removed GLIB_CFLAGS and GLIB_LIBS since those never used really.
* 73399de – Added ‘backup_as_hidden’ config statement (closes #3416724).
* c889b57 – Added ‘force_startup_notify’ config statement (closes #3297912).
* cb702c7 – Fixed usage of SI units (closes #2964811).
* 7a98042 – Added option –disable-actions for systems with too old Vala.
* 10f2891 – Reverted back unwanted reset_selected() as it slows down things.
* 38f96b3 – (missed)Fix for slow deleting by “sel-update” by limiting updates speed.
* d3a3928 – Converted FmFolderView into generic interface.
* 5b44373 – Rename in preparation to FmFolderView convertation.
* 1250708 – Fix for bugs #3008979 and #3526139; rubber-banding on rows should be disabled.
* 924d2d1 – Fix for slow deleting by “sel-update” by limiting updates speed.
* 906b5c8 – Implemented hash for very large folders.
* c8d81c1 – Fix freeze on loading very large dir.

PCManFM 1.0 and libfm 1.0!

This is a historic milestone for PCManFM and libfm. For some things you have waited years to get there, for other things it’s only been 10 months (since last release) but we can now bring you a MAJOR (really!) update. Mainly thanks to the work done by Andriy lately but ofc building on top of shoulders of giants who laid the foundation earlier. Just check the changelogs, they keep going on and on and on!
The changes ranges from minor things, nice features (multiple wall papers anyone?) to fixing memory leaks and crashes. And we can already spot the next minor feature upgrade of this bundle. Give 1.0 a good spin and report bugs in the tracker.

pcmanfm-1.0.tar.gz, sha1: 4158c7e14e61af182a6cac5dea55d528196c01fb
libfm-1.0.tar.gz, sha1: 2d6ea9b3ca7f5f85b2e4745af4c0211dabffe31d

PCManFM
* 9fa4936 – Release v1.0.
* 3a49089 – Replace system() with g_spawn_async_command_line() to avoid unnecessary locking of the whole UI when calling lxshortcut.
* b395942 – Changed argument of FmFolderView::sel-changed.
* e932b52 – Fix: preferences dialog makes sence only if pcmanfm is desktop manager.
* 683d56e – Fixes for Automake 1.12
* 8893ba1 – Fixes for Automake 1.12.
* fe0eecc – 1.0-rc1 renamed into 1.0rc1 to avoid possible conflicts in packages.
* 984ccbd – Renumber into 1.0-rc1.
* 1198ff7 – Fix for bugs #3289097 and #3541300: wrong file order on desktop.
* 7d78ab2 – Fix for #3411306: Open a folder on the wrong desktop
* 528c110 – Fixed missing gtk_window_group_remove_window() in src/desktop.c.
* 19f7ed2 – Added missing gtk_window_group_remove_window() call.
* 2901dcb – A little man page update.
* 9ae0166 – Fixed problem when the last item was removed from desktop.
* 2ddc388 – Fixed UNIX signal handling which was broken.
* 672fb4a – Fixed possible stack corruption.
* 0646cb4 – Some cleanup on signal handlers for desktop model.
* 18e60b0 – POT file update for lxshortcut integration quick workaround.
* 57b482c – Added a temp. workaround to integrate lxshortcut (from Lubuntu).
* 126018f – Fix from korzhpavel@sourceforge for GTK criticals on desktop destroy. See bug #3533958 in Patches tracker.
* 5650b30 – POT file update.
* 59f91e6 – Updated code formatting a little.
* addac7e – Missed UI change in previous commit.
* 9dc8e67 – Added possibility to set wallpaper on each desktop differently.
* 0b37d2a – Fixed few cleanup errors.
* 281049f – Added cleanup on history items for safety.
* 21df32a – Got rid of statics in src/single-inst.c and done little optimizations.
* b2fd837 – Fixed a memory leak in src/pcmanfm.c.
* 52f398c – Fixed few memory problems in src/main-win.c.
* b44057e – A little redesign on desktop items handling.
* 1c00133 – Fixed few memory problems. Also attempt of little optimization.
* 2aed0ce – Updated to libfm API.
* 8a4edd1 – Fixed memory leaks in src/app-config.c.
* 6faa506 – Changed ‘Name’ property in desktop entry file (closes #3535895).
* 5a89e06 – Update to new libfm API.
* 331ec21 – Updated URL to point to project page instead of dead homepage.
* 1c04b6f – Slightly change the signal handling of FmMainWin and FmTabPage to improve readability and robustness.
* 6156424 – Fixed text spelling error.
* 77cb39f – Added a man page for main executable.
* 35243f0 – Use a list to switch among tabs of preference dialog rather than use tabs. This can improve usability a little when number of notebook pages increases.
* da6870b – Fix bug #3534041 – Crash if I click up while it is still working.
* b4943ce – Removed AM_PROG_LIBTOOL macro since it isn’t required for application.
* b2ad757 – Fix #3439056 – Pcman is frozen renaming files.
* bc88a8d – Fix #3397444 – pcmanfm dont show window in daemon mode if i call ‘pcmanfm’.
* a2dc1ff – Fix #3325001 – Copying a file to the desktop is done 2 times
* b87089a – Further fix for #3531743 – pcmanfm-desktop-pref.desktop has no translations.
* 8e451f2 – Fix #3531743 – pcmanfm-desktop-pref.desktop has no translations.
* c44d6d3 – Little fixes for autogen.sh and makefiles to support automake 1.12 and fix bug #3531743 – pcmanfm-desktop-pref.desktop has no translations.
* 2f57bef – Apply patch #3533787 – pcmanfm – pango unref.
* 7c10c9a – Apply patch #3531975 – disconnect signals before unref.
* 6f0f195 – Few more compilation warnings fixed.
* 3aebc67 – Optimized casts. Eliminated all errors from compiler warnings.
* fbb7b12 – Debug build should show more warnings for developer sake.
* 02c11a1 – Apply patch #3530573 – PcManFm don’t use setting “show hidden files”.
* 84e5e0a – Apply patch #3530623 – pcman crashes on add/remove bookmarks.
* 0bf366d – Fix #3411298 – Show “Permission denied” when 34switching to super user mode.
* c71d050 – Fix #3530035 – PCManFM crashes on a rightclick. Apply #3530575 – crash with right click on empty pannel.
* 49f85b2 – Fix a trivial bug introduced by previous commit and save window position properly.
* 0b99760 – Set correct required version of libfm in configure.ac. Remove unnecessary debug messages.
* 5dee1d4 – Use new libfm APIs to handle folder browsing and desktop icons. Fix trivial bugs.
* 2105792 – Adopt new libfm APIs and avoid direct access to data members of objects.
* 653af52 – Replaced obsoleted fm_path_new() with fm_path_new_for_str().
* 0b95172 – Use new FmFileInfo APIs and avoid direct access to its data members.
* 70425dc – Apply patch #3528686 – Fix for ‘make dist’ in pcmanfm git distro..
* e2f270e – Fix #3528311 – SIGPOLL undeclared.
* 8a54720 – Fix #3403965 – unable to switch tab when NUMLOCK is enabled.
* cd9c8e4 – Apply patch #3524089 – Fix for Ukrainian translation.
* 056dd83 – Fix #3413670 – pcmanfm crashed with SIGSEGV in fm_nav_history_get_cur().
* 40a772c – Fix #3386133 – Ctr+Page up / Ctrl+Page down don’t switch tab in 0.9.8.
* dd04ea7 – Removed nl.po that was not correctly placed.
* 942fd81 – Apply patch #3438582 to fix bug #3325415 – window resize problem.

libmfm
* 3bf476b – Release v1.0.
* d87c6d8 – ABI release number update on release.
* 63b5105 – Fixes in developer’s documentation.
* 87629f7 – Fixes in developer’s documentation.
* 76a304e – Fixes in developer’s documentation.
* 159ab57 – Fixes in developer’s documentation.
* 3fecc7e – Fixes in developer’s documentation.
* 1861785 – Fixes in developer’s documentation.
* 6d63ea6 – Fixes in developer’s documentation.
* 0a85560 – Fixes in developer’s documentation.
* a90dc0a – Changed argument of FmFolderView::sel-changed.
* 5f7578c – Fixes in developer’s documentation.
* c474aab – Replaced deprecated alias GdkTarget with GdkAtom.
* 02bd858 – Fixes in developer’s documentation.
* 33a0200 – sed -s -i -e ‘s/IS_FM_/FM_IS_/’ *.[ch]
* 442a316 – Fixed .gitignore
* 505ca0c – Update for .gitignore
* a3e2bb4 – Fixes in developer’s documentation.
* 1e214da – Fixes in developer’s documentation.
* 552d9d2 – Added reservation into FmConfig; 1.0 will be binary incompatibly with 1.0rc1!
* ebe5b01 – Fixes in developer’s documentation.
* 923fa0c – Fixes in developer’s documentation.
* 4f3ba60 – Fixes in developer’s documentation.
* d6fe6d9 – Fixes in developer’s documentation.
* 23b4761 – Fixes in developer’s documentation.
* 8bc9685 – Fixes in developer’s documentation.
* 6c88178 – Fixes in developer’s documentation.
* 267ff8a – Fixes in developer’s documentation.
* 107d01f – Compatibility with automake-1.11: AM_PROG_AR should be enclosed in m4_ifdef().
* 35f0fe5 – Fixes for Automake 1.12.
* 03214e3 – automake-1.10 doesn’t support AM_PROG_VALAC so requirements fixed.
* fdbd909 – Replaced use of variable job where self name was expected.
* 196d1df – Fixes in developer’s documentation.
* ce0df12 – Fixes in developer’s documentation.
* d7524de – Fixes in developer’s documentation.
* 1820ff6 – Fixes in developer’s documentation.
* f197d15 – Removed superfluous comma in configure.ac leading to ./configure errors.
* e1db7b5 – Fixes in developer’s documentation.
* 30fe5ed – Fixes in developer’s documentation.
* 2a0684f – Fixes in developer’s documentation.
* 343224e – Fixes in developer’s documentation.
* f252ac2 – Fixes in developer’s documentation.
* 2e97b2c – Fixes in developer’s documentation.
* 5933d91 – Fixes in developer’s documentation.
* 2b00e29 – Developer’s documentation updates.
* 9739809 – 1.0-rc1 renamed into 1.0rc1 to avoid possible conflicts in packages.
* 3a8134e – Renumber into 1.0-rc1.
* eaa6ca3 – Implemented making symbolic links in FmFileOpsJob and on D&D.
* 4c5ff64 – Added updating chmod dialog fields before asking for recursion.
* 58878bd – Removed suggestion for –sysconfdir=/etc since /usr/etc bug was fixed.
* 8072268 – Fixed plural forms of internationalization.
* 284ed1c – Disabled gtk warning for fm_path_list_unref(NULL).
* 4b168c3 – Added autodetection for libexif instead of being mandatory.
* 7464362 – Removed obsolete never-used commented-out code.
* 9cdd3bb – Fixed invalid windows operations in fm-progress-dlg.c so reverted 3c4c8edcefbb99acd4e22c1d75ce56830fd90937
* 3434ce1 – Fixed wrong modifiers on Drag&drop.
* 94a80e0 – Fixed user/group names in file properties dialog.
* 3c4c8ed – Fixed chmod dialog that ceased to do job.
* 808cb8d – Fixed deadlock in src/gtk/fm-thumbnail.c.
* c568d9a – Add API documentation for FmFileInfo. Add new API fm_file_info_is_native().
* 917c282 – Add proper forward declaration for struct _MenuCacheItem to fix compilation errors.
* 9ed0445 – Fixed invalid marshallers.
* 2fe5215 – Added API fm_app_command_parse() for safe % expanding.
* b9caccd – Fix for #3436283: Impossible to remove file in some cases.
* 8dc04d8 – Fix for #3436288: There is no possibility to copy/link files.
* 4bc5578 – Fixed warnings from compilation on x86_64.
* cc69265 – Removed obsolete on_exec_toggled().
* 2c99060 – POT file update.
* 636ae94 – Little corrections on labels (missed words).
* 6eb70eb – Fixed ‘read’ permissions combobox.
* 965c548 – Fix errors in file-prop.glade and change wordings a little.
* cd31b6e – Fixed default advanced_mode value.
* f4e7cd2 – Updated content of chmod dialog a bit.
* 76710cb – Fix for chmod dialog.
* 483ba8f – Fixed a little mess with delayed references.
* adea0d9 – Fixed silly copy-paste error.
* 28721c2 – Added some documentation to functions.
* 7f707ad – Added new “row-deleting” signal for FmFolderModel.
* a7ba086 – Added two simple API for FmFolderModel.
* 9c34fff – Fixed two small memory leaks in file properties dialog.
* e3bce02 – Fixed SIGSEGV in fm_folder_view_dup_selected_file*().
* 731abf1 – Added missing schedule for ‘on_idle’ handler.
* 7f6b06a – Fixed broken trash can in Places View.
* 7a92e2a – Fix over last commit.
* e796cd0 – Fixed potential memory loss in fm_file_ops_job_run_with_progress().
* bdb6248 – Fixed wrong desktop folder request in fm_places_model_init().
* 6cc52d1 – It seems fm_marshal_ENUM__POINTER_ENUM causes memory leak so changed to UINT.
* c06a084 – Fixed memory leak in src/gtk/fm-cell-renderer-pixbuf.c.
* 9fe5ae7 – Fixed memory async collision in src/base/fm-folder.c.
* 4a8a900 – Fixed memory violation in fm_folder_view_dispose().
* 82dab06 – Possibly fix for #3393447 and #3186315. Change on folder should not emit signal immediately.
* 4485e31 – Fixed memory violation in fm_dnd_dest_set_widget().
* f2f751a – Fixed another memory violation in fm_side_pane_dispose().
* 53a6a5f – Fixed memory violation in fm_side_pane_dispose().
* 7e3a9c9 – Changed fm_folder_view_get_selected_file* to return referenced value.
* 7e902eb – Fixed memory leak in on_dirlist_job_finished().
* 10d6f05 – Fixed memory leak in fm_list_unref().
* 8005eeb – Fixed two bugs in reworked fm-dir-tree-*.
* 469f37e – Fixed possible memory problems in src/job/*
* 8951e3c – Fixed memory problems in src/gtk/fm-thumbnail.c.
* ded0ef0 – Removed void _finalize() for little speed-up.
* 4b52f49 – Moved unreferencings from _finalize() into _dispose() in src/gtk/
* 6168ade – Moved unreferencings from _finalize() into _dispose() in src/job/
* cb51306 – Fixed memory problems in src/gtk/fm-progress-dlg.c.
* db71b4e – FmPlacesView don’t require dispose method, all cleanup go to finalize.
* a0b2f20 – Fixed incorrect FmPlacesView member disposal.
* 3705f45 – Fixed possible memory problems in src/gtk/fm-places-view.c.
* 57905b8 – Added 2 TODOs for 1.1+
* 320083c – Fixed possible problems in src/gtk/fm-places-model.c.
* ca59a58 – Fixed possible memory problems in src/gtk/fm-path-entry.c.
* 38d57d4 – Fixed error in src/gtk/fm-folder-view.c; updated return of fm_path_bar_new.
* 0a32f01 – Fixed possible problems in src/gtk/fm-gtk-utils.c.
* 85322e1 – Removed duplicate check for shell-bang from launcher.
* cba3170 – Fixed memory problems in src/gtk/fm-folder-view.c.
* 2aa1702 – Fixed possible problems in src/gtk/fm-folder-model.c.
* dda439e – Fixed one FIXME, it might cause problems.
* 89f82a4 – Previous commit was incorrect, fixed now.
* ab7ad3c – Fixed case when fm_dir_tree_view_chdir() includes already expanded path.
* bb13679 – Added missing call for fm_dir_tree_model_load_row.
* d366a36 – Removed unneeded temporary variable.
* dca5085 – Simplified FmDirTreeView some more.
* a7d8143 – Added commented out code for standard Shift-Click behavior on ‘Del’ item.
* 3617840 – Expand mark in FmDirTreeItem better to be bool than int.
* cc390aa – Fixed a memory leak in src/gtk/fm-file-menu.c.
* 717c395 – Added commented out code for standard DnD modifiers, need to test later.
* 16367da – Fixed a memory problem in src/gtk/fm-dnd-src.c.
* 5755d50 – Fixed invalid unref in src/gtk/fm-dnd-dest.c.
* 455d3a5 – Some cleanup on src/gtk/fm-dir-tree-view.c.
* 87de9d3 – Fixed potential problems in src/gtk/fm-dir-tree-model.c.
* 8773fcb – Update of arg type for FmFolder::error (new Glib has G_TYPE_ERROR)
* 9d7b808 – Fixed warnings after merges.
* 944b981 – Added fix for invalid sysconfdir /usr/etc.
* 9ff388e – A little fix for man page.
* 8598029 – Fix the thumbnail loader to load jpeg files correctly when they contain no exif thumbnails.
* b2d1ee7 – Added a man page for libfm-pref-apps application.
* 14218ce – Make fm_folder_view_get_selected_file_paths() and fm_folder_view_get_selected_files() return unreferenced FmList objects and add clear doc for them.
* 991e9c7 – API renaming, replacing _get_ with _dup_ when the function returning referenced objects.
* 5f0a40c – A little bulletproofing for src/gtk/fm-dir-tree-model.c.
* 0ebbf67 – A little cleanup in src/base/fm-list.c.
* fdd79df – Replaced bunch of #define’s with inlines for more strict compilation check.
* 9828336 – Little more on FmFileInfoList and FmPathList.
* 3db60cf – Made FmFileInfoList and FmPathList opaque.
* 60a2be7 – Renamed fm_icon_get_pixbuf into fm_pixbuf_from_icon.
* a525e24 – I was wrong on commit, fixing it.
* 748c955 – Fixed memory problems in src/gtk/fm-app-chooser-dlg.c
* 0f95bbe – Memory fixes on src/gtk/fm-app-chooser-combo-box.c
* a603501 – Fixed compilation warnings.
* 465a8c1 – Fixed a little memory leak.
* 5752105 – Handle descriptions of mime-types in a more elegant way. API renaming: fm_mime_type_from_type() => fm_mime_type_from_name(). Correct orders of finalizer functions of all modules in fm.c.
* dc5de69 – Little fix.
* 6808da2 – added modifier const to return value of few functions.
* fec54a5 – Fixed possible memory problems in src/base/fm-utils.c
* 910ba93 – fixed memory leak in fm-thumbnailer.c
* f93038f – Renamed fm_folder_from_fm_path into fm_folder_from_path.
* 595bd14 – Sanity of names fm_nav_history_get_can_*
* 2ce4429 – Removed deprecated fm_folder_get definition.
* 541a53e – Renamed few _get_for_ with _from_ for consistency.
* fe4571f – Fixed illegal direct access to FmMimeType object.
* ae31163 – Missed one change in last commit.
* c1f5af9 – Fixed possible memory leak in src/base/fm-mime-type.c and updated thumbnailers.
* 18f95a4 – More memory leak fixes for src/base/fm-folder.c
* 80c80ac – Explicitly named members of FmListFuncs struct.
* 66148b6 – Fixed memory leaks on cancelling job from fm_job_run_async().
* b65435f – Rename fm_file_info_copy into fm_file_info_update; fixed memory leaks in src/base/fm-file-launcher.c
* a3d6115 – Fixes on memory allocations in src/base.
* e3d8f5d – Possibly fix for #3435863 – don’t think text files are executables so easily.
* 97df3cb – Fix #3509545 – Drag To Desktop Issue.
* 9fe672c – Little fix for FmDeepCountJob to correctly get allocated file sizes with gio.
* 1d2a263 – Fix incorrect API behavior of fm_folder_get_for_gfile(). Fix a potential crash in fm-progress-dlg.c.
* 204692a – Little fix for autoge.sh to support automake 1.12.
* f30b75e – I was wrong with last commit, fixing it.
* e6ff1c5 – Fix a bug related to #3300481 – Strange GUI behaviour when ejecting a media.
* d76e3a9 – Show mounted remote filesystems in side pane as what nautilus does.
* 5f595cf – Fixed compilation warnings from last thumbnail changes.
* b7a7b01 – Apply patch #3530922 – crashes on add/remove bookmarks (again).
* 4948871 – * Support external thumbnailers (Gnome 3 formats). * Make thumbnail_max config value limit built-in GdkPixbuf-based thumbnailer only.
* 033eaa4 – Reverted referencing in fm_file_info_get_icon and fm_file_info_get_mime_type.
* c43273f – Few fixes on objects references.
* 84489a6 – Eliminated compilation warnings in src/udisks/
* 32379bc – Fixed return value of fm_path_entry_new().
* 6f2f91f – Fixed few more places with compiler warnings.
* 408c9c2 – Fixed uninitialized variables in src/gtk/fm-dir-tree-model.c
* 8025fd8 – Fixed compilation errors in src/gtk/exo/exo-icon-view.c
* b7e6641 – Eliminated few casts, compiler warnings, fixed found errors in src/job/*.
* 49f42ad – Moved details of FmSimpleJob class out of header file.
* 072a747 – Eliminated few casts and compiler warnings.
* a20417b – Eliminated few casts and compiler warnings.
* eb2835b – Eliminated few compiler warnings.
* 3952938 – Fixed errors found by compiler.
* 13223ae – Fixed few errors found by compiler.
* d473178 – Debug build should show more warnings for developer sake.
* c96b04a – Eliminated few compiler warnings.
* 4684a81 – Fixed errors in fm-gtk-file-launcher.c.
* e94b755 – Optimized casts; fixed few compiler warnings.
* 0efa8da – Use new API and avoid direct access to data members.
* 40af362 – Load thumbnails embbed in jpeg files with libexif (optional).
* a28ecc9 – Apply patch #3530623 – pcman crashes on add/remove bookmarks.
* 66a3fce – Casts optimization; fixed few compiler warnings.
* d84f3fd – Fixed few cast errors.
* 8226a35 – Updated casts in src/gtk/fm-dir-tree-model.c.
* 8c9d603 – Corrected arg type of fm_path_list_new_from_uris().
* a7f2a98 – Cleanup on casts.
* 6d1e2b3 – Fix a stupid memory access error in fm_file_info_get_collate_key().
* 2415b8d – Hidden implementation details of FmFileMenu from global scope. Fixed some problems found from compiler warnings.
* 8e0de21 – Eliminated few compiler warnings.
* c4461b6 – Eliminated few compiler warnings.
* 020e009 – Eliminated few problems based on compiler warnings.
* c8f5d72 – Bump ABI version number since some APIs are changed. Remove unnecessary debug messages.
* 60819e4 – API cleanup: remove fm_folder_view_chdir(), fm_folder_view_chdir_by_name(). Remove ‘chdir’, ‘loaded’, and ‘error’ signals from FmFolderView. Hide implementation detial of FmFolderModel. Little fixes for better reload handling of FmDirTreeModel.
* e757f9d – Make FmPathEntry tolerant to NULL FmPath.
* a3f3da0 – Eliminated few problems based on compiler warnings.
* 38fd7e8 – Eliminated few problems based on compiler warnings.
* 315f7f0 – Eliminated few problems based on compiler warnings.
* d208ef7 – Little fixes for make distdir and debian build.
* 40ea8c8 – Trivial fixes.
* 9a0af82 – Try to fix #3231892, #3393477, #3450685, and some other cryptic crashes. Move destruction of some objects to dispose handler to avoid cyclic reference. Fix a bug in FmFolder caused by incorrect g_signal_handlers_diconnect() calls for FmFileInfoJob objects. Some API changes.
* be8bd13 – Hide implementation details of FmFolderView and add some new APIs.
* 4b4f052 – Update content of folders when they’re overwritten by mounted filesystems. Hide implementation details of FmFolder and add proper APIs for accessing data members.
* 8ab4d5b – Fixed improper arguments of strftime().
* a9f1c81 – Change returned value of fm_file_info_get_mtime() and _get_atime() from time_t* to time_t. Avoid unnecessary fm_path_ref() in FmPlacesModel.
* 897932a – Change API behavior of fm_file_info_get_mime_type(). Now the returned FmMimeType object does not own a reference.
* b420ef5 – Apply patch #3529095 – Deny public access to struct FmFileInfo. by Lonely Stranger .
* d33a77a – Additional fixes for bug #3462452.
* 00d6702 – Fix #3411312 – Custom action doesn’t work.
* 3e40566 – New APIs: fm_add_image_preview_to_file_chooser() and fm_select_file().
* fa9f5ac – Fix memory management errors related to bug #3462452 and patch #3528712. Prevent direct access of FmFileInfo::disp_name, and use its accessor function instead. Fix some code indentation problems.
* b0dfe2d – Possible fix for #3462452 – Pcmanfm crash using a wrong bookmark. Partially integrated patch #3528712.
* ffad43f – Add some notes for runtime environment. Close bug #3527773.
* 4c88e04 – Fix #3428067 – Properties attribute “size on disk” is incorrect.
* 6721d0b – Remove unused code used for overriding gnome-terminal, which was deprecated.
* 85287a4 – Add some comments about extable files in fm-file-launcher.c.
* ef4f3e7 – Fix incorrect icon update during theme change.
* ad0067b – Little fix for libfm-demo program.
* f528d4a – Queue an icon view resize if the requesitions don’t match.
* 0054afd – Fix #3473087 – Crash when double-clicking on a folder if the mouse moves.
* 5e82d59 – Fix #3466416 – Segfault when installing programs (icon them change).
* c7f18cc – Fix #3475434 – F5 refresh multiplies files.
* 8972eaa – Fix #3512666 – fm-archiver.c: Stack buffer overflow.
* 30747c1 – Fix #3457335 – Crash on application start with Terminal=true.
* 01dde78 – Fix a potential bug causing access violation.
* ca5ced2 – A possible temporary fix for #3497049 – PCManFM crashed with SIGSEV in update_icons().
* 7b5e7f0 – Show Paste only for folders. Show Rename only for single files.
* d975c3c – Implement Paste action in file-menu
* 19f2ded – Add fm_tab_label_set_tooltip_text()
* 689d0fc – Open directories with external application when FmLaunchFolderFunc func is NULL.
* 419a3c6 – Fix possible crash in fm-file-launcher.c
* 002ce85 – Fix hangup in file properties dialog
* 7acc7a1 – Fix infinite scrolling in places-view
* 09558ae – Do not show context menu entries for nonexistent executables
* 001a1dd – Fix crash when path points to a file, not a directory. (#3401988)
* 4c67a73 – Fix ‘Copy -> paste -> rename -> replace -> CRASH’ (#3457410)
* 228b8f6 – Do not show an error message when we drag and drop a file into it’s own directory. (#3494762)
* ea53fc2 – Free file stream after loading thumbnails and fix memory leaks.
* df46e3b – Bump version to 0.1.99, set ABI version to 2:0:0, and requires gio >= 2.26.
* 344aa2a – Correctly handle plural form commands and SEPARATOR items for DES-EMA support. Fix MimeTypes, Folders, and Schemes matching rules.
* 9bd3755 – Correctly implement ShowIfTrue, ShowIfRunning, and ShowIfRegistered defined by DES-EMA spec.
* cdddc93 – Add Vala support and initial implementation of DES-EMA spec for custom actions.

Towards PCManFM 1.0

To get PCManFM 1.0 in the best shape possible we just put a release candidate on the sourceforge file archive. Notable changes include external thumbnailer support, new file attribute dialog, support for modifier keys on drag and drop, symbolic link creation, individual wallpapers per desktop and documentation.

You will need libfm 1.0 to use pcmanfm 1.0 so they are released as a pair as usual.

Bug reports and patches should be submitted to the trackers at sourceforge. For bug reports be as specific as you can and try to cooperate with the developers if they ask for further testing. Hanging around the IRC channel #lxde at irc.oftc.net and reading the PCManFM project mailinglist are other good ways to interact with the project.

Get libfm and pcmanfm from the sourceforge file archive:
libfm-1.0rc1.tar.gz, sha1sum: 37528cde92dcbb1663c6c9d3eaf7fee51aacda8e
pcmanfm-1.0rc1.tar.gz, sha1sum: 4f28151b07934ffc99a6f3b697916055e45d2485