SpaceFM 0.7.0 is available. In completing portions of the plugin support, this version makes changes to the directory structure of plugins and custom menu commands, as detailed below.
Make A Backup
Although this change should be transparent to most users, it is recommened that users create a backup copy of their SpaceFM config directory before upgrading, to give you more options should there be a problem. For example:
cp -r ~/.config/spacefm ~/.config/spacefm-backup-063
You can also export some custom commands, which provides a portable backup copy separate from your session file. These can then be imported back into your menus if needed. However, exporting all your custom commands should not be necessary.
A Problem In SpaceFM < 0.7.0
IMPORTANT: Unrelated to the plugin and command changes below, there was a problem with how custom separators were added to menus in previous versions. The menu item which follows a custom separator is not properly linked to the separator. This means that when removing the item following the separator, items following the removed item may also be removed. The first time you run version 0.7.0, it will repair your session file to correct these separators. If you are not upgrading, it is recommended that you remove all custom separators from your menus, and not add new ones. Built-in separators are not affected by this problem.
Plugin & Command File Changes
Version 0.7.0 is backward compatible with plugins and session files created by previous versions. However, previous versions may not be able to run plugins created by 0.7.0 and later, depending on their type. Specifically, plugins which use a command script and are created with 0.7.0 or later will not work in previous versions unless modified.
Why was this change made? When SpaceFM was initially released for alpha testing, the plugin support was incomplete, as was planning for its final file structure. The new structure is more flexible and capable, and should be the last change required for the forseeable future. While further additions may be made to plugin support, they should not change the basic structure, and thus should not break compatibility.
In previous versions, custom command scripts were stored like this:
In newer versions, custom command scripts are stored like this:
SpaceFM 0.7.0 will copy scripts from the old location to the new location as needed. Once this copy is made, it will ignore the old copy, which means the old command script will not be updated further. If you don’t plan on downgrading, you can delete the old copy once the new copy exists. If you downgrade, remember that older versions will only see the script in the old location.
In previous versions, plugin files were stored inside the archive like this:
In newer versions, plugin files are stored like this (where each folder is a command in the plugin:
In previous versions, plugin and custom commands had no assigned ‘command directory’ or ‘data directory’. Now they do, as is now detailed in the updated SpaceFM User’s Manual. Plugins and commands also now automatically use the ‘icon’ file located in the command directory, if present, as detailed in the manual.
A Browse submenu has been added to the Command submenu of the design menu to allow you to quickly access a command’s or plugin’s command and data directories, and also a plugin’s top level directory.
The default bash command script has been updated with new variables:
# "$fm_cmd_name" menu name of current command # "$fm_cmd_dir" command files directory (for read only) # "$fm_cmd_data" command data directory (must create) # To create: mkdir -p "$fm_cmd_data" # "$fm_plugin_dir" top plugin directory # tmp="$(fm_new_tmp)" makes new temp directory (destroy when done) # To destroy: rm -rf "$tmp"
You will not see the additional variables in the help section of your existing command scripts, but they can be used. To see the help section, create a new command script, and if desired, copy it to your old script.
Changes To Terminal Usage
Some problems with these terminals have been corrected in 0.7.0: xfce4-terminal, gnome-terminal, lxterminal, konsole, terminator Specifically, these terminals do not necessarily start a new instance, and instead open a new terminal window in an existing instance. This caused problems with the Run In Terminal and Keep In Terminal functions. Workarounds for this issue are now included. However, because of the limited options provided by lxterminal and konsole, using a combination of Keep Terminal and Run As Task will not work as detailed in the manual for these terminals (only). However, this is a rare option combination of limited use, so for the most part these terminals should work well.
It is not practical for me to test every possible use of SpaceFM with every terminal, but if you do encounter a problem with a terminal, please let me know and I will look into it. Roxterm is a good terminal to test behavior against, since that is what I use for most testing purposes.
GTK Version Requirement
The configure, debian build, and debian package files, including the PPA, have been updated to require libgtk >= 2.24, which is what SpaceFM requires. Also note that SpaceFM does not appear to be buildable on Debian Squeeze or Ubuntu 10.04 due to missing dependencies in their repositories.
For those working on translations, a few new strings have been added to this version, so a new merge may be helpful.
Major new sections added to the SpaceFM User’s Manual include Design Mode and Plugins, plus a section on GTK Themes, and other minor changes. It is highly recommended that you browse through the manual to see what you may be missing. The manual is still rough and incomplete, but there is quite a bit of new material there. Feedback is welcome – how is the manual working for you? And what areas of the program do think most urgently need documentation?
For additional changes in 0.7.0, please see News.
No comments yet.