SpaceFM 0.9.4 has been released. Please check out SpaceFM News for a few announcements and the changes to this version.
I’m happy to announce that udevil is now available in Debian’s official testing and unstable repos. Thanks to Mateusz Łukasik for his work maintaining udevil and SpaceFM packaging on Debian, as well as his Ubuntu PPAs. For older Debian versions, you can still use the build-from-source packages in my PPA. Please see the updated Debian wiki page for details.
For those not familiar with udevil, it is a small tool that can simplify your system’s handling of devices, used by itself on the command line or within the SpaceFM file manager. udevil can replace need for udisks, consolekit, policykit, etc., creating a simple and easily configured system. udevil also includes the optional devmon automounting daemon, which will automount just about any device inserted, hassle-free, and can autostart apps and take other automatic actions you specify. Visit udevil Homepage
runwiththedolphin has produced a new screencast showcasing SpaceFM 0.9 on antiX 13.1 Stable. A very positive review of SpaceFM, it’s a nice walkthrough that shows some of the oft-overlooked features, new destkop and file browser features, and shows some tips on using plugins and networks.
Speaking of networks, OmegaPhil and I are wrapping up work on new very flexible handlers in SpaceFM for archives, devices, and protocols. The functionality came together nicely and will give SpaceFM some extraordinary flexbility and ootb intelligence for using fuse and other filesystems. This isn’t quite available, probably a few more weeks, but look for anouncements to help test and contribute default handlers.
I recently discovered the mpv video player, which is an actively developed and feature-rich fork of the mplayer/mplayer2 video players. They’ve cleaned up a lot of code and added some nice options (see the differences).
What especially caught my interest is mpv’s ability to automatically save resume points for videos, so the next time you play that video, it plays where you left off, and it also restores the mpv volume and other settings used. Because of this, I have dropped use of my old mplayerstart script, which added resume functions to mplayer.
Like mplayer, mpv does not include a GUI, though it does include a new on-screen control panel. It’s the kind of video player that you control with command line options, usually run in fullscreen, and largely control with key shortcuts. This makes for a great HTPC video player that can be adjusted to operate exactly as you want.
IG SpaceTV plugin for SpaceFM
Toward this end, I have created a new plugin for SpaceFM which aims to turn SpaceFM into a simple media center. The plugin basically makes SpaceFM act as mpv’s GUI for selecting videos, and extends mpv’s resume abilities.
The basic idea is that when you open any video file in SpaceFM, the video immediately plays in fullscreen mode. If you played the video previously and didn’t finish it, it will automatically resume where you left off. mpv also remembers volume and other settings on a per video basis. Plus, you can resume the last video you had been playing (without navigating to it), play prior videos stepping backwards, or browse unfinished videos. You can also set mpv options within SpaceFM, and can play a given video with different options.
Of course there are many other ways to create similar behavior in SpaceFM, but I think mpv provides a great base for this. This plugin is fairly simple, and is intended as a starting point for building and customizing your HTPC (or any media PC). It also shows good examples for how to show simple dialogs, and other features of SpaceFM custom commands. One advantage to using a single script to play all videos is that you can customize this script, allowing it to use special options for some file types, etc.
In addition, the spacetv.sh script can be used independently of SpaceFM to extend mpv’s resume abilities – it only requires mpv. Normally mpv doesn’t remember the names of recently played videos, so it can’t resume the last video you played unless you navigate to it and open it again. With this script, names are remembered so you can resume the last video, or step through prior videos.
I strongly recommend reading the README file to get the most out of this plugin. It works best if set as an opener for all video files (so it’s automatic rather than needing to select it in a menu), and system-wide key shortcuts for Resume Last, etc. are recommended there. To get started visit IG SpaceTV Plugin.
SpaceFM 0.9.3 has been released (see notes). This minor maintenance release stabilizes adjustment of the task manager columns and corrects a few issues.
Happy new year! And happy birthday to SpaceFM, which is now two years old (first pre-alpha release was on Jan 13, 2012). I see this blog had about 100,000 visits this past year, which while a little slower than some years (no doubt due to my fewer posts), it’s still great to see the level of interest, and from around the world too. I’ve made the 2013 and 2012 annual reports public if you’d like to see a bit about your fellow readers and some stats.
Update on SpaceFM Development
SpaceFM development hasn’t been too active the last few months aside from basic maintenance of the 0.9 series, and a few feature adjustments. While this may not be as exciting, it is good news to see that SpaceFM has reached a great level of stability, both in terms of its feature set and in terms of bugs. There are very few active bug reports, and reproducible bugs are usually addressed promptly.
This is a nice place to be in terms of development, because there isn’t much that needs to be done. SpaceFM is generally a complete and capable basic file manager (and DM) that doesn’t change quickly, which I feel is an asset in the current world of Linux. So as a minimum I aim to do the basic maintenance to keep it current, and since SpaceFM is also the file manager I use, I’m easily motivated to do so. SpaceFM also runs in a wide variety of environments and systems, dating back to HAL, etc., as well as the most current GTK3 and udev. As your extensible file manager, you can take it and all your custom tools with you.
Of course no software is ever done, and there are many ways that SpaceFM can develop further. If you find yourself bored with the pace of development, I strongly encourage you to get to know SpaceFM’s Design Mode and Dialog features better. SpaceFM probably does more than you realize, and you can extend it in many ways.
That said, there have been a few things going on here at Ignorant Software. I put quite a bit of work into a new design for SpaceFM’s side panes, particularly a new Bookmarks pane that is more tightly integrated with Design Mode, making SpaceFM’s bookmarks very powerful and context aware. This also involves some redesign of the panel behavior in SpaceFM, making placement more flexible. And it includes some unique new features. The design is mostly complete and looks inviting, yet it’s just a design – a long, long road from seeing reality. I was a bit discouraged by the amount of work it looks to be to implement, especially in light of poor upstream support lately in GTK. It’s a gamble to invest work based on an API whose future is uncertain. So for now this next stage of SpaceFM is pending, mostly waiting for more extensive development time.
SpaceFM contributor OmegaPhil has been working on newly designed archive handling in SpaceFM, which includes a configuration dialog that allows one to set custom handlers to create and extract any kinds of archives in any way, rather than the current hard-coded commands. This work is largely completed and we’re finalizing some of the design choices and behavior before it enters early testing. No precise timing on this but plans are to make a testing branch available for this relatively soon.
In a slightly longer term plan, OmegaPhil’s handler configuration dialog will see double duty in SpaceFM, as I extend it slightly as a dialog to configure handlers for network types as well, and perhaps filesystem types. This will allow separate handlers to be set for each protocol or filesystem being mounted/unmounted, and will enable SpaceFM to make better use of unlimited fuse filesystems and diverging mount solutions ootb. It can currently do this with a custom protocol handler, but the new dialog will make this more user-friendly and capable.
One final thought on completion and development… SpaceFM is ad hoc by design in its handling of devices, networks, and filesystems. This flexibility can be misinterpreted as dysfunction or poor design when it’s not fully configured. Many distros simply package and ship SpaceFM without providing a default session file, for example. This gives you the vanilla configuration. Yet because SpaceFM is designed to work across such a broad array of environments, these defaults are minimal at best, and may not work well with your system without some adjustment. This is especially true of SpaceFM for several reasons. It’s not associated with a DE or other fixed set of system tools (yet can use any). It uses minimal dependencies (basically just HAL or udev, and gtk), and uses only stock GTK icons (it doesn’t have dependency on any icon themes). This gives it a very plain and unassuming look ootb, but rest assured you can give it very different looks and behavior in many regards.
So overall I’m pleased that SpaceFM has reached a mature level of stability and ability. While it’s not my primary project now and gets less attention just because it works well, I think it’s in a very good place for its users and developers. Thanks for your continuing interest!
Also, I made a new plugin Paste Into (aka Paste Into Folder) to paste clipboard files into a single selected folder, or else into the current folder. It is intended to replace or supplement SpaceFM’s built-in Paste command. Some people asked for this in SpaceFM, and this plugin also demonstrates how easy it is to manipulate the clipboard in a script using SpaceFM socket commands, and also how to start a custom copy/move task.
Hope everyone has a great holiday coming up!
IgnorantGuru has invited me to post about potentially useful GNU/Linux projects I’m working on, so here goes!
I am a refugee from GNOME 2 like I assume a fair few of the readers here are, ending up on XFCE4 after some positive experiences early on and the great Linus’ recommendation. One hole I haven’t managed to fill until now is a proper network bandwidth graph in the panel (I used NetMeter for many years under Windows and then Hardware Monitor) – so after finally getting some C and C++ progression, I have managed to port the Hardware Monitor applet to XFCE4! It has reached Works For Me™ status for a week now:
The screenshot is proof of the applet running in XFCE4 along with showing the applet – two Separators delimit the graph on the right, with the red line tracking upload and the green download (the numbers on the far right are from the separate Network Monitor applet).
Hardware Monitor can do a lot more than just a bandwidth graph – see the current maintainer’s site for screenshots.
This release is a bit of an experiment – please report issues on the issue tracker – I’m not after feature requests, although I would love to add some text reporting the graph maximum at some point.
SpaceFM 0.9.0 has been released – please review the changes.
I’m happy to announce that SpaceFM is now included in Debian’s official repos for unstable and testing. This will allow most users to avoid my build-from-source PPA packages, so much fewer dependencies. For stable and older Debian versions, my PPA is still available, as well as other methods.
There’s also a new Ubuntu PPA for SpaceFM and udevil, provided by SpaceFM’s official Debian packager, Mateusz Łukasik. So hopefully we’ll see it working its way into Ubuntu soon too.
Much thanks again to users for their patience and valuable feedback, and to the many translators and other contributors!
Sandfox users please note the new advisory regarding SpaceFM. Upgrading to SpaceFM 0.8.7 is recommended if you’re using Sandfox. This doesn’t represent any security problem in SpaceFM, yet because SpaceFM is a very capable program that offers access to filesystems via its socket, it’s a good program to lock down or limit in a sandbox. SpaceFM 0.8.7 is a bit smarter in this area, and even if you don’t follow the advice, should prevent use of its socket from within a chroot jail in all but the most extreme cases (requiring a custom program designed specifically to attack it). For high paranoia, follow the recommendations so the sandbox user has absolutely no access to SpaceFM’s socket.
Mateusz Łukasik’s Lubuntu PPA includes SpaceFM and udevil packages. Mateusz is also the new official Debian packager for SpaceFM and udevil and is working on including official packages in Debian’s repos (not yet available).
NOTE: For those building SpaceFM from source using the instructions in the README, Github recently changed the way they package the source when downloading a tarball. Because they now ignore .gitattributes, the download is over 75 MB and contains all old and new SpaceFM versions and packages. The instructions will still work, but the download is unnecessarily large. I have submitted a bug report to Github and will consider necessary changes based on their response. If you simply want the current release of SpaceFM (master branch), you can download the official tarball here (SF’s mirrors may take awhile to update immediately after a release).
It’s now much easier to help translate SpaceFM and udevil into your language. You can visit the Transifex SpaceFM and udevil projects, sign up for a free Transifex account, and use their online editor to translate strings. This way it’s not necessary for one person to do all the work – you can add some translated strings whenever you like. Visit the projects to see how much is remaining to be translated in your language (you may need to reload the page once or twice to see all of them listed for some reason).
Thanks to Delix for helping to set this up!