Software by Jan Newmarch

Software by Jan Newmarch

This page describes software projects by Jan Newmarch. They have all been released under various Open Source licenses, before such licenses became ``trendy''. They include

ReplayJava

A record and replay test system for Java applications written using the Swing toolkit. This records and generates AWT events and uses these to drive applications.


Emacs syntax colouring for Java

This uses the hilit-19 package to add syntax colouring to Java source code. It colours keywords, class declarations, standard JDK classes and some constants.

Emacs compile mode for Java

java-compile.el adds a Compile/Run/Make menu to emacs in java-mode so that you can easily build and run Java applications from within emacs.

Command Class for Java

The awtCommand library implements a different way of handling events to the mechanisms of the AWT toolkit, based on the Command class of the book "Design Patterns" by Gamma, Helm, Johnson and Vlissides. This package has been superceded by the delegation event model of JDK 1.1

tclMotif

Description

tclMotif is a binding of the tcl language to the GUI toolkit Motif. This package consists of a set of functions and a standalone interpreter "moat" that allow tcl programs to use the Motif set of widgets. A tcl file can be read by the standalone interpreter much as the Tk "wish" does. The difference is that instead of using the Tk library to create and manipulate Tk widgets, this system uses the Tm library to create and manipulate Motif widgets.

Availability

This is available by anonymous ftp from ftp.canberra.edu.au:/pub/motif/tclMotif/tclMotif.tar.Z or download it from here

Documentation

A presentation of this to Xhibition 94 is available here , and the paper that appeared in the Xhibition 94 Proceedings is available here .

A tutorial on various scripting languages and X, including tclMotif is available here .

Extending CCI with user interface controls

This was an extension of the Common Client Interface, experimental in Mosaic 2.5. The extension uses replayXt to allow control of user interface elements of Mosaic.

A paper describing this work is Extending the Common Client Interface with User Interface Controls

A set of differences from Mosaic 2.5b4 is available as ftp://ftp.canberra.edu.au/pub/motif/cci.tar


Embedding of Xt applications

This is a "proof of concept" implementation of Object Link Embedding for X applications (in particular Xt and Motif). It consists of widgets for X11R6 and Motif 2.0 that will allow one application to be embedded within another so that they share the same visual space.

This is available by anonymous ftp from ftp.canberra.edu.au:/pub/motif/embed/embed.1.0.tar.gz or download it from here

A paper presented to the X Technical Conference, Boston, 1995 is available here


replayXt

Description

This package consists of a library with one entry point that allows an Intrinsics (or Xt) based application to be executed from a script file. In particular, applications based on the Athena and the Motif toolkits can be played.

The script files are written in the tcl language, but for most applications this will just be a sequential set of instructions which will make the widgets in the application perform actions such as button clicks, list selection, text entry, etc.

It is also possible to record the actions of a running application, that can form the basis of the script file.

Availability

This is available by anonymous ftp from jan.newmarch.name:/pub/replayXt/replayXt.tar.gz or download it from here

Documentation

A presentation of this to AUUG94 is available here , and the paper that appeared in the AUUG94 Proceedings is available here .

Demonstration

An example of replayXt is a simple text editor driven by a script to open a file, edit it and attempt to exit without saving it. To see the tcl script, press here. To see the same script but this time using procedural abstraction, press here. If you are running an X Window server, and have access set to jan.newmarch.name (e.g. by xhost +jan.newmarch.name), you can see a demonstration of this script by pressing here.

XScript

Description

This is a set of standalone X Window applications that can be used in shell scripts or from the command line. It includes These can be used to put up small X Window apps to prompt for data, give info, etc, and also to be used as interactive filters in pipelines.

Availability

This is available by anonymous ftp from ftp.canberra.edu.au:/pub/motif/xscript/xscript.tar.gz or download it from here.

tclXtSend

Description

One of the features of Tk is a communications protocol (based on X Window "properties") that allows one Tk application to send Tcl commands to another, to execute them. This allows for example: a debugger can send commands to an editor to display the region being debugged; a supervisor can send shutdown messages to all Tk applications to gracefully terminate; a file manager can send a selected file to a program that knows how to handle it. This mechanism can potentially restore the "small communicating processes" model of Unix to the X environment.

The Tk system is not Xt based. This means that - until now - Xt applications could not communicate with Tk ones easily. This package makes the "send" mechanism available to an Xt application using Tcl. This makes the following scenarios possible:

This package is intended for Xt applications that are primarily written in C, but wish to use the ``send'' mechanism.

Availability

This is available by anonymous ftp from ftp.canberra.edu.au:/pub/motif/tclXtSend/tclXtSend.tar.gz or download it from here

MPEG widget

Description

This set of files creates a widget that can play MPEG files. The widget is either a plain widget subclassed from Core, or Motif widget subclassed from XmPrimitive. This is selected at compile time.

Availability

This is available by anonymous ftp from ftp.canberra.edu.au:/pub/motif/mpeg/mpeg_wdgt.tar.gz or download it from here. This is no longer actively supported.

xmfm - an X/Motif File Manager

Description

xmfm is a Motif-based file manager that shows files as icons in panes. It divides the display of a directory into three areas, executable files, directories and ordinary files to distinguish between them. When a file is selected a range of actions can be performed on it. This is configurable on a per user basis. xmfm also allows arbitrary programs to be run from within it.

Availability

This is available by anonymous ftp from ftp.canberra.edu.au:/pub/motif/xmfm/xmfm.tar or download it from here. This is no longer actively supported.
This page is http://jan.newmarch.name/SW.html, and is maintained by Jan Newmarch , email jan@newmarch.name
Last modified: 28 July 1999. Access count: