PCManFM with tabbed browsing

Lean File Juggler


Convenient file management beyond Nautilus and Konqueror is very much a real option. The PCManFM program is an attractive option with lean architecture and innovative features.

By Rüdiger Arp

Peter Baxter, Fotolia

If you are looking for a lean alternative to popular file managers, check out PCManFM. This Gtk+ software needs little in the line of resources. Heavyweights like the Gnome file manager, Nautilus, or the KDE project's Konqueror file manager make it easy for today's users to manage files and directories, but sometimes they are too much of a good thing, which can actually slow them down.

The two giants take a leisurely approach on less powerful systems. At the same time, they are tightly integrated with their own desktop environments and need several libraries from the desktop's basic system if you want to install them. This consumes disk space, which is at a premium on many machines. Because the file manager is a central tool on many computers, its speed is critical.

Now that PCManFM's developer, Hong Jeng Yee, has solved the teething trouble that earlier program versions had (see the "Interview" box), PCManFM version 0.3.2.2 aims to combine convenient use and speed on less powerful machines. Jeng Yee has already fixed critical bugs, such as the software's tendency to lose the content of the clipboard without any explanation. The road map now includes tasks such as fine tuning and more convenience.

Interview

LM: Hello Hong Jen Yee, would you like to introduce yourself to our readers?

HJY: My name's Hong Jen Yee, and I come from Taiwan. My nickname is PCMan. I'm currently studying medicine at Yang-Ming University in Taipei, and will be starting work as an assistant doctor at hospital in the near future. So my job has nothing to do with software development.

LM: There are already quite a few lean file managers on the market - Gnome Commander [4], for example, or Thunar. Why does the community need PCManFM?

HJY: I just couldn't get used to the GUIs, and I needed tabbed browsing. Thunar is good; Rox-Filer [5] is very good, but I don't like either GUI all that much. Gnome Commander is suitable for users who prefer a dual pane view, but I don't like that either. Konqueror and Nautilus are really powerful, but too slow on my old computer. I needed a file manager that was fast, easy on resources, and not overloaded. So it makes sense to develop one.

LM: What was your approach to usability while developing PCManFM?

HJY: I didn't do a real usability survey, but I do listen to users' opinions. I didn't develop the GUI from scratch, but I've added my own ideas to components from Thunar, Nautilus, and Firefox.

LM: What are your future plans for PCManFM and other projects?

HJY: PCManFM urgently needs a file searching function, and it will be possible to open files with a single click in the near future, but I don't have a fixed roadmap. At the same time, I'm working on a new desktop environment called LXDE [6]; I'm writing a detailed installation guide for it right now.

Installation

The PCManFM homepage [1] has a couple of links to two precompiled packages for various distributions. Unfortunately, the packages do not always give you the latest version.

On a brighter note, the list of dependencies is not particularly long. Additionally, the program mainly comprises software that any recent distribution should have in its repository (see the "Dependencies" table). If you are unable to find a package for your system, you can simply use the source code [1].

The names of the packages with the programs that the software needs as dependencies differ from distribution to distribution.

After installing all the required programs, you can compile the source code by entering ./configure, followed by make in a terminal emulation.

If you are feeling adventurous and have a working backup of your data, you can enable the --enable-inotify option at the configure stage. This lets you enable the Inotify function for continuous monitoring of folders and files, which was introduced with kernel 2.6.13. If you do so, the file manager will show you any changes immediately.

In our lab, the option, which is rightly tagged as experimental, gave us incomplete file listings and caused a couple of crashes. To install the program globally, become root and just type make install. You can then launch a program in a terminal window by typing pcmanfm &.

News from Sparta

When first launched, PCManFM comes up with a frugal interface reminiscent of the spatial view in Nautilus, which has been the subject of many heated discussions. The program opens a new window at a different position on the desktop for every directory. If this field is not to your liking, you can press F9 to display a sidebar on the left of the program window (Figure 1).

Figure 1: Icon view mode with tabbed browsing.

The program now displays a list of locations, and this gives you direct access to common directories, such as the desktop or your home directory.

If you installed all of the optional packages from the "Dependencies" table, icons for removable media, such as USB sticks or memory cards, will be displayed in this area. You can enable this view via the View menu, by selecting Sidebar | Show locations or by clicking on the hard disk icon at the bottom of the sidebar.

Shortcuts

If while you're working you set up shortcuts to your favorite directories that are not displayed in Locations, your shortcuts will be displayed below the default entries, separated by a bar. To create a shortcut, select Bookmarks | Create bookmark.

The developer has not implemented the shortcut that Nautilus uses for this function, Ctrl+D, in PCManFM.

Bookmarks

To access the simple bookmark management tool, select Bookmark | Edit bookmark. This tool lets you modify paths and entries in the list by simply pointing and clicking.

Behind the scenes, your entries are stored in a file called .gtk-bookmarks, which is the standard storage location for Gtk-based programs, which means that they are also available in the Locations list on the Gnome desktop and in other Gtk-based file managers, like Nautilus or Thunar.

Edit Preferences

If you prefer to display a directory tree instead of locations and bookmarks in the left sidebar, you can click on the folder icon in the lower left-hand corner. Alternatively, you can select View | Sidebar | View folders (see Figure 2).

Figure 2: Directory tree view.

Basic settings are located in the General tab of the Edit | Preferences menu. In this window, you can tell the program how to behave when you open a bookmark (for example, Open in current tab, Open in new tab, or Open in new window). This is where you also can define the icon size and which terminal emulation to pop up when you press F4 (see Figure 3).

Figure 3: Set preferences.

The Desktop tab in the same window gives you access to some of the program's more unusual properties. If you enable Show desktop icons, PCManFM will draw the desktop for you (Figure 4). What this does is display the folders and files physically located in your ~/Desktop directory on your desktop, even if your preferred window manager, for example Enlightenment, does not support this natively.

Figure 4: Folders and files on the desktop.

If the desktop background, or the font used for the icons on your desktop, is not to your liking, you can customize the settings in this dialog.

Tabbed Browsing

After modifying the file manager to suit your personal preferences, the interface still looks pretty familiar at first glance: menu and icon bars, an address bar with an auto-complete function, and everything where you would expect it to be. But hiding away behind the button with the plus sign in the icon bar is a neat feature that you might not want to do without once you have tried it: tabbed browsing.

Move and Copy

To move selected directories and files, drag them with your mouse to the tab for the target directory. The file manager moves the tab into the foreground.

To complete the process, you can then drop the file onto the main window.

Version 0.3.2.2 of the program still showed signs of a couple of weaknesses on Ubuntu 6.10. For example, I couldn't just drop a file into a tab.

Worse than that, hovering the mouse over the tab displays a plus sign that makes you think you've copied a file, which isn't the case. If you hold down the Shift key while moving a file, the plus sign disappears.

If you press Ctrl+Shift, two interlocked rings appear at the cursor position. Although this disappears when you move the pointer into the window with the target directory, the program really does create a symbolic link, just as you'd expect after seeing the rings. Right now, you can't copy files this way.

To copy a file, you have to press Ctrl+C to pick up the source object, then go to the tab with the target directory and press Ctrl+V to insert. Alternatively, you can use either the Edit menu or the context menu to copy.

For users who have only worked with conventional file managers before, one of the most intuitive approaches to handling file operations is not supported - you can't drag files to the entries in the directory tree, to a location, or to a bookmark to copy or move the files.

Archives

The drop-down menu (right mouse button) takes you to frequently used functions. From here, you can pack files and directories by selecting Create archive. The program supports a number of formats: .tar.bz2, .tar.gz, .zip, and .tar.

In contrast to, say, Nautilus, the program does not use the current working directory as a default; instead, it uses your home directory. If the software discovers an archive format that it doesn't know, when you try to open a file, you can double-click the file to associate a program with the file type in your system's MIME database.

To modify this association, right-click on the file to open the file's Properties dialog and select the required program from the drop-down list (Figure 5). This dialog box is not the only one that reminded me of Thunar [2], the file manager with the Xfce desktop environment. After all, PCManFM integrates some code from Xfce.

Figure 5: Choose an application for your file.

PCManFM stores the MIME type configurations in ~/.pcmanfm/mime_info. To modify the file associations stored here in one fell swoop, just open the file with your favorite editor.

Access Terminal Window

The developer has chosen a refreshingly simple approach to accessing a terminal window. Pressing F4 pops up the application that you configured in the current directory.

If you need root privileges, just select Tools | Open current folder as root and enter the root password to open a new instance of the program. A colored bar below the icon bar reminds you that the program has administered privileges (Figure 6).

Figure 6: A colored bar reminds you of your current status.

Purists and users who can do without the innumerable additional functions that Nautilus or Konqueror include will be very happy with PCManFM.

Users who prefer to avoid the big two desktop environments and want a lean window manager instead might also appreciate that PCManFM displays objects on the desktop.

Something I particularly liked was PCManFM's speed and ability to open directories in tabs. Another plus is the programmer's special focus on tabbed browsing. This central feature of the file manager makes daily chores much easier in many situations, but more work is needed on features such as copying or moving objects.

The ability to switch between a spatial mode, the tree view with the main window, and a Midnight Commander-style dual-pane mode (which the developer will probably not implement) would be a neat additional feature, and it would give users more flexibility and convenient controls [3].

PCManFM might not be the ultimate file manager, but true to the Unix motto of "One job, one tool," the program tries to give you exactly what you ask for: fast and convenient file management. The sometimes unexpected results can be attributed to the current stage of development. For example, single-click navigation, a function that many other file managers support, is still waiting on the to-do list.

However, if you use your file manager to burn CDs, watch videos, and access remote servers, you should think twice before taking the plunge.

INFO
[1] PCManFM file manager: http://pcmanfm.sourceforge.net
[2] Thunar: http://thunar.xfce.org
[3] Midnight Commander: http://www.ibiblio.org/mc/
[4] Gnome Commander: http://www.nongnu.org/gcmd
[5] Rox-Filer: http://rox.sourceforge.net/phpwiki/index.php/ROX-Filer
[6] LXDE: http://lxde.sourceforge.net
THE AUTHOR

Rüdiger Arp is a freelance translator and author. He has been using Linux on the desktop since 1998. Rüdiger spends his spare time translating open source applications into German. He can be contacted at ruediger@gmx.net.