Category Archives: Release

lxmenu-data 0.1.4 released.

Three years no releases were made for desktop menu package and now two releases in row: 0.1.3 then 0.1.4, because a file conflict was found in 0.1.3. No big changes, mostly translation and packaging updates.
New release tarball download link:
lxmenu-data-0.1.4.tar.xz – SHA1: f5fe57c43006cd00fe0a8f4978edd0fbad58793f

Changes since release 0.1.2 (see git log for details):

  • Few updates for build package using more recent auto-tools.
  • Translations updates.
  • Added missing lxde-science-math.directory into release tarball.

LXMusic 0.4.6 released.

Another bugs fixing update happened at beginning of September. A simple XMMS frontend music player got next release, year later after previous. No big changes except for translations update and bugs fixes.
New release tarball download link:
lxmusic-0.4.6.tar.xz – SHA1: 69209b26aefbb0f1cd45bbb3da85526a4137c39c

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

  • Few updates for build using more recent auto-tools.
  • Added compatibility with libnotify >= 0.7.0.
  • Fixed crash if “id” is not available.
  • Fixed crash in using xmmsv_get_* functions.
  • Fixed crash on NULL passed to guess_title_from_url().
  • Fixed crash after deleting item from playlist.
  • Eliminated duplicate gtk_widget_destroy() on main window which leaded to crash on exit.
  • Fixed return value from lxmusic_do_notify_prepare() if no libnotify is available.
  • It have to destroy any dialog windows on exit.
  • Fixed few invalid casts and deprecated gdk_pixbuf_unref() calls.
  • Allow compile with  GLib >= 2.30 replacing deprecated functions.
  • Added manual page lxmusic.1 to install tarball.

LXLauncher 0.2.3 released.

And yet one more application that got no releases for 3 years. That does not mean it isn’t loved, no, it just got no attention, seems it worked more or less. Or may be not. Anyway, few bugs were fixed and this brought new release. As always, everyone are welcome to find any hidden bugs and report them into the tracker.
New release tarball download link:
lxlauncher-0.2.3.tar.xz – SHA1: dcd681775a8e9aed8814f130abc9d6e77a97a3e5

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

  • Fixed building with GTK+ older than 2.24.
  • Fixed bug with empty LXLauncher.
  • Installation: updated files to support new autotools,
  • Changed default distribution tarball format to xz instead of gzip.
  • Updated README file with configuration documentation.
  • Fixed path to background image in the README documentation.
  • Allowed usage of all the found gtkrc files, not just first found one, that was highly incorrect and prevented user to use system setup together with user one, no copy-paste required anymore.
  • Fixed all compilation warnings and added support for new safe menu-cache functions.
  • Got rid of deprecated draw function, cairo is used now.
  • Added a manual page for the application.
  • Restored possibility to use background images on pages which was lost in some of previous releases. ASUS names can be used still but new simpler naming is used too, such as Work.jpg file.

LXDE-common 0.5.6 released.

After 3 years of silence in the package which some people think of as LXDE core package (though LXDE does not have one), the little bugfix release happened. Not much of changes, just some updates.
New release tarball download link:
lxde-common-0.5.6.tar.xz – SHA1: 4ce700232870db2601ca21b508e65ecc920a54e0

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

  • The “Fullscreen” keybinding in Openbox rc.xml file changed from F11 to Alt+F11, Many applications already have this keybinding bound to own processing so let not interfere with them.
  • Installation: added fix for invalid $sysconfdir in configure in case of $prefix is /usr.
  • Fixed incorrect path to pcmanfm.conf file in startlxde script.
  • Changed location of all configuration files placement from somewhere in system shared data directory to location under system config data directory.
  • Added keybinding for ‘lxpanelctl menu’ on Alt+F1, the same as it is in GNOME and Lubuntu.
  • Added keybinding to launch gnome-screenshot when PrintScreen is pressed.
  • Installation: updated autogen.sh to support automake > 1.11.
  • Changed default distribution tarball format to xz instead of gzip.

Menu-Cache 0.7.0 released.

We are sorry that news come to you late but that’s how it is. Yet in very beginning of this autumn next feature release of library that supports cached access to XDG-compliant desktop menus happened.
New release tarball download link:
menu-cache-0.7.0.tar.xz – SHA1: da29b2dabad0c5fff4d0a9771dff3425038166fa

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

  • Added bit of support for multiple supported cache file versions, using CACHE_GEN_VERSION environment variable to the generator. This may be useful in future when 1.2 cache file version will be implemented.
  • The menu-cache-gen libexec binary is rewritten from scratch. No that Red Hat / GNOME code anymore. New menu-cache-gen uses libfm-extra XML manipulation functions therefore it is required now for build.
  • Added a parameter for menu-cached to specify socket path instead of calculating one, that is definitely more safe.
  • Libmenu-cache handles menu-cached failure more gracefully now, don’t tries to restart it so fast that it clones many times.
  • Fixed menu-cached crash after menu-cache-gen failure.

LXPanel 0.7.0 released

A huge update to the GTK+ panel was released. See the list below for some changes. Full log of changes can be fund in git.

lxpanel-0.7.0.tar.xz, sha1sum: deccc11a05d4c23f10b0cefddf4fca4eaea7206b

  •  New plugin ‘launchtaskbar’ with combined functionality from ‘launchbar’ and ‘taskbar’. For easy support codebase is merged instead of doing duplicates but appearance is still the same in dependency from mode chosen.
  • Integrated with LibFM, all launching and application selection in the launchbar settings is done by LibFM now.
  • New simpler plugins API implementation, using LibFM plugins loader. In new API some callbacks were simplified and some removed, see all the detailed descriptions in the file plugin.h.
  • New plugins are GtkWidgets now, therefore there is no explicit destroy for them or their data, all will be handled implicitly.
  • Changed config access with simple API similar to libconfig one.
  • Using icon caching from LibFM.
  • Applications properties in the menu are managed by LibFM API, no more calls to lxshortcut application.
  • Setting for file manager is not handled on its own but XDG setting is used now, i.e. default choice for “inode/directory” MIME type.
  • Setting for terminal is handled by LibFM, therefore it is the same as in PCManFM now, no own setting anymore.
  • Replaced configure option –enable-cast-checks with –enable-debug.
  • Replaced ‘pager’ plugin with former ‘wnckpager’ one. The ‘wnckpager’ name is still supported for compatibility but it is the same plugin.
  • Added new plugin ‘weather’, written by Piotr Sipika.
  • Using drag & drop handling from LibFM in launchbar. It is possible now to use any kind of files as launchbuttons, and folders can receive drops as well.
  • Allowed drag applications from system menu plugin so they now can be dropped somewhere. The obvious example is drop on the desktop.
  • Using human readable sensor names if available (like ‘Core 0′, etc.).
  • Panel is allowed to hide completely (setting width when hidden to 0).
  • The IconGrid converted into GtkContainer derived class PanelIconGrid.
  • Allowed to use <USER_CONFIG_DIR>/lxpanel//gtkrc for the panel custom style setup.
  • The panel itself in not a struct now but a GtkWindow derived class so no special API to destroy it is required.
  • Improved the layout of icons in panel, they will not align to the edge of screen but appropriately to panel height. Some of them did that already but some were aligned to the screen edge without any gap.
  • The button to configure plugin in panel plugins configuration tab is renamed from ‘Edit’ to ‘Properties’.
  • All logging is unified. The option –log is deprecated and isn’t used anymore. User can change logs appearance using G_MESSAGES_DEBUG and G_MESSAGES_PREFIXED environment variables (see GLib docs).
  • Old APIs are in place still for backward compatibility with third party plugins but will be dropped later, supposedly on next feature release point. Old APIs are not present in public headers, compatibility is on binary level only.

PCManFM 1.2.1 and libfm 1.2.1 released!

Bugfixes high and low! Andriy has not forgot about you, four months ago the 1.2.0 release was out and since then bugreports have been taken care of. The result is ofc version 1.2.1. No full git log this time either, it’s to messy – follow the links if you want that type of report. The NEWS files are posted below the download links though. Happy hacking, keep reporting bugs and provide patches if possible!

pcmanfm-1.2.1.tar.xz, sha1: 6b0c981224897a621a52919d48f2ff13029f1552
libfm-1.2.1.tar.xz, sha1: 919da9d93bcff60f999470c6cb3326a1c7632f02

libfm – full git log

  • Fixed incorrect presence of LXShortcut in menus.
  • Fixed context menu on right-click on column header, it was not always shown, especially with GTK3.
  • Fixed incorrect mime-type of mount points under computer:///.
  • Few fixes in internal thumbnail generator.
  • Changed info message on usage of x-terminal-emulator as terminal.
  • Added sakura, qterminal and lilyterm into terminals database.
  • Don’t create ~/Templates if it does not exist on application start.
  • Fixed installing extra files with different values for –with-gtk.
  • Fixed file renaming if it’s name is illegal on destination filesystem.
  • An error window after user pressed ‘Cancel’ on app selection should be not shown anymore.
  • Fixed menu positioning if it’s placed near monitor edge and also on non-first monitor, also ensured menu UI update before calculating its position.
  • Fixed cancellation of loading row after FmDirTreeView chdir.
  • The “link” mark on icons of small size (< 20 px) now scaled properly.
  • Fixed positioning of search box in ExoIconView widget.
  • Fixed fm_terminal_launch(), some terminals need PWD environment set.
  • Fixed invalid rubberbanding after doubleclick on ExoIconView items.
  • Corrected drag cursor, it should correctly show dragged item icon, not generic drag cursor.
  • Fixed crash in fm_folder_view_scroll_to_path() if path is not available.
  • Fixed unitialized variable usage in folder view context menu positioning code.
  • Prevented path entry from containing “(invalid encoding)” string since it will prevent that path from being used.
  • Fixed path completion listing for display names in paths.
  • One-time custom application isn’t added anymore into list of last used.
  • Added a workaround on duplicated loop devices in Places sidebar.
  • If quick_exec option is set to true, launching will always start the application, not try a terminal for it.
  •  Changed ExoIconView rubberbanding the same way as it’s done in GTK+.
  •  Fixed invalid renaming files on moving them around virtual FS.
  •  Fixed crash in vfs-menu module with libmenu-cache 0.3.x.

PCManFM – full git log

  • Fixed update desktop config from old settings.
  • Fixed ‘Edit’->’Rename’ menu item, it should be inactive if rename isn’t supported.
  • Fixed install and uninstall for modules directory.
  • Port number shouldn’t be added in Connect to Server dialog if port is default one.
  • Got rid of possible memory exhausting after changing wallpaper.
  • Fixed icons positioning when upper reserved area is not 0.
  • Fixed resetting cursor in location bar to beginning after navigation.
  • Corrected folder popup update on folder loading so context menu is now correct for the folder shown.
  • Fixed dragging and dropping icons behavior on desktop.
  • Correctly use screen number to display all the windows.
  • Added “System;FileTools;” into Categories for pcmanfm.desktop, those are recommended categories for the FileManager one.
  • Reordered ‘View’ menu items a bit to conform with HIG.
  • Implemented drawing icons of dragged items as cursor to see where they will end up dropped.

 

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.