Fof is a highly customizable tool, you can modify the look (using the standard Xt based resource settings) and the behaviour of the program (using the configuration file).
The comments start with a # symbol and ends at the end of the current line. The # symbol must be on the first column of the current line.
You can specify a global variable using the following syntax :
SET Name = Value
Where Name is a string without spaces and Value is a value of type :
Variable entry :
NAME : The name of the global variable you must specify in the configuration file. TYPE : The type of the variable INFOS : informations about the available values DEFAULT : the default value if not specified in the configuration file
Available Variables :
NAME : DebugMode TYPE : Boolean INFOS : if DebugMode is set to TRUE, the command aren't really executed DEFAULT : TRUE NAME : RefreshDirTimeInterval TYPE : Integer INFOS : the current directory is inspected regularily, this variable sets the number of milliseconds between two inspections DEFAULT : 2000 (2 seconds) NAME : EnableSymbolicLinks TYPE : Boolean INFOS : On some systems, the symbolic links aren't available, you must then set this variable to FALSE. DEFAULT : TRUE NAME : DefaultViewMode TYPE : String INFOS : the possible value are : "LARGE", "SMALL" or "DETAILS". This specifies the starting view type. DEFAULT : "LARGE" NAME : DefaultSortMode TYPE : String INFOS : the possible value are : "TYPE", "SIZE" or "NAME". This specifies the starting sort type. DEFAULT : "TYPE" NAME : XtermArguments TYPE : String INFOS : specify the command line of your favorite Xterm or Xvt tool DEFAULT : "/usr/bin/X11/xterm" NAME : DefaultViewCommand TYPE : String INFOS : specify the default program for the view command DEFAULT : "/usr/bin/X11/xterm -e less" NAME : DefaultEditCommand TYPE : String INFOS : specify the default program for the edit command DEFAULT : "/usr/bin/X11/xedit" NAME : FofDefaultCommandLine TYPE : String INFOS : specify the command line for the "new fof" menu entry (start a new fof) DEFAULT : "fof" (so fof must be in you path to use this default) NAME : NoSelectionWarning TYPE : Boolean INFOS : if this value is TRUE, fof will show a warning when you try to run a command without selection. DEFAULT : TRUE NAME : IconTextMaxLength TYPE : Integer INFOS : specify the maximum number of letters for the text of an item in the file list. Use -1 if you don't want a maximum (not recommanded) DEFAULT : -1 NAME : WindowMenuTextMaxLength TYPE : Integer INFOS : specify the maximum number of letters for the Filemanager/Windows menu entries Use -1 if you don't want a maximum (not recommanded) DEFAULT : -1 NAME : MaxHistoryDirs TYPE : Integer INFOS : Maximum number of entries in the comboboxes lists (history of the directories you visited) DEFAULT : 16 NAME : FileIconAutoSpacing TYPE : Boolean INFOS : if TRUE, the items in the file list use the size of the largest item. if FALSE, the items use their own size. DEFAULT : TRUE NAME : FileIconDefaultWidth TYPE : Integer INFOS : The minimum size of the items if auto spacing is FALSE DEFAULT : not specified
NAME : DndWarning TYPE : Boolean INFOS : If TRUE, a warning message is shown if the drop isn't possible DEFAULT : TRUE NAME : DndAlwaysConfirm TYPE : Boolean INFOS : If TRUE, fof will ask you to confirm all the drag and drop operations DEFAULT : TRUE NAME : DndDefaultCommand TYPE : String INFOS : The possible values are : "COPY", "MOVE" or "LINK". The default command corresponds to a standard drag and drop without any modifier. DEFAULT : "COPY" NAME : DndCTRLCommand TYPE : String INFOS : The Drag and drop command with the CONTROL key modifier DEFAULT : "MOVE" NAME : DndSHIFTCommand TYPE : String INFOS : The Drag and drop command with the SHIFT key modifier DEFAULT : "SHIFT"
NAME : WinLeftOffset TYPE : Integer INFOS : The minimal distance between the left border of the screen and the fof windows DEFAULT : 80 NAME : WinRighttOffset TYPE : Integer INFOS : The minimal distance between the right border of the screen and the fof windows DEFAULT : 80 NAME : WinTopOffset TYPE : Integer INFOS : The minimal distance between the top border of the screen and the fof windows DEFAULT : 50 NAME : WinLeftOffset TYPE : Integer INFOS : The minimal distance between the bottom border of the screen and the fof windows DEFAULT : 50 NAME : WinXInterOffset TYPE : Integer INFOS : The distance between two tiled or stacked windows on the X axis (from the client area to the other client area, don't forget the window manager decorations). DEFAULT : 10 NAME : WinYInterOffset TYPE : Integer INFOS : The distance between two tiled or stacked windows on the Y axis (from the client area to the other client area, don't forget the window manager decorations). DEFAULT : 50 NAME : WinXCascadeOffset TYPE : Integer INFOS : The distance between two cascaded windows on the X axis (from the client area to the other client area, don't forget the window manager decorations). DEFAULT : 30 NAME : WinYCascadeOffset TYPE : Integer INFOS : The distance between two cascaded windows on the Y axis (from the client area to the other client area, don't forget the window manager decorations). DEFAULT : 40
NAME : PixmapDefaultPath TYPE : String INFOS : The list of directories where the pixmap files can be found. The format is : "/path1/:/path2/:/path3:...". IMPORTANT : Don't specify a full path for the pixmap files variables DEFAULT : "/usr/include/X11/pixmaps/"
NAME : PixDirOpened TYPE : String INFOS : Pixmap file for the opened directories (Tree browser) DEFAULT : None NAME : PixDirClosed TYPE : String INFOS : Pixmap file for the closeed directories (Tree browser) DEFAULT : None NAME : PixDirUnreadable TYPE : String INFOS : Pixmap file for the unreadable directories (Tree browser) DEFAULT : None NAME : PixDirReadOnly TYPE : String INFOS : Pixmap file for the unwritable directories (Tree browser) DEFAULT : None
NAME : PixFileSmallExec TYPE : String INFOS : default Pixmap file for the executable files (Small and Detail view modes) DEFAULT : None NAME : PixFileSmallRegular TYPE : String INFOS : default Pixmap file for the regular files (Small and Detail view modes) DEFAULT : None NAME : PixFileSmallSys TYPE : String INFOS : default Pixmap file for the devices, sockets & fifos (Small and Detail view modes) DEFAULT : None NAME : PixFileSmallLinkDir TYPE : String INFOS : default Pixmap file for the symbolic links on directory (Small and Detail view modes) DEFAULT : None NAME : PixFileSmallLinkFile TYPE : String INFOS : default Pixmap file for the symbolic links on file (Small and Detail view modes) DEFAULT : None NAME : PixFileSmallUnreadable TYPE : String INFOS : default Pixmap file for the unreadable files (Small and Detail view modes) DEFAULT : None NAME : PixFileLargeExec TYPE : String INFOS : default Pixmap file for the executable files (Large view mode) DEFAULT : None NAME : PixFileLargeRegular TYPE : String INFOS : default Pixmap file for the regular files (Large view mode) DEFAULT : None NAME : PixFileLargeSys TYPE : String INFOS : default Pixmap file for the devices, sockets & fifos (Large view mode) DEFAULT : None NAME : PixFileLargeLinkDir TYPE : String INFOS : default Pixmap file for the symbolic links on directory (Large view mode) DEFAULT : None NAME : PixFileLargeLinkFile TYPE : String INFOS : default Pixmap file for the symbolic links on file (Large view mode) DEFAULT : None NAME : PixFileLargeUnreadable TYPE : String INFOS : default Pixmap file for the unreadable files (Large view mode) DEFAULT : None NAME : PixDirLarge TYPE : String INFOS : Pixmap file for the directories (Large view mode) DEFAULT : None NAME : PixDirLargeUnreadable TYPE : String INFOS : Pixmap file for the unreadable directories (Large view mode) DEFAULT : None
This is a really important part of the configuration file. You can specify the characteristics of different file formats. Each list entry uses the following syntax :
FORMAT name DESCRIPTION "this file is blahblahblah" PATTERN "globbing style regular expression" VIEW "alternate view command" EDIT "alternate edit command" PIXMAP "alternate pixmap file" ENDFORMAT
The name is not really important but I suggest you choose something explicit (tar_gz_archive for tar.gz archives is a good choice). You cannot use spaces for the name, use the underline symbol _ instead.
The DESCRIPTION string is the string used in the File/Informations dialog box ("gzipped tar archive").
The PATTERN string is a globbing style regular expression using the *, ? & [] metacharacters (similar to the shell wildcards) ("*.tar.gz")
The VIEW string lets you specify an alternate viewer application for this file type ("xtar"). Use the empty string "" if you want to use the default view command (see DefaultViewCommand variable).
The EDIT string is similar to VIEW for the editor application ("emacs" for a text file). Use the empty string "" to use the default edit command.
The PIXMAP string is used to specify an alternate pixmap file for the file type ("xfm_taz.xpm").
The list is parsed in a top-down order. Each format is assigned to a priority : first format = priority 1, second format = priority 2, and so on ...
The priority is first used when you select the "TYPE" sort mode. The directories are first shown but fof use the format priorities to sort the other files.
For example, with the following list :
FORMAT c_header DESCRIPTION "C header file" PATTERN "*.h" VIEW "" EDIT "emacs" PIXMAP "xfm_h.h" ENDFORMAT FORMAT c_source DESCRIPTION "C source file" PATTERN "*.c" VIEW "" EDIT "emacs" PIXMAP "xfm_c.h" ENDFORMAT
The file list will use the following order :
[file1.h][file2.h][file3.h][file4.h][file5.h] [file6.h][file7.h][file8.h][file1.c][file2.c] [file3.c][file4.c][file5.c][file6.c][file7.c] [file8.c][file9.c]
The second problem is when one file matches two or more different patterns. In this case, fof uses the highest priority.
For example, with the following list :
FORMAT tar_gz_archive DESCRIPTION "Gzipped tar archive" PATTERN "*.tar.gz" VIEW "" EDIT "xtar" PIXMAP "xfm_c.h" ENDFORMAT FORMAT gz_file DESCRIPTION "Gzipped file" PATTERN "*.gz" VIEW "" EDIT "" PIXMAP "xfm_c.h" ENDFORMAT
The *.tar.gz files always match the tar_gz_archive entry. If these two entries were in the reverse order, the *.tar.gz will match the gz_file entry. This is not wrong because a gzipped tar archive but the tar_gz_archive is then useless.
IMPORTANT : Always specify the more precise entries before the more generic ones.
You can associate your own shell commands with menu entries in the user menu command.
The user menu is defined as this :
MENU UserMenu NAME "User Menu" Entry1 Entry2 ... EntryN ENDMENU
The following Entry types are available :
MENUITEM "Menu Entry" COMMAND "Shell command"
where "Menu Entry" is a string containing the name of the item in the menu. "Shell command" is the command you want to launch when selecting the menu entry. The following special keywords are available in the command specification :
SEPARATOR
Use this type of item to make separations in your menus.
POPUP MenuName
Where MenuName is the name of the child menu (see the next section)
NOTE : There's no limit (except the common sense) to the number of menu items , separators and popup submenus inside a menu definition.
You then have to build the list of submenus you'll use to build the hierarchy of the user commands menu. Each entry uses the following syntax :
MENU MenuName NAME "Title" MENUITEM "Entry" COMMAND "Shell command" ... SEPARATOR ... POPUP SubMenuName ... ENDMENU
This syntax is similar to the User menu definition except that the NAME of the menu will appear in the hierarchy.
MENU UserMenu NAME "User Menu" POPUP Xtools SEPARATOR MENUITEM "Xemacs" COMMAND "xemacs $SELECTION" MENUITEM "ls 1" COMMAND "$SHELL ls -l $SELECTION" MENUITEM "ls 2" COMMAND "$SHELL $NO_EXEC ls -l $FILE" ENDMENU MENU Xtools NAME "X Tools" MENUITEM "XClock" COMMAND "xclock" MENUITEM "Calculator" COMMAND "xcalc" POPUP XRes ENDMENU MENU XRes NAME "X Resources" MENUITEM "Editres" COMMAND "editres" ENDMENU
This definition creates the following hierarchy :
User Commands menu : X Tools -----------> XClock -------- Calculator Xemacs X Resources ----------> Editres ls 1 ls 2
If you select the Xemacs entry, the following command will be used :
==> xemacs file1 file2 file3 ... fileN
If file1, file2, ..., fileN are the current selection.
If you select the ls 1 entry, the executed command will be :>/p>
==> ls -l file1 file2 ... fileN
This execution will be done in the Shell Window
If you select the ls 2 entry :
==> ls -l file
Where file is the first file of the selection. The shell window will be used but you'll have to choose the "Execute" button to run the command.
NOTE : Here are some basic rules to follow in command definitions avoiding strange behaviours. Suppose you want to make an entry for the Command :
Don't use the Shell Window
Don't use the Shell Window
Use the shell Window
The contextual menus customization is similar to the user menu commands but you can't specify child menus (there's no POPUP entry type).
The menuitems and separators you specify will be added to the default entries of the contextual menus.
There are five different contextual menus :
The definitions use the syntax :
CMENU MenuType NAME "context menu name" Entry1 Entry2 ... EntryN ENDCMENU
The available MenuType definitions are :
The available entries are :
MENUITEM "Entry name" COMMAND "Shell Command" SEPARATOR
These entries use the same syntax as the User Commands menu entries.
Fof is a motif program and use a lot of user interface components called Widget. Each widget provide several resources you can specify in a resource file. This section explain the default resource file settings but you're not restricted to the following options. See the X Window documentation for more informations about resource files.
NOTE : in a resource file, the comments begin with a ! and end with a newline.
The visual resources provide the look of the program.
The default resource files use the following resource types (in order of appearance :-) :
The following colors & fonts are used by the default resource file. You must ensure these resources are available on your system in order to use the default resources file.
Gray70, gray60, gray90, gray80, black, light blue, bisque3, bisque
-*-times-*-r-*-*-12-*-*-*-*-*-*-* -*-helvetica-bold-r-*-*-12-*-*-*-*-*-*-* -*-helvetica-*-*-*-*-14-*-*-*-*-*-*-* -*-helvetica-medium-r-*-*-10-*-*-*-*-*-*-* -*-helvetica-medium-r-*-*-12-*-*-*-*-*-*-*
! ****** extracted from Fof.ad ********** ! ***** GENERAL ***** ! default background and foreground colors for the widgets *background : Gray70 ! default background color for scrollbars *XmScrollBar*background : gray60 ! default background color for text & textfields *XmText*background : Gray90 *XmTextField*background : Gray90 ! default colors for lists *XmList*background : gray90 *XmList*selectColor : light blue ! default font *fontList : -*-times-*-r-*-*-12-*-*-*-*-*-*-* ! hilight thickness *XmScrollBar.highlightThickness : 1 *MenuBar*highlightTickness : 1 ! shadow thickness *XmScrollBar*shadowThickness : 1 *MenuBar*shadowThickness : 1 *XmFrame.shadowThickness : 2 *XmComboBox*shadowThickness : 1 ! ***** MAIN WINDOW ***** ! menu font *MenuBar*fontList : -*-helvetica-bold-r-*-*-12-*-*-*-*-*-*-* ! Main frame *MainFrame.background : bisque3 *MainFrame.foreground : black *MainFrame*HostLabel.background : bisque3 *MainFrame*HostLabel.foreground : black ! Message window *MessageFrame*XmSeparator*shadowThickness : 2 *MessageFrame*background : Gray60 *MessageFrame*foreground : black *MessageFrame*fontList : -*-helvetica-*-*-*-*-14-*-*-*-*-*-*-* ! ***** CONTAINERS ***** ! container default background *XmContainer*background : Gray90 *XmClipWindow*background : Gray90 ! container default select color *XmContainer*selectColor : light blue ! default colors for gadgets *XmContainer*XmIconGadget*foreground : black *XmContainer*XmIconGadget*background : gray90 ! default font for gadgets *XmContainer*XmIconGadget*fontList : -*-helvetica-medium-r-*-*-10-*-*-*-*-*-*-* ! no shadow for gadgets *XmContainer*XmIconGadget*shadowThickness : 0 ! file list container specific resources *FileListFrame.background : bisque3 *FileListFrame.CurrentDirLabel*background : bisque *FileListContainer*detailTabList: +3cm,+3cm,+3cm,+3cm,+3cm *FileListContainer*XmIconGadget*fontList : -*-times-bold-r-*-*-13-*-*-*-*-*-*-* *FileListContainer*XmIconGadget*shadowThickness : 0 *FileListFrame.CurrentDirLabel*background : bisque3 ! dir tree frame specific resources *ContainerFrame.background : bisque3 *ContainerFrame.foreground : black ! ***** DIALOGS ***** *XmDialogShell.XmForm.background : bisque3 *XmDialogShell.XmForm*XmTextField.background : gray90 *XmDialogShell*XmToggleButton.shadowThickness : 0 *XmDialogShell*XmToggleButton.fontList : -*-helvetica-medium-r-*-*-12-*-*-*-*-*-*-* *XmDialogShell*XmPushButton.fontList : -*-helvetica-bold-r-*-*-12-*-*-*-*-*-*-* *XmDialogShell*XmPushButton.shadowThickness : 2 *XmDialogShell*XmForm.shadowThickness : 0 ! GZip dialog specific resources *GZipDialog*XmFrame*XmScale*shadowThickness : 1 *GZipDialog*XmRowColumn*fontList :-*-helvetica-medium-r-*-*-12-*-*-*-*-*-*-* ! Split dialog specific resources *SplitDialog*SplitOptionsSizeLabel.fontList : -*-helvetica-medium-r-*-*-12-*-*-*-*-*-*-* ! Shell dialog specific resources *ShellDialog*ShellHistory.selectColor : light blue ! Status dialog specific resources *StatusDialog*StatusScale.Scrollbar.troughColor: light blue ! ***** CONTEXTUAL MENUS ***** ! file context menu *FileContextMenu*XmPushButton.fontList : -*-helvetica-bold-r-*-*-12-*-*-*-*-*-*-* *FileContextMenu*XmLabel.fontList : -*-helvetica-bold-r-*-*-12-*-*-*-*-*-*-* *FileContextMenu*Label.background : gray80 ! dir context menu *DirContextMenu*XmPushButton.fontList : -*-helvetica-bold-r-*-*-12-*-*-*-*-*-*-* *DirContextMenu*XmLabel.fontList : -*-helvetica-bold-r-*-*-12-*-*-*-*-*-*-* *DirContextMenu*Label.background : gray80 ! other context menu *OtherContextMenu*XmPushButton.fontList : -*-helvetica-bold-r-*-*-12-*-*-*-*-*-*-* *OtherContextMenu*XmLabel.fontList : -*-helvetica-bold-r-*-*-12-*-*-*-*-*-*-* *OtherContextMenu*Label.background : gray80 ! no file context menu *NoFileContextMenu*XmPushButton.fontList : -*-helvetica-bold-r-*-*-12-*-*-*-*-*-*-* *NoFileContextMenu*XmLabel.fontList : -*-helvetica-bold-r-*-*-12-*-*-*-*-*-*-* *NoFileContextMenu*Label.background : gray80 ! selection context menu *SelectionContextMenu*XmPushButton.fontList : -*-helvetica-bold-r-*-*-12-*-*-*-*-*-*-* *SelectionContextMenu*XmLabel.fontList : -*-helvetica-bold-r-*-*-12-*-*-*-*-*-*-* *SelectionContextMenu*Label.background : gray80
The behaviour resources modify the default behaviour of the widgets. This concerns the size, the distance between widgets and other related resources, the accelerators and mnemonics as well as more generic resources.
Fof uses the OffiX Drag and Drop protocol so don't modify the following entries in the resource file :
dragInitiatorProtocolStyle : DRAG_NONE dragReceiverProtocolStyle : DRAG_NONE
You can use the well knowm Motif's tear off menus using the resource :
menu.tearOffModel : TEAR_OFF_ENABLED
where menu is the menu widget you want to be "removable". (this behaviour isn't enabled by default)
Keyboard accelerators are used to run a command without selecting the corresponding menu entry.
An accelerator entry use the following syntax :
.accelerator : .acceleratorText :
For example :
*CopyButton.accelerator :c *CopyButton.acceleratorText : C
The Copy Button is bound to the copy command. When the user press the C key, the copy command is executed. The text shown in the menu entry is a C character.
The mnemonics are used to navigate in the menu hierarchy using the keyboard. Every buttons can be associated with a mnemonic but it's wise to restrict the use of mnemonics to the menu navigation.
A mnemonic entry use the following syntax :
.mnemonic :
The letter must be in the label of the button (the case is important).
Exemple :
*FileMenuButton.mnemonic : F *CopyButton.mnemonic : C
The File button in the menu bar can be opened using the Alt-F event. Once the user has entered the file menu, she can run the copy command using the C key.
! ****** extracted from Fof.ad ********** ! ****** GENERAL ****** ! disable the motif drag and drop protocol ! IMPORTANT : DON'T REMOVE OR MODIFY THESE RESOURCES *dragInitiatorProtocolStyle : DRAG_NONE *dragReceiverProtocolStyle : DRAG_NONE ! Main window *MainWindow.width : 640 *MainWindow.height : 480 *DateLabel.leftOffset : 8 *MessageSeparator.leftOffset : 8 *MessageLabel.leftOffset : 8 ! tree container *TreeContainer.outlineIndentation : 15 ! ***** MENU BAR ACCELERATORS ****** ! file menu *CopyButton.accelerator :c *CopyButton.acceleratorText : C *MoveButton.accelerator : m *MoveButton.acceleratorText : M *DeleteButton.accelerator : d *DeleteButton.acceleratorText : D *RenameButton.accelerator : r *RenameButton.acceleratorText : R *AttributesButton.accelerator : a *AttributesButton.acceleratorText : A *CreateButton.accelerator : t *CreateButton.acceleratorText : T *ExecButton.accelerator : x *ExecButton.acceleratorText : X *InfoButton.accelerator : i *InfoButton.acceleratorText : I *ViewButton.accelerator : v *ViewButton.acceleratorText : V *EditButton.accelerator : e *EditButton.acceleratorText : E *QuitOthersButton.accelerator : Ctrl Shift o *QuitOthersButton.acceleratorText : Ctrl-Shift-O *QuitAllButton.accelerator : Ctrl Shift a *QuitAllButton.acceleratorText : Ctrl-Shift-A *QuitButton.accelerator : Ctrl Shift q *QuitButton.acceleratorText : Ctrl-Shift-Q ! archive menu *TarButton.accelerator : Alt t *TarButton.acceleratorText : Alt-T *UnTarButton.accelerator : Alt u *UnTarButton.acceleratorText : Alt-U *GZipButton.accelerator : Alt z *GZipButton.acceleratorText : Alt-Z *GUnZipButton.accelerator : Alt n *GUnZipButton.acceleratorText : Alt-N *EncodeButton.accelerator : Alt e *EncodeButton.acceleratorText : Alt-E *DecodeButton.accelerator : Alt d *DecodeButton.acceleratorText : Alt-D *SplitButton.accelerator : Alt s *SplitButton.acceleratorText : Alt-S *UnSplitButton.accelerator : Alt P *UnSplitButton.acceleratorText : Alt-P ! selection menu *SelectAllButton.accelerator : Ctrl a *SelectAllButton.acceleratorText : Ctrl-A *UnSelectAllButton.accelerator : Ctrl u *UnSelectAllButton.acceleratorText : Ctrl-U *FilterButton.accelerator : Ctrl s *FilterButton.acceleratorText : Ctrl-S ! filemanager menu *NewFofButton.accelerator : Ctrl Shift n *NewFofButton.acceleratorText : Ctrl-Shift-N *TileButton.accelerator : Ctrl Shift t *TileButton.acceleratorText : Ctrl-Shift-T *StackButton.accelerator : Ctrl Shift s *StackButton.acceleratorText : Ctrl-Shift-S *CascadeButton.accelerator : Ctrl Shift c *CascadeButton.acceleratorText : Ctrl-Shift-C *HomeDirButton.accelerator : Alt h *HomeDirButton.acceleratorText : Alt-H *GoToDirButton.accelerator : Alt g *GoToDirButton.acceleratorText : Alt-G ! tools menu *ShellWindowButton.accelerator : Ctrl h *ShellWindowButton.acceleratorText : Ctrl-H *FindWindowButton.accelerator : Ctrl f *FindWindowButton.acceleratorText : Ctrl-F *FindCurWindowButton.accelerator : Ctrl r *FindCurWindowButton.acceleratorText : Ctrl-R ! ***** MNEMONICS ****** ! file menu *FileMenuButton.mnemonic : F *CopyButton.mnemonic : C *MoveButton.mnemonic : M *DeleteButton.mnemonic : D *RenameButton.mnemonic : R *AttributesButton.mnemonic : A *CreateButton.mnemonic : t *ExecButton.mnemonic : x *InfoButton.mnemonic : I *ViewButton.mnemonic : V *EditButton.mnemonic : E *QuitOthersButton.mnemonic : O *QuitAllButton.mnemonic : l *QuitButton.mnemonic : Q ! archive menu *ArcMenuButton.mnemonic : A *TarButton.mnemonic : T *UnTarButton.mnemonic : U *GZipButton.mnemonic : z *GUnZipButton.mnemonic : n *EncodeButton.mnemonic : E *DecodeButton.mnemonic : D *SplitButton.mnemonic : S *UnSplitButton.mnemonic : p ! selection menu *SelectMenuButton.mnemonic : S *SelectAllButton.mnemonic : S *UnSelectAllButton.mnemonic : U *FilterButton.mnemonic : F ! filemanager menu *SystemMenuButton.mnemonic : m *NewFofButton.mnemonic : N *WindowsButton.mnemonic : W *TileButton.mnemonic : T *StackButton.mnemonic : S *CascadeButton.mnemonic : C *RefreshButton.mnemonic : R *RefreshTreeButton.mnemonic : T *RefreshFileListButton.mnemonic : L *HomeDirButton.mnemonic : H *GoToDirButton.mnemonic : G *ViewTypeButton.mnemonic : V *ViewLargeButton.mnemonic : L *ViewSmallButton.mnemonic : S *ViewDetailButton.mnemonic : F *SortButton.mnemonic : S *SortByTypeButton.mnemonic : T *SortByNameButton.mnemonic : N *SortBySizeButton.mnemonic : S ! tools menu *ToolsMenuButton.mnemonic : T *ShellWindowButton.mnemonic : S *FindWindowButton.mnemonic : F *FindCurWindowButton.mnemonic : h ! user menu *UserMenuButton.mnemonic : U ! ***** DIALOGS ***** ! copy dialog *CopyDialog.width : 396 *CopyDialog.height : 300 *CopyDialog.autoUnmanage : false ! move dialog *MoveDialog.width : 320 *MoveDialog.height : 260 *MoveDialog.autoUnmanage : false ! delete dialog *DeleteDialog.width : 200 *DeleteDialog.height : 128 *DeleteDialog.autoUnmanage : false ! rename dialog *RenameDialog.width : 230 *RenameDialog.height : 148 *RenameDialog.autoUnmanage : false ! attributes dialog *AttributesDialog.width : 316 *AttributesDialog.height : 226 *AttributesDialog.autoUnmanage : false ! create dialog *CreateDialog.width : 230 *CreateDialog.height : 138 *CreateDialog.autoUnmanage : false ! exec dialog *ExecDialog.width : 230 *ExecDialog.height : 196 *ExecDialog.autoUnmanage : false ! info dialog *InfoDialog.width : 316 *InfoDialog.height : 304 *InfoDialog.autoUnmanage : false ! tar dialog *TarDialog.width : 270 *TarDialog.height : 318 *TarDialog.autoUnmanage : false ! untar dialog *UnTarDialog.width : 270 *UnTarDialog.height : 142 *UnTarDialog.autoUnmanage : false ! gzip dialog *GZipDialog.width : 250 *GZipDialog.height : 192 *GZipDialog.autoUnmanage : false ! gunzip dialog *GUnZipDialog.width : 250 *GUnZipDialog.height : 128 *GUnZipDialog.autoUnmanage : false ! encode dialog *EncodeDialog.width : 230 *EncodeDialog.height : 202 *EncodeDialog.autoUnmanage : false ! decode dialog *DecodeDialog.width : 230 *DecodeDialog.height : 92 *DecodeDialog.autoUnmanage : false ! split dialog *SplitDialog.width : 270 *SplitDialog.height : 192 *SplitDialog.autoUnmanage : false ! unsplit dialog *UnSplitDialog.width : 300 *UnSplitDialog.height : 270 *UnSplitDialog.autoUnmanage : false ! filter dialog *FilterDialog.width : 230 *FilterDialog.height : 92 *FilterDialog.autoUnmanage : false ! message dialog *MessageDialog.width : 280 *MessageDialog.height : 200 *MessageDialog.autoUnmanage : true *MessageBitmapFrame.topOffset : 20 *MessageBitmapFrame.leftOffset : 20 *MessageTextFrame.topOffset : 20 *MessageTextFrame.leftOffset : 4 *MessageTextFrame.rightOffset : 10 ! confirm dialog *ConfirmDialog.width : 280 *ConfirmDialog.height : 200 *ConfirmDialog.autoUnmanage : true *ConfirmBitmapFrame.topOffset : 20 *ConfirmBitmapFrame.leftOffset : 20 *ConfirmTextFrame.topOffset : 20 *ConfirmTextFrame.leftOffset : 4 *ConfirmTextFrame.rightOffset : 10 ! goto dir dialog *GoToDirDialog.width : 385 *GoToDirDialog.height : 115 *GoToDirDialog.autoUnmanage : false ! status dialog *StatusDialog.width : 305 *StatusDialog.height : 180 *StatusDialog.autoUnmanage : False ! drop dialog *DropDialog.width : 240 *DropDialog.height : 166 *DropDialog.autoUnmanage : false ! shell dialog *ShellDialog.width : 400 *ShellDialog.height : 299 ! find dialog
These resources are the strings you'll see in the widgets. The default strings are in english but you can modify them to make a localized version of the program.
NOTES :
! ****** extracted from Fof.ad ********** ! ****** GENERAL ****** ! main window Fof.title : Fred's Own Filemanager *DateLabel.labelString : Please wait ... *HostLabel.labelString : Please wait ... *CurrentDirLabel.labelString : Please wait ... *MessageLabel.labelString : Fof 0.99a -beta- (C) 1997, Fred Pesch ! dir tree container *TreeContainer.detailColumnHeading : Directory,Access *TreeContainer.detailOrder : 1 ! file list *FileListContainer.detailColumnHeading : Name,Owner,Attr.,Date,Time,Size*FileListContainer.detailOrder : 1,2,3,4,5 ! ***** MENU BAR ***** ! file menu *FileMenuButton.labelString : File *CopyButton.labelString : Copy *MoveButton.labelString : Move *DeleteButton.labelString : Delete *RenameButton.labelString : Rename *AttributesButton.labelString : Attributes *CreateButton.labelString : Create *ExecButton.labelString : Exec *InfoButton.labelString : Infos *ViewButton.labelString : View *EditButton.labelString : Edit *QuitButton.labelString : Quit *QuitOthersButton.labelString : Quit Others *QuitAllButton.labelString : Quit All ! archive menu *ArcMenuButton.labelString : Archive *TarButton.labelString : Tar *UnTarButton.labelString : Untar *GZipButton.labelString : Gzip *GUnZipButton.labelString : Gunzip *EncodeButton.labelString : Encode *DecodeButton.labelString : Decode *SplitButton.labelString : Split *UnSplitButton.labelString : Unsplit ! selection menu *SelectMenuButton.labelString : Selection *SelectAllButton.labelString : Select All *UnSelectAllButton.labelString : Unselect All *FilterButton.labelString : Filter Select ! filemanager menu *SystemMenuButton.labelString : Filemanager *NewFofButton.labelString : New Fof *WindowsButton.labelString : Windows *TileButton.labelString : Tile *StackButton.labelString : Stack *CascadeButton.labelString : Cascade *RefreshButton.labelString : Refresh *RefreshTreeButton.labelString : Directory Tree *RefreshFileListButton.labelString : File List *HomeDirButton.labelString : Home Dir *GoToDirButton.labelString : Go To Dir *ViewTypeButton.labelString : View Type *ViewLargeButton.labelString : Large Icons *ViewSmallButton.labelString : Small Icons *ViewDetailButton.labelString : Full Details *SortButton.labelString : Sort Type *SortByTypeButton.labelString : Sort by Type *SortByNameButton.labelString : Sort by Name *SortBySizeButton.labelString : Sort By Size ! tools menu *ToolsMenuButton.labelString : Tools *ShellWindowButton.labelString : Shell Window *FindWindowButton.labelString : File finder *FindCurWindowButton.labelString : Find from here ! user menu *UserMenuButton.labelString : User Commands *HelpMenuButton.labelString : Help *OverviewButton.labelString : Overview *BeginnerButton.labelString : Beginner's corner *ReferenceButton.labelString : Commands reference *ConfigureButton.labelString : Configuration *LicenseButton.labelString : Program License *AboutButton.labelString : About fof... ! ***** CONTEXTUAL MENUS ***** ! file context menu *FileContextMenu*ButtonView.labelString : View *FileContextMenu*ButtonEdit.labelString : Edit *FileContextMenu*ButtonInfos.labelString : Informations *FileContextMenu*ButtonRename.labelString : Rename *FileContextMenu*ButtonDelete.labelString : Delete *FileContextMenu*ButtonExec.labelString : Execute ! dir context menu *DirContextMenu*ButtonCd.labelString : Cd *DirContextMenu*ButtonNewCd.labelString : Cd new window *DirContextMenu*ButtonHome.labelString : Home Dir *DirContextMenu*ButtonGoto.labelString : Go To Dir *DirContextMenu*ButtonInfos.labelString : Informations *DirContextMenu*ButtonDelete.labelString : Delete ! other context menu *OtherContextMenu*ButtonInfos.labelString : Informations ! no file context menu *NoFileContextMenu*ButtonCreate.labelString : Create File *NoFileContextMenu*ButtonSelectAll.labelString : Select all files *NoFileContextMenu*ButtonFilterSelect.labelString : Filter Select ! selection context menu *SelectionContextMenu*ButtonCopy.labelString : Copy *SelectionContextMenu*ButtonMove.labelString : Move *SelectionContextMenu*ButtonDelete.labelString : Delete *SelectionContextMenu*ButtonTar.labelString : Tar archive ! ***** DIALOGS ***** ! copy dialog *CopyDialog.dialogTitle : Copy files *CopyRescanButton.labelString : Rescan *CopyOkButton.labelString : Ok *CopyCancelButton.labelString : Cancel *CopyHelpButton.labelString : Help *CopyDirSelectorLabel.labelString : Select Destination Dir *CopyOptionBoxLabel.labelString : Options *CopyInteractiveButton.labelString : Interactive copy *CopyRecurseButton.labelString : Recurse subdirectories *CopyPreserveAccessButton.labelString : Preserve access *CopyPreserveLinksButton.labelString : Preserve links *CopyUpdateButton.labelString : Update files *CopyHardLinksButton.labelString : Hard links *CopySymbolicLinksButton.labelString : Symbolic links *CopyOneFilesystemButton.labelString : One filesystem ! move dialog *MoveDialog.dialogTitle : Move files *MoveRescanButton.labelString : Rescan *MoveOkButton.labelString : Ok *MoveCancelButton.labelString : Cancel *MoveHelpButton.labelString : Help *MoveDirSelectorLabel.labelString : Select destination dir *MoveOptionBoxLabel.labelString : Options *MoveInteractiveButton.labelString : Interactive move *MoveUpdateButton.labelString : Update files ! delete dialog *DeleteDialog.dialogTitle : Delete files *DeleteOkButton.labelString : Ok *DeleteCancelButton.labelString : Cancel *DeleteHelpButton.labelString : Help *DeleteOptionBoxLabel.labelString : Options *DeleteInteractiveButton.labelString : Interactive delete *DeleteRecurseButton.labelString : Recurse subdirectories ! rename dialog *RenameDialog.dialogTitle : Rename file *RenameOkButton.labelString : Ok *RenameCancelButton.labelString : Cancel *RenameHelpButton.labelString : Help *RenameSourceBoxLabel.labelString : Source file *RenameDestBoxLabel.labelString : Destination file ! attributes dialog *AttributesDialog.dialogTitle : Change attributes *AttributesOkButton.labelString : Ok *AttributesCancelButton.labelString : Cancel *AttributesHelpButton.labelString : Help *AttributesFilenameLabel.labelString : File name *AttributesUserLabel.labelString : User *AttributesUserRead.labelString : Read *AttributesUserWrite.labelString : Write *AttributesUserExec.labelString : Exec *AttributesGroupLabel.labelString : Group *AttributesGroupRead.labelString : Read *AttributesGroupWrite.labelString : Write *AttributesGroupExec.labelString : Exec *AttributesOthersLabel.labelString : Others *AttributesOthersRead.labelString : Read *AttributesOthersWrite.labelString : Write *AttributesOthersExec.labelString : Exec ! create dialog *CreateDialog.dialogTitle : Create new file *CreateOkButton.labelString : Ok *CreateCancelButton.labelString : Cancel *CreateHelpButton.labelString : Help *CreateBoxLabel.labelString : File name *CreateOptionBoxLabel.labelString : Option *CreateToggleButton.labelString : Create a directory ! exec dialog *ExecDialog.dialogTitle : Execute program *ExecOkButton.labelString : Ok *ExecCancelButton.labelString : Cancel *ExecHelpButton.labelString : Help *ExecSourceBoxLabel.labelString : Program name *ExecArgsBoxLabel.labelString : Arguments *ExecXtermBoxLabel.labelString : Option *ExecToggleButton.labelString : Execute in Xterm ! info dialog *InfoDialog.dialogTitle : File informations *InfoOkButton.labelString : Ok *InfoHelpButton.labelString : Help *InfoFilenameLabel.labelString : File name *InfoUserLabel.labelString : User *InfoUserRead.labelString : Read *InfoUserWrite.labelString : Write *InfoUserExec.labelString : Exec *InfoGroupLabel.labelString : Group *InfoGroupRead.labelString : Read *InfoGroupWrite.labelString : Write *InfoGroupExec.labelString : Exec *InfoOthersLabel.labelString : Others *InfoOthersRead.labelString : Read *InfoOthersWrite.labelString : Write *InfoOthersExec.labelString : Exec ! tar dialog *TarDialog.dialogTitle : Create tape archive *TarOkButton.labelString : Ok *TarCancelButton.labelString : Cancel *TarHelpButton.labelString : Help *TarFilenameLabel.labelString : File name *TarOptionsLabel.labelString : Options *TarOptionsGZip.labelString : Gzip archive *TarOptionsAbsolute.labelString : Absolute paths *TarOptionsDereference.labelString : Dereference symlinks *TarOptionsPreserve.labelString : Preserve Permissions *TarOptionsOneFilesystem.labelString : One filesystem *TarOptionsSetBlock.labelString : Block size (Nx512 bytes) ! untar dialog *UnTarDialog.dialogTitle : Extract from tape archive *UnTarOkButton.labelString : Ok *UnTarCancelButton.labelString : Cancel *UnTarHelpButton.labelString : Help *UnTarBoxLabel.labelString : File name *UnTarOptionBoxLabel.labelString : Option *UnTarToggleButton.labelString : Gunzip archive ! gzip dialog *GZipDialog.dialogTitle : GZip files *GZipOkButton.labelString : Ok *GZipCancelButton.labelString : Cancel *GZipHelpButton.labelString : Help *GZipOptionBoxLabel.labelString : Options *GZipQualityScale.titleString : Comression factor (1=faster, 9=better) *GZipInteractiveButton.labelString : Interactive GZip *GZipRecurseButton.labelString : Recurse subdirectories ! gunzip dialog *GUnZipDialog.dialogTitle : GUnZip files *GUnZipOkButton.labelString : Ok *GUnZipCancelButton.labelString : Cancel *GUnZipHelpButton.labelString : Help *GUnZipOptionBoxLabel.labelString : Options *GUnZipInteractiveButton.labelString : Interactive GUnZip *GUnZipRecurseButton.labelString : Recurse subdirectories ! encode dialog *EncodeDialog.dialogTitle : UUEncode file *EncodeOkButton.labelString : Ok *EncodeCancelButton.labelString : Cancel *EncodeHelpButton.labelString : Help *EncodeSourceBoxLabel.labelString : Source file *EncodeNameBoxLabel.labelString : Decoded file name *EncodeDestBoxLabel.labelString : Destination file ! decode dialog *DecodeDialog.dialogTitle : UUDecode file *DecodeOkButton.labelString : Ok *DecodeCancelButton.labelString : Cancel *DecodeHelpButton.labelString : Help *DecodeFilenameLabel.labelString : File name ! split dialog *SplitDialog.dialogTitle : Split file *SplitOkButton.labelString : Ok *SplitCancelButton.labelString : Cancel *SplitHelpButton.labelString : Help *SplitFilenameLabel.labelString : File name *SplitOptionsLabel.labelString : Destination files options *SplitOptionsSizeLabel.labelString : Size (bytes) *SplitOptionsPrefixButton.labelString : Prefix ! unsplit dialog *UnSplitDialog.dialogTitle : UnSplit file *UnSplitOkButton.labelString : Ok *UnSplitCancelButton.labelString : Cancel *UnSplitHelpButton.labelString : Help *UnSplitFilenameLabel.labelString : Destination File *UnSplitListLabel.labelString : Source files *UnSplitOrderLabel.labelString : Order *UnSplitOrderUp.labelString : Up *UnSplitOrderDown.labelString : Down *UnSplitOrderTop.labelString : Top *UnSplitOrderBottom.labelString : Bottom ! filter dialog *FilterDialog.dialogTitle : Filter select *FilterOkButton.labelString : Ok *FilterCancelButton.labelString : Cancel *FilterHelpButton.labelString : Help *FilterBoxLabel.labelString : File Pattern ! message dialog *MessageOkButton.labelString : Ok ! confirm dialog *ConfirmYesButton.labelString : Yes *ConfirmNoButton.labelString : No ! goto dir dialog *GoToDirDialog.dialogTitle : Go to dir *GoToDirDialog*GoToDirNewWindowButton.labelString : Open a new window *GoToDirOkButton.labelString : Ok *GoToDirCancelButton.labelString : Cancel *GoToDirHelpButton.labelString : Help *GoToDirSelectorLabel.labelString : File name ! status dialog *StatusDialog.dialogTitle : Command processing *StatusStopButton.labelString : Abort *StatusOkButton.labelString : Ok ! drop dialog *DropDialog.dialogTitle : Confirm Drag & Drop operation *DropOptionLabel.labelString : Operation type *DropCopyButton.labelString : Copy *DropMoveButton.labelString : Move *DropLinkButton.labelString : Link *DropYesButton.labelString : Yes *DropNoButton.labelString : No *DropHelpButton.labelString : Help ! shell dialog *ShellDialog.dialogTitle : Shell Window *ShellLabel1.labelString : Shell Output *ShellLabel2.labelString : History *ShellLabel3.labelString : Command *ShellExecuteButton.labelString : Execute *ShellInsSelButton.labelString : Insert Selection *ShellStopButton.labelString : Abort *ShellCloseButton.labelString : Close *ShellHelpButton.labelString : Help ! find dialog *FindDialog.dialogTitle : File Finder *FindDialog*FindDirLabel.labelString : Find from *FindDialog*FindLabel2.labelString : Files found *FindDialog*FindExecuteButton.labelString : Find *FindDialog*FindStopButton.labelString : Abort *FindDialog*FindCloseButton.labelString : Close *FindDialog*FindHelpButton.labelString : Help *FindDialog*FindBasicToggle.labelString : Basic Options *FindDialog*FindAdvancedToggle.labelString : Advanced Options *FindDialog*FindBasicNameToggle.labelString : Name *FindDialog*FindBasicTypeToggle.labelString : Type *FindDialog*FindBasicTypeButton.labelString : Choose (now: all ) *FindDialog*FindTypeRegular.labelString : Regular files *FindDialog*FindTypeDir.labelString : Directories *FindDialog*FindTypeDir.labelString : Directories *FindDialog*FindTypeSLink.labelString : Symbolic links *FindDialog*FindTypeBlock.labelString : Block devices *FindDialog*FindTypeChar.labelString : Char devices *FindDialog*FindTypeFifo.labelString : Named pipes *FindDialog*FindTypeSocket.labelString : Sockets *FindDialog*FindBasicSizeToggle.labelString : Size *FindDialog*FindSizeExact.labelString : Exactly *FindDialog*FindSizeLess.labelString : Less than *FindDialog*FindSizeMore.labelString : More than *FindDialog*FindSizeBytes.labelString : Bytes *FindDialog*FindSizeKilos.labelString : Kilobytes *FindDialog*FindSizeBlocks.labelString : Blocks (512 bytes) *FindDialog*FindSizeWords.labelString : Words (2 bytes) *FindDialog*FindBasicUserToggle.labelString : User name or ID *FindDialog*FindBasicGroupToggle.labelString : Group name or ID *FindDialog*FindBasicOneFsToggle.labelString : One filesystem *FindDialog*FindAdvancedMtimeToggle.labelString : Last modification *FindDialog*FindMtimeExact.labelString : Exactly *FindDialog*FindMtimeLess.labelString : Less than *FindDialog*FindMtimeMore.labelString : More than *FindDialog*FindMtimeLabel.labelString : days ago *FindDialog*FindAdvancedCtimeToggle.labelString : Creation *FindDialog*FindCtimeExact.labelString : Exactly *FindDialog*FindCtimeLess.labelString : Less than *FindDialog*FindCtimeMore.labelString : More than *FindDialog*FindCtimeLabel.labelString : days ago *FindDialog*FindAdvancedAtimeToggle.labelString : Last access *FindDialog*FindAtimeExact.labelString : Exactly *FindDialog*FindAtimeLess.labelString : Less than *FindDialog*FindAtimeMore.labelString : More than *FindDialog*FindAtimeLabel.labelString : days ago *FindDialog*FindAdvancedPermToggle.labelString : Permissions *FindDialog*FindAdvancedPermUser.labelString : User (now: --- ) *FindDialog*FindPermUserR.labelString : Read *FindDialog*FindPermUserW.labelString : Write *FindDialog*FindPermUserX.labelString : Execute *FindDialog*FindAdvancedPermGroup.labelString : Group (now: --- ) *FindDialog*FindPermGroupR.labelString : Read *FindDialog*FindPermGroupW.labelString : Write *FindDialog*FindPermGroupX.labelString : Execute *FindDialog*FindAdvancedPermOthers.labelString : Others (now: --- ) *FindDialog*FindPermOthersR.labelString : Read *FindDialog*FindPermOthersW.labelString : Write *FindDialog*FindPermOthersX.labelString : Execute *FindDialog*FindAdvancedContentsToggle.labelString : Contents