X-BASED ABACUS ============== Abacus X widget, V5.4 It has been tested on the following platforms: Sun4 SPARC SunOS5.5.1 X11R5,X11R6 DEC VAX VMS6.1 X11R5 DEC ALPHA VMS6.1 X11R5 SGI IRIX 5.3 X11R5 HP HPPA1.1 HPUX9.01 X11R5 PC 486 Linux1.2.13 X11R6 The most updated source could be found on ftp.x.org under /contrib/applications . If you have to do any editing to get this to work, please mail me the changes (see bottom of file). HOW TO BUILD? An ANSI C compiler is required for build. To build, it should be easy. There are 3 choices. configure: Relatively new so there is a good possiblity that it is not set up correctly on your system. You may want to set SCOREFILE and DATAFILE in Makefile.in . configure ; make imake: Sometimes this is not setup correctly by the distributer ... i.e. not my fault. You may want to set SCOREFILE and DATAFILE in Imakefile . If you have Motif you may want to do this quick edit in the Imakefile: Uncomment line "#define XpmLibrary". xmkmf ; make make.com (VMS users only): You may want to set SCOREFILE and DATAFILE in make.com . @make Then just run "xabacus" (or "xmabacus" if you have Motif). You should have Abacus.ad (or Korean.ad) copied to $(HOME)/Abacus or /usr/lib/X11/app-defaults/Abacus to run, especially if the background is similar to the beads. Edit this file for your preferences. For monochrome, the bead color needs to be brighter. You might want to move xabacus into /usr/bin/X11 (or wherever your X binaries are). You might also want to move xabacus.man to /usr/man/man1/xabacus.1 Essentially, this is a proof by induction that a computer is more powerful than an abacus, since a computer program can contain an abacus. (But then again, you can simulate a computer within a computer, so what does that show). Actually, with a real abacus, one can move more than one row at a time with 10 fingers. But on the other hand, a real abacus does not have the current sum displayed as an integer. Try resizing the abacus. Notice the shape and size change of the beads. Try copying the file Abacus_korean to $(HOME)/Abacus (where Abacus is the file name) and running xabacus again. You now have the faster (and more cryptic) Korean Abacus. Keep in mind that the Abacus is a widget that can be simply stuck in other X programs. (If you find a use for this, let me know). Refer to the man page for detailed command line options. FOUND A BUG? Send bugs reports and fixes to the author. For bugs, please include as much information as to their location as possible, since I may not be able to duplicate the problems with my limited resources. David Albert Bagley, bagleyd@bigfoot.njit.edu HISTORY [Jan 01, 97] V5.4: configure, man page updates. [Apr 22, 96] V5.3: You can now see beads move one unit space at a time. This is governed by a new resource, "delay". [Feb 12, 96] V5.2.1: beads now invert when pressed, wprintf name may conflict with other UNIX libraries - changed to motif_printf, keyboard may not work with motif - fixed. [Jan 31, 96] V5.2: Dynamic number of bars (well, the widget is dynamic but xabacus.c limits it to around 300 for the title text), fixed another bug when resized (negative radius circles). [Dec 15, 95] V5.1: Fixed a bug when resized. [Sep 30, 95] V5.0: Xt/Motif, your choice. [May 16, 95] V4.10: Warnings removed from Sun's cc and lint. [Mar 13, 95] V4.3: Removed lint warnings and added a VMS make.com . [Nov 08, 94] V4.2: Removed gcc -Wall warnings. [Jun 03, 94] V4.1: R6. [May 07, 94] V4.0: Xt version. [Feb 03, 93] V3.0: Motif version. I got some good ideas from Douglas A. Young's book: "The X Window System Programming and Applications with Xt OSF/Motif Edition", particularly his dial widget. I got some good ideas on presentation from Q. Zhao's tetris. [Dec 17, 91] V2.0: XView version. [Feb 14, 91] V1.0: SunView version.