X11R4 Clients and Demos for OpenVMS AXP November 1992 Patrick L. Mahan TGV, Incorporated Santa Cruz, CA 95060 (408) 427-4366 Mahan@TGV.COM Mahan@DECUS.ORG Mahan@A1.DECUS.ORG Mahan@EISNER.DECUS.ORG Introduction This is a release of the X11R4 clients and demos for OpenVMS AXP. It requires OpenVMS AXP 1.0 or above and DECwindows/Motif 1.1 or above. This release contains a wide variety of software applications based on both Xlib and Xt (Intrinsics). This release also contains the X11R4 Athena Widget Library (Xaw) and the X Miscellaneous Library (Xmu) that is used for most of the Xt based applications in this release. Disclaimer The software is distributed on an as is basis, there is no implied or specific guarantee provided by either the author, TGV, Incorporated, or MIT. Further copyrights are described with each application. Use it at your own risk. I will however provide limited support to the extent that it doesn't interfere with my duties at TGV. Warning This port was done using the AXP Cross Tools for OpenVMS and not done natively, thus about 1/3 of the applications fail to work under OpenVMS AXP when compiled natively. However, I have included in this release a complete set of executables built with the cross tools under FT4 that is ready to go. Contents Below is a listing of the applications provided with this release along with a brief description. Most of these applications are accompanied by Unix Man files that have been converted to Ascii text files suitable for printing. Otherwise, consider this file your sole source of help besides the actual sources. X11 Clients Appres List Application Resources database for a given application. Bitmap The standard X11 Bitmap editor. Ico The bouncing Icoshedron Application. ListRes List a widget set's resources. This one only lists the resources understood by Xaw. OClock Round clock, that shows up as a square because Digital doesn't support the X11 Shape extension. Xcalc X Windows Calculator. XClipboard X Clipboard application for use in cut and paste operations. Much like using the Mac's cut and paste operations. Xclock The standard X clock application. XdpyInfo List Information about the X Windows Server. Xedit Simple X Windows based text editor. Xfd X Windows Font Display application. Xfontsel A Simple Font selection application. Xkill Kill an X Windows Client application. Xload Display the load average of the VAX. Xlogo Display the X Windows Logo. Xlsatoms List the atoms currently registered with the X Windows Server. Xlsclients List the clients currently connected to an X Windows Server. Xlsfonts List the fonts currently available from an X Windows Server. Xlswins List all window ids currently active on an X Windows Server. Xmag Magnify a portion of the Display screen. Xmodmap Modify the input mapping table (keyboard, pointer, etc). Xpr Translate and print the output of Xwd. This allows the user to generate hardcopy from a screen dump. Supports LN03, PostScript, HP LJ and others. Xprop List the properties available on a given X resource. Xrdb Manipulate the Default Resource Database. Xrefresh Redraw the entire display. Xset Set options on the X Windows Server. Xsetroot Change the root window. Xstdcmap Build standard colormaps for the X Windows Server. Xterm X Windows VT102/Tek 4014 Terminal Emulator. Xwd X Windows Screen Dump application. Xwininfo Display information on a given X Window Window Id. Xwud X Windows Screen Dump Display application. X11 Documentation BDF.PS Describes the Binary Distribution Format for fonts used with the X11R4 distribution. PROTOCOL.PS Describes the X11 wire protocol. WIDGETS.PS Describes the X11R4 Athena Widget Set. XLFD.PS Describes the ICCCM X Logical Font Description format. XMU.PS Describes the X Miscellaneous Library routines. X11 Contributed Clients Hexcalc Hexidecimal Calculator. PBMPlus Portable Bitmap Utilities. Allows for the conversion of different image formats to other image formats. SunClock Show the illuminated portion of the Earth. Use the -tz option to specify your timezone. Xcalendar X Windows based Calendar program. Xcolors Display the current named color database. Use -decw command line option to see the DECwindows named color database. Xcpustate Display the state of the cpu. Xdaliclock A transforming digital clock. Xdir A simple X Windows based directory browser. Xfed X Windows Font editor for BDF (Binary Distribution Format) based fonts. Xfig A very good drawing tool for X Windows. Xfishtank Background display of different species of marine life in motion. Very good when used as the login background of a VAXstation. Xless X Windows based file viewer. Xloadimage Another root window image loader. Xlock A "pause screen" X Windows based application. Locks out your display until your password is entered. Xmessage Display a simple message with a selection of buttons to press. Xmoon Display the moon in the root window. Xpostit Simple note taking application. Xscope A poor man's X protocol analyzer. Supports both TCP/IP and DECnet. The TCP/IP version is built with TGV's MultiNet, but is easily ported to another vendor's. Very helpful is debugging what's happening between the client and server. DNXSCOPE is the DECnet version of XScope and IPXSCOPE is the TCP/IP version. WARNING: You will need SYSNAM, TMPMBX andNETMBX in order to run DNXSCOPE. Xshowcmap Shows the standard colormap. Xskel Simple X Windows based sketcher. Xtalk X Windows based "phone" utility. XV X Windows based Image application. Supports the standard formats (TIFF, JPEG, GIF, etc). XV comes complete with its own documentation, in [.XV.DOC]. X11 Contributed Window Managers TEKWM Tektronix's Window Manager. The ICCCM version of AWM (Another Window Manager which was written by Digitial). Not very user friendly, but better than no window manager at all. TWM Tab (or Tom's) Window Manager. The current standard window manager supported by MIT. Very userful and interactive. Supports user configurable root menu. UWM Universal Window Manager. An early window manager written by Digital. No support for title bars, everything done from the root window. X11 Demos Maze X Windows based maze. Muncher Draws interesting patterns into a window. Plaid Draws plaid patterns into a window. Puzzle Puzzle similar to the puzzle as shipped with DECwindows. Wframe A 3D Wireframe viewer. The example wireframe data files are in X11Data:*.dat. Supports various shading methods. Very hard on low memory systems. X3d Another 3d viewer. Views wireframes (in stereo if available). Example files reside in X11Data:*.Objects. Xev X Event Display. Displayes keyboard, mouse and other X Server events. Xeyes X Windows based eyes. They follow the mouse around. Xgc Very good example for demostrating the different capabilities of Xlib's GC (Graphic Contexts). Xmpdraw X Motif Map Drawing application. Example maps are found in X11Data:*.amb. X11 Athena Examples Popup Example of doing popups using the Athena Widget set. XBoxes Example of using the Athena Box Widget. XButtonBox Example of using the Athena Button Box Widget. XCommand Example of the Athena Command Widget. XCommand2 Another example of the Athena Command Widget XHw Example of the different Athena Widgets. XLabel Example of the Athena Label Widget. XList Example of the Athena List Box Widget. XMenu1 Example of using the Athena Menu Widgets. XMenu2 Example of using the Athena Menu Widgets. XScroll Example of using the Athena Scroll Widget. XText Example of using the Athena Text Widget. XWidgets Example of using most of the Athena Widgets. X11 Games Ishido Ancient Solatiare Game. JetPack Basic adventure game. Xast X Windows based asteroids game X4war X Windows game of strategy X11 Libraries Xaw The Object library for the Athena widget set. Xmu The Object library for the X Miscellaneous routines. XVMSUTILS The Object library for the VMS/Unix Emulation routines. Building the distribution MAKE.COM files exist at all levels of this distribution. The upper level MAKE.COM exist to call the lower level MAKE.COM files which do the actual building. The MAKE.COM files do revision date checking to avoid any unnecessary rebuilding. In [.VMS] there exists a template MAKE.COM called MAKE.TEMPLATE for use in adding applications to this distribution, simply copy it to the directory containing the source files and change the logicals defined inside of MAKE.COM to be properly defined. All MAKE.COMs support the following three (3) options: CLEAN Purges the directory, Deletes all *.obj and *.lis files. CLOBBER Deletes all *.exe, *.olb, then does a CLEAN. INSTALL Copies *.exe to [.BIN], Copies resource files to [.RESOURCE], help files to [.HELP] and data files to [.DATA]. To compile and link all executables for VAX/VMS, issue the following command: $ @MAKE At the Toplevel directory (which will be X11R4, unless you specifically load it else where). To compile and link all executables for OpenVMS AXP using the cross tools under VAX/VMS, issue the following commands: $ Define Compile_For_Alpha True $ @MAKE At the Toplevel directory (which will be X11R4, unless you specifically load it else where). When building this release with the cross tools for OpenVMS AXP, all executables and librarys have the extention "ALPHA_xxx" where "xxx" is the file type (eg. EXE or OLB). To compile and link all executables for OpenVMS AXP natively, issue the following commands: $ Define Compile_For_Alpha True $ @MAKE At the Toplevel directory (which will be X11R4, unless you specifically load it else where). When building this release natively under OpenVMS AXP, there is no special file types used. This will build all applications for this distribution. To finish this installation, issue the following command: @MAKE INSTALL This will copy all images to X11BIN: (which generally points to [.BIN]), all resources to X11RESOURCES: (which generally points to [.RESOURCES]), all help files to X11HELP: (which generally points to [.HELP]) and all data files to X11DATA: (which generally points to [.DATA]). After the distribution is built, you may establish the required logicals and foreign commands by adding the following line to your LOGIN.COM file: @DEV:[X11R4_Directory]X11R4_Setup.COM Where DEV:[X11R4_Directory] gets you to the top level of this distribution. Disk Utilization The X11R4 Clients and Demos consumes 112,566 blocks before building this distribution. After building this distribution, it consumes 136,283 blocks. After issuing a @MAKE INSTALL this distribution consumes a total of 188,435 blocks. Issuing a @MAKE CLOBBER after building and installing this distribution will reduce the total disk consumption to 164,773 blocks. Resources Some of the Intrinsics based applications required that resource files be present. These resources files reside in either DECW$SYSTEM_DEFAULTS or DECW$USER_DEFAULTS or both. These resource files are placed in X11RESOURCES after issuing a @MAKE INSTALL. A privileged user may place these resources into DECW$SYSTEM_DEFAULTS for all to use, or individual users can copy them to DECW$USER_DEFAULTS. Most applications that provided a resource file, REQUIRE those resource files to be either in the system defaults or user defaults directories, or they will not properly run. Building Individual Applications Each application may be individually built by setting default to its source directory and issuing the following command: @MAKE This will build any files whose source modification dates have changed since the last time it was built. To install that application issue the command: @MAKE INSTALL This will copy all files to their respected directories (see the comment on @MAKE INSTALL above). Window Managers The three window managers provided with this distribution each have a companion VUE$.COM file. The files may be used to add the window managers to the User Executive to use in place of the Motif Window Manager or XUI Window Manager. These files exist in X11Bin. Directory Tree The following is a list of the directory tree for this distribution. [Top-Level] - [.BIN] Binaries [.CLIENTS] X11 Clients - [.APPRES] [.BITMAP] [.ICO] [.LISTRES] [.OCLOCK] [.XCALC] [.XCLIPBOARD] [.XCLOCK] [.XDPYINFO] [.XEDIT] [.XFD] [.XFONTSEL] [.XKILL] [.XLOAD] [.XLOGO] [.XLSATOMS] [.XLSCLIENTS] [.XLSFONTS] [.XLSWINS] [.XMAG] [.XMODMAP] [.XPR] [.XPROP] [.XRDB] [.XREFRESH] [.XSET] [.XSETROOT] [.XSTDCMAP] [.XTERM] [.XWD] [.XWININFO] [.XWUD] [.CONTRIB] X11 Contributed Software - [.DOC] X11 Contributed documentation [.CLIENTS] X11 Contributed Clients - [.HEXCALC] [.PBMPLUS] [.SUNCLOCK] [.XCALENDAR] [.XCOLORS] [.XCPUSTATE] [.XDALICLOCK] [.XDIR] [.XFED] [.XFIG] [.XFISHTANK] [.XLESS] [.XLOADIMAGE] [.XLOCK] [.XMESSAGE] [.XMOON] [.XPOSTIT] [.XSCOPE] [.XSHOWCMAP] [.XSKEL] [.XTALK] [.XV] [.WINDOWMGRS] X11 Contributed Window Managers - [.TEKWM] [.TWM] [.UWM] [.DATA] Application Data files [.DEMOS] X11 Demos - [.MAZE] [.MUNCHER] [.PLAID] [.PUZZLE] [.WFRAME] [.X3D] [.XEV] [.XEYES] [.XGC] [.XMPDRAW] [.EXAMPLES] X11 Examples - [.XAW] Athena Examples [.GAMES] X11 Games - [.ISHIDO] [.JETPACK] [.XASTEROIDS] [.X4WAR] [.HARDCOPY] X11R4 Documentation - [.BDF] [.PROTOCOL] [.XAW] [.XLFD] [.XMU] [.HELP] Application Help files [.INCLUDE] Xaw and Xmu include files, plus some that Digital left out. - [.XAW] Xaw include files [.XMU] Xmu include files [.LIB] X11 Xaw and Xmu libraries. - [.XAW] [.XMU] [.RESOURCES] Application Resource files. [.VMS] VMS/UNIX emulation utilities. [.X11] X11 Distribution Bitmaps. How the Port went (Or the trials and tribulations of a cross-compiler) The porting of the X11R4 Clients and Demos began in May during the Spring Symposium in Atlanta, GA. There I had the honor of joining a very experience team of people who where involved in porting the DECUS library to the Alpha. After spending a sleepless night and an entire day, I managed to finish porting 6 programs to the Alpha under FT1. On of these programs was the XFish application, which upon seeing Kathy Morse of Digital Alpha Engineering responded "Slow It Down!" (which is probably the first time in the history of DECwindows that anyone wanted to slow it down). Anyway the port proceeded of the next several months with little to no problems aside from the occassional compiler bug. It was completed by October 31, 1992. Almost a year since I first started porting these applications to VMS. With out a doubt, it is due to the great cross compilers and linkers provided by Digital that this port was as painless as it was. Thanks Digital. Kudos (or Credit where Credit's due) It has been said that "no man stands alone", which is very true in this case. By no means did I do all of this completely myself. It took the support and encouragement of a number of people to help me get this release pulled together. Without them, I would have never had made it this far. To Tracy, my wife, who never actually beat on me to make it home on time. Without her, this is nothing. To John "Fast-Eddie" McMahon, who always had a good suggestion on how to tackle a problem and who delighted in testing the software. To Rick Dyson and David Jones who did the port of XV. And who currently have a much better port of PBMPlus than mine. To the unknown fellow in Spain who did the original port of TWM, which greatly reduced my time in porting it. To Osborne Hardison for writing the DECnet socket library that allowed for the port of XScope to work with DECnet. To all application authors who originally wrote these applications. To numerous people on the net who fearlessly tackled testing my code. To TGV for allowing me the time, machines and expertise to get the port done. To Ted Nieland and the rest of the DECUS VAST team for their support and help during this port. And finally to Trevor Taylor, whose never ending encouragement and whose first port of X11 applications to VMS, gave me the inspiration to follow in his footsteps and who continually helped to keep me focused on getting the port done. Trevor, I'm deeply in your debt. I hope you enjoy using the numerous applications contained within this distribution as much as I enjoyed putting it together. 'Nuff Said Patrick "TGV Window Washer" Mahan, November 1992