in one of those widgets, "Do Search".
Then use up and down arrow keys, or the following mouse/key
bindings to browse list of search items
Mouse bindings on browsers:
* single left click -- select item for use by
$EDITOR button or other op...
* double left click -- select item and browse it in
associated viewer widget.
* single middle click -- select item and browse it in
associated viewer widget.
* single right click -- select item and display
corresponding text in $EDITOR.
Key bindings on browsers::
* E -- view selected item in user's
editor ($EDITOR).
* ^E -- select next item and view in
user's editor ($EDITOR).
* ^N, ^DownArrow -- select next item.
* ^P, ^UpArrow -- select prev item.
* N , DownArrow -- browse next item in viewer.
* P , UpArrow -- browse prev item in viewer.
grep-br1.0.lsp
Old version of grep-br.lsp, for Motif 1.0. Motif >= 1.1 users
should use grep-br.lsp. This file is loaded from grep-br.lsp
grph-sexpr.lsp
Using XM_GRAPH_WIDGET_CLASS to display a lisp s-expression
(or any lisp list) as a tree. Click on button
"Graph Methods of Selected Widget" then click mouse on a WINTERP
application widget. Will pop up a display of the methods on
that widget. This is really only interesting if widget has
been subclassed such that there are Winterp-Lisp methods
available on the widget-class. Alternately, you can just
call SHOW-SEXP interactively, e.g.
(show-sexp '((5 6 7 '(6 7) 7 "quackity" #(0 1 2 3 4))))
(show-sexp (map 'list #'(lambda (i) i) (generic #'show-sexp)))
(show-sexp (map 'list #'(lambda (i) i) (generic #'show-sexp-aux)))
(show-sexp (map 'list #'(lambda (i) i) (generic #'pp)))
(show-sexp (map 'list #'(lambda (i) i) (generic #'pp1)))
grph-whier.lsp
Displays the widget hierarchy under a shell widget. Click
on "Show Widget Hierarchy" button, then click mouse on a
window created by WINTERP -- a widget hierarchy will be
displayed. Click on a "node" within the graph widget --
the fully qualified resource name and other info will be
displayed in the Text widget more info will also be printed
onto standard output.
helloworld.lsp
10-20 lines of Winterp-Lisp code is all that is needed
to produce the canonical "Hello World" program in WINTERP.
hostlookup.lsp
A lamo application that uses method :FORCED_EXPOSE_UPDATE to
popup and display contents of a "working dialog"
before a time-consuming subprocess begins to execute.
identifier.lsp
A useful UI debugging tool. Loading this file creates a panel that
allows you to click on a widget to identify it, click on a widget
to destroy it, or change the foreground and background colors of
the widget you click on. For Motif 1.1, the "Identify Selected Widget"
button becomes especially useful because it will print out the
fully qualified resource name -- this allows setting up your
X-resources on a per widget basis and allows you to better understand
which widgets are affected by a particular setting in your ~/.Xdefaults...
identifier2.lsp
Like "identifier.lsp" except that it allows you to print out the
translations and accelerators on a widget.
inf-square.lsp
Run "bc" calculator as subprocess, computing infinite number
of powers of 2 (or until user gets bored and quits). Displays
them in a row-column widget.
mail-br.lsp
A simple MH mail browser based on Object_Browser_Widget_Class.
This does MH's scan(1) operation on the last:30 messages in
folder +inbox, then allows you to browse the messages via
the following mouse/key bindings on the message browser:
Mouse bindings on browsers:
* single left click -- select item for use by
$EDITOR button or other op...
* double left click -- select item and browse it in
associated viewer widget.
* single middle click -- select item and browse it in
associated viewer widget.
* single right click -- select item and display
corresponding text in $EDITOR.
Key bindings on browsers::
* E -- view selected item in user's
editor ($EDITOR).
* ^E -- select next item and view in
user's editor ($EDITOR).
* ^N, ^DownArrow -- select next item.
* ^P, ^UpArrow -- select prev item.
* N , DownArrow -- browse next item in viewer.
* P , UpArrow -- browse prev item in viewer.
man-br.lsp
Load this file to create a simple manual page browser for
looking at formatted manual pages installed in
/usr/local/X11R5/man/man3/*.3 (see *MAN-DIR-REGEXP-STR*). I use
this application to browse my X11/Motif manual pages, which are
kept in that directory.
menushare.lsp
Demo of shared pulldown menu panes. Some versions of Motif
are buggy when using shared menu panes and may coredump
WINTERP when you destroy the windows created in this file.
menutear.lsp
menutree.lsp with tear-off menus enabled...
menutree.lsp
Simple menu tree program.
modal-dia.lsp
Tests of Modal Dialogs through resource :XMN_DIALOG_STYLE
modem-dialer.lsp
Dials phone numbers on a Hayes-Compatible modem by running
kermit(1) as an asynchronous subprocess. Hayes-compatible
commands may be sent to the modem directly by entering text
in the edit-field widget directly below the menu bar. The app.
provides a browser of people/phone-numbers -- in the browser,
double-left click (or single-middle click) on the person to dial
his/her number (details on mouse and key bindings below).
Put your database of people in file "$HOME/people.lsp" (see
variable *MODEM-DIALER-FILEPATH* below)
numentry.lsp
Test of Cardinal_Number_Entry_Field_Widget_Class
popup-menu.lsp
POPUP menu example. This is a 1-to-1 translation of the popup
menu example in the Motif Programmer's Guide. Just 'load' this
file to see the example. See fake-app1.lsp for a less lame way
of creating popup menus.
radiobox1.lsp
The straighforward way to define a radio box.
See radiobox2.lsp for a better way using a WINTERP-subclassed
toggle-button.
radiobox2.lsp
A better (?) way of creating a radio box, using subclassing of
togglebutton. Note that this version doesn't waste as much
memory as radiobox1.lsp because it defines a single
entry-callback on the rowcolumn widget instead of forcing each
toggle-button to have separate copies of very similar
callback-closures.
radiobox3.lsp
Create radio-box via XM_ROW_COLUMN_WIDGET_CLASS/
:simple_radio_box.
rc-shell.lsp
Load this file to put up a default rowcolumn shell for
experimentation purposes. Create other widgets with rc_w
as parent and they'll appear in this manager.
subcalc.lsp
Demo of spawning an interactive subprocess and interacting
with the subrpocess through XT_ADD_INPUT/:READ_LINE_TO_STRING.
Subprocess can be off doing a long calculation while WINTERP
GUI remains active.
subcalcslo.lsp
Demo of spawning an interactive subprocess and interacting
with the subrpocess through XT_ADD_INPUT/:READ. Subprocess
can be off doing a long calculation while WINTERP GUI remains
active. A faster version of this same example is in "subcalc.lsp"
efficiency is improved by using
XT_ADD_INPUT/:READ_LINE_TO_STRING....
subshell.lsp
Demo of spawning an interactive shell subprocess and interacting
with the subrpocess through XT_ADD_INPUT. Subprocess can be
off doing a long computation while WINTERP GUI remains active.
timesheet.lsp
Project timesheet application. You probably want to modify this
file to create a project timesheet for your own organization --
the named entries in this timesheet example are bogus...
This example makes use of the timechart widgets in
lib-widgets/timechart.lsp.
w_ctrlpnl.lsp
A control panel for WINTERP, including a rudimentary way to edit
and send lisp to winterp's xlisp evaluator without having to use
the gnuemacs interface (src-client/winterp.el) or src-client/wl.c.
For details on this application, see ../doc/winterp.doc section
<>.
xbiff.lsp
Load this file to have WINTERP check for new mail periodically.
This periodically runs '/usr/ucb/mail -H' (or if running HP-UX,
or OSF1 ... 'mailx -H') to create listing of unread mail in
/usr/mail/$LOGNAME... I make no promises this will work on other
Unix machines, but it does work on HP-UX, SunOS, OSF1, Ultrix, etc.
If other hosts have problems you need to set variable
*xbiff-nondestructively-scan-mail-headers-cmd* (see below).
Also, you may want to modify variable *xbiff-incorporate-new-mail-cmd*
-- the default calls MH's 'inc' program (must be on your
path) and outputs the result in the xbiff window. I personally use
one which calls "gnudoit '(mh-rmail)'" which uses GNU Emacs' mh-e
package to read the new mail; WINTERP notifies GNU Emacs through
Andy Norman's gnudoit/gnuclient package.
xtaddinput.lsp
Demo of XT_ADD_INPUT with :READ_LINE_TO_STRING
versus :READ_SEXP_TO_USTREAM options. The program itself
is stupid -- I spawn cat(1) as a subprocess just to echo
the input to the subprocess back to the output, then use
XT_ADD_INPUT to read the output back line-by-line or
sexpr-by-sexpr.