Tag Archives: libfm

LibFM + PCManFM 1.2.3 released!

Those two components are usually released together. They are tightly bound, you know, and even if PCManFM 1.2.3 supports build using 1.0.1 series of LibFM yet, that is not the best (because most of functionality lies in LibFM and using old version you lose much) and it’s always better to use last one. So far nothing new happened, no 1.3 version in active development, so only bugs fixed, making this piece of software more reliable for your fun.
New release tarballs download links:
libfm-1.2.3.tar.xz – SHA1: c3f2f34086761d89d6aba549883610084ba00750
pcmanfm-1.2.3.tar.xz – SHA1: 0a195301de31c82f1c169e620be7cea8b91813b5

Changes since previous LibFM release 1.2.2.1 (see git log for details):

  • Changed licence for libfm-extra and libfm components from GPL-2 to LGPL-2.1.
  • Fixed crash on dropping URL queries into some folder.
  • Fixed filename on dropping URI queries into folder: URI query like http://some.site/path/query.php?new=yes&mine=0 should be never saved with file name path/query.php?new=yes&mine=0 but as query.php instead like all the web browsers do.
  • Disabled debug messages in XML parser, it spammed a lot.
  • Fixed content type detection which was broken in last release.
  • Fixed incorrect call to g_environ_setenv() in the terminal call.
  • Replaced deprecated atk_component_get_position() calls.
  • Fixed invalid callback get_image_position() on ATK icon of ExoIconView, it could loop and therefore hang the application.
  • Disabled deprecated atk_focus_tracker_notify() with new libatk.
  • Fixed installation of headers with parallel install, it could create invalid symlink /usr/share/libfm/libfm in some conditions.
  • Corrected handling of application launch failure – launch content have to be informed about failure if startup notify id was retrieved from it before.
  • Fixed usage of POSIX.1-2001 declaration `environ’ with GLib < 2.28.
  • Fixed “out-of-tree” build (e.g. make distcheck).
  • Corrected menu cache to sync in fm_app_chooser_dlg_dup_selected_app(), otherwise it would not work without menu preloaded.
  • Fixed launch of applications with %f or %u argument – it should launch not just first file but all of them with the same command.
  • Fixed unneeded fm-folder-config save even if no changes were made.
  • Fixed not updated file in FmFolder if file was not changed within last 2 seconds. In case of fast download it was not updated in time. This may cause a little performance issue though due to thumbnails update.
  • Fixed crash if g_file_get_basename() returns NULL.
  • Fixed issue with desktop entry file selected in the Application chooser dialog, it tried to execute the desktop entry directly. Now it setups dialog fields from that desktop entry instead.
  • Fixed problem with unwanted application substitution in the Application chooser dialog: if user selected no name then no replacements should be attempted.
  • Fixed default app detection in Application chooser combo box.

Changes since previous PCManFM release 1.2.2 (see git log for details):

  • Disabled unrequested config save on changing dir if show_hidden changes.
  • Replaced deprecated atk_component_get_position() calls.
  • Fixed invalid callback get_image_position() on ATK icon, it could loop and therefore hang the application.
  • Increased delay on restoring scroller position from 20 to 50 ms.

PCManFM 1.2.0 and libfm 1.2.0 released!

Hard at work and huge changes were served. Below you’ll find the NEWS files for PCManFM and libfm, usually we post the git log and link the commit IDs to the log but that is not possible this time, the NEWS files combined are 4800 words!

pcmanfm-1.2.0.tar.xz, sha1: d2a72a25d1f5a9fd6a245bfe5a8723969fa27e9a
libfm-1.2.0.tar.xz, sha1: f4da9f73111364291501bfc752c50d43a17f17cf

PCManFM – full git log

  • Implemented accessibility for the desktop managed by pcmanfm.
  • Added missing accessibility relations between main window parts.
  • Added tooltips for desktop items. Tooltips contain full file names, while desktop text shows them truncated in case of long names.
  • For LibFM version 1.2.0 (and newer) show version of LibFM in the About window as well, not just PCManFM version.
  • Added support for configuration options of LibFM 1.1.0 and 1.2.0 into Preferences dialog.
  • Adopted new LibFM APIs and disabled all the deprecated calls.
  • Implemented separated desktop configuration for each monitor. The Desktop Preferences dialog will be applied only to current monitor.
    If no setup was ever done for secondary monitor then setup will be copied from primary one. Configuration will be converted into new style
    from old one on the first start of PCManFM desktop manager. The new configuration will be not known to old version of PCManFM so if you
    start old one again, it will gain default configuration for the desktop instead.
  • Changed representing of sort mode in config file: instead of numerics ‘sort_type’ and ‘sort_by’ it’s saved as ‘sort=’ text setting. Thus it is possible to save extended modes such as ‘case’ or ‘mingle’ and save sort by extended columns (see LibFM new APIs).
  • Implemented saving of columns (works for Detailed List View mode). The list of columns is represented as [:<width]. This feature will work with LibFM 1.0.2 or newer. The LibFM 1.1.x will get some
    benefit only, the PCManFM can load that list from config. The possibility to catch columns change is available since LibFM 1.2.0 so this feature will work in full only with LibFM 1.2.0 or newer.
  • Changed strings to follow common Human Interface Guidelines for strings capitalization.
  • New tab with Search Results now opened in Detailed List View mode with columns: Name, Description, Location, Size, Modified. Since Search Results is a special folder, its layout should be other than default.
  • The ‘Tools’->’Open Current Folder as Root’ menu item is removed along with ‘su_cmd’ configuration option. That mode is too much dangerous and appropriate functionality can be achieved using DES-EMA extension for context menu, no need to hardcode it into PCManFM.
  • Added support for extended sort modes into main menu.
  • If used with LibFM 1.2.0 or newer then list of view modes in the main menu will be not hardcoded but list of supported view modes retrieved from FmStandardView widget.
  • Added support for per-folder configurations: sort mode, show_hidden, and view mode. The settings will be loaded from the file .directory if it exists, the file ~/.config/pcmanfm//dir-settings.conf will be used otherwise (and if linked with LibFM 1.2.0 or newer then the file
    ~/.config/libfm/dir-settings.conf will be used instead by the LibFM). Those settings will be saved not for each of the visited folders but only if ‘View’->’Save for This Folder’ checkbox in the main menu is checked, and will be forgotten after it’s unchecked.
  • Changed representing of view mode in config file: instead of numeric ‘view_mode’ it is saved in portable way as string defined by widget FmStandardView.
  • Changed representing of side pane mode in config file: instead of numeric ‘side_pane_mode’ it is saved now in portable way as string defined by widget FmSidePane.
  • Implemented Dual Pane mode which can be toggled on anytime. If there is some tab next to current then it will be used for inactive pane, and if there is only one
    tab present in the window then new tab will be created (for the same directory as current view). When tab that is shown in inactive pane is closed then Dual Pane mode
    is terminated and may be toggled on again by user if needed. The Dual Pane mode can be toggled either via the main menu or by pressing a key ‘F3′.
  • Added icon size manipulations (increase, decrease, normalize size) into View menu. New size will be remembered in config for the appropriate type of icons.
  • Added configuration for toolbar: it can be now hidden, and elements on it (New Tab, navigations, Home) can be hidden individually as well.
  • Added menu option ‘Go’->’Connect to Server…”. If selected it opens a dialog window to select type of remote folder and few parameters (host, port, path, login) for the connection. If not cancelled then selected remote folder will be opened in new tab.
  • Implemented new config option ‘media_in_new_tab’, defaulted to false. If set then automounted folder will be opened in new tab instead of new window.
  • Implemented new config option ‘desktop_folder_new_win’, defaulted to false. If set then folder from desktop will be opened in new window instead of new tab.
  • Context menu options to open folder in new window / tab / terminal now available also for side pane items’ context menu if used with LibFM 1.2.0 or newer.
  • If used with libfm 1.2.0 or newer then option ‘mingle’ will be included into default sort modes for the Desktop. This is expected by most of users – we add something to Desktop, then we see it after all already added items, not after other folders.
  • Implemented handling for extra items on the desktop:
    • Trash Can
    • “Documents” folder
    • external media

    Those items have not be in the Desktop folder, they will be added to the view by desktop manager internally. Corresponding config options are ‘show_trash’, ‘show_documents’, ‘show_mounts’ – those are set in
    the desktop config for each monitor. Default is true for ‘show_trash’ and false for other items. Note that all those items are not links of any kind but folders itself so weird operations with them may lead to weird results. This feature will work only if linked against libfm 1.2.0 or newer.

  • Folder view modes moved to separate submenu to make View menu shorter.
  • Reordered View, Bookmarks, and Go menus placement in menu bar to follow common order used by other applications and file managers.
  • The menu items ‘Go’->’Applications’ and ‘Tools’->’Find Files…’ should become insensitive now if appropriate modules were not loaded.
  • Added new section ‘autorun’ into config where last choices made by user for some kind of inserted media is remembered. Added a checkbutton
    ‘Always perform this action on this media type’ into the dialog where user selects an action so user can remember the choice and never ask again
    for that kind of media. The button is not available for unknown or mixed media types. The ‘do nothing’ kind of choice is allowed to remember as well
    if user selects not ask again and press the ‘Cancel’ button in the dialog. The choice ‘not ask’ is saved in config file as asterisk (*) prepended to application ID. The choice of view in the PCManFM itself is saved as pseudo-ID “pcmanfm”.
  • The menu option ‘Edit’->’Delete’ is split to two: ‘Move to Trash’ and ‘Delete’ because some users with disabilities may not be able to use keybinding Shift+Del therefore should be a possibility to do exact action by mouse only.
  • Added new menu option ‘File’->’Folder Properties’ which duplicates the folder context menu option for those who cannot use the context menu.
  • Added new menu option ‘Edit’->’Properties’ from the selection context menu for those who cannot use the context menu.
  • Added new menu option ‘Edit’->’Open’ to launch selection for those who can use neither keyboard nor selection context menu.
  • Added new config option ‘show_statusbar’ with default to true which defines should status bar be shown or hidden. It’s controllable via menu ‘View’->’Show Status Bar’.
  • Added new menu option ‘File’->’Create Link…’ to create link(s) on the selected file(s) into some directory.
  • Implemented a runtime option to open Find Files dialog window. It will not replace any other options, i.e. if used alone and no other window nor desktop manager is active, it will open new default window.
    It will not open any additional window if used when an other window or desktop manager is active though.
  • When wallpaper mode is color-only, the file chooser for wallpaper image is not clickable anymore because it has no reasons to be clickable.
  • Implemented the interactive search for desktop contents. It is similar to that in GtkTreeView and ExoIconView, activated by just typing or pressing Ctrl+F. This small search entry window is
    opened at the top right corner of workspace. It supports the same shortcuts as those GtkTreeView – Ctrl+G for “find next” or “Shift+Ctrl+G for backward, scroll gestures also possible.
  • Added new menu option ‘View’->’Filter…’ which allows to apply shell pattern to files currently shown in the view. The pattern is case insensitive.
  • After creation of new tab using keyboard Ctrl+T (or main menu option) the Location Bar of new created tab will be focused to allow easy change path. Any other created new tabs will have the focus as usual.
  • Added new config option ‘change_tab_on_drop’, defaulted to true to keep old behavior: when you drag file(s) on tab label then tab will be
    unfolded so you can drop files into folder view. If set to false (new behavior) then the tab will be not unfolded but you can drop files directly on tab label using any wanted gestures and files will end up in the folder that tab label points to.
  • Added new menu option ‘Edit’->’Copy Path(s)’ to copy text paths for the selection into clipboard.
  • Added new config option ‘home_path’ (unset by default) which defines the file path or URI string to open when ‘Home Folder’ is activated in side pane, toolbar, or menu. Available only with LibFM 1.2.0 or newer.
  • Added new config option ‘focus_previous’ defaulted to false (preserving old behavior) which allows select and focus the folder where we came from when we go into parent directory. It’s available only with LibFM 1.2.0 or newer.
  • Added new config option ‘close_on_unmount’ defaulted to true. If set to true then tab containing a folder that is vanished (that happens if the folder either
    was deleted or was renamed or was unmounted) will be closed. If set to false then such tab will go to the ‘Home Folder’ instead (with respect to ‘home_path’ config option).
  • Implemented possibility to set custom folder to display on desktop. It is saved in monitor config option ‘folder’. If that config
    option is unset that implies default desktop folder. If that config option is set to empty string then desktop icons support and drag&drop support will be disabled for that monitor. Otherwise mentioned path will be used to display on the desktop instead of Desktop Folder.
  • Changed saving option ‘wallpaper_mode’ into desktop config, it will be saved as text instead of number to allow further improvements.
  • Added new wallpaper mode ‘crop’ that will scale image proportionally to match the monitor size fut in difference to the ‘fit’ mode the scaled image will fill whole monitor area and will be cropped if it’s bigger than the monitor.
  • Added new wallpaper mode ‘screen’ that will scale image to fill the entire screen size and display appropriate part on the monitor it is configured for.
    This mode is useful when people have an appropriate wallpaper and want their screen composed of two monitors to show the whole image – a part on first monitor and other part on second.
  • Added alternative to Location Bar – implemented FmPathBar support with switching via menu ‘View’->’Path Bar’->… radio buttons. The path bar mode is applied to windows opened after change, the same way as the side bar change is applied.
  • Added optional ‘New Window’ button to the toolbar left to ‘New Tab’ one to those who don’t like tabbed view.
  • The statusbar can show total size of selected files if some conditions are met. Conditions are:
    • number of selected files should be less than 1000;
    • selection should contain no directories.

    Those limitations are due to lightweight nature of the file manager and otherwise counting will take too much resources.

  • Added API to create third-party plugins that may append own text to the statusbar text for selected files. The plugins should be installed into $(libdir)/pcmanfm folder and use “#include” directive in the code.
  • Added new menu option ‘Tools’->’Run a Command in Current Folder’ to run an arbitrary command line from the folder opened in current tab. This option works only with LibFM 1.2.0 or newer.
  • A whole lot of bugfixes.

libfm – full git log

  • ABI bumped to 4.
  • Added ‘auto_selection_delay’ option into config file, defaulted to 600, which defines interval in milliseconds before folder item is selected in single-click mode. Setting to 0 disables autoselection.
  • Added ‘drop_default_action’ option into config file, which defines how to act when some file(s) were dropped onto destination widget and no modificator key was pressed. Default is 0 (Auto).
  • Added ‘confirm_trash’ option into config file, defaulted to true, which defines whether moving files to trash can should be confirmed by the user. Previously this confirmation was defined by the ‘confirm_del’ option but now those two are separated.
  • Added ‘show_full_names’ option into config file, defaulted to false, which defines whether long names in icon view should be shown as it is or truncated to reasonable height.
  • The Places View made customizable. New section ‘[places]‘ added into config file with an option for each standard item (Home, Desktop, Trash, and Applications).
  • Added new Places View items: File system, Computer, and Network. All new items are disabled by default.
  • The option ‘places_unmounted’ in config file defines whether volumes from /etc/fstab that aren’t mounted should be shown in Places View sidebar or not. This option should be not present in the Preferences dialog the same as ‘advanced_mode’ one. Defaulted to true therefore default behavior is the same as before.
  • Context Menu on folder now available by Ctrl+Menu keypress while the selection context menu is available by Menu (or Shift+F10) keypress.
  • Implemented reordering bookmarks in Places View via context menu.
  • Greatly improved accessibility on every widget.
  • Added an option ‘Add to Bookmarks’ into file context menu. Available only if exactly one file is selected and that file is a directory.
  • Implemented dropping files onto Directory Tree View (sidebar) items.
  • Added terminal list file. There is no need to add ‘-e %s’ or similar to ‘terminal’ config file statement, it will be ignored from now on but predefined command line options from terminal list file will be used instead.
  • Added possibility to keep terminal window open after command execution. It depends on chosen terminal though: some terminals allow this (such as xterm, konsole, urxvt) but some doesn’t (lxterminal).
  • Added optional program name for custom application. If no program name is entered then application’s association with mime type will be not remembered and created application desktop entry file will be removed from user’s applications directory. Otherwise entered name will be shown in list of applications for that mime type instead of file name (that was old behavior).
  • New class FmTemplate for full templates support. Templates support also added into folder context menu replacing old hardcoded menu for the Empty Text File and Shortcut. To be more lightweight it is created once per folder view and isn’t updated if user added or removed some template while the view window is still opened. If this will cause any inconveniences this behavior may be changed but that will make the folder context menu less lightweight to appear.
  • Added ‘only_user_templates’ option into config file, defaulted to false, which defines whether only user defined templates should be shown in the folder context menu or system defined should be shown too.
  • Added ‘template_run_app’ option into config file, defaulted to false, which defines whether default application for appropriate MIME type should be ran after successful creation of file from template. There is also button in the dialog to change this default per creation.
  • Added ‘template_type_once’ option into config file, defaulted to false, which defines two modes for templates appearance. If this option is set to false then only those duplicates will be ignored which have the same file name, and label in popup list will be set to template file name without last suffix. If this option is set to true then only one template of each MIME type will be shown, it will have label from MIME type description. In both cases if any search directory has desktop entry matching this template (or template itself is defined by the desktop entry file) then value of ‘Name’ from it will override that autogenerated label.
  • Added a possibility to have tooltips in popups (GTK itself has no such possibility).
  • Added menu item “Empty File” back into folder context menu.
  • The ‘no_usb_trash’ option now has default to 1 (true).
  • Added support to remember columns width for FmFolverView. The columns widths are changeable only in Detailed List View though. Any change in columns layout will emit a “columns-changed” signal so application may connect handler to it and save columns layout into config file.
  • Implemented columns extension APIs which allows application to add own custom columns into any FmFolderModel – it registers handler for such column and any view which uses the model can use it after that.
  • Thumbnails loader code moved from libfm-gtk into libfm. Application can use custom image callbacks therefore external thumbnailers can be called independent from application-specific image representation, thumbnail generator will create thumbnail file and that thumbnail will be loaded outside of libfm.
  • Setting ‘thumbnail_max’ to 0 will mean unlimited size from now on.
  • Added file properties dialog extension API. Application can add own handler to modify file properties dialog for certain MIME type files.
  • Implemented file properties dialog extension for desktop entry file type – opening file properties dialog for single desktop entry will be extended by third tab (‘Desktop Entry’) with few desktop entry properties such as command to execute. Icon also becomes clickable (and focusable as well, can be activated by Space key when focused), activation will present icon choose dialog. The implementation was partially taken from LXShortcut utility. Icon change dialog is also available for any single file which allows icon change.
  • Disallowed default desktop path (by fm_path_get_desktop()) to be equal to home directory since it may be too dangerous. If it is set to home directory then it will be shifted to ~/Desktop.
  • Added ‘shadow_hidden’ option into config file, defaulted to false, which allows icons of hidden files to be shadowed in view.
  • Added GFileMonitor implementation for menu:// VFS.
  • The ‘Permissions’ tab in the file properties dialog will be hidden if permissions (owner/group and access flags) aren’t available to get for the selected file(s).
  • Added file operations for menu:// VFS, therefore any application which uses libfm can do desktop menu editing.Supported operations are now:
    • - create new application in any menu folder;
    • - change some application properties (contents of desktop entry);
    • - delete some application from menu;
    • - move the application from some menu folder to another one;
    • - create new folder in the menu (it is hidden initially);
    • - delete some folder from the menu.

    Folder creation and deletion operations are disabled if used with libmenu-cache older than 0.5.0 because you cannot see hidden folders with older libmenu-cache and therefore you cannot see newly created folder too (empty folders are hidden from menu in accordance with XDG menu specification).

  • New class FmXmlFile which is simple container which allows to load
    and parse XML text, do desired changes, and finally compose
    changed data into XML text back. It has very few simplifications:

    • - only UTF-8 encoding is supported;
    • - no user-defined entities (those should be converted externally);
    • - processing instructions, comments and the doctype declaration are parsed but are not interpreted in any way.
  • Added one more library: libfm-extra. It contains only FmXmlFile for now. The purpose for separated library is that it can be used where libfm cannot be – for example in menu-cache utilities. This library can be compiled separatedly from other libraries, use the configure script option –with-extra-only for that.
  • Implemented support for hidden menu applications and folders. Those are visible in folder view only when ‘Show hidden’ is on. This will work only with libmenu-cache 0.5.0 or newer.
  • Default behavior of drag and drop files on desktop is changed: if file dropped to desktop is some remote URI (a web link for example) then shortcut will be created; if file is a file under home directory (so it is most likely some special directory and should be never moved) then a symlink will be created; otherwise the file will be copied or moved as usual. This “smart link” behavior is applied only if option ‘drop_default_action’ is set to ‘auto’.
  • Added ‘smart_desktop_autodrop’ option into config file to enable or not abovementioned “smart link” behavior. Its default is true to protect inexperienced users, the old behavior can be returned by setting this option to false.
  • Implemented creating shortcuts (desktop entries with Type=Link) so it is possible now to drop a link from browser to desktop, for example, and that link will be opened with default browser when you click on it. And you can edit display name and icon of created shortcut to your preference.
  • Added basic support for detecting target type of shortcuts. If type of target content cannot be determined then content type of shortcut will be set to “inode/x-shortcut”.
  • Added APIs to test possibility and change display name, icon, “hidden” attribute of file, and target of shortcut.
  • File name is shown if file properties dialog window along with display name if it is different from displayable one.
  • If access or modification time aren’t available for the file then they will be not shown instead of stupid “01 Jan 1970″ date.
  • File can be renamed in the file properties dialog now. The entry will be disabled if target file system doesn’t support file renaming.
  • The “link” icon mark in left upper corner of icon is shown on shortcuts the same way as it is shown for symlinks. It is reasonable since any shortcut is the same thing – link to another resource.
  • New interface for loadable modules (plugins). Modules can be made by third party as well. Modules will be loaded on first demand and never reloaded so if you add or remove some module then you have to restart your application.
  • Added ‘modules_blacklist’ option into config file to disallow certain modules to load. The wildcard char ‘*’ is allowed and matches any number of characters. To match ‘*’ itself it should be escaped with two backslashes (\\), due to key file format. The option is a string list, each string may be just a type to blacklist, or type mask and name mask, divided by a colon (:).
  • Added ‘modules_whitelist’ option into config file as a exceptions list from the ‘modules_blacklist’ option. Format is the same.
  • Created interfaces for loadable modules:
    • - vfs (virtual file system)
    • - gtk_file_prop (GTK file properties dialog extension)
    • - gtk_folder_col (FmFolderModel custom column)
    • - gtk_menu_scheme (GTK context menu extension for URI scheme)
    • - gtk_menu_mime (GTK context menu extension for file MIME type)
  • Moved all VFS into loadable modules.
  • Moved desktop entry file properties extension into loadable module.
  • Rewritten context menu creation with loadable modules. Loadable modules have key either URI scheme, or MIME type.
  • Customized Trash Can context menus with separate module.
  • Added test if the directory is read-only and update context menus appropriately.
  • FmPathEntry shows real display name now instead of forged UTF-8 one. It is more logical if we enter directory “Multimedia” and end up in the “Multimedia” rather then in “AudioVideo”. It works for entry path and for path completion as well (naturally, it was impossible before).
  • The fm_path_display_name() API now returns real display name in most of cases instead of forged UTF-8 one.
  • Added ‘defer_content_test’ options into config file which defined if deferred content type test should be applied. Deferred content type test means the MIME type and icons of FmFolder items will be based only on file name for native files but their actual content will be tested later, after signal “finish-loading” was already emitted. If verified content type differs from early estimation then the signal “files-changed” will be emitted later. If option ‘defer_content_test’ is unset then old behavior (emit “finish-loading” only after all the info is retrieved) will happen.
  • The option ‘drop_default_action’ is saved in more portable way – not the number but text. Therefore if that list will be ever changed then it will be still accepted by libfm right way.
  • Added support for ‘hidden’ file attribute into file context menu and file properties dialog.
  • Added options ‘SortIgnoreCase’ and ‘MingleDirs’ into folder context menu.
  • The FmIcon class is implemented using GIcon instead, greatly reducing number of APIs used for cached icons support.
  • Implemented extensions for context menu on Sidebar items, similar to those that are done for FmFileMenu or FmFolderMenu. Application must remember file on which menu was activated and use it in own callback if it was activated.
  • Disabled attempt to drop files into folders on read-only file system.
  • The item “Delete” in context menu now changes appearance between Trash and Remove in dependency if Shift key is pressed.
  • Implemented little popup menu if option ‘drop_default_action’ is set to ‘ask’ – it shows ‘Copy’, ‘Move’, ‘Link’, and ‘Cancel’ choices when some files are dropped onto widget controllable by libfm drag&drop.
  • Added support for + drop: it will show the abovementioned menu with choices.
  • Allowed dropping file into the same directory if ‘drop_default_action’ is set to ‘ask’ – it shows ‘Link’ and ‘Cancel’ choices therefore it is possible to create symbolic link onto the file by drag&drop.
  • If last access right change time is available for file then it will be shown in the file properties dialog.
  • Broken symlinks are shown with appropriate icon “dialog-warning”.
  • Added API to suspend execution of running FmJob. This API applied to progress dialog therefore it will be possible to pause and resume any file operations jobs in middle. This may be useful in some cases.
  • Added ‘list_view_size_units’ option into config file, unset by default, if set then defines which units will be used in the Size column in Detailed List View mode, similar to those used in ‘du’ Unix utility: ‘h’ for ISO units, ‘H’ for SI units, ‘k’ for KiB, ‘m’ for MiB, ‘g’ for GiB, ‘K’ for kB, ‘M’ for MB, ‘G’ for GB. If not set then default mode (by ‘si_unit’ config option) will be used.
  • Added ‘quick_exec’ option into config file, false by default. If set to true then libfm-gtk will not ask for options on launching executable file but will do default action: run in terminal for any executable script or run directly for other executable files.
  • Implemented hiding items in Places View (Applications, Trash Can, etc.) if appropriate support is missing (no GVFS support or no module).
  • Implemented advanced version of lxshortcut application as one more tool based on libfm-gtk.
  • Sealed all the private data in objects. Applications should exclude use of sealed data and use accessor functions instead. For old code the workaround may be used – define FM_DISABLE_SEAL in compiler options.
  • Added ‘format_cmd’ option into config file. If set then “Format volume” option will appear on local non-mounted volumes which allows user to reformat USB stick for example. The example of setting for the option is “/usr/lib/gnome-disk-utility/gdu-format-tool -d”, that will call well known component of Gnome Disk Utility.
  • Implemented internal workaround for GIO inotify delay – operations with files are reflected in view instantly now, without delay of 1 second.
  • Added new class FmMenuToolItem – simplified GtkMenuToolButton with only menu button arrow without button that it is bound to.
  • Applied common human interface guidelines to capitalization of strings. Changed some names that might be ambiguous: ‘Computer’ to ‘Devices’.
  • Added new object FmFolderConfig for abstract access for folder-specific configuration values as key/value pairs (similarly to GKeyFile).
  • Added support for adding an optional icon in FmTabLabel before the text in the label.
  • New API fm_side_pane_set_show_hidden() for change visibility of hidden file in side pane (if the mode supports that).
  • Implemented support for hidden files in FmDirTreeModel.
  • Implemented more flex access to FmSidePane modes to allow extensions in the future.
  • Added option ‘Copy Path(s)’ into selection context menu to allow user copy text representation of path(s) as simple text list delimited by newline into the clipboard.
  • Changed search:// paths delimiter to be ‘,’ instead of ‘:’.
  • Corrected strings in the application chooser dialog.
  • Config file isn’t enforced to be rewritten anymore when fm_finalize() is called. The application should control that process instead. This will speed up application termination because when config is changed then the application will save config. Doing it on exit is a plain waste of resources: we rewrite what is already written but spend both CPU and disk I/O on it.
  • Press in FmPathEntry in case if completion ended in single match will append a slash to the completed directory name.
  • New API fm_side_pane_set_home_dir() for change the directory path which will be used on activating ‘Home’ item in side pane.
  • New API fm_folder_view_scroll_to_path() to scroll folder view to some path and optionally focus it.
  • If files that file properties dialog is open for contain a directory then file properties dialog will show file counting progress with total number of files involved.
  • Added new built-in column in FmFolderModel – Extension (last suffix of the displayable name) as alternative to file type for some old-style users.
  • Search dialog options are remembered now between searches. Search path and ‘Properties’ tab are not saved though.
  • Added fallback icons for folder and file in case if no usable theme was set in user GTK environment.
  • A whole lot of bugfixes.

PCManFM/libfm string freeze and beta period

An unusual update. Andriy posted a note to the pcmanfm development list about the upcoming release of PCManFM and libfm components. He has been hard at work closing bugs and adding features and in hopes to release in time for the next Ubuntu freeze we’ve now entered soft string freeze. This means that no new features will be added and most strings are stable enough to be translated. In about two weeks a solid freeze happens and no strings will change (hopefully we’ve found all hard to translate cases by then). If you want to help test drive the new code (build from source: pcmanfm-1.2.0-beta1.tar.xz libfm-1.2.0-beta4.tar.xz) or add to the translation effort we do welcome that.

If nothing very evil happens a new and shiny PCManFM 1.2.0 will be out early February.

PCManFM 1.1.2 and libfm 1.1.2+

No rest in the PCManFM camp. Another update is here, not just one but several. A new PCManFM version and two bugfix releaes to libfm gives us a strange version bump for once.

Download
pcmanfm-1.1.2.tar.gz, sha1: d6f42f0957abe25bb79b24b57bf1026eabe3d820
libfm-1.1.2.2.tar.gz, sha1: 21fc7600f6996a826106f40c4ff0c3ac5f094d47

Changelog for PCManFM
* 0a9dfa8 – [#3614867]“Daemon mode” not always works correctly.
* 3d6f154 – Add missing #include “gseal-gtk-compat.h” into src/tab-page.c
* 8eb3856 – Remove xml-purge to allow smooth cross-compilation, replace it with sed.
* 2e2d530 – Add data sources to dist tarball, the make check needs them.

Changelog for libfm
* fa819be – Release v1.1.2.2.
* 0de4df2 – Increase ABI revision to 5 before release (now ABI code is 4:5:1)
* da08c6c – [#3614500]Add weak notify on Places view to detach it from context menu.
* 74116b0 – Call GtkWidget’s handler button_release_event() before we unmount.
* 77c6a62 – Make ‘make check’ work (the docs/Makefile.am contains incorrect statement).
* 727334c – Release v1.1.2.1.
* 03f5ea8 – Fix over 8b67cc484583f2d9413ffb30e670fd7602f0a931, it was incorrect.
* d7df28a – [#3614837]Check file name before id when launch GDesktopAppInfo.
* 8b67cc4 – Fix crash with no terminal defined in config file.
* 90c5b6e – Release v1.1.2.
* 1d0055b – Increase ABI revision to 3 before release (now ABI code is 4:3:1)
* 18131ed – [#3614629]text/uri-list in DnD should be ended with \r\n not just \n
* bc51ca2 – [#3614837]Fix incorrect terminal config statement parsing.

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.

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!