# XFce 4 Filemanager

### Edscott Wilson Garcia

`<edcott@imp.mx>`

This manual describes `xffm` version 4.0

Copyright © 2003 Edscott Wilson Garcia

## File manager tree types

Currently there are seven different types of root level branch types:

Local files

  The local files branch is the traditional tree where files on the local computer are displayed. The tree can be opened to any level of nesting, and the top level can be relocatable to any directory on the local computer. To call xffm with only the local files branch activated, use `xftree4` as the command line.

Bookmarks

  The bookmarks branch is a way to create virtual directories with local files and remote SMB network files or shares. Multiple bookmark configurations can be used and toggled using ctrl-B. To invoke xffm with only the bookmark branch active, use `xfbook4` as the command line.

SMB Network

  The SMB network branch is the way to navigate through a SMB network using the samba suite programs. To invoke xffm with only the SMB network branch active, use `xfsamba4` as the command line.

Find results

  The find results branch is where the results of find queries are displayed. Full filemanager operations are enabled on the results. To invoke xffm with only the find branch active, use `xfglob4` as the command line.

Xfce4 panel applications

  The applications branch is an alternate way to access programs which have been configured for launch with the xfce4 panel. It is most usefull when xffm is being executed on a remote machine. To invoke xffm with only the panel applications branch active, use `xfapps4` as the command line.

Fstab mount points

  The fstab branch is a alternate way of viewing the filesystem, where the physical devices are listed by mount point. This enables easy mount/unmount operations with the keyboard RIGHT and LEFT cursor, mouse double-click, or menu selection. To invoke xffm with only the fstab branch active, use `xffstab4` as the command line.

Trashcan

  The trashcan branch is a database (DBHashtable) listing the files which have been moved to wastebaskets. Being a database, files need not be moved or copied to be collected or uncollected into the trashcan. Files will remain in the wastebasket they belong to; this may be a xffm wastebasket, a GNOME wastebasket or a KDE wastebasket among others. More information about the way it works can be found in the wastebasket story below. To invoke xffm with only the trashcan branch active, use `xftrash4` as the command line.

## File manager operations

The following table lists the filemanager operations and their availability.

Legend:

T=toolbar

M=main menu

P=popup menu (button 3)

K=keyboard access

D=drag and drop

X=X pasteboard

C=doubleclick

* loses mountpoint status

** loses trashed status

Operation | Keyboard shortcut | Local files | Local directories | Smb files | Smb directories | Smb shares | Smb servers | Application | Fstab mount point | Trash files
--- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ---
remove | delete | TMPK | TMPK | TMPK | TMPK | - | - | TMPK | - | TMPK
move-to-trash | delete | TMPK | TMPK | - | - | - | - | - | - | -
move | - | DX | DX | - | - | - | - | - | - | -
copy | - | DX | DX | DX | DX | - | - | - | - | -
touch | ctrl-M | MPK | - | - | - | - | - | MPK | - | MPK
symlink | ctrl-S | MPK | MPK | - | - | - | - | MPK | MPK* | MPK
duplicate | ctrl-D | MPK | MPK | - | - | - | - | MPK | MPK* | MPK
rename | ctrl-R | MPK | MPK | - | - | - | - | MPK | MPK* | MPK**
print | ctrl-P | TMPK | TMPK | - | - | - | - | TMPK | - | TMPK
open | ctrl-O | MPKC | MPKC | - | - | - | - | MPKC | MPKC | MPKC
bookmark | - | DX | DX | DX | DX | DX | DX | DX | DX* | DX

## File manager commands

The following table lists the filemanager commands and their availability.

* applies to selected branch only

| Command | Key | Toolbar | Main menu | Popup menu
--- | --- | --- | --- | --- | ---
| Refresh | ctrl-Z | Yes | Yes | Yes
| Properties | ctrl-I | Yes | Yes | Yes
| zoom in | alt-cursor_right | Yes | Yes | Yes
| zoom out | alt-cursor_left | Yes | Yes | Yes
| sort by name | - | Yes | - | Yes
| sort by size | - | Yes | - | Yes
| sort by date | - | Yes | - | Yes
| sort by owner | - | Yes | - | Yes
| sort by group | - | Yes | - | Yes
| subsort by filetype | shift-ctrl-F | - | Yes | Yes
| invisible wastebaskets | shift-ctrl-W | - | Yes | -
| Detailed view | - | Yes | Yes | -
| small view | - | Yes | Yes | -
| default view | - | Yes | Yes | -
| icon view | - | Yes | Yes | -
| show hidden files | sift-ctrl-H | - | Yes | Yes*
| show main menu | F1 | Yes | - | -
| show navigation toolbar | F2 | Yes | - | -
| show file toolbar | F3 | Yes | - | -
| show filter | F4 | Yes | - | -
| show column titles | F5 | Yes | - | -
| show sizes | F6 | - | - | -
| show dates | F7 | - | - | -
| show owner | F8 | - | - | -
| show group | F9 | - | - | -
| activate main menu | F10 | - | - | -
| show permissions | F11 | - | - | -
| show popup menu | F12 | - | - | -
images: | Preview image | - | - | - | Yes
Root level: | Hide branch | - | - | - | Yes
| activate branch | - | - | Yes | -
Other options: | Collect trash | - | - | - | Yes*
| Preview images | - | - | - | Yes*
| Select all | ctrl-A | - | Yes | Yes
| Unselect | ctrl-U | - | Yes | -
| Find | Ctrl-F | Yes | Yes | Yes
| Execute | ctrl-E | Yes | Yes | Yes
| Differences | ctrl-J | Yes | Yes | Yes
| scramble | ctrl-alt-S | - | Yes | Yes
| unscramble | ctrl-alt-U | - | Yes | Yes
| Delete all trash | - | - | Yes | Yes
| Uncollect trash | - | - | Yes | Yes
| Clear find results | - | - | Yes | Yes
| Clear bookmarks | - | - | Yes | Yes
| Open bookmark file | ctrl-B | - | Yes | -
| New bookmark file | - | - | Yes | -
| New file | insert | Yes | Yes | Yes
| New Directory | insert | Yes | Yes | Yes
| Open in terminal | ctrl-T | Yes | Yes | Yes
| Open in xffm | ctrl-N | Yes | Yes | Yes
| Open with | ctrl-O | Yes | Yes | Yes
| print file | ctrl-P | Yes | Yes | Yes
| printer configuration | - | - | Yes | Yes
| Quit | ctrl-Q | - | Yes | -
| cut | ctrl-X | Yes | Yes | Yes
| copy | ctrl-C | Yes | Yes | Yes
| paste | ctrl-V | Yes | Yes | Yes
| list pasteboard | ctrl-L | - | Yes | -
| clear pasteboard | ctrl-K | - | Yes | -
| go home | ctrl-HOME | Yes | Yes | -
| go to | ctrl-DOWN | Yes | Yes | -
| go back | ctrl-LEFT | Yes | Yes | -
| go forward | ctrl-RIGHT | Yes | Yes | -
| go up | ctrl-UP | Yes | Yes | -
| autoscroll | shift-ctrl-A | - | Yes | -
| copy on drag | shift-ctrl-C | - | Yes | -
| image auto-previews | shift-ctrl-I | - | Yes | -
| Local file monitor | shift-ctrl-M | - | Yes | -
| auto trash collection | shift-ctrl-T | - | Yes | -
| rsh before ssh | shift-ctrl-R | - | Yes | -
| scp before rsync | shift-ctrl-S | - | Yes | -

## The xfce-mcs-manager

If you wish to enable a certain configuration of which branches are shown and which are not when xffm is invoked as `xffm`, you must use the XFce4 Settings Manager (packaged separately) to set the environment variables on the fly. Set any of the following environment variables:

- XFFM_HIDE_BOOK
- XFFM_HIDE_LOCAL
- XFFM_HIDE_NETWORK
- XFFM_HIDE_APPS
- XFFM_HIDE_FIND
- XFFM_HIDE_TRASH
- XFFM_HIDE_FSTAB

This will hide the respective branch. Don't worry if it's hidden, you can always activate any branch on demand with the main menu in xffm. You can also set other options:

- TERM to set what terminal command to use, default: xterm.
- XFFM_HOLD_XTERM to instruct xffm to hold output of xterms, default: off. Only applies to xterm.
- XFFM_HOME to set the home directory for local files, default: $HOME.
- XFFM_STATUS_LINE_LENGTH to set the cutoff length of status line messages, default 48 characters.
- XFFM_MAX_PREVIEW_SIZE to set the maximum size of images to preview, default 256KB.
- XFFM_APPEND_FILES to instruct the xffm monitor to place new files at the bottom of folder. Otherwise, the xffm monitor will place them at the top.

## The icon themes

If you like cute icons, xffm has several sets to choose from. Most of them are available from a separate xffm-icons package.

- Plain: nice looking icons from very old releases of KDE.
- Xfce: dull colored icons from the CDE environment, suitable if you get dizzy with too many bright colors (xffm-icons package).
- Gnome: icons from the GNOME environment (xffm-icons package).
- Noia: funny icons prepared for the KDE environment (xffm-icons package).
- Crystal: soft looking icons prepared for the KDE environment (xffm-icons package).
- FreeIcons: elaborate icons prepared for the KDE environment (xffm-icons package).

And you can also choose no_icons if you're not an icon guy or gal.

## The wastebasket story

Once upon a time, in a far away land, there was a prince who kept all the kingdom's important information in his computer. In this manner he helped the king and prepared for the day when he would inherit the throne. One day he inadvertedly erased an important file and was strucken aghast. But he quickly found the the file had not really been erased but moved to a wastebasket. This saved the day, but also made the prince bolder. He no longer worried about erasing important files, since they would appear in the wastebasket. This happened until the moment he realized he had erased several important files weeks earlier. He searched the wastebasket but could not find them, so he summoned all the wise men of the kingdom to help him.

After examining the computer disk, the wisest man met him with a dire face.

— We are very sorry, your majesty, but we cannot find the files in the wastebasket.

— Why not?

— Because all erased files are placed in the same wastebasket, and this causes older files with the same name to be overwritten.

The prince became very angry. He then commisioned the group of wise men to come up with a better formula for the wastebasket. The solution they came up with was as follows.

Instead of moving and copying files to the wastebasket, which may be a lengthy operation when the wastebasket is in a different device, a wastebasket would be created in every directory where needed. The contents of wastebasket files would be version controlled so that older files would not be overwritten by mistake. There would also be a general trashcan where pointers to all files could be collected, either automatically or on demand. This general trashcan would provide access to all wastebaskets, especially usefull to empty all of them with a single click. If not all wastebaskets required to be deleted, a selective trash collection could be performed. And if GNOME or KDE trash directories were encounted during such collection, their contents would also be databased. This would allow the prince to organise his computer trash. The prince was so happy with the idea that he paid a software team their weight in gold to create the code. Thus the xffm wastebasket scheme was born.

## The filter and find story

Some time later, the prince found that his directories, especially the trash can was excessively large and he still could not find what he was looking for. He again called in his wise men for an answer.

— The solution is simple, your majesty, — said one of the gray bearded wisemen —. The file manager must enable a filter box so that the displayed files can be reduced in number. In order to be of any real use, the filter must use regular expressions so that combinations such as `c$|h$` would work. But the easy to remember shell expansions like `*.c` should also work.

The prince snapped his fingers and the software team set to work. Once the filter option was presented to the prince, the programmers also threw in the find option, which would allow the prince to filter the files according to content as well. He was so pleased that he knighted every one of the programmers.

## The samba story

Finally, the prince was dissappointed that most of the people in his kingdom where using a different computer system which was not as good as his. The wise men explained to him that intelligent people are always a minority, so the best software was used only by a minority.

— I still need to share files with these subjects. I want to see their network shared files.

— We shall instruct the programmers to use the samba suite in a transparent fashion, if so please your Majesty.

— If it is not ready by to-morrow, I shall have their heads lopped off!

And so, the xfsamba4 branch was to be included in the first release of xffm.

## About xffm

`xffm` was written by Edscott Wilson Garcia (`<edscott@imp.mx>`). To find more information, please visit the XFce web site.

To report a bug or make a suggestion regarding this application or this manual, send an email to the xfce4-dev mailing list — this is the preferred method — or use the bug tracking system at the XFce SourceForge project site. If you have questions about the use or installation of this package, please ask on the xfce mailing list.

This program is distributed under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.