home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / x / volume19 / xodometr / part01 < prev    next >
Encoding:
Text File  |  1993-04-27  |  56.8 KB  |  1,887 lines

  1. Newsgroups: comp.sources.x
  2. From: lusol@Turkey.CC.Lehigh.EDU (Stephen O. Lidie)
  3. Subject: v19i037:  xodometer - Track pointer and measure distance moved, Part01/04
  4. Message-ID: <csx-v19i037=xodometer.101510@sparky.IMD.Sterling.COM>
  5. X-Md4-Signature: 95dd29d6b637e4ff1feab057e63510ca
  6. Date: Thu, 11 Mar 1993 16:15:37 GMT
  7. Approved: chris@sparky.imd.sterling.com
  8.  
  9. Submitted-by: lusol@Turkey.CC.Lehigh.EDU (Stephen O. Lidie)
  10. Posting-number: Volume 19, Issue 37
  11. Archive-name: xodometer/part01
  12. Environment: X11
  13.  
  14.  
  15. #! /bin/sh
  16. # This is a shell archive.  Remove anything before this line, then unpack
  17. # it by saving it into a file and typing "sh file".  To overwrite existing
  18. # files, type "sh file -c".  You can also feed this as standard input via
  19. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  20. # will see the following message at the end:
  21. #        "End of archive 1 (of 4)."
  22. # Contents:  Imakefile MANIFEST Makefile.Sun README bitmaps
  23. #   bitmaps/cur_mask.xbm bitmaps/cursor.xbm bitmaps/icon.xbm
  24. #   bitmaps/pulldown.xbm evap evap/genmp evap/genmp.skl evap/xodo.mm
  25. #   evap/xodo_pdt evap/xodo_pdt.out evap/xodo_pdt.skl patchlevel.h
  26. #   xodo.man
  27. # Wrapped by lusol@Turkey.CC.Lehigh.EDU on Wed Mar 10 19:42:11 1993
  28. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  29. if test -f 'Imakefile' -a "${1}" != "-c" ; then 
  30.   echo shar: Will not clobber existing file \"'Imakefile'\"
  31. else
  32. echo shar: Extracting \"'Imakefile'\" \(2072 characters\)
  33. sed "s/^X//" >'Imakefile' <<'END_OF_FILE'
  34. X#
  35. X# Imakefile for xodometer.
  36. X#
  37. X# Stephen O. Lidie, Lehigh University Computing Center, 93/02/11.
  38. X#
  39. X# lusol@Lehigh.EDU
  40. X#
  41. X# Prior to running xmkmf inspect/change the following variables:
  42. X#
  43. X#    BINDIR        binary directoy
  44. X#    MANDIR        man page directory
  45. X#    RANLIB        what is ranlib (sorry, not defined in AIX)
  46. X#    PERLDIR        path name of Perl (it's OK if you don't have Perl!)
  47. X#    CDEBUGFLAGS    cc compiler options
  48. X#    MATHLIB        name of math library
  49. X#    LOCAL_LIBRARIES    which libraries
  50. X#
  51. X# Then:  xmkmf; make; make install
  52. X#
  53. X
  54. X#
  55. X# Where you want things installed.
  56. X#
  57. XBINDIR          = /usr/local/bin
  58. XMANDIR          = /usr/local/man/man1
  59. X
  60. X#
  61. X# Whether or not you have/need ranlib.
  62. X#
  63. XRANLIB        = ranlib    # have or need ranlib
  64. X#RANLIB         = /bin/true    # do not have or need ranlib
  65. X
  66. X#
  67. X# Where to get Perl.  It's OK if you don't have Perl, but expect an error
  68. X# from the program genmp during a 'make install' - the error can be safely
  69. X# ignored.  I use genmp (generate_man_page) so that the xodometer man page
  70. X# is always up-to-date, but the one that you have received in this
  71. X# distribution is by definition the latest and greatest.
  72. X#
  73. XPERLDIR         = /usr/local/bin
  74. X
  75. XCDEBUGFLAGS     = -O
  76. XMATHLIB         = -lm
  77. XLOCAL_LIBRARIES = $(XLIB) $(MATHLIB)
  78. X
  79. X
  80. XSRCS        = xodo.c evap/evap.c
  81. XOBJS        = xodo.o evap/evap.o
  82. X
  83. Xall::    xodo_a xodo
  84. X
  85. Xclean::
  86. X    rm xodo xodo.o xodomm.a evap/evap.o
  87. X
  88. Xevap/evap.o:    evap/evap.c evap/evap.h
  89. X    (cd evap; $(CC) $(CDEBUGFLAGS) -DP_EVAP_MM_PATH=\"$(BINDIR)\" -c evap.c)
  90. X
  91. Xxodo_a:
  92. X    ar rcv xodomm.a evap\/xodo.mm
  93. X    $(RANLIB) xodomm.a
  94. X    sed -e "s!/usr/local/bin!$(BINDIR)!g" evap/xodo_pdt.skl > evap/xodo_pdt.out
  95. X
  96. Xinstall::
  97. X    $(INSTALL) -c $(INSTPGMFLAGS) xodo     $(BINDIR)
  98. X    $(INSTALL) -c $(INSTPGMFLAGS) xodomm.a $(BINDIR)
  99. X    sed -e "s!/usr/local/bin!$(PERLDIR)!" evap/genmp.skl > evap/genmp
  100. X    chmod 755 evap/genmp
  101. X    @echo " "
  102. X    @echo "******* Any errors from genmp can be safely ignored!"
  103. X    -evap/genmp $(BINDIR)/xodo 1> /dev/null 2> /dev/null
  104. X    @echo "******* Any errors from genmp can be safely ignored!"
  105. X    @echo " "
  106. X    $(INSTALL) -c $(INSTMANFLAGS) xodo.man $(MANDIR)/xodo.1
  107. X
  108. XComplexProgramTarget(xodo)
  109. X
  110. X
  111. END_OF_FILE
  112. if test 2072 -ne `wc -c <'Imakefile'`; then
  113.     echo shar: \"'Imakefile'\" unpacked with wrong size!
  114. fi
  115. # end of 'Imakefile'
  116. fi
  117. if test -f 'MANIFEST' -a "${1}" != "-c" ; then 
  118.   echo shar: Will not clobber existing file \"'MANIFEST'\"
  119. else
  120. echo shar: Extracting \"'MANIFEST'\" \(827 characters\)
  121. sed "s/^X//" >'MANIFEST' <<'END_OF_FILE'
  122. X   File Name        Archive #    Description
  123. X-----------------------------------------------------------
  124. X Imakefile                  1    
  125. X MANIFEST                   1    This shipping list
  126. X Makefile                   2    
  127. X Makefile.AIX               2    
  128. X Makefile.Sun               1    
  129. X README                     1    
  130. X bitmaps                    1    
  131. X bitmaps/cur_mask.xbm       1    
  132. X bitmaps/cursor.xbm         1    
  133. X bitmaps/icon.xbm           1    
  134. X bitmaps/pulldown.xbm       1    
  135. X evap                       1    
  136. X evap/evap.c                2    
  137. X evap/evap.h                3    
  138. X evap/genmp                 1    
  139. X evap/genmp.skl             1    
  140. X evap/xodo.mm               1    
  141. X evap/xodo_pdt              1    
  142. X evap/xodo_pdt.out          1    
  143. X evap/xodo_pdt.skl          1    
  144. X patchlevel.h               1    
  145. X xodo.c                     4    
  146. X xodo.man                   1    
  147. END_OF_FILE
  148. if test 827 -ne `wc -c <'MANIFEST'`; then
  149.     echo shar: \"'MANIFEST'\" unpacked with wrong size!
  150. fi
  151. # end of 'MANIFEST'
  152. fi
  153. if test -f 'Makefile.Sun' -a "${1}" != "-c" ; then 
  154.   echo shar: Will not clobber existing file \"'Makefile.Sun'\"
  155. else
  156. echo shar: Extracting \"'Makefile.Sun'\" \(10520 characters\)
  157. sed "s/^X//" >'Makefile.Sun' <<'END_OF_FILE'
  158. X# Makefile generated by imake - do not edit!
  159. X# $XConsortium: imake.c,v 1.51 89/12/12 12:37:30 jim Exp $
  160. X#
  161. X# The cpp used on this machine replaces all newlines and multiple tabs and
  162. X# spaces in a macro expansion with a single space.  Imake tries to compensate
  163. X# for this, but is not always successful.
  164. X#
  165. X
  166. X###########################################################################
  167. X# Makefile generated from "Imake.tmpl" and </tmp/IIf.a26214>
  168. X# $XConsortium: Imake.tmpl,v 1.77 89/12/18 17:01:37 jim Exp $
  169. X#
  170. X# Platform-specific parameters may be set in the appropriate .cf
  171. X# configuration files.  Site-wide parameters may be set in the file
  172. X# site.def.  Full rebuilds are recommended if any parameters are changed.
  173. X#
  174. X# If your C preprocessor doesn't define any unique symbols, you'll need
  175. X# to set BOOTSTRAPCFLAGS when rebuilding imake (usually when doing
  176. X# "make Makefile", "make Makefiles", or "make World").
  177. X#
  178. X# If you absolutely can't get imake to work, you'll need to set the
  179. X# variables at the top of each Makefile as well as the dependencies at the
  180. X# bottom (makedepend will do this automatically).
  181. X#
  182. X
  183. X###########################################################################
  184. X# platform-specific configuration parameters - edit sun.cf to change
  185. X
  186. X# platform:  $XConsortium: sun.cf,v 1.38 89/12/23 16:10:10 jim Exp $
  187. X# operating system:  SunOS 4.1
  188. X
  189. X###########################################################################
  190. X# site-specific configuration parameters - edit site.def to change
  191. X
  192. X# site:  $XConsortium: site.def,v 1.21 89/12/06 11:46:50 jim Exp $
  193. X
  194. X            SHELL = /bin/sh
  195. X
  196. X              TOP = .
  197. X      CURRENT_DIR = .
  198. X
  199. X               AR = ar cq
  200. X  BOOTSTRAPCFLAGS =
  201. X               CC = cc
  202. X
  203. X         COMPRESS = compress
  204. X              CPP = /lib/cpp $(STD_CPP_DEFINES)
  205. X    PREPROCESSCMD = cc -E $(STD_CPP_DEFINES)
  206. X          INSTALL = install
  207. X               LD = ld
  208. X             LINT = lint
  209. X      LINTLIBFLAG = -C
  210. X         LINTOPTS = -axz
  211. X               LN = ln -s
  212. X             MAKE = make
  213. X               MV = mv
  214. X               CP = cp
  215. X           RANLIB = ranlib
  216. X  RANLIBINSTFLAGS =
  217. X               RM = rm -f
  218. X     STD_INCLUDES =
  219. X  STD_CPP_DEFINES =
  220. X      STD_DEFINES =
  221. X EXTRA_LOAD_FLAGS =
  222. X  EXTRA_LIBRARIES =
  223. X             TAGS = ctags
  224. X
  225. X    SHAREDCODEDEF = -DSHAREDCODE
  226. X         SHLIBDEF = -DSUNSHLIB
  227. X
  228. X    PROTO_DEFINES =
  229. X
  230. X     INSTPGMFLAGS =
  231. X
  232. X     INSTBINFLAGS = -m 0755
  233. X     INSTUIDFLAGS = -m 4755
  234. X     INSTLIBFLAGS = -m 0664
  235. X     INSTINCFLAGS = -m 0444
  236. X     INSTMANFLAGS = -m 0444
  237. X     INSTDATFLAGS = -m 0444
  238. X    INSTKMEMFLAGS = -m 4755
  239. X
  240. X          DESTDIR =
  241. X
  242. X     TOP_INCLUDES = -I$(INCROOT)
  243. X
  244. X      CDEBUGFLAGS = -O
  245. X        CCOPTIONS =
  246. X      COMPATFLAGS =
  247. X
  248. X      ALLINCLUDES = $(STD_INCLUDES) $(TOP_INCLUDES) $(INCLUDES) $(EXTRA_INCLUDES)
  249. X       ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(PROTO_DEFINES) $(DEFINES) $(COMPATFLAGS)
  250. X           CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(ALLDEFINES)
  251. X        LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES)
  252. X           LDLIBS = $(SYS_LIBRARIES) $(EXTRA_LIBRARIES)
  253. X        LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS)
  254. X   LDCOMBINEFLAGS = -X -r
  255. X
  256. X        MACROFILE = sun.cf
  257. X           RM_CMD = $(RM) *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut
  258. X
  259. X    IMAKE_DEFINES =
  260. X
  261. X         IRULESRC = $(CONFIGDIR)
  262. X        IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(IRULESRC) $(IMAKE_DEFINES)
  263. X
  264. X     ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/Imake.rules \
  265. X            $(IRULESRC)/Project.tmpl $(IRULESRC)/site.def \
  266. X            $(IRULESRC)/$(MACROFILE) $(EXTRA_ICONFIGFILES)
  267. X
  268. X###########################################################################
  269. X# X Window System Build Parameters
  270. X# $XConsortium: Project.tmpl,v 1.63 89/12/18 16:46:44 jim Exp $
  271. X
  272. X###########################################################################
  273. X# X Window System make variables; this need to be coordinated with rules
  274. X# $XConsortium: Project.tmpl,v 1.63 89/12/18 16:46:44 jim Exp $
  275. X
  276. X          PATHSEP = /
  277. X        USRLIBDIR = $(DESTDIR)/usr/local/lib
  278. X           BINDIR = $(DESTDIR)/usr/bin/X11
  279. X          INCROOT = $(DESTDIR)/usr/include
  280. X     BUILDINCROOT = $(TOP)
  281. X      BUILDINCDIR = $(BUILDINCROOT)/X11
  282. X      BUILDINCTOP = ..
  283. X           INCDIR = $(INCROOT)/X11
  284. X           ADMDIR = $(DESTDIR)/usr/adm
  285. X           LIBDIR = $(USRLIBDIR)/X11
  286. X        CONFIGDIR = $(LIBDIR)/config
  287. X       LINTLIBDIR = $(USRLIBDIR)/lint
  288. X
  289. X          FONTDIR = $(LIBDIR)/fonts
  290. X         XINITDIR = $(LIBDIR)/xinit
  291. X           XDMDIR = $(LIBDIR)/xdm
  292. X           AWMDIR = $(LIBDIR)/awm
  293. X           TWMDIR = $(LIBDIR)/twm
  294. X           GWMDIR = $(LIBDIR)/gwm
  295. X          MANPATH = $(DESTDIR)/usr/man
  296. X    MANSOURCEPATH = $(MANPATH)/man
  297. X           MANDIR = $(MANSOURCEPATH)n
  298. X        LIBMANDIR = $(MANSOURCEPATH)3
  299. X      XAPPLOADDIR = $(LIBDIR)/app-defaults
  300. X
  301. X        SOXLIBREV = 4.2
  302. X          SOXTREV = 4.0
  303. X         SOXAWREV = 4.0
  304. X        SOOLDXREV = 4.0
  305. X         SOXMUREV = 4.0
  306. X        SOXEXTREV = 4.0
  307. X
  308. X       FONTCFLAGS = -t
  309. X
  310. X     INSTAPPFLAGS = $(INSTDATFLAGS)
  311. X
  312. X            IMAKE = imake
  313. X           DEPEND = makedepend
  314. X              RGB = rgb
  315. X            FONTC = bdftosnf
  316. X        MKFONTDIR = mkfontdir
  317. X        MKDIRHIER = /bin/sh $(BINDIR)/mkdirhier.sh
  318. X
  319. X        CONFIGSRC = $(TOP)/config
  320. X        CLIENTSRC = $(TOP)/clients
  321. X          DEMOSRC = $(TOP)/demos
  322. X           LIBSRC = $(TOP)/lib
  323. X          FONTSRC = $(TOP)/fonts
  324. X       INCLUDESRC = $(TOP)/X11
  325. X        SERVERSRC = $(TOP)/server
  326. X          UTILSRC = $(TOP)/util
  327. X        SCRIPTSRC = $(UTILSRC)/scripts
  328. X       EXAMPLESRC = $(TOP)/examples
  329. X       CONTRIBSRC = $(TOP)/../contrib
  330. X           DOCSRC = $(TOP)/doc
  331. X           RGBSRC = $(TOP)/rgb
  332. X        DEPENDSRC = $(UTILSRC)/makedepend
  333. X         IMAKESRC = $(CONFIGSRC)
  334. X         XAUTHSRC = $(LIBSRC)/Xau
  335. X          XLIBSRC = $(LIBSRC)/X
  336. X           XMUSRC = $(LIBSRC)/Xmu
  337. X       TOOLKITSRC = $(LIBSRC)/Xt
  338. X       AWIDGETSRC = $(LIBSRC)/Xaw
  339. X       OLDXLIBSRC = $(LIBSRC)/oldX
  340. X      XDMCPLIBSRC = $(LIBSRC)/Xdmcp
  341. X      BDFTOSNFSRC = $(FONTSRC)/bdftosnf
  342. X     MKFONTDIRSRC = $(FONTSRC)/mkfontdir
  343. X     EXTENSIONSRC = $(TOP)/extensions
  344. X
  345. X  DEPEXTENSIONLIB = $(USRLIBDIR)/libXext.a
  346. X     EXTENSIONLIB =  -lXext
  347. X
  348. X          DEPXLIB = $(DEPEXTENSIONLIB)
  349. X             XLIB = $(EXTENSIONLIB) -lX11
  350. X
  351. X      DEPXAUTHLIB = $(USRLIBDIR)/libXau.a
  352. X         XAUTHLIB =  -lXau
  353. X
  354. X        DEPXMULIB =
  355. X           XMULIB = -lXmu
  356. X
  357. X       DEPOLDXLIB =
  358. X          OLDXLIB = -loldX
  359. X
  360. X      DEPXTOOLLIB =
  361. X         XTOOLLIB = -lXt
  362. X
  363. X        DEPXAWLIB =
  364. X           XAWLIB = -lXaw
  365. X
  366. X LINTEXTENSIONLIB = $(USRLIBDIR)/llib-lXext.ln
  367. X         LINTXLIB = $(USRLIBDIR)/llib-lX11.ln
  368. X          LINTXMU = $(USRLIBDIR)/llib-lXmu.ln
  369. X        LINTXTOOL = $(USRLIBDIR)/llib-lXt.ln
  370. X          LINTXAW = $(USRLIBDIR)/llib-lXaw.ln
  371. X
  372. X          DEPLIBS = $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXLIB)
  373. X
  374. X         DEPLIBS1 = $(DEPLIBS)
  375. X         DEPLIBS2 = $(DEPLIBS)
  376. X         DEPLIBS3 = $(DEPLIBS)
  377. X
  378. X###########################################################################
  379. X# Imake rules for building libraries, programs, scripts, and data files
  380. X# rules:  $XConsortium: Imake.rules,v 1.67 89/12/18 17:14:15 jim Exp $
  381. X
  382. X###########################################################################
  383. X# start of Imakefile
  384. X
  385. X#
  386. X# Imakefile for xodometer.
  387. X#
  388. X# Stephen O. Lidie, Lehigh University Computing Center, 93/02/11.
  389. X#
  390. X# lusol@Lehigh.EDU
  391. X#
  392. X# Prior to running xmkmf inspect/change the following variables:
  393. X#
  394. X#    BINDIR        binary directoy
  395. X#    MANDIR        man page directory
  396. X#    RANLIB        what is ranlib (sorry, not defined in AIX)
  397. X#    PERLDIR        path name of Perl (it's OK if you don't have Perl!)
  398. X#    CDEBUGFLAGS    cc compiler options
  399. X#    MATHLIB        name of math library
  400. X#    LOCAL_LIBRARIES    which libraries
  401. X#
  402. X# Then:  xmkmf; make; make install
  403. X#
  404. X
  405. X#
  406. X# Where you want things installed.
  407. X#
  408. XBINDIR          = /usr/local/bin
  409. XMANDIR          = /usr/local/man/man1
  410. X
  411. X#
  412. X# Whether or not you have/need ranlib.
  413. X#
  414. XRANLIB        = ranlib    # have or need ranlib
  415. X#RANLIB         = /bin/true    # do not have or need ranlib
  416. X
  417. X#
  418. X# Where to get Perl.  It's OK if you don't have Perl, but expect an error
  419. X# from the program genmp during a 'make install' - the error can be safely
  420. X# ignored.  I use genmp (generate_man_page) so that the xodometer man page
  421. X# is always up-to-date, but the one that you have received in this
  422. X# distribution is by definition the latest and greatest.
  423. X#
  424. XPERLDIR         = /usr/local/bin
  425. X
  426. XCDEBUGFLAGS     = -O
  427. XMATHLIB         = -lm
  428. XLOCAL_LIBRARIES = $(XLIB) $(MATHLIB)
  429. X
  430. XSRCS        = xodo.c evap/evap.c
  431. XOBJS        = xodo.o evap/evap.o
  432. X
  433. Xall::    xodo_a xodo
  434. X
  435. Xclean::
  436. X    rm xodo xodo.o xodomm.a evap/evap.o
  437. X
  438. Xevap/evap.o:    evap/evap.c evap/evap.h
  439. X    (cd evap; $(CC) $(CDEBUGFLAGS) -DP_EVAP_MM_PATH=\"$(BINDIR)\" -c evap.c)
  440. X
  441. Xxodo_a:
  442. X    ar rcv xodomm.a evap\/xodo.mm
  443. X    $(RANLIB) xodomm.a
  444. X    sed -e "s!/usr/local/bin!$(BINDIR)!g" evap/xodo_pdt.skl > evap/xodo_pdt.out
  445. X
  446. Xinstall::
  447. X    $(INSTALL) -c $(INSTPGMFLAGS) xodo     $(BINDIR)
  448. X    $(INSTALL) -c $(INSTPGMFLAGS) xodomm.a $(BINDIR)
  449. X    sed -e "s!/usr/local/bin!$(PERLDIR)!" evap/genmp.skl > evap/genmp
  450. X    chmod 755 evap/genmp
  451. X    @echo " "
  452. X    @echo "******* Any errors from genmp can be safely ignored!"
  453. X    -evap/genmp $(BINDIR)/xodo 1> /dev/null 2> /dev/null
  454. X    @echo "******* Any errors from genmp can be safely ignored!"
  455. X    @echo " "
  456. X    $(INSTALL) -c $(INSTMANFLAGS) xodo.man $(MANDIR)/xodo.1
  457. X
  458. X PROGRAM = xodo
  459. X
  460. Xall:: xodo
  461. X
  462. Xxodo: $(OBJS) $(DEPLIBS)
  463. X    $(RM) $@
  464. X    $(CC) -o $@ $(OBJS) $(LDOPTIONS) $(LOCAL_LIBRARIES) $(LDLIBS) $(EXTRA_LOAD_FLAGS)
  465. X
  466. Xinstall:: xodo
  467. X    $(INSTALL) -c $(INSTPGMFLAGS)   xodo $(BINDIR)
  468. X
  469. Xinstall.man:: xodo.man
  470. X    $(INSTALL) -c $(INSTMANFLAGS) xodo.man $(MANDIR)/xodo.n
  471. X
  472. Xdepend::
  473. X    $(DEPEND) -s "# DO NOT DELETE" -- $(ALLDEFINES) -- $(SRCS)
  474. X
  475. Xlint:
  476. X    $(LINT) $(LINTFLAGS) $(SRCS) $(LINTLIBS)
  477. Xlint1:
  478. X    $(LINT) $(LINTFLAGS) $(FILE) $(LINTLIBS)
  479. X
  480. Xclean::
  481. X    $(RM) $(PROGRAM)
  482. X
  483. X###########################################################################
  484. X# common rules for all Makefiles - do not edit
  485. X
  486. Xemptyrule::
  487. X
  488. Xclean::
  489. X    $(RM_CMD) \#*
  490. X
  491. XMakefile::
  492. X    -@if [ -f Makefile ]; then \
  493. X    echo "    $(RM) Makefile.bak; $(MV) Makefile Makefile.bak"; \
  494. X    $(RM) Makefile.bak; $(MV) Makefile Makefile.bak; \
  495. X    else exit 0; fi
  496. X    $(IMAKE_CMD) -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR)
  497. X
  498. Xtags::
  499. X    $(TAGS) -w *.[ch]
  500. X    $(TAGS) -xw *.[ch] > TAGS
  501. X
  502. X###########################################################################
  503. X# empty rules for directories that do not have SUBDIRS - do not edit
  504. X
  505. Xinstall::
  506. X    @echo "install in $(CURRENT_DIR) done"
  507. X
  508. Xinstall.man::
  509. X    @echo "install.man in $(CURRENT_DIR) done"
  510. X
  511. XMakefiles::
  512. X
  513. Xincludes::
  514. X
  515. X###########################################################################
  516. X# dependencies generated by makedepend
  517. X
  518. END_OF_FILE
  519. if test 10520 -ne `wc -c <'Makefile.Sun'`; then
  520.     echo shar: \"'Makefile.Sun'\" unpacked with wrong size!
  521. fi
  522. # end of 'Makefile.Sun'
  523. fi
  524. if test -f 'README' -a "${1}" != "-c" ; then 
  525.   echo shar: Will not clobber existing file \"'README'\"
  526. else
  527. echo shar: Extracting \"'README'\" \(2780 characters\)
  528. sed "s/^X//" >'README' <<'END_OF_FILE'
  529. X
  530. X
  531. X                             xodometer 1.1
  532. X
  533. XAs my first X application I present xodometer, which tracks the total distance
  534. Xyour cursor and pointing device (typically a mouse) travel.  It also maintains
  535. X"trip" distance since the application started or since you clicked on a trip
  536. Xreset button.
  537. X
  538. XA pull-down menu allows you to select in which units the distance is
  539. Xdisplayed, from millimeters to nautical miles to light-nanoseconds, and more.
  540. X
  541. Xxodometer requires a one-time calibration procedure which is fully described
  542. Xby reading the man page or by entering "xodo -full_help".
  543. X
  544. Xxodometer was inspired by the Macintosh Mouse Odometer program written by
  545. XSean P. Nolan, while xneko by Masayuki Koba provided my initial insights into
  546. Xwriting X programs.
  547. X
  548. XAn IBM RS/6000 model 320 running AIX 3.2.3 with mwm and X11 Release 4 was the
  549. Xprimary developement environment, although some small amount of testing was
  550. Xdone on a Sun SPARC 1+ running SunOS 4.1.1 with twm.  Please report any bugs
  551. Xand be sure to fully specify your configuration.
  552. X
  553. XAlthough in theory the cursor distance can be reliably tracked, the actual
  554. Xdistance your pointing device moves is only APPROXIMATED and will not be very
  555. Xexact, so don't report this as a bug :-)!
  556. X
  557. XAgain, remember that this was done as an exercise to learn Xlib programming;
  558. Xuse xodometer without warranty!  It took me thirty days to write, which
  559. Xseems like a long time, but maybe not too bad considering the learning curve
  560. Xand the fact that I'm over forty.... (-:
  561. X
  562. X
  563. X                            Installation
  564. X
  565. XThe xodometer tar file is available via anonymous FTP from FTP.Lehigh.EDU in
  566. Xthe directory pub/xodo.  After modifying the Imakefile variables as
  567. Xrequired generate your Makefile from the Imakefile in the standard manner.
  568. XThen run "make" followed by "make install".  Sample Makefiles have been
  569. Xprovided for your pleasure.
  570. X
  571. XI welcome comments, enhancements, and bug reports.  Take care.
  572. X
  573. X
  574. XStephen O. Lidie
  575. XLehigh University Computing Center
  576. X
  577. Xlusol@Lehigh.EDU
  578. X
  579. X
  580. X                        Revision History
  581. X
  582. Xlusol@Lehigh.EDU, LUCC, 93/02/23.
  583. X . Original version 1.0 release.
  584. X
  585. Xlusol@Lehigh.EDU, LUCC, 93/03/05
  586. X . Version 1.1 release.  Display absolute screen coordinates of the
  587. X   cursor to assist in calibrating xodometer.  Use select rather than
  588. X   setitimer and signals for the microsecond timing requirements.
  589. X . Various bug fixes/observations by Larry W. Virden (lwv26@cas.org).
  590. X . More valuable bug fixes/observations by Ti Kan (ti@bazooka.amb.org).
  591. X   Ti also tested xodometer on the following platforms:
  592. X    USL UNIX SVR4.2.1 "Destiny" on a i486 PC
  593. X    SCO UNIX SVR3.2.2 on a i486 PC
  594. X    Altos UNIX SVR3.2 2.1bC0 on a i486 PC
  595. X    SunOS 4.1.2 on a Sun Sparc IPX workstation
  596. X    Stratus FTX SVR4 2.1 on a Stratus XA/R fault-tolerant server
  597. X   Many thanks!
  598. X
  599. END_OF_FILE
  600. if test 2780 -ne `wc -c <'README'`; then
  601.     echo shar: \"'README'\" unpacked with wrong size!
  602. fi
  603. # end of 'README'
  604. fi
  605. if test ! -d 'bitmaps' ; then
  606.     echo shar: Creating directory \"'bitmaps'\"
  607.     mkdir 'bitmaps'
  608. fi
  609. if test -f 'bitmaps/cur_mask.xbm' -a "${1}" != "-c" ; then 
  610.   echo shar: Will not clobber existing file \"'bitmaps/cur_mask.xbm'\"
  611. else
  612. echo shar: Extracting \"'bitmaps/cur_mask.xbm'\" \(320 characters\)
  613. sed "s/^X//" >'bitmaps/cur_mask.xbm' <<'END_OF_FILE'
  614. X#define cursor_mask_width 17
  615. X#define cursor_mask_height 12
  616. Xstatic char cursor_mask_bits[] = {
  617. X   0x20, 0x00, 0x00, 0x90, 0x20, 0x00, 0x40, 0x40, 0x00, 0x0c, 0x40, 0x00,
  618. X   0x1c, 0x8f, 0x00, 0x9c, 0xbf, 0x00, 0xfc, 0x3f, 0x01, 0xfc, 0x7f, 0x01,
  619. X   0xfe, 0x7f, 0x01, 0xfe, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0x7f, 0x00};
  620. END_OF_FILE
  621. if test 320 -ne `wc -c <'bitmaps/cur_mask.xbm'`; then
  622.     echo shar: \"'bitmaps/cur_mask.xbm'\" unpacked with wrong size!
  623. fi
  624. # end of 'bitmaps/cur_mask.xbm'
  625. fi
  626. if test -f 'bitmaps/cursor.xbm' -a "${1}" != "-c" ; then 
  627.   echo shar: Will not clobber existing file \"'bitmaps/cursor.xbm'\"
  628. else
  629. echo shar: Extracting \"'bitmaps/cursor.xbm'\" \(351 characters\)
  630. sed "s/^X//" >'bitmaps/cursor.xbm' <<'END_OF_FILE'
  631. X#define cursor_width 17
  632. X#define cursor_height 12
  633. X#define cursor_x_hot 8
  634. X#define cursor_y_hot 7
  635. Xstatic char cursor_bits[] = {
  636. X   0x20, 0x00, 0x00, 0x90, 0x20, 0x00, 0x40, 0x40, 0x00, 0x0c, 0x40, 0x00,
  637. X   0x14, 0x8f, 0x00, 0x94, 0xb0, 0x00, 0x7c, 0x20, 0x01, 0x0c, 0x4c, 0x01,
  638. X   0x0a, 0x42, 0x01, 0x42, 0x82, 0x00, 0x3b, 0x87, 0x00, 0xff, 0x7f, 0x00};
  639. END_OF_FILE
  640. if test 351 -ne `wc -c <'bitmaps/cursor.xbm'`; then
  641.     echo shar: \"'bitmaps/cursor.xbm'\" unpacked with wrong size!
  642. fi
  643. # end of 'bitmaps/cursor.xbm'
  644. fi
  645. if test -f 'bitmaps/icon.xbm' -a "${1}" != "-c" ; then 
  646.   echo shar: Will not clobber existing file \"'bitmaps/icon.xbm'\"
  647. else
  648. echo shar: Extracting \"'bitmaps/icon.xbm'\" \(1325 characters\)
  649. sed "s/^X//" >'bitmaps/icon.xbm' <<'END_OF_FILE'
  650. X#define icon_width 40
  651. X#define icon_height 40
  652. Xstatic char icon_bits[] = {
  653. X   0x80, 0x03, 0x00, 0x80, 0x03, 0x60, 0x04, 0x00, 0x40, 0x0c, 0x10, 0x08,
  654. X   0x00, 0x20, 0x10, 0x08, 0x10, 0x00, 0x10, 0x20, 0xc8, 0x13, 0x00, 0x90,
  655. X   0x27, 0xe4, 0x27, 0x00, 0xc8, 0x4f, 0xe4, 0x27, 0x00, 0xc8, 0x4f, 0xf2,
  656. X   0x4f, 0x00, 0xe4, 0x9f, 0xf2, 0x8f, 0xff, 0xe3, 0x9f, 0xf2, 0x0f, 0x00,
  657. X   0xe0, 0x9f, 0xf2, 0x0f, 0x00, 0xe0, 0x9f, 0xf2, 0x87, 0x00, 0xc2, 0x9f,
  658. X   0xe2, 0xc3, 0x01, 0x87, 0x8f, 0x04, 0xc0, 0x01, 0x07, 0x40, 0x04, 0xc0,
  659. X   0x01, 0x07, 0x40, 0xf8, 0x81, 0x00, 0x02, 0x3f, 0x00, 0x02, 0x00, 0x80,
  660. X   0x00, 0x00, 0x0c, 0x00, 0x60, 0x00, 0x00, 0x08, 0x00, 0x20, 0x00, 0x00,
  661. X   0x10, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 0x20, 0x00,
  662. X   0x08, 0x00, 0x10, 0x20, 0x00, 0x08, 0x01, 0x60, 0x40, 0x00, 0x04, 0x06,
  663. X   0xc0, 0x41, 0x00, 0x04, 0x1c, 0x80, 0x87, 0x00, 0x02, 0x78, 0xff, 0x8f,
  664. X   0x00, 0xf2, 0xff, 0x80, 0x07, 0x01, 0x01, 0x78, 0xc0, 0x01, 0x01, 0x01,
  665. X   0x1c, 0x60, 0x00, 0x82, 0x00, 0x06, 0x10, 0xe0, 0x83, 0x0f, 0x01, 0x00,
  666. X   0x10, 0x44, 0x10, 0x00, 0x00, 0xc8, 0xc7, 0x27, 0x00, 0x00, 0x24, 0x7c,
  667. X   0x48, 0x00, 0x00, 0x12, 0x82, 0x90, 0x00, 0x00, 0x09, 0xaa, 0x20, 0x01,
  668. X   0x80, 0x04, 0x82, 0x40, 0x02, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00,
  669. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
  670. END_OF_FILE
  671. if test 1325 -ne `wc -c <'bitmaps/icon.xbm'`; then
  672.     echo shar: \"'bitmaps/icon.xbm'\" unpacked with wrong size!
  673. fi
  674. # end of 'bitmaps/icon.xbm'
  675. fi
  676. if test -f 'bitmaps/pulldown.xbm' -a "${1}" != "-c" ; then 
  677.   echo shar: Will not clobber existing file \"'bitmaps/pulldown.xbm'\"
  678. else
  679. echo shar: Extracting \"'bitmaps/pulldown.xbm'\" \(198 characters\)
  680. sed "s/^X//" >'bitmaps/pulldown.xbm' <<'END_OF_FILE'
  681. X#define pulldown_width 9
  682. X#define pulldown_height 9
  683. Xstatic char pulldown_bits[] = {
  684. X   0x54, 0x00, 0x38, 0x00, 0x92, 0x00, 0x54, 0x00, 0x39, 0x01, 0x92, 0x00,
  685. X   0x54, 0x00, 0x38, 0x00, 0x10, 0x00};
  686. END_OF_FILE
  687. if test 198 -ne `wc -c <'bitmaps/pulldown.xbm'`; then
  688.     echo shar: \"'bitmaps/pulldown.xbm'\" unpacked with wrong size!
  689. fi
  690. # end of 'bitmaps/pulldown.xbm'
  691. fi
  692. if test ! -d 'evap' ; then
  693.     echo shar: Creating directory \"'evap'\"
  694.     mkdir 'evap'
  695. fi
  696. if test -f 'evap/genmp' -a "${1}" != "-c" ; then 
  697.   echo shar: Will not clobber existing file \"'evap/genmp'\"
  698. else
  699. echo shar: Extracting \"'evap/genmp'\" \(2201 characters\)
  700. sed "s/^X//" >'evap/genmp' <<'END_OF_FILE'
  701. X#!/usr/local/bin/perl -w
  702. X#
  703. X# generate_man_page list_of_commands
  704. X#
  705. X# Use the output from Display Command Information to create a
  706. X# man page template. Output written on list_of_commands.man.
  707. X#
  708. X# SOL, LUCC.  92/12/11
  709. X# SOL, LUCC.  93/03/05.  Fix for public distribution with xodmeter.
  710. X#    Thanks to Larry W. Virden and Ti Kan.
  711. X
  712. X
  713. Xwhile ( ($command = shift( @ARGV )) ) {
  714. X    @path_elements = split( /\//, $command );
  715. X    $basename = $path_elements[$#path_elements];
  716. X
  717. X    open( U, "$command -usage_help |" );
  718. X    @u = <U>;
  719. X    close ( U );
  720. X    @u = grep( s/Usage: //, @u );
  721. X    @tokens = split( ' ', $u[0] );
  722. X    $u[0] = $basename . ' ' . join( ' ', @tokens[1 .. $#tokens] );
  723. X
  724. X    open( D, "$command -full_help |" );
  725. X
  726. X    $_ = <D>;            # skip command source
  727. X    $_ = <D>;
  728. X    $_ = <D>;            # skip message module name
  729. X    die "$command.mm does not appear to be an evaluate_parameters message_module.\nCannot create your man pages:  $!"
  730. X    if $_ !~ /Message Module Name/;
  731. X
  732. X    open( M, ">$basename.man" );
  733. X
  734. X    while ( <D> ) {        # skip leading blank lines
  735. X    last if $_ ne "\n";
  736. X    }
  737. X    chop( $command = $_ );
  738. X    @commands = split( /,/, $command );
  739. X    $command = $commands[$#commands];
  740. X    chop( $date = `date` );
  741. X    $date = substr( $date, 4, 6 ) . ', ' . substr( $date, 24, 4 );
  742. X
  743. X    print M ".TH \"$command\" 1 \"$date\"\n";
  744. X    print M ".SH NAME\n";
  745. X    print M join( ', ', @commands), "\n";
  746. X    print M ".SH SYNOPSIS\n";
  747. X    print M $u[0], "\n";
  748. X    print M ".SH DESCRIPTION\n";
  749. X    while ( <D> ) {
  750. X    s/\t/        /;
  751. X    last if /^Parameters/;
  752. X    if ( /CALIBRATION/ ) {
  753. X        print M ".SH CALIBRATION\n";
  754. X        next;
  755. X    }    
  756. X    if ( /TESTED CONFIGURATIONS/ ) {
  757. X        print M ".SH TESTED CONFIGURATIONS\n";
  758. X        next;
  759. X    }    
  760. X    if ( length( $_ ) < 8 ) {
  761. X        print M "\n";
  762. X    } else {
  763. X        print M substr( $_, 8);
  764. X    }
  765. X    }
  766. X    $_ = <D>;            # skip one blank line
  767. X    print M ".SH OPTIONS\n";
  768. X    while ( <D> ) {
  769. X    s/\t//;
  770. X    if ( /^-/ ) {
  771. X        print M "\n$_\n";
  772. X    } else {
  773. X        print M "  $_";  
  774. X    }
  775. X
  776. X    }
  777. X    print M "\n.SH AUTHOR\n";
  778. X    print M "Stephen O. Lidie, lusol@Lehigh.EDU\n\n";
  779. X    print M "Copyright (C) 1993 - 1993, Lehigh University.\n";
  780. X    print M "All rights reserved.\n";
  781. X
  782. X    close ( M );
  783. X    close ( D );
  784. X
  785. X} # whilend
  786. X
  787. END_OF_FILE
  788. if test 2201 -ne `wc -c <'evap/genmp'`; then
  789.     echo shar: \"'evap/genmp'\" unpacked with wrong size!
  790. fi
  791. chmod +x 'evap/genmp'
  792. # end of 'evap/genmp'
  793. fi
  794. if test -f 'evap/genmp.skl' -a "${1}" != "-c" ; then 
  795.   echo shar: Will not clobber existing file \"'evap/genmp.skl'\"
  796. else
  797. echo shar: Extracting \"'evap/genmp.skl'\" \(2201 characters\)
  798. sed "s/^X//" >'evap/genmp.skl' <<'END_OF_FILE'
  799. X#!/usr/local/bin/perl -w
  800. X#
  801. X# generate_man_page list_of_commands
  802. X#
  803. X# Use the output from Display Command Information to create a
  804. X# man page template. Output written on list_of_commands.man.
  805. X#
  806. X# SOL, LUCC.  92/12/11
  807. X# SOL, LUCC.  93/03/05.  Fix for public distribution with xodmeter.
  808. X#    Thanks to Larry W. Virden and Ti Kan.
  809. X
  810. X
  811. Xwhile ( ($command = shift( @ARGV )) ) {
  812. X    @path_elements = split( /\//, $command );
  813. X    $basename = $path_elements[$#path_elements];
  814. X
  815. X    open( U, "$command -usage_help |" );
  816. X    @u = <U>;
  817. X    close ( U );
  818. X    @u = grep( s/Usage: //, @u );
  819. X    @tokens = split( ' ', $u[0] );
  820. X    $u[0] = $basename . ' ' . join( ' ', @tokens[1 .. $#tokens] );
  821. X
  822. X    open( D, "$command -full_help |" );
  823. X
  824. X    $_ = <D>;            # skip command source
  825. X    $_ = <D>;
  826. X    $_ = <D>;            # skip message module name
  827. X    die "$command.mm does not appear to be an evaluate_parameters message_module.\nCannot create your man pages:  $!"
  828. X    if $_ !~ /Message Module Name/;
  829. X
  830. X    open( M, ">$basename.man" );
  831. X
  832. X    while ( <D> ) {        # skip leading blank lines
  833. X    last if $_ ne "\n";
  834. X    }
  835. X    chop( $command = $_ );
  836. X    @commands = split( /,/, $command );
  837. X    $command = $commands[$#commands];
  838. X    chop( $date = `date` );
  839. X    $date = substr( $date, 4, 6 ) . ', ' . substr( $date, 24, 4 );
  840. X
  841. X    print M ".TH \"$command\" 1 \"$date\"\n";
  842. X    print M ".SH NAME\n";
  843. X    print M join( ', ', @commands), "\n";
  844. X    print M ".SH SYNOPSIS\n";
  845. X    print M $u[0], "\n";
  846. X    print M ".SH DESCRIPTION\n";
  847. X    while ( <D> ) {
  848. X    s/\t/        /;
  849. X    last if /^Parameters/;
  850. X    if ( /CALIBRATION/ ) {
  851. X        print M ".SH CALIBRATION\n";
  852. X        next;
  853. X    }    
  854. X    if ( /TESTED CONFIGURATIONS/ ) {
  855. X        print M ".SH TESTED CONFIGURATIONS\n";
  856. X        next;
  857. X    }    
  858. X    if ( length( $_ ) < 8 ) {
  859. X        print M "\n";
  860. X    } else {
  861. X        print M substr( $_, 8);
  862. X    }
  863. X    }
  864. X    $_ = <D>;            # skip one blank line
  865. X    print M ".SH OPTIONS\n";
  866. X    while ( <D> ) {
  867. X    s/\t//;
  868. X    if ( /^-/ ) {
  869. X        print M "\n$_\n";
  870. X    } else {
  871. X        print M "  $_";  
  872. X    }
  873. X
  874. X    }
  875. X    print M "\n.SH AUTHOR\n";
  876. X    print M "Stephen O. Lidie, lusol@Lehigh.EDU\n\n";
  877. X    print M "Copyright (C) 1993 - 1993, Lehigh University.\n";
  878. X    print M "All rights reserved.\n";
  879. X
  880. X    close ( M );
  881. X    close ( D );
  882. X
  883. X} # whilend
  884. X
  885. END_OF_FILE
  886. if test 2201 -ne `wc -c <'evap/genmp.skl'`; then
  887.     echo shar: \"'evap/genmp.skl'\" unpacked with wrong size!
  888. fi
  889. chmod +x 'evap/genmp.skl'
  890. # end of 'evap/genmp.skl'
  891. fi
  892. if test -f 'evap/xodo.mm' -a "${1}" != "-c" ; then 
  893.   echo shar: Will not clobber existing file \"'evap/xodo.mm'\"
  894. else
  895. echo shar: Extracting \"'evap/xodo.mm'\" \(7405 characters\)
  896. sed "s/^X//" >'evap/xodo.mm' <<'END_OF_FILE'
  897. X
  898. Xxodometer
  899. X
  900. X    Track the total distance your pointing device and cursor
  901. X    travel.  The distance can be displayed in various units.
  902. X
  903. X    xodometer displays total distance and "trip" distance
  904. X    since the application started (or since you clicked on
  905. X    a trip reset button).
  906. X
  907. X    xodometer requires certain information to ensure
  908. X    accurate distance tracking.  Refer to the following
  909. X    sections to learn about calibrating xodometer, and to
  910. X    view a list of tested configurations.
  911. X
  912. X    xodometer is typically started from the .xinitrc file.
  913. X    Use the left button for selections.  Use the middle
  914. X    button to reset both trip odometers simultaneously.
  915. X
  916. X    Every xodometer command line parameter can have an
  917. X    application resource in the xrdb database or .Xdefaults
  918. X    file.  A resource follows this convention:
  919. X
  920. X      xodo.parameter_name : parameter_value
  921. X
  922. X    Therefore to specify xodometer's default font the
  923. X    following resource entry could be specified:
  924. X
  925. X      xodo.fontname : Rom8
  926. X
  927. X    For further help try xodo -full_help.
  928. X
  929. X    Examples:
  930. X
  931. X      xodo -bd red -bg wheat1 -fg blue -g -0-0
  932. X
  933. X      xodo -fn rom6 -o cursor -dwm 300 -dhm 234 
  934. X
  935. X
  936. X    CALIBRATION
  937. X
  938. X    xodometer requires the display dimensions in both pixels
  939. X    and millimeters in order to correctly compute distances.
  940. X    Look for this information in the appropriate hardware 
  941. X    reference manual for your display.  If you cannot find
  942. X    this information it's still easy to determine.  For the
  943. X    display dimensions in pixels simply run xodometer, jam
  944. X    the cursor in the bottom-right corner and note the X/Y
  945. X    coordinates displayed at the bottom of the window - add
  946. X    one to get the actual pixel count.  For the display
  947. X    dimensions in millimeters just grab a tape measure and
  948. X    measure your screen - if inches multiply by 25.4 and if
  949. X    centimeters multiply by 10.  Select "About" and    verify
  950. X    that xodometer is calibrated properly by using a ruler
  951. X    to measure the calibration scale.  The default values
  952. X    for these dimensions are suitable for an IBM RS/6000
  953. X    machine with a 6091 19" color monitor.  Refer to the
  954. X    next section for values of other tested    configurations.
  955. X
  956. X    Assuming that the display dimension data is correct the
  957. X    cursor distance can be accurately tracked.  The actual
  958. X    distance that your pointing device, typically a mouse,
  959. X    travels is INFERRED by accleration information provided
  960. X    by the X server and pointer scaling information that
  961. X    you must provide.  The default scale factor is 3.4,
  962. X    meaning that the cursor travels 3.4 times as far as the
  963. X    pointing device moves. This value is appropriate for an
  964. X    IBM RS/6000 machine with a 6091 19" color monitor.
  965. X    Refer to the next section for values of other tested
  966. X    configurations.
  967. X
  968. X    If you cannot find the correct scale factor for your
  969. X    mouse then you must determine it by measuring.  It is
  970. X    rather easy to do this:  first enter "xset m 1 1" to
  971. X    set the X threshold and    acceleration to 1, then enter
  972. X    "xodo -psf 1.0" to set xodometer's pointer scale factor
  973. X    also to 1.  Once xodo is running pull-down the Units
  974. X    menu and select "inches".  Then, using a ruler, place
  975. X    the pointing device against one edge, click the second
  976. X    button to reset the trip odometers, and then trace a
  977. X    known distance, say, one inch.  The distance recorded
  978. X    by the pointer's trip odometer is the proper scaling
  979. X    factor.  Repeat the measurement several times for
  980. X    accuracy.
  981. X
  982. X    At the bottom of the xodometer window is a status line
  983. X    that displays the current distance Units and the X/Y
  984. X    cordinates of the cursor.  In the "About" window the
  985. X    pointer    Scale factor, and the X Threshold and
  986. X    Acceleration are displayed.
  987. X
  988. X    All the calibration information you supply is either
  989. X    passed on the command line, stored in environment
  990. X    variables, or placed in your .Xdefaults file.  The
  991. X    applicable environment variables are:
  992. X    
  993. X      D_XODO_DWM    display_width_millimeters
  994. X      D_XODO_DHM    display_height_millimeters
  995. X      D_XODO_DWP    display_width_pixels
  996. X      D_XODO_DHP    display_height_pixels
  997. X      D_XODO_PSF    pointer_scale_factor
  998. X
  999. X
  1000. X        TESTED CONFIGURATIONS    
  1001. X
  1002. X    For each machine, Operating System/window manager and
  1003. X    display configuration, a sample xodometer command line
  1004. X    is given:
  1005. X
  1006. X    - IBM RS/6000, AIX 3.2.3/mwm, 16" color
  1007. X      xodo -dwm 300 -dhm 234 -dwp 1280 -dhp 1024 -psf 3.0
  1008. X
  1009. X    - IBM RS/6000, AIX 3.2.3/mwm, 19" color
  1010. X      xodo -dwm 350 -dhm 274 -dwp 1280 -dhp 1024 -psf 3.4
  1011. X
  1012. X    - IBM RS/6000, AIX 3.2.3/mwm, 23" color
  1013. X      xodo -dwm 430 -dhm 340 -dwp 1280 -dhp 1024 -psf 4.0
  1014. X
  1015. X    - Sun SPARC 1+, SunOS 4.1.1/twm, 17" monochrome
  1016. X      xodo -dwm 292 -dhm 232 -dwp 1152 -dhp  900 -psf 2.0      
  1017. X
  1018. X    - Sun SPARC 1+, SunOS 4.1.1/twm, 19" color
  1019. X      xodo -dwm 358 -dhm 274 -dwp 1152 -dhp  900 -psf 4.0      
  1020. X.display
  1021. X    The X display name; default is the DISPLAY variable.
  1022. X.display_width_millimeters
  1023. X    The width in millimeters of the X display.  The default
  1024. X    is 350 mm (an IBM 6091 19" color monitor).
  1025. X.display_height_millimeters
  1026. X    The height in millimeters of the X display.  The default
  1027. X    is 274 mm (an IBM 6091 19" color monitor).
  1028. X.display_width_pixels
  1029. X    The width of the X display in pixels.  The default
  1030. X    is 1280 pixels (an IBM 6091 19" color monitor).
  1031. X.display_height_pixels
  1032. X    The height of the X display in pixels.  The default
  1033. X    is 1024 pixels (an IBM 6091 19" color monitor).
  1034. X.pointer_scale_factor
  1035. X    The scale factor to convert pointer movement to cursor
  1036. X    movement.  A scale factor of 2.0 means that for every D
  1037. X    units of distance the pointing device moves, the cursor
  1038. X    moves 2 * D units.  The default is 3.4, suitable for an
  1039. X    IBM 6091 19" color monitor.
  1040. X.border
  1041. X    xodometer's border color.
  1042. X.background
  1043. X    xodometer's background color.
  1044. X.foreground
  1045. X    xodometer's foreground color.
  1046. X.fontname
  1047. X    xodometer's odometer font.  An extremely small font
  1048. X    is "rom6" while a rather large font is "helvr30".
  1049. X.fontname2
  1050. X    xodometer's button font.  In general you should NOT
  1051. X    change this font since the action buttons do not
  1052. X    change size.  Another suitable font is "Rom8", but
  1053. X    that is not available on all X servers.
  1054. X.geometry
  1055. X    Specifies the X geometry in the standard notation.
  1056. X    The width and height are not normally specified since
  1057. X    xodometer calculates them based on the fontname.  If
  1058. X    an "offset" value is positive it is measured from the
  1059. X    top or left edge of the display, and if negative it is
  1060. X    measured from the bottom or right edge of the screen.
  1061. X    So, to start xodometer in the bottom-right corner a
  1062. X    geometry string of "-0-0" would be specified.
  1063. X.iconic
  1064. X    If specified xodometer starts up already iconified.
  1065. X.microsecond_interval_time
  1066. X    The number of microseconds between odometer updates.  The
  1067. X    default value of 100,000 means that the pointer position
  1068. X    is sampled 10 times per second, which seems to provide
  1069. X    accurate distance measurements without consuming
  1070. X    excessive amounts of your machine's resources.
  1071. X.odometer
  1072. X    A keyword that specifies whether to display both
  1073. X    odometers, or just one of them, and if just one,
  1074. X    which one.
  1075. X.odometer_file
  1076. X    The path name of the file to record total mouse distance
  1077. X    (in millimeters) and other application information.  This
  1078. X    file is read during xodometer startup to initialize the
  1079. X    distance totals and establish the distance units.  When
  1080. X    you "Quit" xodometer the updated distance/unit data is
  1081. X    written to this file.
  1082. X.odometer_autosave_time
  1083. X    Specifies the time interval in minutes between odometer
  1084. X    file updates.  This is just for good luck, as xodometer
  1085. X    updates the odometer file when these event are received:
  1086. X
  1087. X      - control/c
  1088. X      - window close
  1089. X      - window manager exit
  1090. X.title
  1091. X    The xodometer window title line.
  1092. END_OF_FILE
  1093. if test 7405 -ne `wc -c <'evap/xodo.mm'`; then
  1094.     echo shar: \"'evap/xodo.mm'\" unpacked with wrong size!
  1095. fi
  1096. # end of 'evap/xodo.mm'
  1097. fi
  1098. if test -f 'evap/xodo_pdt' -a "${1}" != "-c" ; then 
  1099.   echo shar: Will not clobber existing file \"'evap/xodo_pdt'\"
  1100. else
  1101. echo shar: Extracting \"'evap/xodo_pdt'\" \(857 characters\)
  1102. sed "s/^X//" >'evap/xodo_pdt' <<'END_OF_FILE'
  1103. XPDT (/usr/local/bin/xodomm.a/xodo.mm) xodometer, xodo
  1104. X  display, d: string = DISPLAY, ""
  1105. X  display_width_millimeters, dwm: integer = D_XODO_DWM, 350
  1106. X  display_height_millimeters, dhm: integer = D_XODO_DHM, 274
  1107. X  display_width_pixels, dwp: integer = D_XODO_DWP, 1280
  1108. X  display_height_pixels, dhp: integer = D_XODO_DHP, 1024
  1109. X  pointer_scale_factor, psf: real = D_XODO_PSF, 3.4
  1110. X  border, bd: name = Black
  1111. X  background, bg: name = White
  1112. X  foreground, fg: name = Black
  1113. X  fontname, fn: string = "9x15"
  1114. X  fontname2, fn2: string = "6x10"
  1115. X  geometry, g: string = "<width>x<height>{+-}<xoffset>{+-}<yoffset>"
  1116. X  iconic, i: switch
  1117. X  microsecond_interval_time, mit: integer = 100000
  1118. X  odometer, o: key cursor, pointer, both, keyend = both
  1119. X  odometer_file, of: file = $HOME/.xodo
  1120. X  odometer_autosave_time, oat: integer = 2
  1121. X  title, t: string = "xodo"
  1122. XPDTEND no_file_list
  1123. END_OF_FILE
  1124. if test 857 -ne `wc -c <'evap/xodo_pdt'`; then
  1125.     echo shar: \"'evap/xodo_pdt'\" unpacked with wrong size!
  1126. fi
  1127. # end of 'evap/xodo_pdt'
  1128. fi
  1129. if test -f 'evap/xodo_pdt.out' -a "${1}" != "-c" ; then 
  1130.   echo shar: Will not clobber existing file \"'evap/xodo_pdt.out'\"
  1131. else
  1132. echo shar: Extracting \"'evap/xodo_pdt.out'\" \(4190 characters\)
  1133. sed "s/^X//" >'evap/xodo_pdt.out' <<'END_OF_FILE'
  1134. X/*
  1135. XPDT (/usr/local/bin/xodomm.a/xodo.mm) xodometer, xodo
  1136. X  display, d: string = DISPLAY, ""
  1137. X  display_width_millimeters, dwm: integer = D_XODO_DWM, 350
  1138. X  display_height_millimeters, dhm: integer = D_XODO_DHM, 274
  1139. X  display_width_pixels, dwp: integer = D_XODO_DWP, 1280
  1140. X  display_height_pixels, dhp: integer = D_XODO_DHP, 1024
  1141. X  pointer_scale_factor, psf: real = D_XODO_PSF, 3.4
  1142. X  border, bd: name = Black
  1143. X  background, bg: name = White
  1144. X  foreground, fg: name = Black
  1145. X  fontname, fn: string = "9x15"
  1146. X  fontname2, fn2: string = "6x10"
  1147. X  geometry, g: string = "<width>x<height>{+-}<xoffset>{+-}<yoffset>"
  1148. X  iconic, i: switch
  1149. X  microsecond_interval_time, mit: integer = 100000
  1150. X  odometer, o: key cursor, pointer, both, keyend = both
  1151. X  odometer_file, of: file = $HOME/.xodo
  1152. X  odometer_autosave_time, oat: integer = 2
  1153. X  title, t: string = "xodo"
  1154. XPDTEND no_file_list
  1155. X*/
  1156. X
  1157. X/*
  1158. X#define P_EVAP_EXTERN in separately compiled modules!
  1159. XThis will declare pvt as an external so you can reference
  1160. Xparameter values.  No storage is allocated in this case.
  1161. X*/
  1162. X#ifndef P_EVAP_EXTERN
  1163. X
  1164. Xstruct pdt_header pdt = {
  1165. X  "PDT Version 1.2 for U*X",
  1166. X  "/usr/local/bin/xodomm.a/xodo.mm",
  1167. X  "no_file_list"
  1168. X};
  1169. X
  1170. XParameter_Value pvt [] = {
  1171. X
  1172. X  {"help", "disci",
  1173. X   FALSE, TRUE, P_TYPE_SWITCH,
  1174. X   NULL,
  1175. X   "FALSE",
  1176. X   ": Display Command Information",
  1177. X   NULL},
  1178. X
  1179. X  {"display", "d",
  1180. X   FALSE, TRUE, P_TYPE_STRING,
  1181. X   "DISPLAY",
  1182. X   "",
  1183. X   ": string = DISPLAY, \"\"",
  1184. X   NULL},
  1185. X
  1186. X  {"display_width_millimeters", "dwm",
  1187. X   FALSE, TRUE, P_TYPE_INTEGER,
  1188. X   "D_XODO_DWM",
  1189. X   "350",
  1190. X   ": integer = D_XODO_DWM, 350",
  1191. X   NULL},
  1192. X
  1193. X  {"display_height_millimeters", "dhm",
  1194. X   FALSE, TRUE, P_TYPE_INTEGER,
  1195. X   "D_XODO_DHM",
  1196. X   "274",
  1197. X   ": integer = D_XODO_DHM, 274",
  1198. X   NULL},
  1199. X
  1200. X  {"display_width_pixels", "dwp",
  1201. X   FALSE, TRUE, P_TYPE_INTEGER,
  1202. X   "D_XODO_DWP",
  1203. X   "1280",
  1204. X   ": integer = D_XODO_DWP, 1280",
  1205. X   NULL},
  1206. X
  1207. X  {"display_height_pixels", "dhp",
  1208. X   FALSE, TRUE, P_TYPE_INTEGER,
  1209. X   "D_XODO_DHP",
  1210. X   "1024",
  1211. X   ": integer = D_XODO_DHP, 1024",
  1212. X   NULL},
  1213. X
  1214. X  {"pointer_scale_factor", "psf",
  1215. X   FALSE, TRUE, P_TYPE_REAL,
  1216. X   "D_XODO_PSF",
  1217. X   "3.4",
  1218. X   ": real = D_XODO_PSF, 3.4",
  1219. X   NULL},
  1220. X
  1221. X  {"border", "bd",
  1222. X   FALSE, TRUE, P_TYPE_NAME,
  1223. X   NULL,
  1224. X   "Black",
  1225. X   ": name = Black",
  1226. X   NULL},
  1227. X
  1228. X  {"background", "bg",
  1229. X   FALSE, TRUE, P_TYPE_NAME,
  1230. X   NULL,
  1231. X   "White",
  1232. X   ": name = White",
  1233. X   NULL},
  1234. X
  1235. X  {"foreground", "fg",
  1236. X   FALSE, TRUE, P_TYPE_NAME,
  1237. X   NULL,
  1238. X   "Black",
  1239. X   ": name = Black",
  1240. X   NULL},
  1241. X
  1242. X  {"fontname", "fn",
  1243. X   FALSE, TRUE, P_TYPE_STRING,
  1244. X   NULL,
  1245. X   "9x15",
  1246. X   ": string = \"9x15\"",
  1247. X   NULL},
  1248. X
  1249. X  {"fontname2", "fn2",
  1250. X   FALSE, TRUE, P_TYPE_STRING,
  1251. X   NULL,
  1252. X   "6x10",
  1253. X   ": string = \"6x10\"",
  1254. X   NULL},
  1255. X
  1256. X  {"geometry", "g",
  1257. X   FALSE, TRUE, P_TYPE_STRING,
  1258. X   NULL,
  1259. X   "<width>x<height>{+-}<xoffset>{+-}<yoffset>",
  1260. X   ": string = \"<width>x<height>{+-}<xoffset>{+-}<yoffset>\"",
  1261. X   NULL},
  1262. X
  1263. X  {"iconic", "i",
  1264. X   FALSE, TRUE, P_TYPE_SWITCH,
  1265. X   NULL,
  1266. X   "FALSE",
  1267. X   ": switch",
  1268. X   NULL},
  1269. X
  1270. X  {"microsecond_interval_time", "mit",
  1271. X   FALSE, TRUE, P_TYPE_INTEGER,
  1272. X   NULL,
  1273. X   "100000",
  1274. X   ": integer = 100000",
  1275. X   NULL},
  1276. X
  1277. X  {"odometer", "o",
  1278. X   FALSE, TRUE, P_TYPE_KEY,
  1279. X   NULL,
  1280. X   "both",
  1281. X   ": key cursor, pointer, both, keyend = both",
  1282. X   "cursor",
  1283. X   "pointer",
  1284. X   "both",
  1285. X   NULL},
  1286. X
  1287. X  {"odometer_file", "of",
  1288. X   FALSE, TRUE, P_TYPE_FILE,
  1289. X   NULL,
  1290. X   "$HOME/.xodo",
  1291. X   ": file = $HOME/.xodo",
  1292. X   NULL},
  1293. X
  1294. X  {"odometer_autosave_time", "oat",
  1295. X   FALSE, TRUE, P_TYPE_INTEGER,
  1296. X   NULL,
  1297. X   "2",
  1298. X   ": integer = 2",
  1299. X   NULL},
  1300. X
  1301. X  {"title", "t",
  1302. X   FALSE, TRUE, P_TYPE_STRING,
  1303. X   NULL,
  1304. X   "xodo",
  1305. X   ": string = \"xodo\"",
  1306. X   NULL},
  1307. X
  1308. X  {NULL}  /* end of parameters */
  1309. X
  1310. X};
  1311. X#else
  1312. Xextern Parameter_Value pvt [];
  1313. X#endif
  1314. X#define P_DISPLAY 1
  1315. X#define P_DISPLAY_WIDTH_MILLIMETERS 2
  1316. X#define P_DISPLAY_HEIGHT_MILLIMETERS 3
  1317. X#define P_DISPLAY_WIDTH_PIXELS 4
  1318. X#define P_DISPLAY_HEIGHT_PIXELS 5
  1319. X#define P_POINTER_SCALE_FACTOR 6
  1320. X#define P_BORDER 7
  1321. X#define P_BACKGROUND 8
  1322. X#define P_FOREGROUND 9
  1323. X#define P_FONTNAME 10
  1324. X#define P_FONTNAME2 11
  1325. X#define P_GEOMETRY 12
  1326. X#define P_ICONIC 13
  1327. X#define P_MICROSECOND_INTERVAL_TIME 14
  1328. X#define P_ODOMETER 15
  1329. X#define P_ODOMETER_FILE 16
  1330. X#define P_ODOMETER_AUTOSAVE_TIME 17
  1331. X#define P_TITLE 18
  1332. X#define P_NUMBER_OF_PARAMETERS 19
  1333. END_OF_FILE
  1334. if test 4190 -ne `wc -c <'evap/xodo_pdt.out'`; then
  1335.     echo shar: \"'evap/xodo_pdt.out'\" unpacked with wrong size!
  1336. fi
  1337. # end of 'evap/xodo_pdt.out'
  1338. fi
  1339. if test -f 'evap/xodo_pdt.skl' -a "${1}" != "-c" ; then 
  1340.   echo shar: Will not clobber existing file \"'evap/xodo_pdt.skl'\"
  1341. else
  1342. echo shar: Extracting \"'evap/xodo_pdt.skl'\" \(4190 characters\)
  1343. sed "s/^X//" >'evap/xodo_pdt.skl' <<'END_OF_FILE'
  1344. X/*
  1345. XPDT (/usr/local/bin/xodomm.a/xodo.mm) xodometer, xodo
  1346. X  display, d: string = DISPLAY, ""
  1347. X  display_width_millimeters, dwm: integer = D_XODO_DWM, 350
  1348. X  display_height_millimeters, dhm: integer = D_XODO_DHM, 274
  1349. X  display_width_pixels, dwp: integer = D_XODO_DWP, 1280
  1350. X  display_height_pixels, dhp: integer = D_XODO_DHP, 1024
  1351. X  pointer_scale_factor, psf: real = D_XODO_PSF, 3.4
  1352. X  border, bd: name = Black
  1353. X  background, bg: name = White
  1354. X  foreground, fg: name = Black
  1355. X  fontname, fn: string = "9x15"
  1356. X  fontname2, fn2: string = "6x10"
  1357. X  geometry, g: string = "<width>x<height>{+-}<xoffset>{+-}<yoffset>"
  1358. X  iconic, i: switch
  1359. X  microsecond_interval_time, mit: integer = 100000
  1360. X  odometer, o: key cursor, pointer, both, keyend = both
  1361. X  odometer_file, of: file = $HOME/.xodo
  1362. X  odometer_autosave_time, oat: integer = 2
  1363. X  title, t: string = "xodo"
  1364. XPDTEND no_file_list
  1365. X*/
  1366. X
  1367. X/*
  1368. X#define P_EVAP_EXTERN in separately compiled modules!
  1369. XThis will declare pvt as an external so you can reference
  1370. Xparameter values.  No storage is allocated in this case.
  1371. X*/
  1372. X#ifndef P_EVAP_EXTERN
  1373. X
  1374. Xstruct pdt_header pdt = {
  1375. X  "PDT Version 1.2 for U*X",
  1376. X  "/usr/local/bin/xodomm.a/xodo.mm",
  1377. X  "no_file_list"
  1378. X};
  1379. X
  1380. XParameter_Value pvt [] = {
  1381. X
  1382. X  {"help", "disci",
  1383. X   FALSE, TRUE, P_TYPE_SWITCH,
  1384. X   NULL,
  1385. X   "FALSE",
  1386. X   ": Display Command Information",
  1387. X   NULL},
  1388. X
  1389. X  {"display", "d",
  1390. X   FALSE, TRUE, P_TYPE_STRING,
  1391. X   "DISPLAY",
  1392. X   "",
  1393. X   ": string = DISPLAY, \"\"",
  1394. X   NULL},
  1395. X
  1396. X  {"display_width_millimeters", "dwm",
  1397. X   FALSE, TRUE, P_TYPE_INTEGER,
  1398. X   "D_XODO_DWM",
  1399. X   "350",
  1400. X   ": integer = D_XODO_DWM, 350",
  1401. X   NULL},
  1402. X
  1403. X  {"display_height_millimeters", "dhm",
  1404. X   FALSE, TRUE, P_TYPE_INTEGER,
  1405. X   "D_XODO_DHM",
  1406. X   "274",
  1407. X   ": integer = D_XODO_DHM, 274",
  1408. X   NULL},
  1409. X
  1410. X  {"display_width_pixels", "dwp",
  1411. X   FALSE, TRUE, P_TYPE_INTEGER,
  1412. X   "D_XODO_DWP",
  1413. X   "1280",
  1414. X   ": integer = D_XODO_DWP, 1280",
  1415. X   NULL},
  1416. X
  1417. X  {"display_height_pixels", "dhp",
  1418. X   FALSE, TRUE, P_TYPE_INTEGER,
  1419. X   "D_XODO_DHP",
  1420. X   "1024",
  1421. X   ": integer = D_XODO_DHP, 1024",
  1422. X   NULL},
  1423. X
  1424. X  {"pointer_scale_factor", "psf",
  1425. X   FALSE, TRUE, P_TYPE_REAL,
  1426. X   "D_XODO_PSF",
  1427. X   "3.4",
  1428. X   ": real = D_XODO_PSF, 3.4",
  1429. X   NULL},
  1430. X
  1431. X  {"border", "bd",
  1432. X   FALSE, TRUE, P_TYPE_NAME,
  1433. X   NULL,
  1434. X   "Black",
  1435. X   ": name = Black",
  1436. X   NULL},
  1437. X
  1438. X  {"background", "bg",
  1439. X   FALSE, TRUE, P_TYPE_NAME,
  1440. X   NULL,
  1441. X   "White",
  1442. X   ": name = White",
  1443. X   NULL},
  1444. X
  1445. X  {"foreground", "fg",
  1446. X   FALSE, TRUE, P_TYPE_NAME,
  1447. X   NULL,
  1448. X   "Black",
  1449. X   ": name = Black",
  1450. X   NULL},
  1451. X
  1452. X  {"fontname", "fn",
  1453. X   FALSE, TRUE, P_TYPE_STRING,
  1454. X   NULL,
  1455. X   "9x15",
  1456. X   ": string = \"9x15\"",
  1457. X   NULL},
  1458. X
  1459. X  {"fontname2", "fn2",
  1460. X   FALSE, TRUE, P_TYPE_STRING,
  1461. X   NULL,
  1462. X   "6x10",
  1463. X   ": string = \"6x10\"",
  1464. X   NULL},
  1465. X
  1466. X  {"geometry", "g",
  1467. X   FALSE, TRUE, P_TYPE_STRING,
  1468. X   NULL,
  1469. X   "<width>x<height>{+-}<xoffset>{+-}<yoffset>",
  1470. X   ": string = \"<width>x<height>{+-}<xoffset>{+-}<yoffset>\"",
  1471. X   NULL},
  1472. X
  1473. X  {"iconic", "i",
  1474. X   FALSE, TRUE, P_TYPE_SWITCH,
  1475. X   NULL,
  1476. X   "FALSE",
  1477. X   ": switch",
  1478. X   NULL},
  1479. X
  1480. X  {"microsecond_interval_time", "mit",
  1481. X   FALSE, TRUE, P_TYPE_INTEGER,
  1482. X   NULL,
  1483. X   "100000",
  1484. X   ": integer = 100000",
  1485. X   NULL},
  1486. X
  1487. X  {"odometer", "o",
  1488. X   FALSE, TRUE, P_TYPE_KEY,
  1489. X   NULL,
  1490. X   "both",
  1491. X   ": key cursor, pointer, both, keyend = both",
  1492. X   "cursor",
  1493. X   "pointer",
  1494. X   "both",
  1495. X   NULL},
  1496. X
  1497. X  {"odometer_file", "of",
  1498. X   FALSE, TRUE, P_TYPE_FILE,
  1499. X   NULL,
  1500. X   "$HOME/.xodo",
  1501. X   ": file = $HOME/.xodo",
  1502. X   NULL},
  1503. X
  1504. X  {"odometer_autosave_time", "oat",
  1505. X   FALSE, TRUE, P_TYPE_INTEGER,
  1506. X   NULL,
  1507. X   "2",
  1508. X   ": integer = 2",
  1509. X   NULL},
  1510. X
  1511. X  {"title", "t",
  1512. X   FALSE, TRUE, P_TYPE_STRING,
  1513. X   NULL,
  1514. X   "xodo",
  1515. X   ": string = \"xodo\"",
  1516. X   NULL},
  1517. X
  1518. X  {NULL}  /* end of parameters */
  1519. X
  1520. X};
  1521. X#else
  1522. Xextern Parameter_Value pvt [];
  1523. X#endif
  1524. X#define P_DISPLAY 1
  1525. X#define P_DISPLAY_WIDTH_MILLIMETERS 2
  1526. X#define P_DISPLAY_HEIGHT_MILLIMETERS 3
  1527. X#define P_DISPLAY_WIDTH_PIXELS 4
  1528. X#define P_DISPLAY_HEIGHT_PIXELS 5
  1529. X#define P_POINTER_SCALE_FACTOR 6
  1530. X#define P_BORDER 7
  1531. X#define P_BACKGROUND 8
  1532. X#define P_FOREGROUND 9
  1533. X#define P_FONTNAME 10
  1534. X#define P_FONTNAME2 11
  1535. X#define P_GEOMETRY 12
  1536. X#define P_ICONIC 13
  1537. X#define P_MICROSECOND_INTERVAL_TIME 14
  1538. X#define P_ODOMETER 15
  1539. X#define P_ODOMETER_FILE 16
  1540. X#define P_ODOMETER_AUTOSAVE_TIME 17
  1541. X#define P_TITLE 18
  1542. X#define P_NUMBER_OF_PARAMETERS 19
  1543. END_OF_FILE
  1544. if test 4190 -ne `wc -c <'evap/xodo_pdt.skl'`; then
  1545.     echo shar: \"'evap/xodo_pdt.skl'\" unpacked with wrong size!
  1546. fi
  1547. # end of 'evap/xodo_pdt.skl'
  1548. fi
  1549. if test -f 'patchlevel.h' -a "${1}" != "-c" ; then 
  1550.   echo shar: Will not clobber existing file \"'patchlevel.h'\"
  1551. else
  1552. echo shar: Extracting \"'patchlevel.h'\" \(102 characters\)
  1553. sed "s/^X//" >'patchlevel.h' <<'END_OF_FILE'
  1554. X#define VERSION    "1.1"    /* 3 characters exactly */
  1555. X#define PATCHLEVEL 0        /* xodometer patch level */
  1556. END_OF_FILE
  1557. if test 102 -ne `wc -c <'patchlevel.h'`; then
  1558.     echo shar: \"'patchlevel.h'\" unpacked with wrong size!
  1559. fi
  1560. # end of 'patchlevel.h'
  1561. fi
  1562. if test -f 'xodo.man' -a "${1}" != "-c" ; then 
  1563.   echo shar: Will not clobber existing file \"'xodo.man'\"
  1564. else
  1565. echo shar: Extracting \"'xodo.man'\" \(8581 characters\)
  1566. sed "s/^X//" >'xodo.man' <<'END_OF_FILE'
  1567. X.TH "xodometer" 1 "Mar 10, 1993"
  1568. X.SH NAME
  1569. Xxodometer
  1570. X.SH SYNOPSIS
  1571. Xxodo [ -disci -d -dwm -dhm -dwp -dhp -psf -bd -bg -fg -fn -fn2 -g -i -mit -o -of -oat -t]
  1572. X.SH DESCRIPTION
  1573. X
  1574. XTrack the total distance your pointing device and cursor
  1575. Xtravel.  The distance can be displayed in various units.
  1576. X
  1577. Xxodometer displays total distance and "trip" distance
  1578. Xsince the application started (or since you clicked on
  1579. Xa trip reset button).
  1580. X
  1581. Xxodometer requires certain information to ensure
  1582. Xaccurate distance tracking.  Refer to the following
  1583. Xsections to learn about calibrating xodometer, and to
  1584. Xview a list of tested configurations.
  1585. X
  1586. Xxodometer is typically started from the .xinitrc file.
  1587. XUse the left button for selections.  Use the middle
  1588. Xbutton to reset both trip odometers simultaneously.
  1589. X
  1590. XEvery xodometer command line parameter can have an
  1591. Xapplication resource in the xrdb database or .Xdefaults
  1592. Xfile.  A resource follows this convention:
  1593. X
  1594. X  xodo.parameter_name : parameter_value
  1595. X
  1596. XTherefore to specify xodometer's default font the
  1597. Xfollowing resource entry could be specified:
  1598. X
  1599. X  xodo.fontname : Rom8
  1600. X
  1601. XFor further help try xodo -full_help.
  1602. X
  1603. XExamples:
  1604. X
  1605. X  xodo -bd red -bg wheat1 -fg blue -g -0-0
  1606. X
  1607. X  xodo -fn rom6 -o cursor -dwm 300 -dhm 234 
  1608. X
  1609. X
  1610. X.SH CALIBRATION
  1611. X
  1612. Xxodometer requires the display dimensions in both pixels
  1613. Xand millimeters in order to correctly compute distances.
  1614. XLook for this information in the appropriate hardware 
  1615. Xreference manual for your display.  If you cannot find
  1616. Xthis information it's still easy to determine.  For the
  1617. Xdisplay dimensions in pixels simply run xodometer, jam
  1618. Xthe cursor in the bottom-right corner and note the X/Y
  1619. Xcoordinates displayed at the bottom of the window - add
  1620. Xone to get the actual pixel count.  For the display
  1621. Xdimensions in millimeters just grab a tape measure and
  1622. Xmeasure your screen - if inches multiply by 25.4 and if
  1623. Xcentimeters multiply by 10.  Select "About" and    verify
  1624. Xthat xodometer is calibrated properly by using a ruler
  1625. Xto measure the calibration scale.  The default values
  1626. Xfor these dimensions are suitable for an IBM RS/6000
  1627. Xmachine with a 6091 19" color monitor.  Refer to the
  1628. Xnext section for values of other tested    configurations.
  1629. X
  1630. XAssuming that the display dimension data is correct the
  1631. Xcursor distance can be accurately tracked.  The actual
  1632. Xdistance that your pointing device, typically a mouse,
  1633. Xtravels is INFERRED by accleration information provided
  1634. Xby the X server and pointer scaling information that
  1635. Xyou must provide.  The default scale factor is 3.4,
  1636. Xmeaning that the cursor travels 3.4 times as far as the
  1637. Xpointing device moves. This value is appropriate for an
  1638. XIBM RS/6000 machine with a 6091 19" color monitor.
  1639. XRefer to the next section for values of other tested
  1640. Xconfigurations.
  1641. X
  1642. XIf you cannot find the correct scale factor for your
  1643. Xmouse then you must determine it by measuring.  It is
  1644. Xrather easy to do this:  first enter "xset m 1 1" to
  1645. Xset the X threshold and    acceleration to 1, then enter
  1646. X"xodo -psf 1.0" to set xodometer's pointer scale factor
  1647. Xalso to 1.  Once xodo is running pull-down the Units
  1648. Xmenu and select "inches".  Then, using a ruler, place
  1649. Xthe pointing device against one edge, click the second
  1650. Xbutton to reset the trip odometers, and then trace a
  1651. Xknown distance, say, one inch.  The distance recorded
  1652. Xby the pointer's trip odometer is the proper scaling
  1653. Xfactor.  Repeat the measurement several times for
  1654. Xaccuracy.
  1655. X
  1656. XAt the bottom of the xodometer window is a status line
  1657. Xthat displays the current distance Units and the X/Y
  1658. Xcordinates of the cursor.  In the "About" window the
  1659. Xpointer    Scale factor, and the X Threshold and
  1660. XAcceleration are displayed.
  1661. X
  1662. XAll the calibration information you supply is either
  1663. Xpassed on the command line, stored in environment
  1664. Xvariables, or placed in your .Xdefaults file.  The
  1665. Xapplicable environment variables are:
  1666. X
  1667. X  D_XODO_DWM    display_width_millimeters
  1668. X  D_XODO_DHM    display_height_millimeters
  1669. X  D_XODO_DWP    display_width_pixels
  1670. X  D_XODO_DHP    display_height_pixels
  1671. X  D_XODO_PSF    pointer_scale_factor
  1672. X
  1673. X
  1674. X.SH TESTED CONFIGURATIONS
  1675. X
  1676. XFor each machine, Operating System/window manager and
  1677. Xdisplay configuration, a sample xodometer command line
  1678. Xis given:
  1679. X
  1680. X- IBM RS/6000, AIX 3.2.3/mwm, 16" color
  1681. X  xodo -dwm 300 -dhm 234 -dwp 1280 -dhp 1024 -psf 3.0
  1682. X
  1683. X- IBM RS/6000, AIX 3.2.3/mwm, 19" color
  1684. X  xodo -dwm 350 -dhm 274 -dwp 1280 -dhp 1024 -psf 3.4
  1685. X
  1686. X- IBM RS/6000, AIX 3.2.3/mwm, 23" color
  1687. X  xodo -dwm 430 -dhm 340 -dwp 1280 -dhp 1024 -psf 4.0
  1688. X
  1689. X- Sun SPARC 1+, SunOS 4.1.1/twm, 17" monochrome
  1690. X  xodo -dwm 292 -dhm 232 -dwp 1152 -dhp  900 -psf 2.0      
  1691. X
  1692. X- Sun SPARC 1+, SunOS 4.1.1/twm, 19" color
  1693. X  xodo -dwm 358 -dhm 274 -dwp 1152 -dhp  900 -psf 4.0      
  1694. X
  1695. X.SH OPTIONS
  1696. X
  1697. X-help, disci: Display Command Information
  1698. X
  1699. X  
  1700. X  Indicates display brief help information, which includes
  1701. X  a command description with examples, plus a synopsis of
  1702. X  the command line parameters.  If you specify -full_help
  1703. X  rather than -help complete parameter help is displayed
  1704. X  if it's available.
  1705. X  
  1706. X
  1707. X-display, d: string = DISPLAY, ""
  1708. X
  1709. X  
  1710. X  The X display name; default is the DISPLAY variable.
  1711. X  
  1712. X
  1713. X-display_width_millimeters, dwm: integer = D_XODO_DWM, 350
  1714. X
  1715. X  
  1716. X  The width in millimeters of the X display.  The default
  1717. X  is 350 mm (an IBM 6091 19" color monitor).
  1718. X  
  1719. X
  1720. X-display_height_millimeters, dhm: integer = D_XODO_DHM, 274
  1721. X
  1722. X  
  1723. X  The height in millimeters of the X display.  The default
  1724. X  is 274 mm (an IBM 6091 19" color monitor).
  1725. X  
  1726. X
  1727. X-display_width_pixels, dwp: integer = D_XODO_DWP, 1280
  1728. X
  1729. X  
  1730. X  The width of the X display in pixels.  The default
  1731. X  is 1280 pixels (an IBM 6091 19" color monitor).
  1732. X  
  1733. X
  1734. X-display_height_pixels, dhp: integer = D_XODO_DHP, 1024
  1735. X
  1736. X  
  1737. X  The height of the X display in pixels.  The default
  1738. X  is 1024 pixels (an IBM 6091 19" color monitor).
  1739. X  
  1740. X
  1741. X-pointer_scale_factor, psf: real = D_XODO_PSF, 3.4
  1742. X
  1743. X  
  1744. X  The scale factor to convert pointer movement to cursor
  1745. X  movement.  A scale factor of 2.0 means that for every D
  1746. X  units of distance the pointing device moves, the cursor
  1747. X  moves 2 * D units.  The default is 3.4, suitable for an
  1748. X  IBM 6091 19" color monitor.
  1749. X  
  1750. X
  1751. X-border, bd: name = Black
  1752. X
  1753. X  
  1754. X  xodometer's border color.
  1755. X  
  1756. X
  1757. X-background, bg: name = White
  1758. X
  1759. X  
  1760. X  xodometer's background color.
  1761. X  
  1762. X
  1763. X-foreground, fg: name = Black
  1764. X
  1765. X  
  1766. X  xodometer's foreground color.
  1767. X  
  1768. X
  1769. X-fontname, fn: string = "9x15"
  1770. X
  1771. X  
  1772. X  xodometer's odometer font.  An extremely small font
  1773. X  is "rom6" while a rather large font is "helvr30".
  1774. X  
  1775. X
  1776. X-fontname2, fn2: string = "6x10"
  1777. X
  1778. X  
  1779. X  xodometer's button font.  In general you should NOT
  1780. X  change this font since the action buttons do not
  1781. X  change size.  Another suitable font is "Rom8", but
  1782. X  that is not available on all X servers.
  1783. X  
  1784. X
  1785. X-geometry, g: string = "<width>x<height>{+-}<xoffset>{+-}<yoffset>"
  1786. X
  1787. X  
  1788. X  Specifies the X geometry in the standard notation.
  1789. X  The width and height are not normally specified since
  1790. X  xodometer calculates them based on the fontname.  If
  1791. X  an "offset" value is positive it is measured from the
  1792. X  top or left edge of the display, and if negative it is
  1793. X  measured from the bottom or right edge of the screen.
  1794. X  So, to start xodometer in the bottom-right corner a
  1795. X  geometry string of "-0-0" would be specified.
  1796. X  
  1797. X
  1798. X-iconic, i: switch
  1799. X
  1800. X  
  1801. X  If specified xodometer starts up already iconified.
  1802. X  
  1803. X
  1804. X-microsecond_interval_time, mit: integer = 100000
  1805. X
  1806. X  
  1807. X  The number of microseconds between odometer updates.  The
  1808. X  default value of 100,000 means that the pointer position
  1809. X  is sampled 10 times per second, which seems to provide
  1810. X  accurate distance measurements without consuming
  1811. X  excessive amounts of your machine's resources.
  1812. X  
  1813. X
  1814. X-odometer, o: key cursor, pointer, both, keyend = both
  1815. X
  1816. X  
  1817. X  A keyword that specifies whether to display both
  1818. X  odometers, or just one of them, and if just one,
  1819. X  which one.
  1820. X  
  1821. X
  1822. X-odometer_file, of: file = $HOME/.xodo
  1823. X
  1824. X  
  1825. X  The path name of the file to record total mouse distance
  1826. X  (in millimeters) and other application information.  This
  1827. X  file is read during xodometer startup to initialize the
  1828. X  distance totals and establish the distance units.  When
  1829. X  you "Quit" xodometer the updated distance/unit data is
  1830. X  written to this file.
  1831. X  
  1832. X
  1833. X-odometer_autosave_time, oat: integer = 2
  1834. X
  1835. X  
  1836. X  Specifies the time interval in minutes between odometer
  1837. X  file updates.  This is just for good luck, as xodometer
  1838. X  updates the odometer file when these event are received:
  1839. X  
  1840. X    - control/c
  1841. X    - window close
  1842. X    - window manager exit
  1843. X  
  1844. X
  1845. X-title, t: string = "xodo"
  1846. X
  1847. X  
  1848. X  The xodometer window title line.
  1849. X  
  1850. X
  1851. X.SH AUTHOR
  1852. XStephen O. Lidie, lusol@Lehigh.EDU
  1853. X
  1854. XCopyright (C) 1993 - 1993, Lehigh University.
  1855. XAll rights reserved.
  1856. END_OF_FILE
  1857. if test 8581 -ne `wc -c <'xodo.man'`; then
  1858.     echo shar: \"'xodo.man'\" unpacked with wrong size!
  1859. fi
  1860. # end of 'xodo.man'
  1861. fi
  1862. echo shar: End of archive 1 \(of 4\).
  1863. cp /dev/null ark1isdone
  1864. MISSING=""
  1865. for I in 1 2 3 4 ; do
  1866.     if test ! -f ark${I}isdone ; then
  1867.     MISSING="${MISSING} ${I}"
  1868.     fi
  1869. done
  1870. if test "${MISSING}" = "" ; then
  1871.     echo You have unpacked all 4 archives.
  1872.     echo "Read README for installation instructions."
  1873.     rm -f ark[1-9]isdone
  1874. else
  1875.     echo You still need to unpack the following archives:
  1876.     echo "        " ${MISSING}
  1877. fi
  1878. ##  End of shell archive.
  1879. exit 0
  1880.  
  1881. exit 0 # Just in case...
  1882. -- 
  1883.   // chris@IMD.Sterling.COM            | Send comp.sources.x submissions to:
  1884. \X/  Amiga - The only way to fly!      |
  1885.  "It's intuitively obvious to the most |    sources-x@imd.sterling.com
  1886.   casual observer..."                  |
  1887.