\voffset=0pt
\documentstyle[]{article}
\pagestyle{headings}

\topmargin -1.5cm
\oddsidemargin 0.0cm
\evensidemargin -1.9cm
\textwidth 16cm
\textheight 24cm
\topskip 0cm

\author{O. Kalkan -- {\small Copyright in 1993 - all rights reserved}}
\title{XFilemanager Version 0.5.0}
\begin{document}

\maketitle
\tableofcontents

\section{Getting started}
{\em Xfilemanager} has been designed for all kinds of users to provide an easier
handling of files or gain an overview about the filesystem in generally. It is
completly X11 and Athena based and ought be compatible to almost every type
of Unix.\\

When starting up {\em Xfilemanager} there will be opened either two seperate 
windows -- the path- and workspacewindow -- or only one large window, serperated 
in three parts -- the path-, directory- and workspacepart. The way {\em Xfilemanager}
starts up can be customized individually\footnote{$\to$ Using resources}.\\

The three windows or parts obtain several purposes. The pathwindow displays the
directorytree of the filesystem, begining from a given root-directory\footnote{$\to$
Using resources}. Subtrees can be opened by singleclicking with the left mousebutton
upon any icon or name. If a subtree openes, the window will be redrawn and all
directories within the selected directory will be visible and divided into three
classes -- normal directories which can be opened and displayed, linkdireectories --
marked by a little arrow over the icon -- which can be handled as normal
directories and restricted directories -- those who have a little cross -- which cannot
be opened.\\
If you doubleclick with the left mousebutton upon an icon or name, an directorywindow
will be opened or the contents of the directorywindow in singlewindowmode will be
changed.\\

The directorywindow displays the whole contents of a directory. If the multiwindowmode
is active, a new window will be opened for each directory. Else the contents of the
existing window will be replaced.\\

The workspacewindow serves as a kind of container for executable programs.\\

\subsection{Selecting files}
To select files for later reference, you only have to click upon their icon or name
within the path- or directorywindow.\\

\subsection{Invoking fileactions}
Invoking fileactions means anything like deleting, moving, copying, etc..\\
\subsubsection{Using buttons and menus}
The first method of invoking fileactions is simply selecting a file -- not nessecarily
needed -- and secoundly selecting the desired menuentry in the pathwindow or pressing
upon one of the icons on top of each window.\\
As small window will be opened and the corresponding filenames and path's can be
entered. If all is done, the window can be left by either clicking the {\em cancel}
or the {\em ok} button.\\

\subsubsection{Drag \& Drop}
The more comfortable way is to take use of the {\em drag \& drop} abilties. If you
select a file or directory, you can hold the button and move the pointer. As a typical
sign of this mode, the pointer will change it's shape. The selected file can now
be dragged to the icons on top of the windows, which invokes the actions as described
above. But you can also drag thefile to another directorywindow, to entries in the
pathwindow, upon entries in the direcotrywindow, to the workspacewindow, etc..\\
If the endingpoint lies within a directorywindow, the selected file will be either
copied or moved, depending on the owner of the file. If the targed is additionally
an executable file, this file will be executed with the selected file as datafile
instead of moving.\\
This will also happen, if you move the pointer to an entry in the workspace, allthough
there might be entries which doesn't depend on datafiles.\\
You can also drag the file to any directoryicon in the pathwindow, which can be more
comfortable than openeing several directories before.\\

\subsubsection{Keyboard shortcuts}
To speed up some often used fileaction you can take use of the keyboard shortcuts. If you
want to delete a file, you will have to select it first and the pressing the {\em d} key.
This causes the filemanager to display the delete window.\\
Equal shortcuts exist for copy {\em c}, move {\em m}, info {\em i}, execute {\em e} and
newdir {\em n}.

\subsubsection{The customizeable Popupmenu}
Since version 0.4.0 there is a custmizable popupmenu that serves all common fileactions.
The menu can be opened by pressing the right mousebuttons. To close it you can either
chose an action or move the pointer out of the window. On bottom of the menu is the starting
point of a secound, customizable menu -- only if a menudescriptionfile has been set up.\\

\subsubsection{Executing files}
To execute files or showing pictures, etc. you can doubleclick with the
leftmousebutton upon any icon or name within the directorywindow. Mainly those files
which have actions assigned will be displayed with individual icons.\\
To use other programs than the default programs, you can either use the executor by using
the pulldown-menu or by pressing the {\em e} key, or you drag the file to an entry of
the workspacewindow.

\subsection{Multiselections}
To invoke the assigned filetype-executor on more than on file or to remove, move or copy
more than one file, you can use the multiselection operations. To select more than one file
you will have to use the secound mouse button instead of the first. If you have selected
the files you want to do something with, you can either doubleclick them to invoke the
executor or you can press with the first mousebutton upon the move, copy or delete
button.\\
This three fileactions differ a little bit from the action that will be invoked if only
one file is selected. You cannot enter or edit the filenames.

\subsection{How to delete more than one file?}
To delete, copy or execute more than onw file, you can use the $*$ and the ?
characters as if you would handle more than one file with a shell.
Example: If you want to delete all file with the suffix .jpg in your directory,
you select one of these files and invoke the delete action -- the grab delete doesn't
work if you have disabled the security ask. In the delete window you edit the filename
from {\em name.jpg} to {\em $*$.jpg}. If you now press the ok button, all files with
the suffix {\em .jpg} will be removed.\\
This function works also with the workspaceentries.\\

\subsection{Using the Workspacearea}
To put executables into the workspacearea for later reference, you can either drag
them from any directorywindow to a free place in the workspacewindow or you can also
press the edit-workspace-entry button. Here you can set the label and the adjacted
executable. If you want to use another icon than the default icon which is used
for executables, you can specify the filename in the third textfield. Warning: The icon
must be placed in the icondir!\\
The three toggle-buttons determine, if the icon can be the target of a drop action. If
this button is set, you can drag files from the other two types of windows to the
icon an execute them with this program. If this button is set to false, the icon won't
be highlighted when trying to drag a file onto it, to show, that the file cannot be
droped here.\\
If the second button is selected, the assigned program can only be invoked by using it
with a file. Otherwise a double click can force the filemanager to open the executor too.\\
In opposit to former version there will now be a third button. If this button is
selected, a dialog-window will be opend before executing a program. I it is not selected,
the assigned file will be executed directly after invoking the action. This can be
useful for programs that don't need any changeable arguments, for example newsreader or
xterms.\\
If all inputs have been finished, the apply button creates a new entry or changes the
values of an existing one. The reset button resets all input fields to some default
values, which means that the fields will be erased while creating a new icon.\\
The save-button saves the current workspace into the users {\em ~./wsrc} file. This
file is read at the startup of xfilemanager.\\
To get rid of icons, you can use the workspace-entry-delete button. Select an icon and
press this button. A single window will be show that asks
you whether you want to perform the delete or not.\\
If you don't like the lookout of your destop, drag the icons to any place you want.\\

\section{Customization}
{\em Xfilemanager} has some features for indiviual customizing. This can be done
by using the options when you call {\em Xfilemanager} from a shell or by setting
the .Xdefaults.\\
\subsection{Using resources}
{\em Xfilemanager} obtains some additional resources.\\

{\bf *rootDir:}{\em path} -- Sets the topmost directory which is referenced as the
present root of the filesystem. Option: {\em -rootDir path}\\

{\bf *iconDir:}{\em path} -- Determines where the icons can be found.\\
Example: {\em ~/icons:/usr/lib/X11/icons:/usr/lib/X11/bitmaps}
Option: {\em -iconDir path}\\

{\bf *doubleClickInterval:}{\em number} -- This is the timeinterval within mouseclicks
will be interpreted as doubleclicks. The default is 300 miliseconds.
Option: {\em -doubleClickInterval number}\\

{\bf *iconFont:}{\em fontname} -- Sets the font that is use for all iconlabels. Option: {\em -iconFont fontname}\\

{\bf *selectColor:}{\em colorname} -- Determines the color of a selected icon. Option: {\em -selectColor colorname}\\

{\bf *multiWindow:}{\em True/False} -- If this resource is true, a new window will be
opened for all directory windows. This is the default. Option: {\em -multiWindow} or {\em -singleWindow}\\

{\bf *dragCopyAsk:} {\em True/False} -- Wheter to ask before copying files by draging
them or not. Default is {\em True}. Option: {\em -noDragCopyAsk}\\

{\bf *dragDeleteAsk:} {\em True/False} -- Wheter to ask before removinging files by draging
them or not. Default is {\em True}. Option: {\em -noDragDeleteAsk}\\

{\bf *dragExecAsk:}{\em True/False} -- Wheter to ask before executing files by draging
them or not. Default is {\em True}. Option: {\em -noDragExecAsk}\\

{\bf *dragMoveAsk:} {\em True/False} -- Wheter to ask before moving files by draging
them or not. Default is {\em True}. Option: {\em -noDragMoveAsk}\\

{\bf *iconGrid:}{\em value} -- Set the grid in that icons will be rearranged when pressing
the cleanup button. Default: 70\\

{\bf *snapGrid:}{\em value} -- Specifies the grid in which icons will be placed when moving
them around in the desktop. Default: 1\\

{\bf *trashcan:}{\em directory} -- If this resource is set, delete-operations will
move the selected files into this directory. The trashcan itself can be emptied by
a menu entry in the file-menu.
Option: {\em -trashcan path}. If not path is given in command line, it will disable the
trashcan-mode. For example if there is a global resource which specifies trashcan shall
be \~/tmp.\\


\subsection{Defining filetypes}
If {\em Xfilemanager} is started for the first time, it will create a
filetypesdefaultfile within the users homedirectory. This special file
contains the descriptions of the file-suffixes, a linked executable, the desired icon
and a short description.\\
The format is held in a very simple style:\\

{\em executable:sufixlist:iconfile:description}\\

{\em executable}: Defines the program that should be used when doubleclicking a selected
file. Example: {\em xmore \%s\&} where {\em \%} will be filled with the filename.\\

{\em suffixlist}: All suffixes which belong to this type of file. Example: {\em .jpg,.gif}\\

{\em iconfile}: The desired icon. The path of these files can be specified by the iconDir
resource.\\

{\em description}: A short string till the end of the line, which will be displayed behind
the filesize in the directorywindows.\\

To make a commentary line you can use the \# character at first character of a line.
Note: Take the default {\em system.xfmrc} file as an example for your own settings.\\

\subsection{Editing the customizable Pulldownmenu}
The exchange the system-menudescriptionfile you have to write an own file, which is
placed as usually in the {\em \$HOME} directory.\\
To do so, you can copy the {\em system.xfmmenurc} to {\em \$HOME/.xmfmenurc} and then
edit the lines to your own desire.\\
The format of this file is as simple as in all other definition files. All lines define
one menupoint and the entries in one line are seperated by a ":". The first part is
the label of the action and appears in the custom-menu. The secound entry is will be
the executable command. If the command takes files as arguments, you can insert a \%s into
the string. If this two characters are missing, the command will be executed immediately
after selecting the menu-entry. Otherwise a common dialog-box will be displayed.
The third entry is a single count which has the values 0 or 1. If the value is 0, the
menu-entry will only appear, if a file or directory has been selected before poping up the
menu. Otherwise the menu-entry will be displayed allways.\\

\section{Security}
\subsection{Restricted Directories}
If users shall be prevented from looking at directories that don't belong to their
{\em \$HOME}-Path, the administrator of {\bf xfilemanager} can set the
{\em RESTRICED\_DIRS} define in config.h before compiling the program.\\

\end{document}
