home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / x / volume18 / xalarm30 / part02 < prev    next >
Encoding:
Text File  |  1992-07-07  |  50.1 KB  |  1,484 lines

  1. Newsgroups: comp.sources.x
  2. Path: uunet!darwin.sura.net!mips!msi!dcmartin
  3. From: Simon Marshall <S.Marshall@sequent.cc.hull.ac.uk>
  4. Subject: v18i003: Xalarm 3.04, Part02/05
  5. Message-ID: <1992Jul8.154352.20411@msi.com>
  6. Originator: dcmartin@fascet
  7. Sender: dcmartin@msi.com (David C. Martin - Moderator)
  8. Organization: Molecular Simulations, Inc.
  9. References: <csx-18i002-xalarm-3.04@uunet.UU.NET>
  10. Date: Wed, 8 Jul 1992 15:43:52 GMT
  11. Approved: dcmartin@msi.com
  12. Lines: 1470
  13.  
  14. Submitted-by: Simon Marshall <S.Marshall@sequent.cc.hull.ac.uk>
  15. Posting-number: Volume 18, Issue 3
  16. Archive-name: xalarm-3.04/part02
  17.  
  18. # this is part.02 (part 2 of a multipart archive)
  19. # do not concatenate these parts, unpack them in order with /bin/sh
  20. # file part.01 continued
  21. #
  22. if test ! -r _shar_seq_.tmp; then
  23.     echo 'Please unpack part 1 first!'
  24.     exit 1
  25. fi
  26. (read Scheck
  27.  if test "$Scheck" != 2; then
  28.     echo Please unpack part "$Scheck" next!
  29.     exit 1
  30.  else
  31.     exit 0
  32.  fi
  33. ) < _shar_seq_.tmp || exit 1
  34. if test ! -f _shar_wnt_.tmp; then
  35.     echo 'x - still skipping part.01'
  36. else
  37. echo 'x - continuing file part.01'
  38. sed 's/^X//' << 'SHAR_EOF' >> 'part.01' &&
  39. XXX    crash if application defaults were not properly installed.  From Gisle
  40. XXX    Hannemyr.
  41. XXX
  42. Thu Feb 27 17:52:59 1992  Simon Marshall  (sm at olympus)
  43. XXX
  44. XXX    * Can combine time symbols & dates.  Added noon.
  45. XXX
  46. Wed Feb 26 19:49:54 1992  Simon Marshall  (sm at olympus)
  47. XXX
  48. XXX    * Made the config guess all & only query at the end.
  49. XXX
  50. Mon Feb 24 13:03:39 1992  Simon Marshall  (sm at olympus)
  51. XXX
  52. XXX    * "make config" is now included when necessary by make & corrected
  53. XXX    CentreWidgetUnderPointer() to include widget's width.  Thanks to Braham
  54. XXX    Levy.  Added EnsureAllOnScreen() for resizing popups; only shifts left.
  55. XXX
  56. Sun Feb 23 15:27:08 1992  Simon Marshall  (sm at olympus)
  57. XXX
  58. XXX    * Changed the alarm file to ~/.xalarms always and removed environment
  59. XXX    variable XALARM.
  60. XXX
  61. XXX    * Added uname() as a way of getting the machine name.  From Rich $alz's
  62. XXX    shar program.
  63. XXX
  64. Sun Feb 16 13:46:26 1992  Simon Marshall  (sm at olympus)
  65. XXX
  66. XXX    * Added date parsing to appointments too.  Added -file option, moved 
  67. XXX    into file.c.
  68. XXX
  69. Fri Feb 14 19:55:24 1992  Simon Marshall  (sm at olympus)
  70. XXX
  71. XXX    * Added date parsing to popup, with some error parsing.  Moved dates
  72. XXX    into dates.c.
  73. XXX
  74. Mon Feb 10 12:53:47 1992  Simon Marshall  (sm at olympus)
  75. XXX
  76. XXX    * Made it get the user name from the passwd file rather than $USER.
  77. XXX    From Paul Vixie's cron program.
  78. XXX
  79. Thu Feb  6 18:52:25 1992  Simon Marshall  (sm at olympus)
  80. XXX
  81. XXX    * Time parsing now gives more informative error messages.
  82. XXX
  83. Tue Feb  4 10:00:36 1992  Simon Marshall  (sm at olympus)
  84. XXX
  85. XXX    * Added reset button to warning popup.  Don't think it's appropriate
  86. XXX    for alarm itself.  Corrected timeout casting.
  87. XXX
  88. XXX    * Change to Imakefile to make sure dependencies are made, and
  89. XXX    config.1st invoked, properly.  George Lindholm & Jonathan I. Kamens.
  90. XXX
  91. Sat Feb  1 15:40:29 1992  Simon Marshall  (sm at olympus)
  92. XXX
  93. XXX    * Released patch 2.
  94. XXX
  95. Thu Jan 30 11:11:01 1992  Simon Marshall  (sm at olympus)
  96. XXX
  97. XXX    * Behaves properly during leap years.
  98. XXX
  99. XXX    * Fixed bug whereby dates are parsed wrongly if the number of days in
  100. XXX    the current month is more than the number of days in the month given.
  101. XXX
  102. XXX    * Better error messages with unrecognised dates.
  103. XXX
  104. Tue Jan 21 11:10:34 1992  Simon Marshall  (sm at olympus)
  105. XXX
  106. XXX    * Made config.1st try to find locations, instead of assuming a Sun.
  107. XXX    Forgot to include times.o as dependent on xalarm.h.  Non-existent
  108. XXX    function was declared.
  109. XXX
  110. XXX    * Fixed bug whereby changes in the dialog was silently accepted while
  111. XXX    changing other values.
  112. XXX
  113. XXX    * Resources properly label all quit buttons.
  114. XXX
  115. Mon Jan 20 10:08:55 1992  Simon Marshall  (sm at olympus)
  116. XXX
  117. XXX    * Released patch 1.
  118. XXX
  119. Wed Jan 15 14:58:08 1992  Simon Marshall  (sm at olympus)
  120. XXX
  121. XXX    * Input in the dialog popup properly is directed to the visible widget.
  122. XXX
  123. XXX    * Cleaned resources, man page & xmemo doesn't ask for confirmation.
  124. XXX
  125. Fri Jan  3 13:51:52 1992  Simon Marshall  (sm at olympus)
  126. XXX
  127. XXX    * Fixed Imakefile where blanks after ManSuffix were not stripped, from
  128. XXX    Jonathan I. Kamens.
  129. XXX
  130. Thu Dec 19 15:23:46 1991  Simon Marshall  (sm at olympus)
  131. XXX
  132. XXX    * Solved the auto-resize; just took the width resource out.
  133. XXX
  134. XXX    * Casted everything properly to shut up picky compilers.
  135. XXX
  136. Wed Dec 18 19:29:08 1991  Simon Marshall  (sm at olympus)
  137. XXX
  138. XXX    * Made all the windows proper transient shells as they should be.  If
  139. XXX    no geometry is given, the windows popup under the mouse pointer.
  140. XXX
  141. XXX    * Can no longer kill xalarm via the WM_DELETE_WINDOW protocol.  It has
  142. XXX    no effect with shells widgets.
  143. XXX
  144. Fri Dec  6 13:36:08 1991  Simon Marshall  (sm at olympus)
  145. XXX
  146. XXX    * Fixed bug in AppointmentIsToday() which under certain circumstances
  147. XXX    would parse times in files wrong or core dump.  Forgot to XtMalloc() in
  148. XXX    a couple of places.
  149. XXX
  150. Thu Dec  5 18:29:45 1991  Simon Marshall  (sm at olympus)
  151. XXX
  152. XXX    * Words from the alarm message can be incorporated in the warning
  153. XXX    popup.  From an idea by Evan Bigall.
  154. XXX
  155. Sun Dec  1 14:20:46 1991  Simon Marshall  (sm at olympus)
  156. XXX
  157. XXX    * Made resources control the cursor shapes; took gumby out of alarm.c.
  158. XXX
  159. Thu Oct 17 14:46:01 1991  Simon Marshall  (sm at olympus)
  160. XXX
  161. XXX    * Added justification for the Dialog widget label.  Still makes a
  162. XXX    widget bigger than need be though.
  163. XXX
  164. Sun Oct 13 17:40:00 1991  Simon Marshall  (sm at olympus)
  165. XXX
  166. XXX    * For the confirmation window, sorts the warning times into descending
  167. XXX    order, and takes the day of the week from WEEKDAYS rather than ctime(),
  168. XXX    in case a different language is being used.
  169. XXX
  170. Sat Oct  5 15:37:59 1991  Simon Marshall  (sm at olympus)
  171. XXX
  172. XXX    * Released xalarm-3.
  173. XXX
  174. Wed Oct  2 14:35:15 1991  Simon Marshall  (sm at olympus)
  175. XXX
  176. XXX    * Taken out the makeX and put that stuff in with config.1st, let the
  177. XXX    user sort it out.
  178. XXX
  179. Mon Sep 30 19:12:40 1991  Simon Marshall  (sm at olympus)
  180. XXX
  181. XXX    * Added -list so xalarm shows what ps thinks are the user's xalarm pids
  182. XXX    are.  Had to alter the makefiles so that you could set where ps & the
  183. XXX    rest where; added a config.1st to do this.
  184. XXX
  185. Sun Sep 29 22:16:09 1991  Simon Marshall  (sm at olympus)
  186. XXX
  187. XXX    * Made xalarm capable of parsing a file for alarms, so for regular
  188. XXX    times, it will set alarms automatically.
  189. XXX
  190. Fri Sep 27 10:43:41 1991  Simon Marshall  (sm at olympus)
  191. XXX
  192. XXX    * Fed up with ``Is it only BSD that uses bzero, or only SYSV that uses
  193. XXX    memset?  Or is it a bit of both?''  Wrote my own.
  194. XXX
  195. Wed Sep 25 22:17:05 1991  Simon Marshall  (sm at olympus)
  196. XXX
  197. XXX    * Split README into README and INSTALL.  Made it all a touch more
  198. XXX    portable?  Thanks to Andreas Stolcke.  Made the manual more readable,
  199. XXX    thanks to suggestions by Bill Leonard.
  200. XXX
  201. Tue Sep 24 21:54:30 1991  Simon Marshall  (sm at olympus)
  202. XXX
  203. XXX    * Added a -snooze & resource on suggestion by Bill Leonard, so you can
  204. XXX    have a default snoozetime already set for you.  Corrected bits & bobs
  205. XXX    in man page too.
  206. XXX
  207. Sun Sep 15 21:41:52 1991  Simon Marshall  (sm at olympus)
  208. XXX
  209. XXX    * Cleaned up for release in contrib for R5; re-named xalarm-3 for good
  210. XXX    measure.
  211. XXX
  212. XXX    * Added a -reset kill & signal trapper code so that you can wake up an
  213. XXX    alarm and change the times.
  214. XXX
  215. Thu Sep  5 12:24:56 1991  Simon Marshall  (sm at olympus)
  216. XXX
  217. XXX    * Added a make flag & fix for the X crash-on-zero-timeout (bug report
  218. XXX    from Jamie Zawinsk).  Cleaned up Makefile & README.
  219. XXX
  220. Mon Sep  2 11:54:20 1991  Simon Marshall  (sm at olympus)
  221. XXX
  222. XXX    * Fixed the little problem with the clear button, although the resource
  223. XXX    still isn't changeable by the user.
  224. XXX
  225. Tue Aug 27 17:08:47 1991  Simon Marshall  (sm at olympus)
  226. XXX
  227. XXX    * The timeout is now recalculated on confirmation so that if the time
  228. XXX    is absolute, messing around during confirmation won't result in a late
  229. XXX    alarm.
  230. XXX
  231. Wed Aug 21 18:00:00 1991  Simon Marshall  (sm at olympus)
  232. XXX
  233. XXX    * Released xalarm-2.00.
  234. XXX
  235. Tue Aug 20 10:25:58 1991  Simon Marshall  (sm at olympus)
  236. XXX
  237. XXX    * Fixed a little bug as a result of yesterday; if an invalid time is
  238. XXX    given with the noconfirm option, the alarm message text is "".
  239. XXX
  240. XXX    * Finally made the popups get their geometry from the alarm, by
  241. XXX    intercepting it from the command line...
  242. XXX
  243. Mon Aug 19 13:56:53 1991  Simon Marshall  (sm at olympus)
  244. XXX
  245. XXX    * Added xmemo (thanks to an unconnected posting by Dan Jacobson, I
  246. XXX    think) & found a bug in the manual - used -beep instead of -bell!!!
  247. XXX    Added -beep & -nobeep to options...
  248. XXX
  249. Sun Aug 18 11:17:45 1991  Simon Marshall  (sm at olympus)
  250. XXX
  251. XXX    * Put the toggling back (!) so you can fiddle with warning times too.
  252. XXX
  253. XXX    * Changed -at and -in to -time, -in times preceded by a `+' (but
  254. XXX    warning times aren't).  None of that silly toggling etc.  Also made
  255. XXX    some options have shorter aliases.
  256. XXX
  257. XXX    * Made xalarm overwrite any given message, so ps etc can't show what it
  258. XXX    is.  From a comment by Reiner Hammer.
  259. XXX
  260. Fri Aug 16 12:25:08 1991  Simon Marshall  (sm at olympus)
  261. XXX
  262. XXX    * Cleaned up here & there.
  263. XXX
  264. XXX    * Incorporated a hacked version of the time parser from xcal-3.2, Peter
  265. XXX    Collinson et al.
  266. XXX
  267. XXX    * Changed the way warnings are given.  No longer within quotes, they
  268. XXX    must be separated by commas (only).
  269. XXX
  270. Wed Aug 14 12:58:29 1991  Simon Marshall  (sm at olympus)
  271. XXX
  272. XXX    * Corrected bug whereby time wasn't always correctly calculated when
  273. XXX    given as 12 hour clock but >12 hours ahead.
  274. XXX
  275. Tue Aug 13 12:41:32 1991  Simon Marshall  (sm at olympus)
  276. XXX
  277. XXX    * Added forking - so must easier than I had assumed.  No closing to do
  278. XXX    after all.  Thanks to Gordon Freedman & Janet Anstett.
  279. XXX
  280. Fri Aug  9 13:38:35 1991  Simon Marshall  (sm at olympus)
  281. XXX
  282. XXX    * Added -h[elp].
  283. XXX
  284. Thu Aug  8 15:04:56 1991  Simon Marshall  (sm at olympus)
  285. XXX
  286. XXX    * Added -v[ersion]; I'm fed up with getting bug reports without it.
  287. XXX
  288. XXX    * Added a config to Makefile so as to make sure stuff is ready for
  289. XXX    making & running/playing with.
  290. XXX
  291. Mon Aug  5 15:46:00 1991  Simon Marshall  (sm at olympus)
  292. XXX
  293. XXX    * It appears that stuff in .../lib/X11/app-defaults is not
  294. XXX    pre-processed with cpp, so we can't have "#ifdef" etc in there.  Moved
  295. XXX    colour stuff to separate file.  From Scott Blachovicz & a multitude of
  296. XXX    others.
  297. XXX
  298. Sun Aug  4 15:12:06 1991  Simon Marshall  (sm at olympus)
  299. XXX
  300. XXX    * Corrected bug whereby When?.when.label was for "at" time when it
  301. XXX    should be "in", when user gave invalid "in" time on the command line.
  302. XXX
  303. XXX    * If enabled, confirmation is now always sort, unless alarm is to
  304. XXX    trigger immediately.
  305. XXX
  306. XXX    * Made warnings only accept times in the [[[h]h]m]m format a` la -in.
  307. XXX    Invalid times result in an error message on stderr only.  Also added
  308. XXX    -nowarn.  (Implemented as "-warn 0" :-)
  309. XXX
  310. Fri Aug  2 09:46:42 1991  Simon Marshall  (sm at olympus)
  311. XXX
  312. XXX    * Added confirmation stuff to xalarm.  Does not confirm if using
  313. XXX    relative time given on the command line.  Also added -confirm,
  314. XXX    -noconfirm and -nobell.
  315. XXX
  316. XXX    * Split up xalarm into more meaningful pieces.  Preparation for
  317. XXX    xalarm-2.00?
  318. XXX
  319. Wed Jul 31 13:20:29 1991  Simon Marshall  (sm at olympus)
  320. XXX
  321. XXX    * Released xalarm-1.01.
  322. XXX
  323. XXX    * Made MakeX which looks for the absolute path of an executable.  Need
  324. XXX    it for yow, as it is often not is a person's path.
  325. XXX
  326. XXX    * Fixed bug/mistake.  I had sometimes declared warg as an Arg, but
  327. XXX    XtSetValues expects an ArgList.  Changed to declare as warg[1].  From
  328. XXX    comments made by Dave Brooks, Bill Leonard & Braham Levy (plus more
  329. XXX    once our mailer came up).
  330. XXX
  331. XXX    * Added 2 options; -bell and -warn "...".  By default the bell no
  332. XXX    longer sounds, and the warning times can be specified.  Both have
  333. XXX    resources of course.  From comments by Bill Leonard.
  334. XXX
  335. XXX    * Updated the manual & made it clearer.
  336. XXX
  337. Tue Jul 30 10:29:22 1991  Simon Marshall  (sm at olympus)
  338. XXX
  339. XXX    * Changed the way the time is calculated.  No more fiddling with
  340. XXX    strings & it's much more compact.
  341. XXX
  342. XXX    * Added Imakefile, sent by Andreas Stolcke (stolcke@edu.Berkeley.ICSI).
  343. XXX    I don't know how useful it is, our imake isn't installed.
  344. XXX
  345. XXX    * Changed default font for value entry to 9x15bold in XAlarm.ad; it is
  346. XXX    a little more readable.
  347. SHAR_EOF
  348. chmod 0644 ChangeLog ||
  349. echo 'restore of ChangeLog failed'
  350. Wc_c="`wc -c < 'ChangeLog'`"
  351. test 15067 -eq "$Wc_c" ||
  352. XX    echo 'ChangeLog: original size 15067, current size' "$Wc_c"
  353. rm -f _shar_wnt_.tmp
  354. fi
  355. # ============= INSTALL ==============
  356. if test -f 'INSTALL' -a X"$1" != X"-c"; then
  357. XX    echo 'x - skipping INSTALL (File already exists)'
  358. XX    rm -f _shar_wnt_.tmp
  359. else
  360. > _shar_wnt_.tmp
  361. echo 'x - extracting INSTALL (Text)'
  362. sed 's/^X//' << 'SHAR_EOF' > 'INSTALL' &&
  363. MAKING
  364. ~~~~~~
  365. XXX
  366. XXX  First get any relevant patch files so as to make the latest patch version.
  367. XXX  You can find out which patch level your xalarm is at by looking at the file
  368. XXX  patchlevel.h in the source directory, or, if you have xalarm built, by:
  369. XXX
  370. % xalarm -version
  371. XXX
  372. XXX  See the man page for more.  Apply any patches, see the patch files themselves
  373. XXX  for more information.
  374. XXX
  375. XXX  If you have problems with compilation or use, look at the PROBLEMS file.
  376. XXX
  377. XXX    1.  If you don't want to use the Imakefile or the Makefile generated from
  378. XXX    it, try using Makefile.alt.
  379. XXX
  380. XXX    Check the flag settings in the Makefile of your choice.  If you are
  381. XXX    using the Imakefile, generate a Makefile by "xmkmf".
  382. XXX
  383. XXX    If you want to use a different notation or language for dates etc., see
  384. XXX    WEEKDAYS and related definitions in dates.h.
  385. XXX
  386. XXX    2.  Try making with "make".  Answer the questions.  Have a play.
  387. XXX
  388. XXX    3.  If you aren't installing (you selfish get), put the XAlarm.ad and
  389. XXX    XAlarm.ad+ in your ~/.xresources file.
  390. XXX
  391. XXX    Otherwise, try "make install install.man".
  392. XXX
  393. XXX  Look at the manual for anything else & enjoy.
  394. XXX
  395. XXX
  396. BUGS
  397. ~~~~
  398. XXX
  399. XXX  See the PROBLEMS file first.
  400. XXX
  401. XXX  If you have any bugs, comments, suggestions, code, fixes, please let me know
  402. XXX  and I will make an attempt to include them.  A few ``things'' are mentioned
  403. XXX  in the bugs section of the manual.  Don't forget to include the xalarm
  404. XXX  version number ("xalarm -version" gives it you), machine/OS,     X11 release &
  405. XXX  patch, WM used, etc.
  406. XXX
  407. SHAR_EOF
  408. chmod 0644 INSTALL ||
  409. echo 'restore of INSTALL failed'
  410. Wc_c="`wc -c < 'INSTALL'`"
  411. test 1452 -eq "$Wc_c" ||
  412. XX    echo 'INSTALL: original size 1452, current size' "$Wc_c"
  413. rm -f _shar_wnt_.tmp
  414. fi
  415. # ============= part.01 ==============
  416. if test -f 'part.01' -a X"$1" != X"-c"; then
  417. XX    echo 'x - skipping part.01 (File already exists)'
  418. XX    rm -f _shar_wnt_.tmp
  419. else
  420. > _shar_wnt_.tmp
  421. echo 'x - extracting part.01 (Text)'
  422. sed 's/^X//' << 'SHAR_EOF' > 'part.01' &&
  423. #!/bin/sh
  424. # This is a shell archive (produced by shar 3.50)
  425. # To extract the files from this archive, save it to a file, remove
  426. # everything above the "!/bin/sh" line above, and type "sh file_name".
  427. #
  428. # made 07/08/1992 15:22 UTC by dcmartin@fascet
  429. # Source directory /home/fascet/dcmartin/csx/src/xalarm-3.04
  430. #
  431. # existing files will NOT be overwritten unless -c is specified
  432. #
  433. #                                                                          
  434. #                                                                          
  435. #
  436. # This shar contains:
  437. # length  mode       name
  438. # ------ ---------- ------------------------------------------
  439. #    827 -rw-r--r-- COPYRIGHT
  440. #  15067 -rw-r--r-- ChangeLog
  441. #   1452 -rw-r--r-- INSTALL
  442. #      0 -rw-r--r-- part.01
  443. #   2472 -rw-r--r-- Imakefile
  444. #  10730 -rw-r--r-- Makefile
  445. #   3717 -rw-r--r-- Makefile.alt
  446. #   6606 -rw-r--r-- PROBLEMS
  447. #   4281 -rw-r--r-- README
  448. #   3684 -rw-r--r-- XAlarm.ad
  449. #   1165 -rw-r--r-- XAlarm.ad+
  450. #   7396 -rw-r--r-- alarm.c
  451. #   2498 -rwxr-xr-x config.1st
  452. #  10134 -rw-r--r-- dates.c
  453. #   2064 -rw-r--r-- dates.h
  454. #   8441 -rw-r--r-- file.c
  455. #  18097 -rw-r--r-- fns.c
  456. #    850 -rwxr-xr-x fullpath
  457. #     30 -rw-r--r-- patchlevel.h
  458. #   5094 -rw-r--r-- times.c
  459. #   5720 -rw-r--r-- warnings.c
  460. #  12351 -rw-r--r-- when.c
  461. #  10665 -rw-r--r-- xalarm.c
  462. #   6981 -rw-r--r-- xalarm.h
  463. #  33900 -rw-r--r-- xalarm.man
  464. #     98 -rwxr-xr-x xmemo
  465. #
  466. if test -r _shar_seq_.tmp; then
  467. XXX    echo 'Must unpack archives in sequence!'
  468. XXX    echo Please unpack part `cat _shar_seq_.tmp` next
  469. XXX    exit 1
  470. fi
  471. # ============= COPYRIGHT ==============
  472. if test -f 'COPYRIGHT' -a X"$1" != X"-c"; then
  473. XXX    echo 'x - skipping COPYRIGHT (File already exists)'
  474. XXX    rm -f _shar_wnt_.tmp
  475. else
  476. > _shar_wnt_.tmp
  477. echo 'x - extracting COPYRIGHT (Text)'
  478. sed 's/^X//' << 'SHAR_EOF' > 'COPYRIGHT' &&
  479. XXXX      Copyright (c) 1991, 1992 by Simon Marshall, University of Hull, UK
  480. XXXX
  481. XXXX           If you still end up late, don't blame me!
  482. XXXX                       
  483. XXXX  Permission to use, copy, modify, distribute, and sell this software and its
  484. XXXX       documentation for any purpose and without fee is hereby granted,
  485. XXXX    provided that the above copyright notice appear in all copies and that
  486. XXXX    both that copyright notice and this permission notice appear in
  487. XXXX               supporting documentation.
  488. XXXX                       
  489. XXXX  This software is provided AS IS with no warranties of any kind.  The author
  490. XXXX    shall have no liability with respect to the infringement of copyrights,
  491. XXXX     trade secrets or any patents by this file or any part thereof.  In no
  492. XXXX      event will the author be liable for any lost revenue or profits or
  493. XXXX          other special, indirect and consequential damages.
  494. SHAR_EOF
  495. chmod 0644 COPYRIGHT ||
  496. echo 'restore of COPYRIGHT failed'
  497. Wc_c="`wc -c < 'COPYRIGHT'`"
  498. test 827 -eq "$Wc_c" ||
  499. XXX    echo 'COPYRIGHT: original size 827, current size' "$Wc_c"
  500. rm -f _shar_wnt_.tmp
  501. fi
  502. # ============= ChangeLog ==============
  503. if test -f 'ChangeLog' -a X"$1" != X"-c"; then
  504. XXX    echo 'x - skipping ChangeLog (File already exists)'
  505. XXX    rm -f _shar_wnt_.tmp
  506. else
  507. > _shar_wnt_.tmp
  508. echo 'x - extracting ChangeLog (Text)'
  509. sed 's/^X//' << 'SHAR_EOF' > 'ChangeLog' &&
  510. Mon Jun 15 12:57:31 1992  Simon Marshall  (sm at olympus)
  511. XXXX
  512. XXXX    * Released xalarm-3.04.
  513. XXXX
  514. Tue May 26 20:49:31 1992  Simon Marshall  (sm at olympus)
  515. XXXX
  516. XXXX    * Daemon extracts display info from command line args.  From a bug
  517. XXXX    report of sorts by Jay Hersh.  Ditto for restarting.
  518. XXXX
  519. Fri May 22 20:07:53 1992  Simon Marshall  (sm at olympus)
  520. XXXX
  521. XXXX    * Warnings not updated as the alarm triggers.
  522. XXXX
  523. XXXX    * Fullpath accepts path directory as well as full path.  Idea from Ned
  524. XXXX    Danieley.
  525. XXXX
  526. Fri May 15 19:59:20 1992  Simon Marshall  (sm at olympus)
  527. XXXX
  528. XXXX    * Explicitly moves to the end of the file before saving; solves the
  529. XXXX    occasional losing of information when many xalarms write to the same
  530. XXXX    file.
  531. XXXX
  532. Tue May 12 13:41:19 1992  Simon Marshall  (sm at olympus)
  533. XXXX
  534. XXXX    * Uses fcntl() rather than flock(), and can use lockf() too.
  535. XXXX
  536. XXXX    * Can use un/link() method as an alternative to rename().
  537. XXXX
  538. Wed May  6 09:52:43 1992  Simon Marshall  (sm at olympus)
  539. XXXX
  540. XXXX    * Certain servers seem to require all parts of the XLFD explicitly, and
  541. XXXX    the iso number specified in case PostScript fonts are around.  From
  542. XXXX    Andreas Stolcke.
  543. XXXX
  544. Sat May  2 15:24:10 1992  Simon Marshall  (sm at olympus)
  545. XXXX
  546. XXXX    * Does not remove "saved" information from confirmation popup on minute
  547. XXXX    change.
  548. XXXX
  549. Wed Apr 29 18:53:28 1992  Simon Marshall  (sm at olympus)
  550. XXXX
  551. XXXX    * Correctly detects absolute alarm time passing in confirmation on
  552. XXXX    minute change, only switches dialog to time entry if the dialog is the
  553. XXXX    confirm.
  554. XXXX
  555. XXXX    * Only complains about no display when restarting alarms if there are
  556. XXXX    alarms to restart.
  557. XXXX
  558. Tue Apr 28 10:13:10 1992  Simon Marshall  (sm at olympus)
  559. XXXX
  560. XXXX    * Released xalarm-3.03.
  561. XXXX
  562. Wed Apr 22 12:06:14 1992  Simon Marshall  (sm at olympus)
  563. XXXX
  564. XXXX    * Properly solved the hanging <defunct> children; wait() only waits for
  565. XXXX    one child.
  566. XXXX
  567. Fri Apr 17 12:11:24 1992  Simon Marshall  (sm at olympus)
  568. XXXX
  569. XXXX    * Correctly adds, not replaces, callbacks on AsciiText widget.  From
  570. XXXX    Donna Converse.
  571. XXXX
  572. Mon Apr 13 22:16:07 1992  Simon Marshall  (sm at olympus)
  573. XXXX
  574. XXXX    * Save button has sensitivity.
  575. XXXX
  576. Wed Apr  8 19:46:43 1992  Simon Marshall  (sm at olympus)
  577. XXXX
  578. XXXX    * Correctly saves multi-line messages when xalarm dies.
  579. XXXX
  580. Tue Apr  7 10:41:46 1992  Simon Marshall  (sm at olympus)
  581. XXXX
  582. XXXX    * Added all as an option to -reset; -kill is the same as -reset, except
  583. XXXX    deadly.
  584. XXXX
  585. XXXX    * Added getlogin() as a way of getting the login name, from Bob
  586. XXXX    Primmer, and also cuserid().
  587. XXXX
  588. Mon Apr  6 18:21:53 1992  Simon Marshall  (sm at olympus)
  589. XXXX
  590. XXXX    * Does not attempt to restart alarms if it cannot open a connection to
  591. XXXX    the display.
  592. XXXX
  593. Fri Mar 27 19:11:22 1992  Simon Marshall  (sm at olympus)
  594. XXXX
  595. XXXX    * Solved the intermittent resize problem - the behaviour of the Shell
  596. XXXX    is undefined for multiple children, even if only one is managed.  Added
  597. XXXX    an intermediate (Form) widget to solve this.
  598. XXXX
  599. Fri Mar 20 20:07:01 1992  Simon Marshall  (sm at olympus)
  600. XXXX
  601. XXXX    * Corrected bug whereby a 2 or 4 digit absolute time with leading
  602. XXXX    zero was not treated as in 24 hour format.
  603. XXXX
  604. Mon Mar 16 20:38:17 1992  Simon Marshall  (sm at olympus)
  605. XXXX
  606. XXXX    * Added -restart, along with the ability for xalarm to save alarms when
  607. XXXX    the session closes.
  608. XXXX
  609. XXXX    * Solved the hanging <defunct> children, thanks to comp.unix.programmer
  610. XXXX    and a cast of thousands.
  611. XXXX
  612. Tue Mar 10 11:55:13 1992  Simon Marshall  (sm at olympus)
  613. XXXX
  614. XXXX    * Added -daemon option, like -file but never returns, and -kill.
  615. XXXX
  616. Sat Mar  7 18:46:38 1992  Simon Marshall  (sm at olympus)
  617. XXXX
  618. XXXX    * Added XALARMFILEPATH so you can have a list of alarm files to check.
  619. XXXX
  620. XXXX    * Can save alarm settings in ~/.xalarms.
  621. XXXX
  622. XXXX    * Put a clock up on each popup.  Also keeps track of any other time
  623. XXXX    dependent information.  From an idea by Gisle Hannemyr.
  624. XXXX
  625. Fri Mar  6 18:19:10 1992  Simon Marshall  (sm at olympus)
  626. XXXX
  627. XXXX    * Changed the way the alarm and warnings make a noise.  Can now specify
  628. XXXX    a shell script to run instead.  Volume control.
  629. XXXX
  630. Tue Mar  3 10:54:02 1992  Simon Marshall  (sm at olympus)
  631. XXXX
  632. XXXX    * Added -pester (or should that be -persecute?), kind of auto-snooze,
  633. XXXX    and time information in popups.  Idea from Gisle Hannemyr.
  634. XXXX
  635. XXXX    * Made a temporary hack-fix for a R5 manifestation of the Shell's
  636. XXXX    ChangeManaged bug: added field padding for confirmation widget label.
  637. XXXX    Yes, I could give a XXXX.  Unfortunately, the bug then shows up under
  638. XXXX    R4.  Can't win them all.
  639. XXXX
  640. XXXX    * Fixed "-file" without-following-arg bug, and Makefiles for brain-dead
  641. XXXX    makes.  From Stefan Haenssgen and Braham Levy.
  642. XXXX
  643. Sun Mar  1 13:19:08 1992  Simon Marshall  (sm at olympus)
  644. XXXX
  645. XXXX    * Made it get the user's home directory via the passwd file too.
  646. XXXX
  647. Fri Feb 28 10:25:31 1992  Simon Marshall  (sm at olympus)
  648. XXXX
  649. XXXX    * Corrected declaration of XtResources defaults which caused a silent
  650. SHAR_EOF
  651. true || echo 'restore of part.01 failed'
  652. fi
  653. echo 'End of  part 1'
  654. echo 'File part.01 is continued in part 2'
  655. echo 2 > _shar_seq_.tmp
  656. Xexit 0
  657. SHAR_EOF
  658. echo 'File part.01 is complete' &&
  659. chmod 0644 part.01 ||
  660. echo 'restore of part.01 failed'
  661. Wc_c="`wc -c < 'part.01'`"
  662. test 50626 -eq "$Wc_c" ||
  663.     echo 'part.01: original size 50626, current size' "$Wc_c"
  664. rm -f _shar_wnt_.tmp
  665. fi
  666. # ============= Imakefile ==============
  667. if test -f 'Imakefile' -a X"$1" != X"-c"; then
  668.     echo 'x - skipping Imakefile (File already exists)'
  669.     rm -f _shar_wnt_.tmp
  670. else
  671. > _shar_wnt_.tmp
  672. echo 'x - extracting Imakefile (Text)'
  673. sed 's/^X//' << 'SHAR_EOF' > 'Imakefile' &&
  674. /**/# Based on an Imakefile from:
  675. /**/# Andreas Stolcke
  676. /**/# International Computer Science Institute, Berkeley.
  677. /**/# With help from:
  678. /**/# George Lindholm, Jonathan I. Kamens, Braham Levy.
  679. X
  680. X
  681. /**/# o Define FORKRETURNSSHORT/FORKRETURNSLONG/FORKRETURNSPID_T if your
  682. /**/#   fork(2) returns short/long/pid_t not int.
  683. /**/# o Define USEFLOCK or USELOCKF to use flock(2) or lockf(3) to lock files,
  684. /**/#   rather than fcntl(2).
  685. /**/# o Define USELSEEK to use lseek(2) to move to the end of the file, rather
  686. /**/#   than fseek(3).
  687. /**/# o Define USERENAME to use rename(2) to rename file names (otherwise
  688. /**/#   un/link(2)).
  689. /**/# o Define USEGETHOSTNAME or USEUNAME (or neither if you don't have
  690. /**/#   gethostname(2) or uname(2)) to get the name of your system.
  691. /**/# o Define USEGETPWUID to use getpwuid(3) and getuid(2) to get the user
  692. /**/#   name and home directory on your system.  Note that if you want to use
  693. /**/#   this method to get the user's home directory, but another method to get
  694. /**/#   the user name, this symbol must still be defined.
  695. /**/# o Define USEGETLOGIN to use getlogin(3) to get the user name (note that
  696. /**/#   this may not work if xalarm is invoked from a pseudo terminal).
  697. /**/# o Define USECUSERID to use cuserid(3) to get the user name.
  698. X
  699. DEFINES = $(SIGNAL_DEFINES) -DUSERENAME -DUSEGETHOSTNAME -DUSEGETPWUID
  700. X
  701. X
  702. OBJS = alarm.o when.o warnings.o times.o dates.o file.o fns.o xalarm.o
  703. SRCS = alarm.c when.c warnings.c times.c dates.c file.c fns.c xalarm.c
  704. X
  705. MADE = test -f
  706. X
  707. LOCAL_LIBRARIES = XawClientLibs
  708. X
  709. AllTarget (.config)
  710. ComplexProgramTarget (xalarm)
  711. X
  712. InstallAppDefaults (XAlarm)
  713. InstallMultipleFlags (xmemo xfortune xyow, $(BINDIR), $(INSTBINFLAGS))
  714. InstallManPage (xmemo, $(MANDIR))
  715. InstallManPage (xfortune, $(MANDIR))
  716. InstallManPage (xyow, $(MANDIR))
  717. X
  718. includes:: fns.h
  719. X
  720. fns.h:
  721. X    @./config.1st -quick fortune yow
  722. X
  723. xmemo.man xyow.man xfortune.man:
  724. X    echo ".so man"`echo ManSuffix`"/xalarm."`echo ManSuffix` > $@
  725. X
  726. xfortune::
  727. X
  728. xyow::
  729. X
  730. clean::
  731. X    $(RM) xfortune xyow xmemo.man xyow.man xfortune.man fns.h .config
  732. X
  733. config::
  734. X    @./config.1st -quick fortune yow
  735. X    @xrdb -merge XAlarm.ad
  736. X    @xrdb -merge XAlarm.ad+
  737. X
  738. .config::
  739. X    @-$(MADE) .config || make config
  740. X
  741. alarm.o:    xalarm.h patchlevel.h
  742. when.o:        xalarm.h patchlevel.h dates.h
  743. warnings.o:    xalarm.h patchlevel.h
  744. times.o:    xalarm.h patchlevel.h dates.h
  745. dates.o:    xalarm.h patchlevel.h dates.h
  746. file.o:        xalarm.h patchlevel.h dates.h
  747. fns.o:        xalarm.h patchlevel.h fns.h
  748. xalarm.o:    xalarm.h patchlevel.h
  749. SHAR_EOF
  750. chmod 0644 Imakefile ||
  751. echo 'restore of Imakefile failed'
  752. Wc_c="`wc -c < 'Imakefile'`"
  753. test 2472 -eq "$Wc_c" ||
  754.     echo 'Imakefile: original size 2472, current size' "$Wc_c"
  755. rm -f _shar_wnt_.tmp
  756. fi
  757. # ============= Makefile ==============
  758. if test -f 'Makefile' -a X"$1" != X"-c"; then
  759.     echo 'x - skipping Makefile (File already exists)'
  760.     rm -f _shar_wnt_.tmp
  761. else
  762. > _shar_wnt_.tmp
  763. echo 'x - extracting Makefile (Text)'
  764. sed 's/^X//' << 'SHAR_EOF' > 'Makefile' &&
  765. # Makefile generated by imake - do not edit!
  766. # $XConsortium: imake.c,v 1.51 89/12/12 12:37:30 jim Exp $
  767. #
  768. # The cpp used on this machine replaces all newlines and multiple tabs and
  769. # spaces in a macro expansion with a single space.  Imake tries to compensate
  770. # for this, but is not always successful.
  771. #
  772. X
  773. ###########################################################################
  774. # Makefile generated from "Imake.tmpl" and <Imakefile>
  775. # $XConsortium: Imake.tmpl,v 1.77 89/12/18 17:01:37 jim Exp $
  776. #
  777. # Platform-specific parameters may be set in the appropriate .cf
  778. # configuration files.  Site-wide parameters may be set in the file
  779. # site.def.  Full rebuilds are recommended if any parameters are changed.
  780. #
  781. # If your C preprocessor doesn't define any unique symbols, you'll need
  782. # to set BOOTSTRAPCFLAGS when rebuilding imake (usually when doing
  783. # "make Makefile", "make Makefiles", or "make World").
  784. #
  785. # If you absolutely can't get imake to work, you'll need to set the
  786. # variables at the top of each Makefile as well as the dependencies at the
  787. # bottom (makedepend will do this automatically).
  788. #
  789. X
  790. ###########################################################################
  791. # platform-specific configuration parameters - edit sun.cf to change
  792. X
  793. # platform:  $XConsortium: sun.cf,v 1.38 89/12/23 16:10:10 jim Exp $
  794. # operating system:  SunOS 4.0.3
  795. X
  796. ###########################################################################
  797. # site-specific configuration parameters - edit site.def to change
  798. X
  799. # site:  $XConsortium: site.def,v 1.21 89/12/06 11:46:50 jim Exp $
  800. X
  801. X            SHELL = /bin/sh
  802. X
  803. X              TOP = .
  804. X      CURRENT_DIR = .
  805. X
  806. X               AR = ar cq
  807. X  BOOTSTRAPCFLAGS =
  808. X               CC = cc
  809. X
  810. X         COMPRESS = compress
  811. X              CPP = /lib/cpp $(STD_CPP_DEFINES)
  812. X    PREPROCESSCMD = cc -E $(STD_CPP_DEFINES)
  813. X          INSTALL = install
  814. X               LD = ld
  815. X             LINT = lint
  816. X      LINTLIBFLAG = -C
  817. X         LINTOPTS = -axz
  818. X               LN = ln -s
  819. X             MAKE = make
  820. X               MV = mv
  821. X               CP = cp
  822. X           RANLIB = ranlib
  823. X  RANLIBINSTFLAGS =
  824. X               RM = rm -f
  825. X     STD_INCLUDES =
  826. X  STD_CPP_DEFINES =
  827. X      STD_DEFINES =
  828. X EXTRA_LOAD_FLAGS =
  829. X  EXTRA_LIBRARIES =
  830. X             TAGS = ctags
  831. X
  832. X    SHAREDCODEDEF = -DSHAREDCODE
  833. X         SHLIBDEF = -DSUNSHLIB
  834. X
  835. X    PROTO_DEFINES =
  836. X
  837. X     INSTPGMFLAGS =
  838. X
  839. X     INSTBINFLAGS = -m 0755
  840. X     INSTUIDFLAGS = -m 4755
  841. X     INSTLIBFLAGS = -m 0664
  842. X     INSTINCFLAGS = -m 0444
  843. X     INSTMANFLAGS = -m 0444
  844. X     INSTDATFLAGS = -m 0444
  845. X    INSTKMEMFLAGS = -m 4755
  846. X
  847. X          DESTDIR =
  848. X
  849. X     TOP_INCLUDES = -I$(INCROOT)
  850. X
  851. X      CDEBUGFLAGS = -O
  852. X        CCOPTIONS =
  853. X      COMPATFLAGS =
  854. X
  855. X      ALLINCLUDES = $(STD_INCLUDES) $(TOP_INCLUDES) $(INCLUDES) $(EXTRA_INCLUDES)
  856. X       ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(PROTO_DEFINES) $(DEFINES) $(COMPATFLAGS)
  857. X           CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(ALLDEFINES)
  858. X        LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES)
  859. X           LDLIBS = $(SYS_LIBRARIES) $(EXTRA_LIBRARIES)
  860. X        LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS)
  861. X   LDCOMBINEFLAGS = -X -r
  862. X
  863. X        MACROFILE = sun.cf
  864. X           RM_CMD = $(RM) *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut
  865. X
  866. X    IMAKE_DEFINES =
  867. X
  868. X         IRULESRC = $(CONFIGDIR)
  869. X        IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(IRULESRC) $(IMAKE_DEFINES)
  870. X
  871. X     ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/Imake.rules \
  872. X            $(IRULESRC)/Project.tmpl $(IRULESRC)/site.def \
  873. X            $(IRULESRC)/$(MACROFILE) $(EXTRA_ICONFIGFILES)
  874. X
  875. ###########################################################################
  876. # X Window System Build Parameters
  877. # $XConsortium: Project.tmpl,v 1.63 89/12/18 16:46:44 jim Exp $
  878. X
  879. ###########################################################################
  880. # X Window System make variables; this need to be coordinated with rules
  881. # $XConsortium: Project.tmpl,v 1.63 89/12/18 16:46:44 jim Exp $
  882. X
  883. X          PATHSEP = /
  884. X        USRLIBDIR = $(DESTDIR)/usr/lib
  885. X           BINDIR = $(DESTDIR)/usr/bin/X11
  886. X          INCROOT = $(DESTDIR)/usr/include
  887. X     BUILDINCROOT = $(TOP)
  888. X      BUILDINCDIR = $(BUILDINCROOT)/X11
  889. X      BUILDINCTOP = ..
  890. X           INCDIR = $(INCROOT)/X11
  891. X           ADMDIR = $(DESTDIR)/usr/adm
  892. X           LIBDIR = $(USRLIBDIR)/X11
  893. X        CONFIGDIR = $(LIBDIR)/config
  894. X       LINTLIBDIR = $(USRLIBDIR)/lint
  895. X
  896. X          FONTDIR = $(LIBDIR)/fonts
  897. X         XINITDIR = $(LIBDIR)/xinit
  898. X           XDMDIR = $(LIBDIR)/xdm
  899. X           AWMDIR = $(LIBDIR)/awm
  900. X           TWMDIR = $(LIBDIR)/twm
  901. X           GWMDIR = $(LIBDIR)/gwm
  902. X          MANPATH = $(DESTDIR)/usr/man
  903. X    MANSOURCEPATH = $(MANPATH)/man
  904. X           MANDIR = $(MANSOURCEPATH)n
  905. X        LIBMANDIR = $(MANSOURCEPATH)3
  906. X      XAPPLOADDIR = $(LIBDIR)/app-defaults
  907. X
  908. X        SOXLIBREV = 4.2
  909. X          SOXTREV = 4.0
  910. X         SOXAWREV = 4.0
  911. X        SOOLDXREV = 4.0
  912. X         SOXMUREV = 4.0
  913. X        SOXEXTREV = 4.0
  914. X
  915. X       FONTCFLAGS = -t
  916. X
  917. X     INSTAPPFLAGS = $(INSTDATFLAGS)
  918. X
  919. X            IMAKE = imake
  920. X           DEPEND = makedepend
  921. X              RGB = rgb
  922. X            FONTC = bdftosnf
  923. X        MKFONTDIR = mkfontdir
  924. X        MKDIRHIER = /bin/sh $(BINDIR)/mkdirhier.sh
  925. X
  926. X        CONFIGSRC = $(TOP)/config
  927. X        CLIENTSRC = $(TOP)/clients
  928. X          DEMOSRC = $(TOP)/demos
  929. X           LIBSRC = $(TOP)/lib
  930. X          FONTSRC = $(TOP)/fonts
  931. X       INCLUDESRC = $(TOP)/X11
  932. X        SERVERSRC = $(TOP)/server
  933. X          UTILSRC = $(TOP)/util
  934. X        SCRIPTSRC = $(UTILSRC)/scripts
  935. X       EXAMPLESRC = $(TOP)/examples
  936. X       CONTRIBSRC = $(TOP)/../contrib
  937. X           DOCSRC = $(TOP)/doc
  938. X           RGBSRC = $(TOP)/rgb
  939. X        DEPENDSRC = $(UTILSRC)/makedepend
  940. X         IMAKESRC = $(CONFIGSRC)
  941. X         XAUTHSRC = $(LIBSRC)/Xau
  942. X          XLIBSRC = $(LIBSRC)/X
  943. X           XMUSRC = $(LIBSRC)/Xmu
  944. X       TOOLKITSRC = $(LIBSRC)/Xt
  945. X       AWIDGETSRC = $(LIBSRC)/Xaw
  946. X       OLDXLIBSRC = $(LIBSRC)/oldX
  947. X      XDMCPLIBSRC = $(LIBSRC)/Xdmcp
  948. X      BDFTOSNFSRC = $(FONTSRC)/bdftosnf
  949. X     MKFONTDIRSRC = $(FONTSRC)/mkfontdir
  950. X     EXTENSIONSRC = $(TOP)/extensions
  951. X
  952. X  DEPEXTENSIONLIB = $(USRLIBDIR)/libXext.a
  953. X     EXTENSIONLIB =  -lXext
  954. X
  955. X          DEPXLIB = $(DEPEXTENSIONLIB)
  956. X             XLIB = $(EXTENSIONLIB) -lX11
  957. X
  958. X      DEPXAUTHLIB = $(USRLIBDIR)/libXau.a
  959. X         XAUTHLIB =  -lXau
  960. X
  961. X        DEPXMULIB =
  962. X           XMULIB = -lXmu
  963. X
  964. X       DEPOLDXLIB =
  965. X          OLDXLIB = -loldX
  966. X
  967. X      DEPXTOOLLIB =
  968. X         XTOOLLIB = -lXt
  969. X
  970. X        DEPXAWLIB =
  971. X           XAWLIB = -lXaw
  972. X
  973. X LINTEXTENSIONLIB = $(USRLIBDIR)/llib-lXext.ln
  974. X         LINTXLIB = $(USRLIBDIR)/llib-lX11.ln
  975. X          LINTXMU = $(USRLIBDIR)/llib-lXmu.ln
  976. X        LINTXTOOL = $(USRLIBDIR)/llib-lXt.ln
  977. X          LINTXAW = $(USRLIBDIR)/llib-lXaw.ln
  978. X
  979. X          DEPLIBS = $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXLIB)
  980. X
  981. X         DEPLIBS1 = $(DEPLIBS)
  982. X         DEPLIBS2 = $(DEPLIBS)
  983. X         DEPLIBS3 = $(DEPLIBS)
  984. X
  985. ###########################################################################
  986. # Imake rules for building libraries, programs, scripts, and data files
  987. # rules:  $XConsortium: Imake.rules,v 1.67 89/12/18 17:14:15 jim Exp $
  988. X
  989. ###########################################################################
  990. # start of Imakefile
  991. X
  992. # Based on an Imakefile from:
  993. # Andreas Stolcke
  994. # International Computer Science Institute, Berkeley.
  995. # With help from:
  996. # George Lindholm, Jonathan I. Kamens, Braham Levy.
  997. X
  998. # Define USEGETHOSTNAME, USEUNAME (or neither if you don't have gethostname()
  999. #    or uname()) to get the name of your system:
  1000. # Define USEGETPWUID to use getpwuid() and getuid() to get the user name and
  1001. #    home directory on your system.  If you want to use this method to get the
  1002. #    user's home directory, but another method to get the user name, this
  1003. #    symbol must still be defined:
  1004. # Define USEGETLOGIN to use getlogin() to get the user name (note that this
  1005. #    may not work if xalarm is invoked from a pseudo terminal):
  1006. # Define USECUSERID to use cuserid() to get the user name:
  1007. DEFINES = $(SIGNAL_DEFINES) -DUSEGETHOSTNAME -DUSEGETPWUID
  1008. X
  1009. OBJS = alarm.o when.o warnings.o times.o dates.o file.o fns.o xalarm.o
  1010. SRCS = alarm.c when.c warnings.c times.c dates.c file.c fns.c xalarm.c
  1011. X
  1012. MADE = test -f
  1013. X
  1014. LOCAL_LIBRARIES = $(XAWLIB) $(XMULIB) $(XTOOLLIB) $(XLIB)
  1015. X
  1016. all:: .config
  1017. X
  1018. X PROGRAM = xalarm
  1019. X
  1020. all:: xalarm
  1021. X
  1022. xalarm: $(OBJS) $(DEPLIBS)
  1023. X    $(RM) $@
  1024. X    $(CC) -o $@ $(OBJS) $(LDOPTIONS) $(LOCAL_LIBRARIES) $(LDLIBS) $(EXTRA_LOAD_FLAGS)
  1025. X
  1026. install:: xalarm
  1027. X    $(INSTALL) -c $(INSTPGMFLAGS)   xalarm $(BINDIR)
  1028. X
  1029. install.man:: xalarm.man
  1030. X    $(INSTALL) -c $(INSTMANFLAGS) xalarm.man $(MANDIR)/xalarm.n
  1031. X
  1032. depend::
  1033. X    $(DEPEND) -s "# DO NOT DELETE" -- $(ALLDEFINES) -- $(SRCS)
  1034. X
  1035. lint:
  1036. X    $(LINT) $(LINTFLAGS) $(SRCS) $(LINTLIBS)
  1037. lint1:
  1038. X    $(LINT) $(LINTFLAGS) $(FILE) $(LINTLIBS)
  1039. X
  1040. clean::
  1041. X    $(RM) $(PROGRAM)
  1042. X
  1043. install:: XAlarm.ad
  1044. X    $(INSTALL) -c $(INSTAPPFLAGS) XAlarm.ad $(XAPPLOADDIR)/XAlarm
  1045. X
  1046. install:: xmemo xfortune xyow
  1047. X    @case '${MFLAGS}' in *[i]*) set +e;; esac; \
  1048. X    for i in xmemo xfortune xyow; do \
  1049. X    (set -x; $(INSTALL) -c  $(INSTBINFLAGS) $$i  $(BINDIR)); \
  1050. X    done
  1051. X
  1052. install.man:: xmemo.man
  1053. X    $(INSTALL) -c $(INSTMANFLAGS) xmemo.man  $(MANDIR)/xmemo.n
  1054. X
  1055. install.man:: xfortune.man
  1056. X    $(INSTALL) -c $(INSTMANFLAGS) xfortune.man  $(MANDIR)/xfortune.n
  1057. X
  1058. install.man:: xyow.man
  1059. X    $(INSTALL) -c $(INSTMANFLAGS) xyow.man  $(MANDIR)/xyow.n
  1060. X
  1061. includes:: fns.h
  1062. X
  1063. fns.h:
  1064. X    @./config.1st -quick fortune yow
  1065. X
  1066. xmemo.man xyow.man xfortune.man:
  1067. X    echo ".so man"`echo n`"/xalarm."`echo n` > $@
  1068. X
  1069. xfortune::
  1070. X
  1071. xyow::
  1072. X
  1073. clean::
  1074. X    $(RM) xfortune xyow xmemo.man xyow.man xfortune.man fns.h .config
  1075. X
  1076. config::
  1077. X    @./config.1st -quick fortune yow
  1078. X    @xrdb -merge XAlarm.ad
  1079. X    @xrdb -merge XAlarm.ad+
  1080. X
  1081. .config::
  1082. X    @-$(MADE) .config || make config
  1083. X
  1084. alarm.o:    xalarm.h patchlevel.h
  1085. when.o:        xalarm.h patchlevel.h dates.h
  1086. warnings.o:    xalarm.h patchlevel.h
  1087. times.o:    xalarm.h patchlevel.h dates.h
  1088. dates.o:    xalarm.h patchlevel.h dates.h
  1089. file.o:        xalarm.h patchlevel.h dates.h
  1090. fns.o:        xalarm.h patchlevel.h fns.h
  1091. xalarm.o:    xalarm.h patchlevel.h
  1092. X
  1093. ###########################################################################
  1094. # common rules for all Makefiles - do not edit
  1095. X
  1096. emptyrule::
  1097. X
  1098. clean::
  1099. X    $(RM_CMD) \#*
  1100. X
  1101. Makefile::
  1102. X    -@if [ -f Makefile ]; then \
  1103. X    echo "    $(RM) Makefile.bak; $(MV) Makefile Makefile.bak"; \
  1104. X    $(RM) Makefile.bak; $(MV) Makefile Makefile.bak; \
  1105. X    else exit 0; fi
  1106. X    $(IMAKE_CMD) -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR)
  1107. X
  1108. tags::
  1109. X    $(TAGS) -w *.[ch]
  1110. X    $(TAGS) -xw *.[ch] > TAGS
  1111. X
  1112. ###########################################################################
  1113. # empty rules for directories that do not have SUBDIRS - do not edit
  1114. X
  1115. install::
  1116. X    @echo "install in $(CURRENT_DIR) done"
  1117. X
  1118. install.man::
  1119. X    @echo "install.man in $(CURRENT_DIR) done"
  1120. X
  1121. Makefiles::
  1122. X
  1123. includes::
  1124. X
  1125. ###########################################################################
  1126. # dependencies generated by makedepend
  1127. X
  1128. SHAR_EOF
  1129. chmod 0644 Makefile ||
  1130. echo 'restore of Makefile failed'
  1131. Wc_c="`wc -c < 'Makefile'`"
  1132. test 10730 -eq "$Wc_c" ||
  1133.     echo 'Makefile: original size 10730, current size' "$Wc_c"
  1134. rm -f _shar_wnt_.tmp
  1135. fi
  1136. # ============= Makefile.alt ==============
  1137. if test -f 'Makefile.alt' -a X"$1" != X"-c"; then
  1138.     echo 'x - skipping Makefile.alt (File already exists)'
  1139.     rm -f _shar_wnt_.tmp
  1140. else
  1141. > _shar_wnt_.tmp
  1142. echo 'x - extracting Makefile.alt (Text)'
  1143. sed 's/^X//' << 'SHAR_EOF' > 'Makefile.alt' &&
  1144. # Remove -lXext if you don't have it; it's only used for button shapes which
  1145. # default to rectangle anyway.
  1146. CC    = cc
  1147. CFLAGS    = -O
  1148. LDFLAGS    = -lXaw -lXmu -lXt -lX11 -lXext
  1149. X
  1150. X
  1151. # o Define SIGNALRETURNSINT if your signal(3) returns int not void.
  1152. # o Define FORKRETURNSSHORT/FORKRETURNSLONG/FORKRETURNSPID_T if your fork(2)
  1153. #   returns short/long/pid_t not int.
  1154. # o Define USEFLOCK or USELOCKF to use flock(2) or lockf(3) to lock files,
  1155. #   rather than fcntl(2).
  1156. # o Define USELSEEK to use lseek(2) to move to the end of the file, rather than
  1157. #   fseek(3).
  1158. # o Define USERENAME to use rename(2) to rename file names (otherwise
  1159. #   un/link(2)).
  1160. # o Define USEGETHOSTNAME or USEUNAME (or neither if you don't have
  1161. #   gethostname(2) or uname(2)) to get the name of your system.
  1162. # o Define USEGETPWUID to use getpwuid(2) and getuid(2) to get the user name
  1163. #   and home directory on your system.  Note that if you want to use this
  1164. #   method to get the user's home directory, but another method to get the user
  1165. #   name, this symbol must still be defined.
  1166. # o Define USEGETLOGIN to use getlogin(3) to get the user name (note that this
  1167. #   may not work if xalarm is invoked from a pseudo terminal).
  1168. # o Define USECUSERID to use cuserid(3) to get the user name.
  1169. X
  1170. DEFINES = -DUSERENAME -DUSEGETHOSTNAME -DUSEGETPWUID
  1171. X
  1172. X
  1173. # My, is this complex!  These are the usual places for installation.
  1174. PREFIX    = 
  1175. MANSUFX    = n
  1176. XX11BIN    = $(PREFIX)/usr/bin/X11
  1177. XX11MAN    = $(PREFIX)/usr/man/man$(MANSUFX)
  1178. XX11AD    = $(PREFIX)/usr/lib/X11/app-defaults
  1179. X
  1180. X
  1181. # Bits and bobs.
  1182. MADE    = test -f
  1183. STRIP    = /bin/strip
  1184. CP    = /bin/cp
  1185. RM    = /bin/rm -f
  1186. TAGS    = etags -t
  1187. LINT    = lint -hbxca
  1188. X
  1189. X
  1190. OBJS    = alarm.o when.o warnings.o times.o dates.o file.o fns.o xalarm.o
  1191. SRCS    = alarm.c when.c warnings.c times.c dates.c file.c fns.c xalarm.c
  1192. X
  1193. # If your make complains about the && conditional sequences, you may have to do
  1194. # them by hand or go hacking below...  The executables and man pages go in the
  1195. # same directories as xalarm do.
  1196. X
  1197. # The & variable tells a Sequent to do a parallel make, forking compilation
  1198. # processes.  Set this variable to whatever value you need for your parallel
  1199. # machine.  Or you could just use GNU make with "-j".
  1200. X
  1201. # If your make will not except this (ie. it is brain dead), try "make
  1202. # MADE=test" or "make config" (or both), then "make xalarm" if necessary.  The
  1203. # other solution is to use GNU make.
  1204. X
  1205. all: .config xalarm
  1206. X
  1207. xalarm: $& $(OBJS)
  1208. X    $(CC) $(CFLAGS) -o xalarm $(OBJS) $(LDFLAGS)
  1209. X
  1210. .c.o:
  1211. X    $(CC) -c $(CFLAGS) $(DEFINES) $<
  1212. X
  1213. install: all
  1214. X    $(STRIP) xalarm
  1215. X    $(CP) xalarm xmemo $(X11BIN)
  1216. X    $(MADE) xfortune && $(CP) xfortune $(X11BIN)
  1217. X    $(MADE) xyow && $(CP) xyow $(X11BIN)
  1218. X    $(CP) XAlarm.ad $(X11AD)/XAlarm
  1219. X
  1220. install.man:
  1221. X    $(CP) xalarm.man $(X11MAN)/xalarm.$(MANSUFX)
  1222. X    $(MAKE) xmemo.man && $(CP) xmemo.man $(X11MAN)/xmemo.$(MANSUFX)
  1223. X    $(MADE) xfortune && $(MAKE) xfortune.man && \
  1224. X        $(CP) xfortune.man $(X11MAN)/xfortune.$(MANSUFX)
  1225. X    $(MADE) xyow && $(MAKE) xyow.man && $(CP) xyow.man $(X11MAN)/xyow.$(MANSUFX)
  1226. X
  1227. xmemo.man xyow.man xfortune.man:
  1228. X    echo ".so man$(MANSUFX)/xalarm.$(MANSUFX)" > $@
  1229. X    
  1230. X
  1231. fns.h:
  1232. X    @./config.1st -quick fortune yow
  1233. X
  1234. tags:
  1235. X    $(TAGS) $(SRCS)
  1236. X
  1237. clean:
  1238. X    $(RM) $(OBJS) xalarm xfortune xyow fns.h .config core *~ #*
  1239. X
  1240. lint:
  1241. X    $(LINT) $(SRCS)
  1242. X
  1243. # Make sure the resources are loaded so xalarm can be used before installed etc.
  1244. config:
  1245. X    @./config.1st -quick fortune yow
  1246. X    @xrdb -merge XAlarm.ad
  1247. X    @xrdb -merge XAlarm.ad+
  1248. X
  1249. .config::
  1250. X    @-$(MADE) .config || make config
  1251. X
  1252. alarm.o:    xalarm.h patchlevel.h
  1253. when.o:        xalarm.h patchlevel.h dates.h
  1254. warnings.o:    xalarm.h patchlevel.h
  1255. times.o:    xalarm.h patchlevel.h dates.h
  1256. dates.o:    xalarm.h patchlevel.h dates.h
  1257. file.o:        xalarm.h patchlevel.h dates.h
  1258. fns.o:        xalarm.h patchlevel.h fns.h
  1259. xalarm.o:    xalarm.h patchlevel.h
  1260. SHAR_EOF
  1261. chmod 0644 Makefile.alt ||
  1262. echo 'restore of Makefile.alt failed'
  1263. Wc_c="`wc -c < 'Makefile.alt'`"
  1264. test 3717 -eq "$Wc_c" ||
  1265.     echo 'Makefile.alt: original size 3717, current size' "$Wc_c"
  1266. rm -f _shar_wnt_.tmp
  1267. fi
  1268. # ============= PROBLEMS ==============
  1269. if test -f 'PROBLEMS' -a X"$1" != X"-c"; then
  1270.     echo 'x - skipping PROBLEMS (File already exists)'
  1271.     rm -f _shar_wnt_.tmp
  1272. else
  1273. > _shar_wnt_.tmp
  1274. echo 'x - extracting PROBLEMS (Text)'
  1275. sed 's/^X//' << 'SHAR_EOF' > 'PROBLEMS' &&
  1276. COMPILATION
  1277. ~~~~~~~~~~~
  1278. X
  1279. X    1.  Make dies a death.  Some vendor's "make" are brain dead.  One solution
  1280. X    is to use GNU make, the other is to do some of it by hand.  Try "make
  1281. X    MADE=test" or "make config" (or both), then "make xalarm" if necessary.
  1282. X    Then shout at your vendor.
  1283. X
  1284. X    2.    Make says something like "xrdb: Can't open display" or "Command failed
  1285. X    for target `config'".  When you first make, make attempts to merge the
  1286. X    resources necessary to use xalarm for the current session, without the
  1287. X    resources properly installed.  What has happened is that the DISPLAY
  1288. X    variable is not set to be your display, so xrdb cannot know which
  1289. X    display the resources are for.
  1290. X
  1291. X    To fix, set the DISPLAY variable.  It should be set to the name of the
  1292. X    host that the display is running on.  If you are compiling on the same
  1293. X    machine as the display is on, it should probably be something like
  1294. X    "`hostname`:0.0", where hostname returns the name of the host.
  1295. X
  1296. X    3.    Both 3 and 4 may be caused by you using the supplied Makefile, rather
  1297. X    than generating your own by "xmkmf".
  1298. X
  1299. X    When using the Makefile generated from the Imakefile, compiler says
  1300. X    things like, "Don't know how to make target `lib/Xaw/libXaw.a'".  You
  1301. X    are not building in the contrib directory, so try removing $(DEPLIBS)
  1302. X    from the xalarm target in the Makefile.
  1303. X
  1304. X    4.    When using the Makefile generated from the Imakefile, the loader says
  1305. X    things like, "ld: ./lib/Xaw/libXaw.a: No such file or directory".  You
  1306. X    are not building in the contrib directory, so try re-defining
  1307. X    LOCAL_LIBRARIES to be "-lXaw -lXmu -lXt -lXext -lX11" in the Makefile.
  1308. X
  1309. X    5.    Compiler complains about non-existent fns.h.  Try "make config" first.
  1310. X    If this does not work, hack config.1st to put the correct definitions
  1311. X    for GETXALARMPIDS and KILLPATH in fns.h, and create the xfortune & xyow
  1312. X    shell scripts (if you can be bothered).  None of this is essential for
  1313. X    xalarm, but something has to be defined in fns.h.
  1314. X
  1315. X    If you don't have "kill", "ps", "grep" or "colrm", you can compile
  1316. X    xalarm, but you won't be able to use -kill, -reset or -list options.
  1317. X
  1318. X    The command ps(1) lists processes.  The command grep(1) is a pattern
  1319. X    matcher.  The command colrm(1) removes everything from its input after
  1320. X    the sixth column.  Look at the file config.1st.
  1321. X
  1322. X    6.    Compiler complains about gethostname(2), uname(2), getpwuid(3),
  1323. X    getuid(2), pwd.h, getlogin(3) or cuserid(3).  These are the different
  1324. X    ways in which xalarm gets the host name, and the user's name and home
  1325. X    directory.  See the Imakefile or Makefile.alt on how to control which
  1326. X    of these calls are used using compiler symbol defines.
  1327. X
  1328. X    7.    Compiler complains about flock(2), lockf(3) or fcntl(2).  This is how
  1329. X    xalarm locks an alarm file before writing to it.  See the Imakefile or
  1330. X    Makefile.alt on how to control which of these calls are used using
  1331. X    compiler symbol defines.
  1332. X
  1333. X    8.    Compiler complains about fseek(3).  See the Imakefile or Makefile.alt
  1334. X    on how to xalarm use lseek(2) instead, using compiler symbol defines.
  1335. X
  1336. X    9.    Compiler complains about rename(2).  See the Imakefile or Makefile.alt
  1337. X    on how to make xalarm use link(2)/unlink(2) instead, using compiler
  1338. X    symbol defines.
  1339. X
  1340. X   10.    Compiler complains about the type declaration of fork(2).  See the
  1341. X    Imakefile or Makefile.alt on how to control how it is defined, using
  1342. X    compiler symbol defines.
  1343. X
  1344. X   11.    If you don't have "fortune" or "yow", you can't have "xfortune" or
  1345. X    "xyow".
  1346. X
  1347. X    What about other programs, along with xyow and xfortune, can I make
  1348. X    these too?  To make the executable shell script "xyourprogram" in the
  1349. X    current directory, do:
  1350. X
  1351. X        % config.1st [-quick] yourprogram
  1352. X
  1353. X    You will be asked about "ps" etc. again, but persevere.  You will have
  1354. X    to install both the executable and manual page yourself.  The manual
  1355. X    page would be an exact copy of xmemo.man.  If xmemo.man is not made:
  1356. X
  1357. X        % make xmemo.man
  1358. X
  1359. X
  1360. RUNNING
  1361. ~~~~~~~
  1362. X
  1363. X    1.    The alarm comes up with buttons overlayed etc., it's a mess.  The
  1364. X    resources aren't around and xalarm is almost completely controlled by
  1365. X    them.  Either install the resources (so others can also use xalarm), or
  1366. X    include them in your ~/.xresources file.  When xalarm is first made,
  1367. X    the resources are merged automatically so that you need not do this, at
  1368. X    least for that current session.
  1369. X
  1370. X    2.    Xalarm does not use your user name as the alarm popup name, and
  1371. X    complains about not being able to open your alarm file, on some
  1372. X    systems.  This may be because xalarm is using getpwuid() et al to get
  1373. X    the user name and home directory, but no /etc/passwd file exists on the
  1374. X    local host.  You could compile xalarm so that it uses a different
  1375. X    method; see 6 under COMPILATION.
  1376. X
  1377. X    3.    You want to layout the alarm buttons differently, don't you?  Mine not
  1378. X    good enough?  The buttons are within a Form widget, so have a look at
  1379. X    the Xaw man page for this.  Each button has the placement resources
  1380. X    fromHoriz, fromVert, horizDistance & vertDistance.  There are some
  1381. X    suggestions in the xalarm man page too.
  1382. X
  1383. X    The button box and message label are also in a (higher level) Form
  1384. X    widget, so you can also change the relationship of button box to
  1385. X    message text.  See the man page too.
  1386. X
  1387. X    Note that the ordering of resources are important; you can't refer to a
  1388. X    widget in a resource before it's created by xalarm.  The order of
  1389. X    creation is:
  1390. X
  1391. X        Parent    Widget(s)
  1392. X        ---------------------
  1393. X        alarm    buttons
  1394. X        buttons    quit snooze snooze1 snooze5 snooze15 snoozetime
  1395. X        alarm    message
  1396. X
  1397. X    4.    A good font alternative to the "-times-" family (for something slightly
  1398. X    more readable) is "-new century schoolbook-".  See the EXAMPLE RESOURCE
  1399. X    section of the man page.
  1400. X
  1401. X    5.  When using the -kill, -reset or -list options, weird text appears and
  1402. X    the command fails.  This may be due to your ~/.cshrc file, or
  1403. X    equivalent, doing some output.  It shouldn't be.
  1404. X
  1405. X    6.    Occasionally, an xalarm process appears not to save its alarm when the
  1406. X    X session is terminated.  This may actually be due to the fact that
  1407. X    other xalarm processes over-wrote the information.  You may need to
  1408. X    specify that xalarm use a different method of locking files (see 7
  1409. X    under COMPILATION) and/or moving to the end of the file (see 8 under
  1410. X    COMPILATION), using compiler symbol defines.  You must then rebuild
  1411. X    xalarm.
  1412. X
  1413. X
  1414. BUGS
  1415. ~~~~
  1416. X
  1417. X    If you have any bugs, comments, suggestions, code, fixes, please let me
  1418. X    know and I will make an attempt to include them.  A few ``things'' are
  1419. X    mentioned in the bugs section of the manual.  Don't forget to include
  1420. X    the xalarm version number ("xalarm -version" gives it you), machine/OS,
  1421. X    X11 release & patch, WM used, etc.
  1422. SHAR_EOF
  1423. chmod 0644 PROBLEMS ||
  1424. echo 'restore of PROBLEMS failed'
  1425. Wc_c="`wc -c < 'PROBLEMS'`"
  1426. test 6606 -eq "$Wc_c" ||
  1427.     echo 'PROBLEMS: original size 6606, current size' "$Wc_c"
  1428. rm -f _shar_wnt_.tmp
  1429. fi
  1430. # ============= README ==============
  1431. if test -f 'README' -a X"$1" != X"-c"; then
  1432.     echo 'x - skipping README (File already exists)'
  1433.     rm -f _shar_wnt_.tmp
  1434. else
  1435. > _shar_wnt_.tmp
  1436. echo 'x - extracting README (Text)'
  1437. sed 's/^X//' << 'SHAR_EOF' > 'README' &&
  1438. X            Welcome to xalarm-3 for X11R4/5
  1439. X           Ideal for the permanently late, like me.
  1440. X
  1441. X          Copyright (c) 1991, 1992 by Simon Marshall
  1442. X
  1443. X
  1444. WOULD XALARM BE USEFUL TO ME?
  1445. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1446. X
  1447. X  For those who need to be reminded that they have to be somewhere, or have to
  1448. X  do something, on a one-off basis.  "Gotta finish work on time, can't be late,
  1449. X  going out!", "Meeting in half an hour!" etc.
  1450. X
  1451. X  For those who have to be reminded that they have to be somewhere, or have to
  1452. X  do something, on a regular basis.  "Project discussion at 2.30pm Wednesday!",
  1453. X  "Lunch at 1pm!" etc.
  1454. X
  1455. X
  1456. DESCRIPTION
  1457. ~~~~~~~~~~~
  1458. X
  1459. X  xalarm is an interactive alarm clock analogous to a combination of leave(1)
  1460. X  and calendar(1), only much more powerful.
  1461. X
  1462. X  You can set the alarm either by command line options, or by entering the time
  1463. X  using the popup window.  The time and date formats are quite flexible and
  1464. X  natural.  At the appropriate time, xalarm pops up a window to tell you that
  1465. X  your time is up.  You can tell xalarm to pop up warning windows at specified
  1466. X  times before the alarm is to trigger in order to warn you of the impending
  1467. X  alarm.
  1468. X
  1469. X  If a time is not given or recognised, or a date or warning time is not
  1470. X  recognised, or confirmation is required, xalarm prompts for one by popping up
  1471. X  a window.  This gives you an opportunity to change the alarm setting,
  1472. SHAR_EOF
  1473. true || echo 'restore of README failed'
  1474. fi
  1475. echo 'End of  part 2'
  1476. echo 'File README is continued in part 3'
  1477. echo 3 > _shar_seq_.tmp
  1478. exit 0
  1479. -- 
  1480. --
  1481. Molecular Simulations, Inc.            mail: dcmartin@msi.com
  1482. 796 N. Pastoria Avenue                uucp: uunet!dcmartin
  1483. Sunnyvale, California 94086            at&t: 408/522-9236
  1484.