IgnorantGuru's Blog

Linux software, news, and tips

PCManFM-Mod Final Release

The ‘final’ release of PCManFM-Mod is available. Except for possible bugfixes, v1.2.4 is the last planned release. All further development will take place in the SpaceFM project.

PCManFM-Mod v.1.2.4 is a minor bugfix version which addresses the following issues:

  • fixed a bug in the Find Files window where searching for a file size ‘greater than 1’ (KB/MB/etc) was not honored
  • fixed Copy As Text not handling filenames containing apostrophes
  • by popular request, removed virtual My Documents icon from the desktop
  • renamed libmimetype.xml to pcmanfm-mod-mime.xml to prevent collisions with other pcmanfm packages (this is a file installed to /usr/share/mime/packages which was never given a properly descriptive name)

My thanks to everyone who has contributed to PCManFM-Mod (and thus SpaceFM) with their testing, feedback and input!

PCManFM-Mod v1.2.4

See previous updates to PCManFM-Mod

January 15, 2012 Posted by | Mods, Software | Comments Off on PCManFM-Mod Final Release

SpaceFM: How And Why?

First, spacefm 0.5.1 is available. This corrects a few bugs that affected some installations as detailed in News.

Second, a bit on dependencies compared to its predecessor pcmanfm-mod: spacefm drops dependency on hal. It now supports udisks, but udisks is NOT a build or package dependency – spacefm interfaces with it the old fashioned way: text streams. In this way spacefm should be more resilient to changes in the udisks API, and users who don’t have udisks installed can still use spacefm (the udisks device manager will just be empty). Also, if you do still use hal, you can build spacefm with ––enable-hal, which will cause the old device manager code to be used. And there currently are deb packages available for the hal build. The hal device manager is the same one from pcmanfm – very primitive so I do recommend udisks. spacefm is devmon and then some.

The dependency on fam|gamin has also been removed, replaced with inotify kernel support. So spacefm has fewer dependencies than pcmanfm-mod, yet with greater functionality. I don’t like dependencies – they are sources of endless trouble because the APIs and libraries keep changing – a real problem in Linux. Plus spacefm, like pcmanfm-mod, is somewhat retro, so I have no intention of making it dependent on gvfs.

Third, here’s a start for those interested in the background…

spacefm is NOT pcmanfm or pcmanfm-mod, so don’t expect it to be. It’s quite a different beast, but its design is certainly inspired by pcmanfm, and it still uses some of the pcmanfm code, most of it modified, plus lots of new code. That’s why it’s being released under a new name and as a test version – there is a lot of new code that needs time to mature.

I was considering writing a new fm in gtk3 to try out some ideas I’ve had, but I don’t like using the latest toolkits as they’re always changing, which makes for bugs (it’s not easy developing stable software when everything its based on is changing, as is too much the case in Linux). And who wants a file manager that doesn’t WORK? Plus I didn’t feel at the time that I knew gtk well enough (I do now!) Plus a fm is a massive project to start from scratch.

This got me rethinking pcmanfm-mod. I’ve spent some time debugging its built-in vfs the last couple of years, and I found it very fast and stable. It uses core C and glib I/O functions, so it doesn’t crash with every change to some library, and I can modify or correct parts of it to do whatever I need. It is because pcmanfm-mod ran so solid and had few dependencies (eg no gvfs) that I decided to use it as a base for developing spacefm. I didn’t know if I would succeed in what I wanted to do, but I figured it was a good target for experimentation.

spacefm is experimental, especially in the UI department. This is not your typical file manager, at least in some ways. There are enough of those that work well, so I wanted to get more creative with it. I always hear from users how they want things their way, and I do too! So I wanted a UI that was very flexible, and also had a good memory for remembering and allowing user options and settings. To give you an idea, pcmanfm remembers about 20 settings or so in its config file. A typical spacefm config file remembers about 1000 settings, and that number only gets higher as you add custom commands and customize parts of the program. spacefm remembers just about everything in terms of preferred dialog sizes, program options, menu options, fonts, icons, etc. (If it forgets something you want it to remember, let me know – this is one of the key design aspects.) This design blurs the line between development and use – in using spacefm you are the developer of your own version of it, and you can make it look and work quite uniquely. As you use it, it begins to change and conform to your uses, sort of like a baseball glove that breaks in with use. It’s up to you to decide if I achieved this, but that was the idea. It can seem a little unusual at first though, like a new baseball glove, so give it a chance to break in.

Another aspect of this design is that it’s supposed to be always changing. The ‘space’ in spacefm is much like a room. If you move a chair or a couch in a room of your home, you expect it to be in the same place the next time you walk into the room – it doesn’t magically pop back to its original location. For the most part, everytime you start spacefm it’s exactly as you left it. It’s a space that you’re always changing gradually as you use it.

The other big design priority was easy integration with bash. Having to modify C code everytime I want my fm to do something is a pain. Yet fm UI’s are easier than bash for dealing with lots of folders, long filenames, etc. – click and copy. I wanted it to work like a word processor, where I can create a quick macro to do something repetitive or intelligent. And I may keep some macros long term, while other macros I’ll delete after a few uses – they served their purpose. It’s much easer to whip up a bash script than compile C code.

And I’ve missed multiple panels since I gave up using KDE and Krusader. Tabs are great, but sometimes it’s so handy to have folders next to each other for comparison, without trying to manage multiple windows. Yet pcmanfm was never designed for multiple panels, and the author has even stated it will never have them.

One other thing – I and some users of pcmanfm-mod didn’t like the handling of popup dialogs and errors. So I designed a task manager that provides flexibility in this area, and also allows custom commands to be integrated into the task management – you can add your own popup dialogs for your commands, with error detection and more.

About 4-5 months ago I began tearing apart all the source code of pcmanfm-mod thinking, “How will I EVER get all of this back together again and working?” spacefm is pcmanfm-mod after major Frankenstein surgery, with large sections of new code grafted into it, and old code used in ways it wasn’t originally designed for. I added support for up to four panels, which allows a combination of side-by-side and vertical (plus tabs too). And I added a custom data set for giving it a practically infinite memory for settings, custom commands, etc., and this memory is automatically saved with your session. This makes it very easy to add additional user options, etc (unlike having to code each one independently in pcmanfm-mod). Plus the new Design Mode, a tricky and unique use of gtk’s menus, allows the user to change the menus, keys, icons, etc. (On this topic, Design Mode currently doesn’t work without a mouse, or the ability to ctrl- or middle-click, so if you need a keyboard mode please let me know. I tried once at that and failed, but I plan to revisit it. If I know it’s a priority for you I’ll move it higher on my list.)

It’s not easy designing a multiple-panel file manager with all of this flexibility while still retaining pcmanfm’s simple, clear interface. Yet I didn’t want a program that looked like the control panel of the space shuttle. I wanted it to be as simple as possible, and as direct as possible. A setting for anything should be directly accessible from that object (in a context menu for example), rather than having to hunt it down in a list of options. To me this makes use much easier.

I think I did pretty well with this, but I’ve been looking at every detail of it for so long it’s hard to tell. I’m still getting to know spacefm myself – I haven’t actually had a chance to use it much yet. I’ve been using daily builds of it on my HTPC for a few months with great results – I love being able to customize the panels and columns, plus the large fonts on the tv. It can create some unique views. As for the custom commands, I’m just starting to use those seriously myself.

Anyway I hope you enjoy spacefm, or at least give it a try when you’re comfortable with its stability level. I’m somewhat burned out after working on it intensely for several months. I’d like to use it a bit to get an idea of how it works in practice, plus get the existing features as stable as Linux allows. As a free software author I don’t make any promises or deadlines, but I can certainly see myself working on this more from time to time. And in the design I left a lot of space to accomodate ideas that I knew I might want later, so I think it has a lot of potential for growth despite being (deliberately) retro.

January 14, 2012 Posted by | Mods, Software | 52 Comments

PCManFM-Mod To Be In Parted Magic 6.7

I was recently informed that PCManFM-Mod will be included as the new default file manager in the upcoming release of Parted Magic 6.7. A testing version is available here.

August 15, 2011 Posted by | Mods | 1 Comment

PCManFM-Mod Packages Rebuilt

The Debian/Ubuntu packages for PCManFM-Mod 1.2.3 have been rebuilt to correct several issues. Previously, there was a problem with gamin being used in lieu of fam. Also, several unnecessary build dependencies have been removed from the package dependencies, and package version requirements on the libraries have been relaxed to make the packages as flexible as possible. I have successfully tested the new packages on the latest version of Ubuntu with gamin and no hal, as well as on Aptosid.

The source tarball for version 1.2.3 has been repackaged, with the only changes being in the debian subfolder.

The PPA has been updated with the new packages, but the debian version number isn’t incremented. If PCManFM-Mod is working okay you need do nothing. If you want the new package, you may need to remove pcmanfm-mod, clean the package cache (apt-get clean), update (apt-get update), and reinstall pcmanfm-mod.

Here is the current dependency information for pcmanfm-mod:
Depends: dbus, desktop-file-utils, libc6, libcairo2, libdbus-1-3, libglib2.0-0, libgtk2.0-0, libgdk-pixbuf2.0-0, libpango1.0-0, libstartup-notification0, libx11-6, shared-mime-info, gamin | fam, libfam0, hal, libhal-storage1, libhal1, libdbus-glib-1-2
Recommends: gnome-icon-theme
Suggests: ktsuss, gksu

And for pcmanfm-mod-nohal:
Depends: dbus, desktop-file-utils, libc6, libcairo2, libdbus-1-3, libglib2.0-0, libgtk2.0-0, libgdk-pixbuf2.0-0, libpango1.0-0, libstartup-notification0, libx11-6, shared-mime-info, gamin | fam, libfam0
Recommends: gnome-icon-theme
Suggests: ktsuss, gksu

To clarify, all packages require that either fam or gamin be installed, and that libfam0 be provided (libgamin0 provides libfam0). For more information on issues you may encounter when installing fam see Debian Bug #348563 (unless you’re doing something unusual, you should not have those problems).

Ubuntu users will generally want to use one of the ‘pcmanfm-mod-nohal’ packages, as Ubuntu no longer includes hal.

See previous updates to PCManFM-Mod

May 11, 2011 Posted by | Mods | Comments Off on PCManFM-Mod Packages Rebuilt

New PPA Repository

I have added a PPA (Personal Package Archive) repository for Debian and Ubuntu users, which includes various builds of PCManFM-Mod as well as some of the scripts on this site. This is a work in progress so feel free to let me know of any issues. Some scripts are not included in the PPA, either because it’s not appropriate for them or I haven’t added them yet. And I still need to upload and add links to individual deb files for the scripts on sourceforge.

Packages for the following scripts are available on the PPA thus far: devmon, kscrubber, mountiso, mplayerstart, permz, repic, ripdvd, rmdupe, sandfox, sedname, webpics, and xtract.

May 5, 2011 Posted by | Mods, Scripts | Comments Off on New PPA Repository

PCManFM-Mod Update

PCManFM-Mod v1.2.3 is available. This release merely corrects a makefile problem which caused ‘make check’ to fail. The change was required to build Debian/Ubuntu packages, which are now available. A debian subfolder has also been added to the source which contains debian packaging control files, and instructions are now in the README related to this.

PCManFM-Mod is also now available on my new PPA repository, which should work with Debian, Ubuntu, and other distros that handle deb files. I am new to building these packages and setting up the PPA, so if you encounter any problems or have suggestions, please let me know. I have tested things quite a bit and everything seems to be working here.

See previous updates to PCManFM-Mod

May 5, 2011 Posted by | Mods | Comments Off on PCManFM-Mod Update

PCManFM-Mod Update

PCManFM-Mod v1.2.1 is available. This version includes the following changes:

  • a selection history has been added – when navigating folders, pcmanfm-mod will remember what files have been previously selected, and when entering and exiting a folder, the original folder will leave the entered folder selected. (Previous versions always opened each folder from scratch.)

  • 0.5.2 bugfix: a bug in the original pcmanfm which caused file permissions of a link target to be changed when the link was copied has been corrected. Previous versions change the permissions of the link target to that of the link when the link is copied, and since links have rwxrwxrwx permission, the target is given those permissions. This bug has security implications so upgrading is recommended.

  • a problem with display of the Directory Tree side pane after a folder was deleted has been corrected (this problem may have appeared after a recent update to gtk)

  • added File|Hide File to add one or more files or folders to .hidden automatically (you need to manually use View|Refresh, or in some cases restart pcmanfm-mod for the changes to be effective)

  • a new tab opens in custom home folder if configured instead of current folder

  • added Ctrl-Shift-F key shortcut for create new file

  • when a single file is selected, the status bar now shows the file name (helps to see long file names which don’t fit in the file list)

  • The su_cmd= config option introduced in 1.1.2 has been removed due to potential security issues with it. By default, pcmanfm-mod will now use one of ktsuss, gksudo, gksu, or kdesu (in that order of preference, depending on what is installed). To set a preference at build time (gksudo in this example), add ––with-preferable-sudo=gksudo to the configure command. Please see the README file for detailed instructions.

  • Tools|Open Terminal now opens a terminal for only the current folder instead of all selected folders

UPDATE: Version 1.2.2 has now been released to correct a keyboard navigation problem related to the selection history. When using the keyboard to navigate in Icon or Compact List view mode, the cursor was not properly set when the previous selections were restored. This should be corrected in 1.2.2.

April 10, 2011 Posted by | Mods | Comments Off on PCManFM-Mod Update

Signatures Added

All downloads on this site now include a “verify” link in the Download Links section at the top of each page. This provides brief instructions on verifying the authenticity of your download, which is as simple a pasting a few lines into your terminal (you can even paste all the lines at once).

I have created a PGP key and signed all the current versions of the files available for download. The reason I took the time to do this is to improve your security. I recommend verifying downloads.

Arch Linux Users: The AUR currently provides no way to verify signatures. For now I recommend following the ‘verify’ instructions prior to using the AUR to install software.

If you ever encounter a bad signature, please don’t ignore it, and let me know about it so I can check the server.

March 13, 2011 Posted by | Mods, Scripts, Tips | 6 Comments

How To Read PCManFM-Mod’s Stats Line

PCManFM-Mod 1.2.0 includes a new Stats line in the copy dialog…

It’s hard to keep everyone happy on something like this – uncluttered vs detailed. People copying over a network or to/from USB devices usually appreciate more info on real-time and average speeds, whereas copying on a local PC rarely requires it. If all you want to know is the time remaining, the time to the far right is all you need to pay attention to, or even just watch the progress bar.

You can interpret the Stats line in the example above as follows:
the current item being copied out of the total number of items to copy
(350.7 MB / 700.0 MB)
350 out of a total of 700 MB has been copied so far
elapsed time – this is just a clock showing the total copy time thus far
@cur 42.3 MB/s
the current copy speed (based on the most recent two-second interval)
estimated time remaining based on the current speed
@avg 58.5 MB/s
the average copy speed thus far
estimated time remaining based on the average speed – this is usually the most reliable

January 23, 2011 Posted by | Mods | 1 Comment

PCManFM-Mod Update

PCManFM-Mod 1.2.0 is available. This update includes the following changes and additions:

  • The Copy/Move progress dialog now displays file count, size, transfer speeds, and time remaining
  • Nautilus-style .hidden files are now supported. Any filenames listed in a text file named “.hidden” will not be displayed. List one file per line (file name only, excluding path). Each folder may have a “.hidden” file which determines display of files in that folder. The total hidden count is shown in the status bar. The View|Show Hidden Files setting has no effect on this method.
  • The View|Refresh function has been improved yet again to really re-read the directory
  • The status bar text has been streamlined
  • A bug in the original 0.5.2 which caused some Find Files results to not be displayed has been corrected
  • A bug in the original 0.5.2 which caused the Find Files ‘Search in Sub Directories’ checkbox to be ignored has been corrected
  • A bug in the original 0.5.2 which sometimes produced an erroneous “Invalid cross-device link” error has been corrected

January 13, 2011 Posted by | Mods | 4 Comments

%d bloggers like this: