[Top]

8. Customization



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).


8.1. The configuration file (aka .fofrc)

8.1.1. Comments

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.


8.1.2. Global variables

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 :


8.1.3. General options

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

8.1.4. Drag and drop options

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"

8.1.5. Multiple windows options

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


8.1.6. Default pixmaps

8.1.6.1. Pixmaps path
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/"
8.1.6.2. Tree browser 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
8.1.6.3. File list default pixmaps
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

8.1.7. File formats list

8.1.7.1. List entry

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").

8.1.7.2. Formats priority

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.


8.1.8. The "User commands" menu

You can associate your own shell commands with menu entries in the user menu command.

8.1.8.1. Root menu

The user menu is defined as this :

MENU UserMenu
  NAME "User Menu"
  Entry1
  Entry2
  ...
  EntryN
ENDMENU

The following Entry types are available :

NOTE : There's no limit (except the common sense) to the number of menu items , separators and popup submenus inside a menu definition.

8.1.8.2. Child menus

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.

8.1.8.3. A sample 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 :


8.1.9. The contextual menus

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.


8.2. The default resource file

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.


8.2.1. Visual resources

The visual resources provide the look of the program.

8.2.1.1. Visual resource types

The default resource files use the following resource types (in order of appearance :-) :

8.2.1.2. Colors and fonts

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.

8.2.1.3. Default visual resources
! ****** 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

8.2.2. Behaviour resources

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.

8.2.2.1. Disconnecting the motif drag and drop protocol

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
8.2.2.2. Other behaviour resources

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)

8.2.2.3. Accelerators

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.

8.2.2.4. Mnemonics

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.

8.2.2.5. Default behaviour resources
! ****** 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 Shifto
*QuitOthersButton.acceleratorText : Ctrl-Shift-O
*QuitAllButton.accelerator : Ctrl Shifta
*QuitAllButton.acceleratorText : Ctrl-Shift-A
*QuitButton.accelerator : Ctrl Shiftq
*QuitButton.acceleratorText : Ctrl-Shift-Q

! archive menu
*TarButton.accelerator : Altt
*TarButton.acceleratorText : Alt-T
*UnTarButton.accelerator : Altu
*UnTarButton.acceleratorText : Alt-U
*GZipButton.accelerator : Altz
*GZipButton.acceleratorText : Alt-Z
*GUnZipButton.accelerator : Altn
*GUnZipButton.acceleratorText : Alt-N
*EncodeButton.accelerator : Alte
*EncodeButton.acceleratorText : Alt-E
*DecodeButton.accelerator : Altd
*DecodeButton.acceleratorText : Alt-D
*SplitButton.accelerator : Alt s
*SplitButton.acceleratorText : Alt-S
*UnSplitButton.accelerator : AltP
*UnSplitButton.acceleratorText : Alt-P

! selection menu
*SelectAllButton.accelerator : Ctrla
*SelectAllButton.acceleratorText : Ctrl-A
*UnSelectAllButton.accelerator : Ctrlu
*UnSelectAllButton.acceleratorText : Ctrl-U
*FilterButton.accelerator : Ctrls
*FilterButton.acceleratorText : Ctrl-S

! filemanager menu
*NewFofButton.accelerator : Ctrl Shiftn
*NewFofButton.acceleratorText : Ctrl-Shift-N
*TileButton.accelerator : Ctrl Shiftt
*TileButton.acceleratorText : Ctrl-Shift-T
*StackButton.accelerator : Ctrl Shifts
*StackButton.acceleratorText : Ctrl-Shift-S
*CascadeButton.accelerator : Ctrl Shiftc
*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 : Ctrlh
*ShellWindowButton.acceleratorText : Ctrl-H
*FindWindowButton.accelerator : Ctrlf
*FindWindowButton.acceleratorText : Ctrl-F
*FindCurWindowButton.accelerator : Ctrlr
*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

8.2.3. Textual resources

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 :

8.2.3.1. Default Textual resources
! ****** 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

Last modified: Wed Nov 12 20:01:25 MET