$Id: README,v 1.36 2004/04/30 11:17:57 cairo Exp $
This file is part of emelFM2.

emelFM2 is free software (GPL).

Please send bug reports, comments or feature requests to the mailing list
(emelfm2@freelists.org) or directly to tooar (tooar@gmx.net)!

RELEASE NOTE 0.0.8
~~~~~~~~~~~~~~~~~~
This release requires Gtk+2.4 and includes some fixes for it. If you have
Gtk+2.4 you should really upgrade. In case you still have Gtk+2.2, you should
stick to version 0.0.7.
Other changes include preliminary i18n support, a new mkdir dialog and some
new command line options. There is a mailing list now. (See below!)

RELEASE NOTE 0.0.7
~~~~~~~~~~~~~~~~~~
This release introduces panebars, new configurable toolbars above the file
panes. In addition, the aliases now have another option to stop processing
after a successful match. When upgrading from 0.0.6, the aliases will
be replaced by the default ones again. As usual, this release includes lots
of bug fixes and minor improvements, e.g. the <bookmarks> action is now able
to only show a certain folder of your bookmarks. Take a look at the CHANGELOG
for more details.

HINT
~~~~
If you have filenames in your locale (ie. with german umlauts), you HAVE to set
the environment variable G_BROKEN_FILENAMES=1 to to allow emelFM2 to handle
them correctly. (It will crash if you don't!)
If you don't set G_BROKEN_FILENAMES=1 emelFM2 will use utf8 to store non-ascii
characters. This might have strange results for programs which can't handle
utf8. you also may want to set LC_ALL=en_US.UTF8 or something similar.
(To cancel the effect of G_BROKEN_FILENAMES you have to unset the environment
variable, setting it to 0 is not enough!)

DESCRIPTION
~~~~~~~~~~~
emelFM2 is a file manager that implements the popular two-pane design. It
features a simple GTK+2 interface, a flexible filetyping scheme, and a built-in
command line for executing commands without opening an xterm.

MAILING LIST
~~~~~~~~~~~~
There is an emelFM2 mailing list provided by freelists.org. You can subscribe
to the emelFM2 mailing list by sending email to emelfm2-request@freelists.org
with 'subscribe' in the subject and you can unsubscribe from the list by
sending email to the same address with 'unsubscribe' in the subject.

web interface: http://www.freelists.org/cgi-bin/list.fcgi?list_id=emelfm2
list archive:  http://www.freelists.org/archives/emelfm2/

INTERNATIONALISATION
~~~~~~~~~~~~~~~~~~~~
There is only preliminary i18n support, right now. Most strings don't have
the necessary _() tags, yet. The goal is, to have complete i18n support
in version 0.1.0. It is strongly recommended to wait until then before
starting a translation. In any case, ask on the mailing list if nobody
else is already doing one. The make targets are i18n and [un]install_i18n.

COMPILATION, INSTALLATION, UNINSTALLATION
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
See docs/INSTALL!

HOMEPAGE
~~~~~~~~
emelFM2           http://freshmeat.net/projects/emelfm2/
emelFM2 wiki      http://dasui.prima.de/e2wiki/

updated emelFM1   http://www.havens.de/elm/emelfm.html
old emelFM1       http://www.pitt.edu/~macst92/emelFM/ or
                  http://emelFM.sourceforge.net/

HELP
~~~~
Your help is wanted! It is always nice to get bug reports, comments,
feature requests or patches. There is an emelFM2 wiki where some
contents needs to be added. If you have any programming skills,
you might also want to take a look at the TODO list.

DEFAULT KEY BINDINGS
~~~~~~~~~~~~~~~~~~~~
Open            Enter, Right         Open/Close          Ctrl+W
Up Dir          Backspace, Left      output window
Home Dir        HOME
Switch Panels   Space, Tab           Switch focus        Ctrl+Z
Tag             Ctrl+T, INS          to command line
Find            Ctrl+F
                                     Toggle Hidden       Ctrl+H
Copy            Ctrl+C               files
Copy As         Ctrl+Shift+C
Move            Ctrl+M               Maximize/Minimize   Ctrl+,  (left)
Move As         Ctrl+Shift+M         Panels              Ctrl+.  (right)
SymLink         Ctrl+S
SymLink As      Ctrl+Shift+S         Menu                Ctrl+P
Rename          Ctrl+R               Plugins Menu        Ctrl+[
Delete          DEL                  User Menu           Ctrl+]
Make Dir        Ctrl+D
Refresh         Ctrl+L
Sync Dirs       Ctrl+X
Quit            Ctrl+Q

COMMAND LINE
~~~~~~~~~~~~
Ctrl+Enter   Copies the selected filenames in the active pane
Ctrl+l       Copies the selected pathnames in the inactive pane
Ctrl+d       Copies the active directory name
Ctrl+o       Copies the inactive directory name
Ctrl+z       Change focus to current file list
Ctrl+w       toggle output window
Ctrl+e       toggle output window fullscreen
(Note: Command line shortcuts also work with Alt+<letter>)
page_up       scroll output one page up
page_dn       scroll output one page down
shift+page_up scroll to start
shift+page_dn scroll to end
shift+up      scroll up
shift+down    scroll down

There are several ways to influence how emelFM2 (e2) runs commands:
 * Appending '&' to the end of the command will run it in background
   and all output is surpressed except for standard error.
 * Prepending '!' to the beginning of the command will surpress macro
   expansion.
 * Prepending '%' to the beginning of the command will run it in a new shell.
 * Prepending '?' to the beginning of the command will run it as an action;
   you may add arguments like '?action,argument'.
 * A command in the style 'pid:data' will send 'data' to the process with
   process id 'pid'. (The process has to be a child of e2.)
   (Tip: you can omit 'pid' to send data to the last started child.)
 * '$(VAR)' will be replaced by the environment variable 'VAR' if it exists.
 * '$[OPT]' will be replaced by the option 'OPT' if it exists.

Note: The 'x', 'su' and other special commands from versions <= 0.0.5 are
      now handled by the alias system.

ALIASES
~~~~~~~
When a command is run, the alias system generally tries to match each
posix extended regular expression agains the command entered until it
reaches the end of the aliases list or has a successful match for an
alias with the stop toggle turned on.

If there is a successful match, the form of the replace string decides
about the alias mode.

1) Condition: One of the special 'back references' \0, \1 or \2 is part
   of the replace string.
   Action: The whole command will be replaced by the replace string. \0 is
   replaced by the string before the match, \1 is the match itself and \2
   the string after the match.
2) Condition: Condition 1 does not apply.
   Action: The matched part of the command is replaced by the replace string.
   
Default aliases:
If you prefix a command with an 'x', emelFM2 will open an xterm and execute
the command from there. For example 'x man fopen', will open an xterm with
the manpage for fopen. This is useful for interactive programs that the
emelFM2 command line can't handle.
If you prefix a command with 'su', emelFM2 will open an xterm and su to root to
execute the command. For example 'su make install', will open an xterm, prompt
for the root password, and then execute the 'make install' in the current
directory.
Typing 'e2help' at the command line will get help on the command line.
Typing 'clear' at the command line will clear the output pane.
There is another special alias, that will run a command in a shell as soon
as there is a one of these characters ;<>|=* in it.

DRAG & DROP
~~~~~~~~~~~
Drag and drop is activated by selecting the files you want to copy/move/link,
and then clicking the middle mouse button and dragging to another location in
either of the directory lists. If you drag to a directory the files will be
copied/moved/linked to that directory, otherwise they will be copied/moved/
linked to the directory of the list. When you release the button, a menu will
prompt you for the operation you want to perform (copy/move/link). I find that
this is most useful for moving files into a subdirectory of the current
possible to drag and drop between different instances emelFM2 and some other
gtk+ apps like Gnome Midnight Commander and GQView.

ACTION NOTES
~~~~~~~~~~~~
Prefixing an action with 'x' will open an xterm to execute the action.
Prefixing an action with 'su' will open an xterm and su to root to execute the
action.
Appending the '&' character to an action will cause emelFM2 to discard the output
of the command. (By default, emelFM2 will capture the output and print it to the
output window)
Prepending another '%' character to the macros (ie. '%%f') will suppress the
automatic quotes around the argument.

Macros:
%f = The selected filename(s) in the active directory
%F = The full pathname(s) of files selected in inactive directory
%d = The active directory name
%D = The inactive directory name
%{Prompt message} = Prompt for input with the message "Prompt message"

Examples:

  x rpm -qlip %f | less

This opens an xterm and executes an rpm query command and pipes the output
to 'less'. If the output were not piped to 'less', the xterm would exit after
the query finished and the user would not be able to see the results for very
long.

  su rpm -Uvh %f

This opens an xterm and su's to root, prompting for the root password. Then it
executes the RPM install command which would probably fail if done as a normal
user.

  tar xzvf %f -C %D &

This unpacks a tarball from the active directory into the inactive directory.
Because of the '&' at the end, emelFM2 will *not* capture the output.

  diff -c %f %F > %{Filename for patch:}

This runs the diff command to create a patch between the selected files,
prompting for the filename for the patch.

OTHER NOTES
~~~~~~~~~~~
You can have different context menus if you hold down shift or control while
clicking with the mouse. See the context-menu category in the config dialog.

Right Clicking on the "Up Dir" button will take you to the home directory
Right Clicking on the "<" button will change the directory to the opposite
directory (like sync dirs).

COPYRIGHT & CREDITS
~~~~~~~~~~~~~~~~~~~
See docs/CREDITS!
