XF(1X) X Version 11 XF(1X)
17 July 1988
NAME
xf - X window filename tool
SYNOPSIS
xf [-a] [directory_name ...]
DESCRIPTION
The xf program is a visual tool for generating a collection of
filenames from a variety of directories, typically as the command-line
input to a program like rm(1) or chmod(1).
Xf has two different window types, a directory window and a dialog
window.
The directory window is labeled with a directory name, and the
directory's files are displayed in a matrix (the Set widget); any
number of entries may be highlighted by calling the Set widget's
Toggle() translation function (bound to None<Btn1Down> by default).
Note that this is different from the Athena List widget (from which
Set was derived). Highlighting a Set widget entry has nothing to do
with the Xt selection mechanism -- no selection is exported from xf.
The directory window has four buttons: "Up" which opens a directory
window on the next higher directory; "Done" which causes the set of
all highlighted file names in all current xf windows to appear on
stdout, and the program to exit; "Quit" which simply causes the
program to exit; and "Enter Filename" which causes a pathname-prompt
window to be opened.
The pathname-prompt window allows entry of an absolute or relative (to
the directory from which xf was called) pathname, and causes an xf
window to be opened in the specified directory. It has only one
button, "Confirm" which is pressed when the typed in filename is
correct. Typing Return within the prompt window has the same effect
as pressing the "Confirm" button. The default behavior of the Text
child of the Dialog widget is determined by the app-defaults file (see
below).
OPTIONS
Xf accepts all of the standard X Toolkit command line options along
with the additional options listed below:
-a File names that begin with '.' will not be suppressed. This
is reminiscent of ls(1).
The following standard X Toolkit command line arguments are commonly
used with xf:
-bg color
This option specifies the color to use for the background of
the window. The default is white.
- 1 - Formatted: October 29, 2025
XF(1X) X Version 11 XF(1X)
17 July 1988
-bd color
This option specifies the color to use for the border of the
window. The default is black.
-bw number
This option specifies the width in pixels of the border
surrounding the window.
-fg color
This option specifies the color to use for displaying text.
The default is black.
-fn font
This option specifies the font to be used for displaying
normal text. The default is 6x10.
-rv This option indicates that reverse video should be simulated
by swapping the foreground and background colors.
-display host:display
This option specifies the X server to contact.
-xrm resourcestring
This option specifies a resource string to be used.
X DEFAULTS
The xf directory window is based upon the Set widget, a variant of the
List widget (from the Athena widget set). The directory window
consists of a Form widget ("form") containing a Label widget
("label"), a Set widget ("set"), and four Command widgets ("up",
"quit", "done", "dir_name"). The dialog window is a Dialog widget
("dialog") with a child Command widget ("confirm"). Xf understands
all of the core and relevant Athena resource names and classes for
both of its window types. The Set widget recognizes the following
additional names and classes:
columnSpacing (class Spacing)
Specifies the space between columns in the Set widget. The
default is 6 in the Set widget, 10 in xf.
rowSpacing (class Spacing)
Specifies the space between rows in the Set widget. The
default is 4 in the Set widget, 4 in xf.
defaultColumns (class Columns)
Specifies the number of columns the contents of the Set widget
will be displayed in.
forceColumns (class Boolean)
Force the Set widget to use exactly defaultColumns columns.
- 2 - Formatted: October 29, 2025
XF(1X) X Version 11 XF(1X)
17 July 1988
The default resources for xf are: ! ! *** The dialog.label string
must be padded with ! blanks to get the right effect from the funky
Dialog widget... ! Xf*dialog.label: \ Enter Directory Name
* Xf*dialog.maximumLength: 128 Xf*dialog.confirm.label: Confirm
Xf*value.translations: #replace0
Ctrl<Key>U: beginning-of-line() kill-to-end-of-line()0
Ctrl<Key>H: delete-previous-character()0
<Key>Delete: delete-previous-character()0
<Key>Return: 0
<Key>: insert-char() Xf*confirm.accelerators: #override 0
<Key>Return: set() notify() unset() ! ! The directory box... !
Xf*form.set.defaultColumns: 5 Xf*form.set.columnSpacing: 10
Xf*form.set.verticalSet: on ! ! What the Set widget should do... !
Xf*form.set.translations:\
None <Btn1Down>: Toggle()0
None <Btn2Down>: Toggle()0
None <Btn2Up>: Toggle() NotifyB() ! Xf*form.up.label: Up
Xf*form.quit.label: Quit Xf*form.done.label: Done
Xf*form.dir_name.label: Enter Directory Name ! ! ! *** The
dialog.label string must be padded with ! blanks to get the right
effect from the funky Dialog widget... ! Xf*dialog.label: \ Enter
Directory Name *
Xf*dialog.maximumLength: 128 Xf*dialog.confirm.label: Confirm
Xf*value.translations: #replace0
Ctrl<Key>U: beginning-of-line() kill-to-end-of-line()0
Ctrl<Key>H: delete-previous-character()0
<Key>Delete: delete-previous-character()0
<Key>Return: 0
<Key>: insert-char() Xf*confirm.accelerators: #override 0
<Key>Return: set() notify() unset() ! ! The directory box... !
Xf*form.set.defaultColumns: 5 Xf*form.set.columnSpacing: 10
Xf*form.set.verticalSet: on ! ! What the Set widget should do... !
Xf*form.set.translations:\
None <Btn1Down>: Toggle()0
None <Btn2Down>: Toggle()0
None <Btn2Up>: Toggle() NotifyB() ! Xf*form.up.label: Up
Xf*form.quit.label: Quit Xf*form.done.label: Done
Xf*form.dir_name.label: Enter Directory Name !
X TRANSLATIONS
The Set widget supports the following translation functions
Toggle()
Toggles the foreground and background colors on the entry in
the Set widget element which was clicked on.
NotifyA(), NotifyB(), NotifyC()
Different callbacks may be bound to each of these functions,
they have no other side effects. Xf uses NotifyB() to open
the subdirectory which was clicked on. An error is printed if
the clicked-on entry was not a subdirectory.
- 3 - Formatted: October 29, 2025
XF(1X) X Version 11 XF(1X)
17 July 1988
The default translations are set in the resource defaults described
above.
SEE ALSO
ls(1), X(1), xrdb(1), Athena List, Command, Label, and Dialog widgets
BUGS
Xf should support the selection mechanism. Somehow.
Very large directories can cause the window to grow right off the
screen -- rather inconvenient since then the buttons disappear.
COPYRIGHT
Copyright 1989 Regents of the University of California. Permission to
use, copy, modify, and distribute this software and its documentation
for any purpose and without fee is hereby granted, provided that the
above copyright notice appear in all copies. The University of
California makes no representations about the suitability of this
software for any purpose. It is provided "as is" without express or
implied warranty.
Some parts of xf are copyright MIT, 1988.
AUTHORS
Gary Shea (UC Berkeley)
Chris D. Peterson (MIT-Athena)
- 4 - Formatted: October 29, 2025