EZFM(1)

NAME
ezfm - a file manager for X11

SYNOPSIS
ezfm [toolkit_options ...] [ -rc file] [ -help ]

DESCRIPTION
Ezfm is a EZWGL-based file manager for the X window system. It provides a GUI for file manipulation and application execution. It offers most of the features one would expect from a file manager.

Ezfm has many manipulation features. It will allow a user to:

     * Traverse folders via a double-click, menu options, or a click-and-type mechanism.

     * Rename file or directory names via menu options or a click-and-type mechanism.

     * Change folder display modes (i.e. large icons, small icons, folder tree, alphabetical order, date order etc) and filtering options.

     * Create, move, copy, link, and delete objects via menu options and/or drag-and-drop.

     * Modify file attributes via menu options.

     * Invoke actions (such as edit or view-image) on objects via a double-click, menu options, or drag-and-drop.

     * Mount and umount removable drives (cdrom, floppy and zip) automatically.

     * Place frequently used object (files or applications) on the desktop.

File Operations
The left mouse button (Button1) is the activation button. A double click of Button1 on an item/icon pops the action dialogue with all actions listed. There are normally more than one actions associated to a file, and Ezfm always requires your confirmation. A configuration option is provided (under the 'configure' menu) to disable the dialogue confirmation. If set, a double click on an item or icon fires the first associated action.

The right mouse button (Button3) is the menu button. Press Button3 over an item/icon/folder-background pops the action menu. The action menu contains common file operations like print, delete, put-in-trash etc. plus the normal actions associated to a file. Unlike the action dialogue, the actual commands is hidden and hence can not be modified.

The middle mouse button (Button2) is the drag and drop button. Press-drag button2 on an item/icon initiates the DnD operation. Files items can be droped onto folders, direcory-icons and items on the toolbar (printers, trash, floppy ...). File items can also be droped at the root window of your display, in which case Ezfm will put the file onto your desktop.

By default, DnD requires user confirmation. An option is provided to disable confirmation dialogue.

DnD modifier keys:
Control-Button2-Press-Drag initiates the copy operation, that is, the drag source will be copied to the destination folder.
Shift-Button2-Press-Drag initiates the symbolic link operation.

Removable Drives
Ezfm includes a semi-automounting facility which allows you to access your removable drives with a few mouse clicks. Removable drives is listed in the "Drives" section of the configuration file ~/.ezfmrc. For this automounting mechanism to work, you need to include the relevent devices/mounting points in your fstab and make it so that normal user can mount/umount them. For example, entries for cdrom, floppy and zip dirves in /etc/fstab may look like

#
/dev/hdc      /cdrom  iso9660  user,noauto,ro,exec,unhide
/dev/fd0      /floppy    msdos  user,noauto,rw
/dev/hdb4     /zip       msdos  user,noauto,rw
#
/dev/fd0      /floppy2   ext2   user,noauto,rw,exec
/dev/hdb4     /zip2      ext2   user,noauto,rw,exec
#

CUSTOMIZATION
Ezfm requires two supporting configuration files to run. An intialization file (normally ~/.ezfmrc) and a magicfile which species how actions are associated to files. There are four sections in the intialization file. An example is listed below.

#
# Initialization file for ezfm.
#
Section  "Files"
   Magicfile     ezfmMagic:~/.ezfmMagic:/etc/ezfmMagic:/usr/local/lib/ezfm/ezfmMagic
   IconPath      ezfmIcons:~/.ezfmIcons:/usr/lib/ezfm/ezfmIcons:/usr/local/lib/ezfm/ezfmIcons
   ExtensionFile ezfmExtension:~/.ezfmExtension
EndSection
#
# Note: the extension file above is used to supress magic check. You can
# associate actions based on the suffix of a file. For example,
# .ps.gz         ghostview.xpm:purple2::$viewCpsedPs::: compressed ps
# .c             dot_c.xpm:red:b:$edit,@view::: C source
#
# list all removable devices here. The format is
#    name mount_point pixmap_umounted pixmap_mounted
# For example, the line
#  "cdrom   /cdrom   cdromU.xpm   cdromM.xpm"
# specifies the cdrom device, named 'cdrom'; mounted
# on '/cdrom'; if mounted, the relevent button will be
# labeled by 'cdromM.xpm'.
#
Section "Drives"
   cdrom        /cdrom    cdromU.xpm      cdromM.xpm
   Dos_floppy   /floppy   floppyDosU.xpm  floppyDosM.xpm
   Ext2_floppy  /floppy2  floppyExtU.xpm  floppyExtM.xpm
EndSection
# Resolve abbreviations in the magic file and the extension file.
# format is
#    name     translation
# examples
#   emacs      emacs "%p"
#   ungzip     (cd "%d"; gzip -d "%f")
#
# Notice the quotes. It is REALLY a good idea to quote pathnames!
#
# When resolved, %p will be replaced by the pathname
#                %d will be replaced by the directory name and
#                %f will be replaced by the file name
#                %b will be replaced by the file name with the '.suffix' removed
#
Section "Commands"
  edit               emacs "%p"
  viewImage          xv "%p"
  viewFig            xfig "%p"
  make               (cd "%d"; make -f "%f")
  tarContents        (cd "%d"; tar tf "%f"")
  untar              (cd "%d"; tar xvf "%f")
  cpioContents       cat "%p" | cpio -t
  extractCpio        (cd "%d"; cat "%p" | cpio -iv)
  arContents         (cd "%d"; ar t "%f")
  exec               (cd "%d"; "%f")
  uncompress         (cd "%d"; uncompress "%f")
  ungzip             (cd "%d"; gzip -d "%f")
  viewPS             ghostview "%p"
  printPS            lpr "%p"
  diskUsage          du "%p" |awk '{printf("%-10d %s, $1, $2)}'
  tarUp              (cd "%d"; tar cvf "%f".tar "%f")
  playMovie          xanim "%p"
  playAudio          cat "%p" > /dev/audio
  lex                (cd "%d"; lex "%f")
  viewPDF            acroread "%p"
  viewDVI            xdvi "%p"
  printDVI           (cd "%d"; (dvips -o "%b".ps "%b") && (lpr "%b".ps))
  tex                (cd "%d"; tex "%f")
  texView            (cd "%d"; echo q|tex "%f";  xdvi "%b")
  texPrint           (cd "%d"; echo q|tex "%f"; (dvips -o "%b".ps "%b") && (lpr "%b".ps))
  latex              (cd "%d"; latex "%f")
  latexView          (cd "%d"; echo q|latex "%f"; xdvi "%b")
  latexPrint         (cd "%d"; echo q|latex "%f";  (dvips -o "%b".ps "%b") && (lpr "%b".ps))
  uudecode           (cd "%d"; echo decoding ... ; head -1 "%f"; uudecode "%f")
  xterm              xterm -ls -fn 10x20
EndSection
# list the most commonly used programs here. They are divided
# into groups (pages in a tabed folder). The format is
#   name  label_pixmap:color:font:doubleClickAction:dropAction::
# (make sure there are SIX colons!)
# Example,
#   ghostview  ghost.xpm:red:b:ghostview:ghostview %p::
# Again, abbreviations are:
# %p     full pathname of drag
# %d     parent directory name of drag
# %f     filename of drag
# The above example can be equivalently specified as
#   ghostview  ghost.xpm:red:b:ghostview:(cd %d; ghostview %f)
Section "Tools"
   Page "Math"
        xmaple	         maple.xpm::bi:xmaple:::
        mathematica      mathematica.xpm::bi:mathematica:::
        matlab           matlab.xpm::bi:$xterm -e matlab:::
        maxima           maxima.xpm::bi:$xterm -e maxima:::
        netmath          netmath.xpm::bi:netmath:::
        zplot            xplot.xpm::bi:$xterm -e xplot:::
        gp               gp.xpm:red:b:$xterm -e gp:::
   Page "Editors"
        vi               xedit.xpm:red:b:$xterm -e vi:$xterm -e vi "%p"::
        emacs            emacs.xpm:red:b:emacs:emacs "%p"::
        nedit            :red:b:nedit:nedit "%p"::
   Page "Viewers"
        ghostview        ghostview.xpm:red:b:ghostview:ghostview "%p"::
        xdvi             xdvi.xpm:red:b:xdvi:xdvi "%p"::
        xanim            xanim.xpm:red:bi::xanim "%p"::
        xv               xv.xpm:red:b:xv:xv "%p"::
   Page "Image Tools"
        gimp             gimp.xpm:red:b:gimp:gimp "%p"::
        xv               xv.xpm:red:b:xv:xv "%p"::
        xpaint           palette.xpm:red:b:xpaint:xpaint "%p"::
   Page "Drawing Tools"
        xfig             xfig.xpm::b:xfig:xfig "%p"::
   Page "Mail Tools"
        pine             pine.xpm::b:$xterm -e pine:::
        xcmail           xcmail.xpm::b:XCmail:::
   Page "Misc"
        gzip             gzip.xpm:red:b::gzip "%p"::
        xterm            xterm.xpm::bi:$xterm::
        nt               wincenter.xpm::bi:nt::
        cm               cm.xpm:red:b:cm::
EndSection

The magic file associate actions with files. It is modified from /etc/magic, with description modified. The format for description is

   "pixmap,smallPixmap:color:font:action,action:::"

Here are a few lines from the magic file.

0 string GIF8	  gif.xpm,gif_s.xpm:darkmagenta:b:$viewImage:::GIF image data
0 string <HEAD	  html.xpm,html_s.xpm:blue:i:@send2Netscape,$edit,@view:::HTML doc
The first line specifies the handle for GIF images. GIF files will be labeled by the pixmap icon 'gif.xpm'; if the long-list folder or tree-folder is used, it will be labed by the icon 'gif_s.xpm'. The text lable will be displayed in a bold font and in 'darkmagenta' color. The action associated to a GIF file is $viewImage, which will be replaced by the appropriate command listed in the command section of the initialization file.

The second line specifies actions associated to a html document. There are two special actions in the description:

The ExtensionFile has a similar syntax. For files without a magic entry, one can append the file with a special suffix and put an entry in the ExtensionFile. For example

FILES

~/.ezfmrc, ~/.ezfmExtension, ~/.ezfmIcons, ~/ezfmMagic, ~/.ezfmState

INSTALLATION_DIR/lib/ezfmIcons

INSTALLATION_DIR/lib/ezfmMagic

INSTALLATION_DIR/lib/ezfmrc

INSTALLATION_DIR/bin/ezfm

/usr/X11R6/lib/X11/app-defaults/Ezfm

AUTHOR
Maorong Zou (mzou@math.utexas.edu)