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

libfm 0.1.17 released! PCManFM 0.9.10 released!

libfm, the backend of the LXDE default file manager PCManFM, just got a new release to fix some outstanding bugs.
Along with the libfm release a new PCManFM release is available, this update adds some improvements to translations.

pcmanfm-0.9.10.tar.gz, sha1: 63fa355607ba5603d4e07dffc275a780afe9e27b
libfm-0.1.17.tar.gz, sha1: 06767191b0c8fbcc12b0ad0a61cf3774f4448c86

Changelog for PCManFM
Translation updates.

Changelog for libfm
d9a0701 Returns TRUE if the version of the GTK+ header files is the same as or newer than the passed-in version, so to match <= 2.20.x, we have to match >= 2.21
355d021 it has to be true for gtk <= 2.20.1
a075bcf Add missing files for building API doc with gtk-doc.
69a5671 Fix incorrect header guards.
79285e8 Add some compatibility headers and files used with min-lib-ver.py for future gtk3 migration.
5941231 Add warning message for gtk-doc in autogen.sh and add configuration summary in configure.ac.
e55e69e * Remove generated files from version control. and Fix wrong project URL in configure.ac.
77095f2 fixed a DSO issue
18cef6b re-added docs
and some translation updates.

PCManFM 0.9.9 released! libfm 0.1.16 released!

PCManFM, the default file manager of LXDE, just got a new release. This application need libfm 0.1.16 to work and incidently that is also released today!

PCManFM has seen some significant improvements since the last release back in October 2010. Probably the most notable UI change is the reintroducation of the tree view in side pane that was removed in the rewrite.

pcmanfm-0.9.9.tar.gz, sha1: de7099f57d7139a3d184cd162e02f5f5601667ec
libfm-0.1.16.tar.gz, sha1: c3f4b10baa596ddfc09ae9efbd2c922a26114de8

Changelog for PCManFM
5cbad00 Explicitly link to libfm.
a672793 Fix #3094303 – Regression: Dnd to add folder to bookmarks is broken.
3c969e7 Focus folder view after switching page.
5089e13 Update to use latest libfm API. Fix #3300800 – Deletion prompt has no title.
fa7d474 Fix untranslatable messages.
792cf32 Make “%d items selected” status message translatable.
b282aec Fix #3308324 – “~ in locatio bar cause pcmanfm crash”. Fix #3286157 – “Entering path with two initial slashes // crashes”. Fix #3284001 – “Crash when entering path with trailing slash”. This is related to GTK+ bug #650114, which is already fixed.
813241d Add “Reload folder” to “View” menu.
8a2866f Apply patch #3135578 – Problems with the selection and opening a file.
11d77a6 Apply patch #3163496 – “Menu key to call context menu” with some modifications.
164a371 Apply patch #3301636 – Make slash and tilde activate location bar.
253bdaa Close tab page when the folder which it shows is deleted or unmounted.
fb74b05 Use a less problematic way to show “root mode” warnings.
9756804 Update statusbar text, volume info, and window title correctly for every pages.
792db54 Use enum values instead of integer values for bookmark open methods.
ca184dd Use new API: fm_folder_model_get_is_loaded().
32f6ac2 Rework tabbed-browsing again and create one separate GtkHPaned widget for every page.
ea5e99a Save side pane mode.
5c2f12d Fix free disk space display. Fix #3037825 – Bottom bar not updated.
9a84c1c Rework tabbed-browsing again and make the code cleaner.
25a6a7b Add correct version checks for libraries in configure.ac.
ff8faeb Deprecate fm_folder_get_for_path() API and use fm_folder_get() instead.
28a479b Rename variables for consistancy.
a1c270d Make status bar message more user-friendly and correct.
b4e898b Use new fm_path_entry_set_path() and fm_path_entry_get_path() APIs.
1dfc8e4 Fix #3114626 – PCManFM 0.9.9 Umount partitions problem.
30cf77f Prevent removing built ui files and fix #3181001 – data/ui/*.glade files missing in tarball .
c1f4b6c Set a proper default desktop font if the config value is lacking.
41ad5c3 Add a new config value tab_max_chars to limit the maximum width of tabs.
6240436 Rework tab browsing so we can have more tabs in available space just like the old pcmanfm 0.5 series.
b7a953d Little fix.
cac3de0 * Fix #3139753 – Create New asks for name of new “file” even for a new folder. * Update translations.
9197e75 Add “Create New” popup menu to “File” main menu. Close bug #3107416.
3d14164 Fix #3095516 – PCManFM does not write preferences from main menu.
13a4a38 Add checks for invalid enum values when loading config files.
6d95cbc Fix #3112447 – Daemon mode opens window.
376cc92 Update translations and fix #3114640 – PCManFM 0.9.9 Right-clic on desktop partly hard coded.
6033d80 Escape strings while passing through IPC.
d7d1289 Handle string arguments with prefix –.
1098cfe Little fixes.
cda6259 Reimplement a simpler yet cleaner IPC mechanism again.
cdf5dfc Support mouse button 8 and 9 for back and forward.
5715ba7 Fix #3094187 – Icons file no change when “Stick to Positon” is unchecked.
4e0e602 Trivial fix.
b2e074e Improve handling of backward compatibility for old config files.
2ed76de Fix #3085503 – always_show_tabs=1 don’t work.
b510014 Require correct version of libfm.
9afd9e1 Bump version number to 0.9.9. Fix #3071296 – pcman windows always show up on first desktop.
422e106 Apply patch #3089346 – Re-enbale fake transparency when using pcmanfm 0.9.X.
7fd8aba Use our own round() implementation to avoid using C99 only function.
248b813 Add missing file to data/Makefile.am

Changelog for libfm
c5595a9 Remove docs directory from make file
d036dce fixed makefile
d06d8a0 we need m4 folder
4c7b7a2 fix file authors
7f5466e added missing license header
d22b41f Try to fix Lubuntu bug #820865 – pcmanfm cut&paste a folder to a destination folder withouth write permission causes data loss. https://bugs.launchpad.net/ubuntu/+source/pcmanfm/+bug/820865
2c8fdfb Trivial fix.
fe9ea77 Add missing license info and fix some build problems found by “make distcheck”.
3153210 * Bump ABI version with libtool -version-info to 1:0:0. * Update AUTHORS info.
9c49624 Fix #3094303 – Regression: Dnd to add folder to bookmarks is broken.
70e45ab Add optional window titles to commonly used dialogs provided by fm-gtk-utils.c. Fix #3300800 – Deletion prompt has no title.
94d9f4e Fix untranslatable messages.
d20b968 Make menu of side pane translatable.
37eee68 Apply patch #3301641 – Typing “~” in location bar loads root folder.
89630cf API changed: fm_folder_get_is_loading() -> fm_folder_get_is_loaded(), fm_folder_model_get_is_loading() -> fm_folder_model_get_is_loaded(). Add fm_folder_view_get_is_loaded(). Correctly update popup menu of FmSidePane when mode is changed.
cd79d62 Add missing g_object_ref.
8a69a3d Little fixes.
90c685c Add “changed”, “removed”, “content-changed”, and “fs-info” signals to FmFolder and add filesystem size query to FmFolder.
c076d3e Check for correct required versions of libraries in configure.ac.
d3f856f Little fix for dir tree.
1d09555 Include proper headers.
29bf2a1 Add FmSidePane class for a better implementation of side pane.
b54f630 Some fixes for FmDirTreeView.
c1b0d37 Add FmDirTreeView and FmDirTreeModel to implement directory tree for left pane.
7915d1f Add new API: fm_path_depth().
682f9e2 Add new API: fm_file_info_is_hidden() and have FmFolderModel use it. Remove the unused API fm_folder_get_for_path().
fe1854e Implement %k field code for Exec key according to desktop entry spec.
debea4a Little fix for statusbar message in demo program.
03ec420 Fix #3093778 – Pasting empty string causes copying “/” to current folder.
db84c10 Remove the useless “status” signal from FmFolderView and add some APIs for accessing data members.
180db97 Update comments.
3bdd675 Add a FmPathEntryModel custom tree model for FmPathEntry to save memory.
8003719 Little fix for cancellable.
392601b Use another way to implement auto-completion for path entry and try to utilize most existing functionality provided by gtk+.
d53456f Rework FmPathEntry and make it simpler and faster.
d500b33 Add a simple and basic implementation of button-style path bar.
197c7e1 Fix #3086703 – PCManFM crashes on non existent directories.
61443ac Fix #3115734 – Copying to long path names.
26062bb * Do chdir to / if cwd is under the mounted filesystem which is going to be unmounted. * Fix #3114626 – PCManFM 0.9.9 Umount partitions problem.
2243156 Fix #3127903 – Fails to give permission denied error when overwriting.
2f61ade Fix reference of invalid widget pointer in properties dialog.
415083d Prevent removing built ui files and fix #3181001 – data/ui/*.glade files missing in tarball.
883793d Show tooltips for tab labels when the label text is ellipsized.
3204482 * Use a forward compatible way to register uri scheme handlers as in glib >= 2.27. * Fix #3094197 – Prepare deprecation of the gio module.
67375dd Fix #3132262 – Crash when trying to restore files from trash.
17511bd Fix #3148077 – Latest pcmanfm/libfm crashes when trying to open /proc/self/fd/ (or its symlink /dev/fd/). In this same system nautilus opens that directory fine.
0f04125 Fix #3143296 – spaces are still (or again) not escaped in paths to execute.
36dfad2 Fix #3135910 – “Extract here” doesn’t handle space and encoding characters.
d419535 Add some macros to validate enum values.
1b2560c Changed order of typedeffing enums and declaring them – for C++ compatibility
cf8446b Do further checks for scripts.
1a249bf List “gobject-2.0” in configure.ac explicitly.

Upcoming releases

LXDM 0.4.0 was just released. Get the file at sourceforge.

But that is not the only thing happening in LXDE land. Next week we will do at least three releases if nothing special happens. PCManFM, libfm and LXDM.

PCManFM and libfm has been in development with no updates since last October and the much sought after feature of a directory tree has returned.

LXDM will “just” be a service release to get more translations into shape; Esperanto makes its first appearance in an LXDE component by this. Happy times. All three components are scheduled for release at the 27th of July.

The best guess by now is that more components will get releases in the coming weeks, some of them has seen no releases for years but has seem interesting features hidden in the git HEAD.

UPDATE!
LXDM 0.4.0 had an error in the release, there has been a new release dubbed LXDM 0.4.1 to fix this issue and include the l10n updates as mentioned above.

Volume Management Without Gvfs is Possible Now!

As I stated in previous posts, I’m doing direct UDisks support for PCManFM/Libfm. Now I have some things to show.

It now correctly supports different kinds of devices without GVFS. However, LUCKS devices are not supported because I don’t know how to do it. In addition, I’m not sure if LVM or RAID are displayed in proper way because I don’t have them for testing, either, but mostly used storage media for desktop PC Or laptop should be well-supported.

Here is a design decision to made: Should we show partitions reported as “system internal” by UDisks? UDisks consider them internal to the system and asks us to hide these partitions. So that’s why you don’t see some partitions in GVFS since it follows the direction of UDisks. Last release of libfm/pcmanfm does this, too. Should we ignore that and display all partitions just like what the old 0.5.x series do?

Anyway, volume management without gvfs now works. Hooray!
Now, it’s time to clear the bugs on the bug tracker. Later, when there is spare time, it’s also possible to move udisks of PCManFM to a separate gio module, so all gio-using programs, even XFCE, can use it without gnome.

Special thanks to Mihai Militaru who made some donation to the development of PCManFM and libfm through my PayPal account. If you want to help the development, too, feel free to donate via PayPal. My account is pcman.tw@gmail.com.

Cheers!

PCManFM 0.9.1 + libfm 0.1.1 Alpha

Today, new alpha releases of PCManFM and libfm were made.

Again, let me show you the screenshot first.

Here are highlights of this release:

  1. Auto-mount for removable devices and and “Auto-run” dialog. (Finally we have this!)
  2. Support ‘menu://applications/’ to show installed applications in pcmanfm. (needs lxmenu-data) (reported to be a little bit buggy?)
  3. Support ‘menu://applications/DesktopSettings/’ to show configuration tools. This just acts like control center. (only when you have lxmenu-data installed)
  4. “Open in terminal” now works for folders on desktop
  5. “Create New” is working on desktop.
  6. The color of location bar is changed when pcmanfm is executed with root user.
  7. Fix command line argumnent-related bugs.
  8. Fix sorting related bugs
  9. New configure option: –enable-debug
  10. Some minor bugs were fixed.

Please get it heavily tested.

Cheers!

PCManFM 0.9 Alpha is released!

After endless waiting, here comes the first public tarball release of next generation PCManFM.
But don’t expect too much. This is an Alpha release. ­čÖé
Everybody loves screenshots. This is PCManFM 0.9.0 alpha running under LXDE with its desktop manager turned on.

There will be 1.0, but before it become stable enough for production use, let’s call it 0.9.

Actually, 0.9.0 is not a new version of PCManFM. It is a whole new total rewrite and redesign from scratch. So its code base is totally different from the old PCManFM 0.5.x series.

Major improvements:

  1. Have GIO/GVFS support but “still keep original speed” and memory usage is still acceptable
  2. Seamless remote filesystem access such as sftp and smb (provided by gvfs)
  3. Trash can (provided by gvfs)
  4. Much better designed configuration dialogs
  5. Much better thumbnail support
  6. Better wallpaper handling
  7. Better drag and drop handling and also support X direct save
  8. Basic auto-mount (provided by gvfs)
  9. Better application chooser based on applications menu installed on the dsektop system
  10. The core part is moved to a separate lib called libfm, which can be used by other programs
  11. Much better structure of source code, so future hacking is easier
  12. Better configurability
  13. and more…

Please give it heavy tests. This will be the default file manager in next generation LXDE.
So quality and usability are extremely important.

Grab tha tarballs now!

http://sourceforge.net/projects/pcmanfm/


Cheers!

Current status of libfm and PCManFM

As usual, let’s begin with the latest screenshot.

The latest libfm screenshot on 2009-09-13
The latest libfm screenshot on 2009-09-13

Some highlights:

  1. The side pane now correctly display volumes.
  2. Mounting of removable devices now works out of the box. Just click on them in the side pane.
  3. Bookmark items in the side pane are now correctly updated whtn your gtk+ bookmarks got changed by other applications.
  4. Some bugs have been fixed.

Some notes on the volume management support:
This is achived with glib/gio, which calls gvfs. Unfortunately, gvfs currently has calls to ‘gnome-mount’ hard-coded in it and there is no way to override this bizaare behavior. So without gnome-mount, mounting doesn’t work. However, the developers of gvfs is now moving toward including mouting support in gvfs itself (by using libgdu and DeviceKit) and deprecating the use of gnome-mount. Then this will become no issue in the future. In addition, I think our move from HAL-based mouting in the original pcmanfm to glib/gio/gvfs is quite a correct decision. People on freedesktop.org are now trying to break backward compatibility (and also break others’ programs) “again”, and disk related parts HAL are going to be removed later. So existing applications which use older HAL, including pcmanfm and some applications in XFCE, will be broken in the near future. So, we don’t seem to have other choice…

Exciting improvements in libfm and PCMan File Manager

Recently libfm, the core of next generation file manager, underwent heavy development and rapid changes. Here are some exciting highlights.

  1. The repository was completely moved from svn to git now.
    You can grab the latest source code with following command line:
    git clone git://libfm.git.sourceforge.net/gitroot/libfm
  2. Drag and drop now works! You can even drag and drop between two different remote filesystems.
  3. Clipboard handing is greatly improved. Files cut/copied in GNOME/Nautilus, XFCE/Thunar, and even KDE/Dolphin can now be correctly pasted in libfm.
  4. Now libfm correctly mounts remote filesystems on demand.
  5. Basic bookmark support was added.
  6. File associations (default application for file types) can now be changed in properties dialog.
  7. Partial auto-completion for path entry
  8. Moving files now works, but error handling is not yet implemented.
  9. Now errors are correctly reported when the loading of folders failed.

Now we’re more and more closer to our goals, to build a modern, fast, and lightweight file manager supporting gio/gvfs for LXDE. After the core library, libfm, is finished, the development of the next major release of PCManFM will be started. This will fix various old bugs in the original 0.5.x series and provide full access to remote filesystems. So stay tunned and get it well-tested!

Last but not the least, developers are wanted! Please join us if you like LXDE and you know gtk+ and gio programming in C language.