home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-07-08 | 50.6 KB | 1,502 lines |
- Newsgroups: comp.sources.x
- Path: uunet!darwin.sura.net!mips!msi!dcmartin
- From: Simon Marshall <S.Marshall@sequent.cc.hull.ac.uk>
- Subject: v18i007: Xalarm-3.04 (REPOST), Part01/04
- Message-ID: <csx-18i007-xalarm-3.04@uunet.UU.NET>
- Originator: dcmartin@fascet
- Sender: dcmartin@msi.com (David C. Martin - Moderator)
- Organization: Molecular Simulations, Inc.
- Date: Thu, 9 Jul 1992 13:05:29 GMT
- Approved: dcmartin@msi.com
- Lines: 1489
-
- Submitted-by: Simon Marshall <S.Marshall@sequent.cc.hull.ac.uk>
- Posting-number: Volume 18, Issue 7
- Archive-name: xalarm-3.04/part01
-
- xalarm is an interactive alarm clock analogous to a combination of leave(1)
- and calendar(1), only much more powerful.
-
- You can set the alarm either by command line options, or by entering the time
- using the popup window. The time and date formats are quite flexible and
- natural. At the appropriate time, xalarm pops up a window to tell you that
- your time is up. You can tell xalarm to pop up warning windows at specified
- times before the alarm is to trigger in order to warn you of the impending
- alarm.
-
- #!/bin/sh
- # This is a shell archive (produced by shar 3.50)
- # To extract the files from this archive, save it to a file, remove
- # everything above the "!/bin/sh" line above, and type "sh file_name".
- #
- # made 07/09/1992 12:22 UTC by dcmartin@fascet
- # Source directory /home/fascet/dcmartin/csx/src/xalarm/xalarm
- #
- # existing files will NOT be overwritten unless -c is specified
- #
- # This is part 1 of a multipart archive
- # do not concatenate these parts, unpack them in order with /bin/sh
- #
- # This shar contains:
- # length mode name
- # ------ ---------- ------------------------------------------
- # 827 -rw-r--r-- COPYRIGHT
- # 15067 -rw-r--r-- ChangeLog
- # 1452 -rw-r--r-- INSTALL
- # 2472 -rw-r--r-- Imakefile
- # 10730 -rw-r--r-- Makefile
- # 3717 -rw-r--r-- Makefile.alt
- # 6606 -rw-r--r-- PROBLEMS
- # 4281 -rw-r--r-- README
- # 3684 -rw-r--r-- XAlarm.ad
- # 1165 -rw-r--r-- XAlarm.ad+
- # 7396 -rw-r--r-- alarm.c
- # 2498 -rwxr-xr-x config.1st
- # 10134 -rw-r--r-- dates.c
- # 2064 -rw-r--r-- dates.h
- # 8441 -rw-r--r-- file.c
- # 18097 -rw-r--r-- fns.c
- # 850 -rwxr-xr-x fullpath
- # 30 -rw-r--r-- patchlevel.h
- # 5094 -rw-r--r-- times.c
- # 5720 -rw-r--r-- warnings.c
- # 12351 -rw-r--r-- when.c
- # 10665 -rw-r--r-- xalarm.c
- # 6981 -rw-r--r-- xalarm.h
- # 33900 -rw-r--r-- xalarm.man
- # 98 -rwxr-xr-x xmemo
- #
- if test -r _shar_seq_.tmp; then
- echo 'Must unpack archives in sequence!'
- echo Please unpack part `cat _shar_seq_.tmp` next
- exit 1
- fi
- # ============= COPYRIGHT ==============
- if test -f 'COPYRIGHT' -a X"$1" != X"-c"; then
- echo 'x - skipping COPYRIGHT (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting COPYRIGHT (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'COPYRIGHT' &&
- X Copyright (c) 1991, 1992 by Simon Marshall, University of Hull, UK
- X
- X If you still end up late, don't blame me!
- X
- X Permission to use, copy, modify, distribute, and sell this software and its
- X documentation for any purpose and without fee is hereby granted,
- X provided that the above copyright notice appear in all copies and that
- X both that copyright notice and this permission notice appear in
- X supporting documentation.
- X
- X This software is provided AS IS with no warranties of any kind. The author
- X shall have no liability with respect to the infringement of copyrights,
- X trade secrets or any patents by this file or any part thereof. In no
- X event will the author be liable for any lost revenue or profits or
- X other special, indirect and consequential damages.
- SHAR_EOF
- chmod 0644 COPYRIGHT ||
- echo 'restore of COPYRIGHT failed'
- Wc_c="`wc -c < 'COPYRIGHT'`"
- test 827 -eq "$Wc_c" ||
- echo 'COPYRIGHT: original size 827, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- # ============= ChangeLog ==============
- if test -f 'ChangeLog' -a X"$1" != X"-c"; then
- echo 'x - skipping ChangeLog (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting ChangeLog (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'ChangeLog' &&
- Mon Jun 15 12:57:31 1992 Simon Marshall (sm at olympus)
- X
- X * Released xalarm-3.04.
- X
- Tue May 26 20:49:31 1992 Simon Marshall (sm at olympus)
- X
- X * Daemon extracts display info from command line args. From a bug
- X report of sorts by Jay Hersh. Ditto for restarting.
- X
- Fri May 22 20:07:53 1992 Simon Marshall (sm at olympus)
- X
- X * Warnings not updated as the alarm triggers.
- X
- X * Fullpath accepts path directory as well as full path. Idea from Ned
- X Danieley.
- X
- Fri May 15 19:59:20 1992 Simon Marshall (sm at olympus)
- X
- X * Explicitly moves to the end of the file before saving; solves the
- X occasional losing of information when many xalarms write to the same
- X file.
- X
- Tue May 12 13:41:19 1992 Simon Marshall (sm at olympus)
- X
- X * Uses fcntl() rather than flock(), and can use lockf() too.
- X
- X * Can use un/link() method as an alternative to rename().
- X
- Wed May 6 09:52:43 1992 Simon Marshall (sm at olympus)
- X
- X * Certain servers seem to require all parts of the XLFD explicitly, and
- X the iso number specified in case PostScript fonts are around. From
- X Andreas Stolcke.
- X
- Sat May 2 15:24:10 1992 Simon Marshall (sm at olympus)
- X
- X * Does not remove "saved" information from confirmation popup on minute
- X change.
- X
- Wed Apr 29 18:53:28 1992 Simon Marshall (sm at olympus)
- X
- X * Correctly detects absolute alarm time passing in confirmation on
- X minute change, only switches dialog to time entry if the dialog is the
- X confirm.
- X
- X * Only complains about no display when restarting alarms if there are
- X alarms to restart.
- X
- Tue Apr 28 10:13:10 1992 Simon Marshall (sm at olympus)
- X
- X * Released xalarm-3.03.
- X
- Wed Apr 22 12:06:14 1992 Simon Marshall (sm at olympus)
- X
- X * Properly solved the hanging <defunct> children; wait() only waits for
- X one child.
- X
- Fri Apr 17 12:11:24 1992 Simon Marshall (sm at olympus)
- X
- X * Correctly adds, not replaces, callbacks on AsciiText widget. From
- X Donna Converse.
- X
- Mon Apr 13 22:16:07 1992 Simon Marshall (sm at olympus)
- X
- X * Save button has sensitivity.
- X
- Wed Apr 8 19:46:43 1992 Simon Marshall (sm at olympus)
- X
- X * Correctly saves multi-line messages when xalarm dies.
- X
- Tue Apr 7 10:41:46 1992 Simon Marshall (sm at olympus)
- X
- X * Added all as an option to -reset; -kill is the same as -reset, except
- X deadly.
- X
- X * Added getlogin() as a way of getting the login name, from Bob
- X Primmer, and also cuserid().
- X
- Mon Apr 6 18:21:53 1992 Simon Marshall (sm at olympus)
- X
- X * Does not attempt to restart alarms if it cannot open a connection to
- X the display.
- X
- Fri Mar 27 19:11:22 1992 Simon Marshall (sm at olympus)
- X
- X * Solved the intermittent resize problem - the behaviour of the Shell
- X is undefined for multiple children, even if only one is managed. Added
- X an intermediate (Form) widget to solve this.
- X
- Fri Mar 20 20:07:01 1992 Simon Marshall (sm at olympus)
- X
- X * Corrected bug whereby a 2 or 4 digit absolute time with leading
- X zero was not treated as in 24 hour format.
- X
- Mon Mar 16 20:38:17 1992 Simon Marshall (sm at olympus)
- X
- X * Added -restart, along with the ability for xalarm to save alarms when
- X the session closes.
- X
- X * Solved the hanging <defunct> children, thanks to comp.unix.programmer
- X and a cast of thousands.
- X
- Tue Mar 10 11:55:13 1992 Simon Marshall (sm at olympus)
- X
- X * Added -daemon option, like -file but never returns, and -kill.
- X
- Sat Mar 7 18:46:38 1992 Simon Marshall (sm at olympus)
- X
- X * Added XALARMFILEPATH so you can have a list of alarm files to check.
- X
- X * Can save alarm settings in ~/.xalarms.
- X
- X * Put a clock up on each popup. Also keeps track of any other time
- X dependent information. From an idea by Gisle Hannemyr.
- X
- Fri Mar 6 18:19:10 1992 Simon Marshall (sm at olympus)
- X
- X * Changed the way the alarm and warnings make a noise. Can now specify
- X a shell script to run instead. Volume control.
- X
- Tue Mar 3 10:54:02 1992 Simon Marshall (sm at olympus)
- X
- X * Added -pester (or should that be -persecute?), kind of auto-snooze,
- X and time information in popups. Idea from Gisle Hannemyr.
- X
- X * Made a temporary hack-fix for a R5 manifestation of the Shell's
- X ChangeManaged bug: added field padding for confirmation widget label.
- X Yes, I could give a XXXX. Unfortunately, the bug then shows up under
- X R4. Can't win them all.
- X
- X * Fixed "-file" without-following-arg bug, and Makefiles for brain-dead
- X makes. From Stefan Haenssgen and Braham Levy.
- X
- Sun Mar 1 13:19:08 1992 Simon Marshall (sm at olympus)
- X
- X * Made it get the user's home directory via the passwd file too.
- X
- Fri Feb 28 10:25:31 1992 Simon Marshall (sm at olympus)
- X
- X * Corrected declaration of XtResources defaults which caused a silent
- X crash if application defaults were not properly installed. From Gisle
- X Hannemyr.
- X
- Thu Feb 27 17:52:59 1992 Simon Marshall (sm at olympus)
- X
- X * Can combine time symbols & dates. Added noon.
- X
- Wed Feb 26 19:49:54 1992 Simon Marshall (sm at olympus)
- X
- X * Made the config guess all & only query at the end.
- X
- Mon Feb 24 13:03:39 1992 Simon Marshall (sm at olympus)
- X
- X * "make config" is now included when necessary by make & corrected
- X CentreWidgetUnderPointer() to include widget's width. Thanks to Braham
- X Levy. Added EnsureAllOnScreen() for resizing popups; only shifts left.
- X
- Sun Feb 23 15:27:08 1992 Simon Marshall (sm at olympus)
- X
- X * Changed the alarm file to ~/.xalarms always and removed environment
- X variable XALARM.
- X
- X * Added uname() as a way of getting the machine name. From Rich $alz's
- X shar program.
- X
- Sun Feb 16 13:46:26 1992 Simon Marshall (sm at olympus)
- X
- X * Added date parsing to appointments too. Added -file option, moved
- X into file.c.
- X
- Fri Feb 14 19:55:24 1992 Simon Marshall (sm at olympus)
- X
- X * Added date parsing to popup, with some error parsing. Moved dates
- X into dates.c.
- X
- Mon Feb 10 12:53:47 1992 Simon Marshall (sm at olympus)
- X
- X * Made it get the user name from the passwd file rather than $USER.
- X From Paul Vixie's cron program.
- X
- Thu Feb 6 18:52:25 1992 Simon Marshall (sm at olympus)
- X
- X * Time parsing now gives more informative error messages.
- X
- Tue Feb 4 10:00:36 1992 Simon Marshall (sm at olympus)
- X
- X * Added reset button to warning popup. Don't think it's appropriate
- X for alarm itself. Corrected timeout casting.
- X
- X * Change to Imakefile to make sure dependencies are made, and
- X config.1st invoked, properly. George Lindholm & Jonathan I. Kamens.
- X
- Sat Feb 1 15:40:29 1992 Simon Marshall (sm at olympus)
- X
- X * Released patch 2.
- X
- Thu Jan 30 11:11:01 1992 Simon Marshall (sm at olympus)
- X
- X * Behaves properly during leap years.
- X
- X * Fixed bug whereby dates are parsed wrongly if the number of days in
- X the current month is more than the number of days in the month given.
- X
- X * Better error messages with unrecognised dates.
- X
- Tue Jan 21 11:10:34 1992 Simon Marshall (sm at olympus)
- X
- X * Made config.1st try to find locations, instead of assuming a Sun.
- X Forgot to include times.o as dependent on xalarm.h. Non-existent
- X function was declared.
- X
- X * Fixed bug whereby changes in the dialog was silently accepted while
- X changing other values.
- X
- X * Resources properly label all quit buttons.
- X
- Mon Jan 20 10:08:55 1992 Simon Marshall (sm at olympus)
- X
- X * Released patch 1.
- X
- Wed Jan 15 14:58:08 1992 Simon Marshall (sm at olympus)
- X
- X * Input in the dialog popup properly is directed to the visible widget.
- X
- X * Cleaned resources, man page & xmemo doesn't ask for confirmation.
- X
- Fri Jan 3 13:51:52 1992 Simon Marshall (sm at olympus)
- X
- X * Fixed Imakefile where blanks after ManSuffix were not stripped, from
- X Jonathan I. Kamens.
- X
- Thu Dec 19 15:23:46 1991 Simon Marshall (sm at olympus)
- X
- X * Solved the auto-resize; just took the width resource out.
- X
- X * Casted everything properly to shut up picky compilers.
- X
- Wed Dec 18 19:29:08 1991 Simon Marshall (sm at olympus)
- X
- X * Made all the windows proper transient shells as they should be. If
- X no geometry is given, the windows popup under the mouse pointer.
- X
- X * Can no longer kill xalarm via the WM_DELETE_WINDOW protocol. It has
- X no effect with shells widgets.
- X
- Fri Dec 6 13:36:08 1991 Simon Marshall (sm at olympus)
- X
- X * Fixed bug in AppointmentIsToday() which under certain circumstances
- X would parse times in files wrong or core dump. Forgot to XtMalloc() in
- X a couple of places.
- X
- Thu Dec 5 18:29:45 1991 Simon Marshall (sm at olympus)
- X
- X * Words from the alarm message can be incorporated in the warning
- X popup. From an idea by Evan Bigall.
- X
- Sun Dec 1 14:20:46 1991 Simon Marshall (sm at olympus)
- X
- X * Made resources control the cursor shapes; took gumby out of alarm.c.
- X
- Thu Oct 17 14:46:01 1991 Simon Marshall (sm at olympus)
- X
- X * Added justification for the Dialog widget label. Still makes a
- X widget bigger than need be though.
- X
- Sun Oct 13 17:40:00 1991 Simon Marshall (sm at olympus)
- X
- X * For the confirmation window, sorts the warning times into descending
- X order, and takes the day of the week from WEEKDAYS rather than ctime(),
- X in case a different language is being used.
- X
- Sat Oct 5 15:37:59 1991 Simon Marshall (sm at olympus)
- X
- X * Released xalarm-3.
- X
- Wed Oct 2 14:35:15 1991 Simon Marshall (sm at olympus)
- X
- X * Taken out the makeX and put that stuff in with config.1st, let the
- X user sort it out.
- X
- Mon Sep 30 19:12:40 1991 Simon Marshall (sm at olympus)
- X
- X * Added -list so xalarm shows what ps thinks are the user's xalarm pids
- X are. Had to alter the makefiles so that you could set where ps & the
- X rest where; added a config.1st to do this.
- X
- Sun Sep 29 22:16:09 1991 Simon Marshall (sm at olympus)
- X
- X * Made xalarm capable of parsing a file for alarms, so for regular
- X times, it will set alarms automatically.
- X
- Fri Sep 27 10:43:41 1991 Simon Marshall (sm at olympus)
- X
- X * Fed up with ``Is it only BSD that uses bzero, or only SYSV that uses
- X memset? Or is it a bit of both?'' Wrote my own.
- X
- Wed Sep 25 22:17:05 1991 Simon Marshall (sm at olympus)
- X
- X * Split README into README and INSTALL. Made it all a touch more
- X portable? Thanks to Andreas Stolcke. Made the manual more readable,
- X thanks to suggestions by Bill Leonard.
- X
- Tue Sep 24 21:54:30 1991 Simon Marshall (sm at olympus)
- X
- X * Added a -snooze & resource on suggestion by Bill Leonard, so you can
- X have a default snoozetime already set for you. Corrected bits & bobs
- X in man page too.
- X
- Sun Sep 15 21:41:52 1991 Simon Marshall (sm at olympus)
- X
- X * Cleaned up for release in contrib for R5; re-named xalarm-3 for good
- X measure.
- X
- X * Added a -reset kill & signal trapper code so that you can wake up an
- X alarm and change the times.
- X
- Thu Sep 5 12:24:56 1991 Simon Marshall (sm at olympus)
- X
- X * Added a make flag & fix for the X crash-on-zero-timeout (bug report
- X from Jamie Zawinsk). Cleaned up Makefile & README.
- X
- Mon Sep 2 11:54:20 1991 Simon Marshall (sm at olympus)
- X
- X * Fixed the little problem with the clear button, although the resource
- X still isn't changeable by the user.
- X
- Tue Aug 27 17:08:47 1991 Simon Marshall (sm at olympus)
- X
- X * The timeout is now recalculated on confirmation so that if the time
- X is absolute, messing around during confirmation won't result in a late
- X alarm.
- X
- Wed Aug 21 18:00:00 1991 Simon Marshall (sm at olympus)
- X
- X * Released xalarm-2.00.
- X
- Tue Aug 20 10:25:58 1991 Simon Marshall (sm at olympus)
- X
- X * Fixed a little bug as a result of yesterday; if an invalid time is
- X given with the noconfirm option, the alarm message text is "".
- X
- X * Finally made the popups get their geometry from the alarm, by
- X intercepting it from the command line...
- X
- Mon Aug 19 13:56:53 1991 Simon Marshall (sm at olympus)
- X
- X * Added xmemo (thanks to an unconnected posting by Dan Jacobson, I
- X think) & found a bug in the manual - used -beep instead of -bell!!!
- X Added -beep & -nobeep to options...
- X
- Sun Aug 18 11:17:45 1991 Simon Marshall (sm at olympus)
- X
- X * Put the toggling back (!) so you can fiddle with warning times too.
- X
- X * Changed -at and -in to -time, -in times preceded by a `+' (but
- X warning times aren't). None of that silly toggling etc. Also made
- X some options have shorter aliases.
- X
- X * Made xalarm overwrite any given message, so ps etc can't show what it
- X is. From a comment by Reiner Hammer.
- X
- Fri Aug 16 12:25:08 1991 Simon Marshall (sm at olympus)
- X
- X * Cleaned up here & there.
- X
- X * Incorporated a hacked version of the time parser from xcal-3.2, Peter
- X Collinson et al.
- X
- X * Changed the way warnings are given. No longer within quotes, they
- X must be separated by commas (only).
- X
- Wed Aug 14 12:58:29 1991 Simon Marshall (sm at olympus)
- X
- X * Corrected bug whereby time wasn't always correctly calculated when
- X given as 12 hour clock but >12 hours ahead.
- X
- Tue Aug 13 12:41:32 1991 Simon Marshall (sm at olympus)
- X
- X * Added forking - so must easier than I had assumed. No closing to do
- X after all. Thanks to Gordon Freedman & Janet Anstett.
- X
- Fri Aug 9 13:38:35 1991 Simon Marshall (sm at olympus)
- X
- X * Added -h[elp].
- X
- Thu Aug 8 15:04:56 1991 Simon Marshall (sm at olympus)
- X
- X * Added -v[ersion]; I'm fed up with getting bug reports without it.
- X
- X * Added a config to Makefile so as to make sure stuff is ready for
- X making & running/playing with.
- X
- Mon Aug 5 15:46:00 1991 Simon Marshall (sm at olympus)
- X
- X * It appears that stuff in .../lib/X11/app-defaults is not
- X pre-processed with cpp, so we can't have "#ifdef" etc in there. Moved
- X colour stuff to separate file. From Scott Blachovicz & a multitude of
- X others.
- X
- Sun Aug 4 15:12:06 1991 Simon Marshall (sm at olympus)
- X
- X * Corrected bug whereby When?.when.label was for "at" time when it
- X should be "in", when user gave invalid "in" time on the command line.
- X
- X * If enabled, confirmation is now always sort, unless alarm is to
- X trigger immediately.
- X
- X * Made warnings only accept times in the [[[h]h]m]m format a` la -in.
- X Invalid times result in an error message on stderr only. Also added
- X -nowarn. (Implemented as "-warn 0" :-)
- X
- Fri Aug 2 09:46:42 1991 Simon Marshall (sm at olympus)
- X
- X * Added confirmation stuff to xalarm. Does not confirm if using
- X relative time given on the command line. Also added -confirm,
- X -noconfirm and -nobell.
- X
- X * Split up xalarm into more meaningful pieces. Preparation for
- X xalarm-2.00?
- X
- Wed Jul 31 13:20:29 1991 Simon Marshall (sm at olympus)
- X
- X * Released xalarm-1.01.
- X
- X * Made MakeX which looks for the absolute path of an executable. Need
- X it for yow, as it is often not is a person's path.
- X
- X * Fixed bug/mistake. I had sometimes declared warg as an Arg, but
- X XtSetValues expects an ArgList. Changed to declare as warg[1]. From
- X comments made by Dave Brooks, Bill Leonard & Braham Levy (plus more
- X once our mailer came up).
- X
- X * Added 2 options; -bell and -warn "...". By default the bell no
- X longer sounds, and the warning times can be specified. Both have
- X resources of course. From comments by Bill Leonard.
- X
- X * Updated the manual & made it clearer.
- X
- Tue Jul 30 10:29:22 1991 Simon Marshall (sm at olympus)
- X
- X * Changed the way the time is calculated. No more fiddling with
- X strings & it's much more compact.
- X
- X * Added Imakefile, sent by Andreas Stolcke (stolcke@edu.Berkeley.ICSI).
- X I don't know how useful it is, our imake isn't installed.
- X
- X * Changed default font for value entry to 9x15bold in XAlarm.ad; it is
- X a little more readable.
- SHAR_EOF
- chmod 0644 ChangeLog ||
- echo 'restore of ChangeLog failed'
- Wc_c="`wc -c < 'ChangeLog'`"
- test 15067 -eq "$Wc_c" ||
- echo 'ChangeLog: original size 15067, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- # ============= INSTALL ==============
- if test -f 'INSTALL' -a X"$1" != X"-c"; then
- echo 'x - skipping INSTALL (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting INSTALL (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'INSTALL' &&
- MAKING
- ~~~~~~
- X
- X First get any relevant patch files so as to make the latest patch version.
- X You can find out which patch level your xalarm is at by looking at the file
- X patchlevel.h in the source directory, or, if you have xalarm built, by:
- X
- % xalarm -version
- X
- X See the man page for more. Apply any patches, see the patch files themselves
- X for more information.
- X
- X If you have problems with compilation or use, look at the PROBLEMS file.
- X
- X 1. If you don't want to use the Imakefile or the Makefile generated from
- X it, try using Makefile.alt.
- X
- X Check the flag settings in the Makefile of your choice. If you are
- X using the Imakefile, generate a Makefile by "xmkmf".
- X
- X If you want to use a different notation or language for dates etc., see
- X WEEKDAYS and related definitions in dates.h.
- X
- X 2. Try making with "make". Answer the questions. Have a play.
- X
- X 3. If you aren't installing (you selfish get), put the XAlarm.ad and
- X XAlarm.ad+ in your ~/.xresources file.
- X
- X Otherwise, try "make install install.man".
- X
- X Look at the manual for anything else & enjoy.
- X
- X
- BUGS
- ~~~~
- X
- X See the PROBLEMS file first.
- X
- X If you have any bugs, comments, suggestions, code, fixes, please let me know
- X and I will make an attempt to include them. A few ``things'' are mentioned
- X in the bugs section of the manual. Don't forget to include the xalarm
- X version number ("xalarm -version" gives it you), machine/OS, X11 release &
- X patch, WM used, etc.
- X
- SHAR_EOF
- chmod 0644 INSTALL ||
- echo 'restore of INSTALL failed'
- Wc_c="`wc -c < 'INSTALL'`"
- test 1452 -eq "$Wc_c" ||
- echo 'INSTALL: original size 1452, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- # ============= Imakefile ==============
- if test -f 'Imakefile' -a X"$1" != X"-c"; then
- echo 'x - skipping Imakefile (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting Imakefile (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'Imakefile' &&
- /**/# Based on an Imakefile from:
- /**/# Andreas Stolcke
- /**/# International Computer Science Institute, Berkeley.
- /**/# With help from:
- /**/# George Lindholm, Jonathan I. Kamens, Braham Levy.
- X
- X
- /**/# o Define FORKRETURNSSHORT/FORKRETURNSLONG/FORKRETURNSPID_T if your
- /**/# fork(2) returns short/long/pid_t not int.
- /**/# o Define USEFLOCK or USELOCKF to use flock(2) or lockf(3) to lock files,
- /**/# rather than fcntl(2).
- /**/# o Define USELSEEK to use lseek(2) to move to the end of the file, rather
- /**/# than fseek(3).
- /**/# o Define USERENAME to use rename(2) to rename file names (otherwise
- /**/# un/link(2)).
- /**/# o Define USEGETHOSTNAME or USEUNAME (or neither if you don't have
- /**/# gethostname(2) or uname(2)) to get the name of your system.
- /**/# o Define USEGETPWUID to use getpwuid(3) and getuid(2) to get the user
- /**/# name and home directory on your system. Note that if you want to use
- /**/# this method to get the user's home directory, but another method to get
- /**/# the user name, this symbol must still be defined.
- /**/# o Define USEGETLOGIN to use getlogin(3) to get the user name (note that
- /**/# this may not work if xalarm is invoked from a pseudo terminal).
- /**/# o Define USECUSERID to use cuserid(3) to get the user name.
- X
- DEFINES = $(SIGNAL_DEFINES) -DUSERENAME -DUSEGETHOSTNAME -DUSEGETPWUID
- X
- X
- OBJS = alarm.o when.o warnings.o times.o dates.o file.o fns.o xalarm.o
- SRCS = alarm.c when.c warnings.c times.c dates.c file.c fns.c xalarm.c
- X
- MADE = test -f
- X
- LOCAL_LIBRARIES = XawClientLibs
- X
- AllTarget (.config)
- ComplexProgramTarget (xalarm)
- X
- InstallAppDefaults (XAlarm)
- InstallMultipleFlags (xmemo xfortune xyow, $(BINDIR), $(INSTBINFLAGS))
- InstallManPage (xmemo, $(MANDIR))
- InstallManPage (xfortune, $(MANDIR))
- InstallManPage (xyow, $(MANDIR))
- X
- includes:: fns.h
- X
- fns.h:
- X @./config.1st -quick fortune yow
- X
- xmemo.man xyow.man xfortune.man:
- X echo ".so man"`echo ManSuffix`"/xalarm."`echo ManSuffix` > $@
- X
- xfortune::
- X
- xyow::
- X
- clean::
- X $(RM) xfortune xyow xmemo.man xyow.man xfortune.man fns.h .config
- X
- config::
- X @./config.1st -quick fortune yow
- X @xrdb -merge XAlarm.ad
- X @xrdb -merge XAlarm.ad+
- X
- .config::
- X @-$(MADE) .config || make config
- X
- alarm.o: xalarm.h patchlevel.h
- when.o: xalarm.h patchlevel.h dates.h
- warnings.o: xalarm.h patchlevel.h
- times.o: xalarm.h patchlevel.h dates.h
- dates.o: xalarm.h patchlevel.h dates.h
- file.o: xalarm.h patchlevel.h dates.h
- fns.o: xalarm.h patchlevel.h fns.h
- xalarm.o: xalarm.h patchlevel.h
- SHAR_EOF
- chmod 0644 Imakefile ||
- echo 'restore of Imakefile failed'
- Wc_c="`wc -c < 'Imakefile'`"
- test 2472 -eq "$Wc_c" ||
- echo 'Imakefile: original size 2472, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- # ============= Makefile ==============
- if test -f 'Makefile' -a X"$1" != X"-c"; then
- echo 'x - skipping Makefile (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting Makefile (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'Makefile' &&
- # Makefile generated by imake - do not edit!
- # $XConsortium: imake.c,v 1.51 89/12/12 12:37:30 jim Exp $
- #
- # The cpp used on this machine replaces all newlines and multiple tabs and
- # spaces in a macro expansion with a single space. Imake tries to compensate
- # for this, but is not always successful.
- #
- X
- ###########################################################################
- # Makefile generated from "Imake.tmpl" and <Imakefile>
- # $XConsortium: Imake.tmpl,v 1.77 89/12/18 17:01:37 jim Exp $
- #
- # Platform-specific parameters may be set in the appropriate .cf
- # configuration files. Site-wide parameters may be set in the file
- # site.def. Full rebuilds are recommended if any parameters are changed.
- #
- # If your C preprocessor doesn't define any unique symbols, you'll need
- # to set BOOTSTRAPCFLAGS when rebuilding imake (usually when doing
- # "make Makefile", "make Makefiles", or "make World").
- #
- # If you absolutely can't get imake to work, you'll need to set the
- # variables at the top of each Makefile as well as the dependencies at the
- # bottom (makedepend will do this automatically).
- #
- X
- ###########################################################################
- # platform-specific configuration parameters - edit sun.cf to change
- X
- # platform: $XConsortium: sun.cf,v 1.38 89/12/23 16:10:10 jim Exp $
- # operating system: SunOS 4.0.3
- X
- ###########################################################################
- # site-specific configuration parameters - edit site.def to change
- X
- # site: $XConsortium: site.def,v 1.21 89/12/06 11:46:50 jim Exp $
- X
- X SHELL = /bin/sh
- X
- X TOP = .
- X CURRENT_DIR = .
- X
- X AR = ar cq
- X BOOTSTRAPCFLAGS =
- X CC = cc
- X
- X COMPRESS = compress
- X CPP = /lib/cpp $(STD_CPP_DEFINES)
- X PREPROCESSCMD = cc -E $(STD_CPP_DEFINES)
- X INSTALL = install
- X LD = ld
- X LINT = lint
- X LINTLIBFLAG = -C
- X LINTOPTS = -axz
- X LN = ln -s
- X MAKE = make
- X MV = mv
- X CP = cp
- X RANLIB = ranlib
- X RANLIBINSTFLAGS =
- X RM = rm -f
- X STD_INCLUDES =
- X STD_CPP_DEFINES =
- X STD_DEFINES =
- X EXTRA_LOAD_FLAGS =
- X EXTRA_LIBRARIES =
- X TAGS = ctags
- X
- X SHAREDCODEDEF = -DSHAREDCODE
- X SHLIBDEF = -DSUNSHLIB
- X
- X PROTO_DEFINES =
- X
- X INSTPGMFLAGS =
- X
- X INSTBINFLAGS = -m 0755
- X INSTUIDFLAGS = -m 4755
- X INSTLIBFLAGS = -m 0664
- X INSTINCFLAGS = -m 0444
- X INSTMANFLAGS = -m 0444
- X INSTDATFLAGS = -m 0444
- X INSTKMEMFLAGS = -m 4755
- X
- X DESTDIR =
- X
- X TOP_INCLUDES = -I$(INCROOT)
- X
- X CDEBUGFLAGS = -O
- X CCOPTIONS =
- X COMPATFLAGS =
- X
- X ALLINCLUDES = $(STD_INCLUDES) $(TOP_INCLUDES) $(INCLUDES) $(EXTRA_INCLUDES)
- X ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(PROTO_DEFINES) $(DEFINES) $(COMPATFLAGS)
- X CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(ALLDEFINES)
- X LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES)
- X LDLIBS = $(SYS_LIBRARIES) $(EXTRA_LIBRARIES)
- X LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS)
- X LDCOMBINEFLAGS = -X -r
- X
- X MACROFILE = sun.cf
- X RM_CMD = $(RM) *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut
- X
- X IMAKE_DEFINES =
- X
- X IRULESRC = $(CONFIGDIR)
- X IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(IRULESRC) $(IMAKE_DEFINES)
- X
- X ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/Imake.rules \
- X $(IRULESRC)/Project.tmpl $(IRULESRC)/site.def \
- X $(IRULESRC)/$(MACROFILE) $(EXTRA_ICONFIGFILES)
- X
- ###########################################################################
- # X Window System Build Parameters
- # $XConsortium: Project.tmpl,v 1.63 89/12/18 16:46:44 jim Exp $
- X
- ###########################################################################
- # X Window System make variables; this need to be coordinated with rules
- # $XConsortium: Project.tmpl,v 1.63 89/12/18 16:46:44 jim Exp $
- X
- X PATHSEP = /
- X USRLIBDIR = $(DESTDIR)/usr/lib
- X BINDIR = $(DESTDIR)/usr/bin/X11
- X INCROOT = $(DESTDIR)/usr/include
- X BUILDINCROOT = $(TOP)
- X BUILDINCDIR = $(BUILDINCROOT)/X11
- X BUILDINCTOP = ..
- X INCDIR = $(INCROOT)/X11
- X ADMDIR = $(DESTDIR)/usr/adm
- X LIBDIR = $(USRLIBDIR)/X11
- X CONFIGDIR = $(LIBDIR)/config
- X LINTLIBDIR = $(USRLIBDIR)/lint
- X
- X FONTDIR = $(LIBDIR)/fonts
- X XINITDIR = $(LIBDIR)/xinit
- X XDMDIR = $(LIBDIR)/xdm
- X AWMDIR = $(LIBDIR)/awm
- X TWMDIR = $(LIBDIR)/twm
- X GWMDIR = $(LIBDIR)/gwm
- X MANPATH = $(DESTDIR)/usr/man
- X MANSOURCEPATH = $(MANPATH)/man
- X MANDIR = $(MANSOURCEPATH)n
- X LIBMANDIR = $(MANSOURCEPATH)3
- X XAPPLOADDIR = $(LIBDIR)/app-defaults
- X
- X SOXLIBREV = 4.2
- X SOXTREV = 4.0
- X SOXAWREV = 4.0
- X SOOLDXREV = 4.0
- X SOXMUREV = 4.0
- X SOXEXTREV = 4.0
- X
- X FONTCFLAGS = -t
- X
- X INSTAPPFLAGS = $(INSTDATFLAGS)
- X
- X IMAKE = imake
- X DEPEND = makedepend
- X RGB = rgb
- X FONTC = bdftosnf
- X MKFONTDIR = mkfontdir
- X MKDIRHIER = /bin/sh $(BINDIR)/mkdirhier.sh
- X
- X CONFIGSRC = $(TOP)/config
- X CLIENTSRC = $(TOP)/clients
- X DEMOSRC = $(TOP)/demos
- X LIBSRC = $(TOP)/lib
- X FONTSRC = $(TOP)/fonts
- X INCLUDESRC = $(TOP)/X11
- X SERVERSRC = $(TOP)/server
- X UTILSRC = $(TOP)/util
- X SCRIPTSRC = $(UTILSRC)/scripts
- X EXAMPLESRC = $(TOP)/examples
- X CONTRIBSRC = $(TOP)/../contrib
- X DOCSRC = $(TOP)/doc
- X RGBSRC = $(TOP)/rgb
- X DEPENDSRC = $(UTILSRC)/makedepend
- X IMAKESRC = $(CONFIGSRC)
- X XAUTHSRC = $(LIBSRC)/Xau
- X XLIBSRC = $(LIBSRC)/X
- X XMUSRC = $(LIBSRC)/Xmu
- X TOOLKITSRC = $(LIBSRC)/Xt
- X AWIDGETSRC = $(LIBSRC)/Xaw
- X OLDXLIBSRC = $(LIBSRC)/oldX
- X XDMCPLIBSRC = $(LIBSRC)/Xdmcp
- X BDFTOSNFSRC = $(FONTSRC)/bdftosnf
- X MKFONTDIRSRC = $(FONTSRC)/mkfontdir
- X EXTENSIONSRC = $(TOP)/extensions
- X
- X DEPEXTENSIONLIB = $(USRLIBDIR)/libXext.a
- X EXTENSIONLIB = -lXext
- X
- X DEPXLIB = $(DEPEXTENSIONLIB)
- X XLIB = $(EXTENSIONLIB) -lX11
- X
- X DEPXAUTHLIB = $(USRLIBDIR)/libXau.a
- X XAUTHLIB = -lXau
- X
- X DEPXMULIB =
- X XMULIB = -lXmu
- X
- X DEPOLDXLIB =
- X OLDXLIB = -loldX
- X
- X DEPXTOOLLIB =
- X XTOOLLIB = -lXt
- X
- X DEPXAWLIB =
- X XAWLIB = -lXaw
- X
- X LINTEXTENSIONLIB = $(USRLIBDIR)/llib-lXext.ln
- X LINTXLIB = $(USRLIBDIR)/llib-lX11.ln
- X LINTXMU = $(USRLIBDIR)/llib-lXmu.ln
- X LINTXTOOL = $(USRLIBDIR)/llib-lXt.ln
- X LINTXAW = $(USRLIBDIR)/llib-lXaw.ln
- X
- X DEPLIBS = $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXLIB)
- X
- X DEPLIBS1 = $(DEPLIBS)
- X DEPLIBS2 = $(DEPLIBS)
- X DEPLIBS3 = $(DEPLIBS)
- X
- ###########################################################################
- # Imake rules for building libraries, programs, scripts, and data files
- # rules: $XConsortium: Imake.rules,v 1.67 89/12/18 17:14:15 jim Exp $
- X
- ###########################################################################
- # start of Imakefile
- X
- # Based on an Imakefile from:
- # Andreas Stolcke
- # International Computer Science Institute, Berkeley.
- # With help from:
- # George Lindholm, Jonathan I. Kamens, Braham Levy.
- X
- # Define USEGETHOSTNAME, USEUNAME (or neither if you don't have gethostname()
- # or uname()) to get the name of your system:
- # Define USEGETPWUID to use getpwuid() and getuid() to get the user name and
- # home directory on your system. If you want to use this method to get the
- # user's home directory, but another method to get the user name, this
- # symbol must still be defined:
- # Define USEGETLOGIN to use getlogin() to get the user name (note that this
- # may not work if xalarm is invoked from a pseudo terminal):
- # Define USECUSERID to use cuserid() to get the user name:
- DEFINES = $(SIGNAL_DEFINES) -DUSEGETHOSTNAME -DUSEGETPWUID
- X
- OBJS = alarm.o when.o warnings.o times.o dates.o file.o fns.o xalarm.o
- SRCS = alarm.c when.c warnings.c times.c dates.c file.c fns.c xalarm.c
- X
- MADE = test -f
- X
- LOCAL_LIBRARIES = $(XAWLIB) $(XMULIB) $(XTOOLLIB) $(XLIB)
- X
- all:: .config
- X
- X PROGRAM = xalarm
- X
- all:: xalarm
- X
- xalarm: $(OBJS) $(DEPLIBS)
- X $(RM) $@
- X $(CC) -o $@ $(OBJS) $(LDOPTIONS) $(LOCAL_LIBRARIES) $(LDLIBS) $(EXTRA_LOAD_FLAGS)
- X
- install:: xalarm
- X $(INSTALL) -c $(INSTPGMFLAGS) xalarm $(BINDIR)
- X
- install.man:: xalarm.man
- X $(INSTALL) -c $(INSTMANFLAGS) xalarm.man $(MANDIR)/xalarm.n
- X
- depend::
- X $(DEPEND) -s "# DO NOT DELETE" -- $(ALLDEFINES) -- $(SRCS)
- X
- lint:
- X $(LINT) $(LINTFLAGS) $(SRCS) $(LINTLIBS)
- lint1:
- X $(LINT) $(LINTFLAGS) $(FILE) $(LINTLIBS)
- X
- clean::
- X $(RM) $(PROGRAM)
- X
- install:: XAlarm.ad
- X $(INSTALL) -c $(INSTAPPFLAGS) XAlarm.ad $(XAPPLOADDIR)/XAlarm
- X
- install:: xmemo xfortune xyow
- X @case '${MFLAGS}' in *[i]*) set +e;; esac; \
- X for i in xmemo xfortune xyow; do \
- X (set -x; $(INSTALL) -c $(INSTBINFLAGS) $$i $(BINDIR)); \
- X done
- X
- install.man:: xmemo.man
- X $(INSTALL) -c $(INSTMANFLAGS) xmemo.man $(MANDIR)/xmemo.n
- X
- install.man:: xfortune.man
- X $(INSTALL) -c $(INSTMANFLAGS) xfortune.man $(MANDIR)/xfortune.n
- X
- install.man:: xyow.man
- X $(INSTALL) -c $(INSTMANFLAGS) xyow.man $(MANDIR)/xyow.n
- X
- includes:: fns.h
- X
- fns.h:
- X @./config.1st -quick fortune yow
- X
- xmemo.man xyow.man xfortune.man:
- X echo ".so man"`echo n`"/xalarm."`echo n` > $@
- X
- xfortune::
- X
- xyow::
- X
- clean::
- X $(RM) xfortune xyow xmemo.man xyow.man xfortune.man fns.h .config
- X
- config::
- X @./config.1st -quick fortune yow
- X @xrdb -merge XAlarm.ad
- X @xrdb -merge XAlarm.ad+
- X
- .config::
- X @-$(MADE) .config || make config
- X
- alarm.o: xalarm.h patchlevel.h
- when.o: xalarm.h patchlevel.h dates.h
- warnings.o: xalarm.h patchlevel.h
- times.o: xalarm.h patchlevel.h dates.h
- dates.o: xalarm.h patchlevel.h dates.h
- file.o: xalarm.h patchlevel.h dates.h
- fns.o: xalarm.h patchlevel.h fns.h
- xalarm.o: xalarm.h patchlevel.h
- X
- ###########################################################################
- # common rules for all Makefiles - do not edit
- X
- emptyrule::
- X
- clean::
- X $(RM_CMD) \#*
- X
- Makefile::
- X -@if [ -f Makefile ]; then \
- X echo " $(RM) Makefile.bak; $(MV) Makefile Makefile.bak"; \
- X $(RM) Makefile.bak; $(MV) Makefile Makefile.bak; \
- X else exit 0; fi
- X $(IMAKE_CMD) -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR)
- X
- tags::
- X $(TAGS) -w *.[ch]
- X $(TAGS) -xw *.[ch] > TAGS
- X
- ###########################################################################
- # empty rules for directories that do not have SUBDIRS - do not edit
- X
- install::
- X @echo "install in $(CURRENT_DIR) done"
- X
- install.man::
- X @echo "install.man in $(CURRENT_DIR) done"
- X
- Makefiles::
- X
- includes::
- X
- ###########################################################################
- # dependencies generated by makedepend
- X
- SHAR_EOF
- chmod 0644 Makefile ||
- echo 'restore of Makefile failed'
- Wc_c="`wc -c < 'Makefile'`"
- test 10730 -eq "$Wc_c" ||
- echo 'Makefile: original size 10730, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- # ============= Makefile.alt ==============
- if test -f 'Makefile.alt' -a X"$1" != X"-c"; then
- echo 'x - skipping Makefile.alt (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting Makefile.alt (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'Makefile.alt' &&
- # Remove -lXext if you don't have it; it's only used for button shapes which
- # default to rectangle anyway.
- CC = cc
- CFLAGS = -O
- LDFLAGS = -lXaw -lXmu -lXt -lX11 -lXext
- X
- X
- # o Define SIGNALRETURNSINT if your signal(3) returns int not void.
- # o Define FORKRETURNSSHORT/FORKRETURNSLONG/FORKRETURNSPID_T if your fork(2)
- # returns short/long/pid_t not int.
- # o Define USEFLOCK or USELOCKF to use flock(2) or lockf(3) to lock files,
- # rather than fcntl(2).
- # o Define USELSEEK to use lseek(2) to move to the end of the file, rather than
- # fseek(3).
- # o Define USERENAME to use rename(2) to rename file names (otherwise
- # un/link(2)).
- # o Define USEGETHOSTNAME or USEUNAME (or neither if you don't have
- # gethostname(2) or uname(2)) to get the name of your system.
- # o Define USEGETPWUID to use getpwuid(2) and getuid(2) to get the user name
- # and home directory on your system. Note that if you want to use this
- # method to get the user's home directory, but another method to get the user
- # name, this symbol must still be defined.
- # o Define USEGETLOGIN to use getlogin(3) to get the user name (note that this
- # may not work if xalarm is invoked from a pseudo terminal).
- # o Define USECUSERID to use cuserid(3) to get the user name.
- X
- DEFINES = -DUSERENAME -DUSEGETHOSTNAME -DUSEGETPWUID
- X
- X
- # My, is this complex! These are the usual places for installation.
- PREFIX =
- MANSUFX = n
- XX11BIN = $(PREFIX)/usr/bin/X11
- XX11MAN = $(PREFIX)/usr/man/man$(MANSUFX)
- XX11AD = $(PREFIX)/usr/lib/X11/app-defaults
- X
- X
- # Bits and bobs.
- MADE = test -f
- STRIP = /bin/strip
- CP = /bin/cp
- RM = /bin/rm -f
- TAGS = etags -t
- LINT = lint -hbxca
- X
- X
- OBJS = alarm.o when.o warnings.o times.o dates.o file.o fns.o xalarm.o
- SRCS = alarm.c when.c warnings.c times.c dates.c file.c fns.c xalarm.c
- X
- # If your make complains about the && conditional sequences, you may have to do
- # them by hand or go hacking below... The executables and man pages go in the
- # same directories as xalarm do.
- X
- # The & variable tells a Sequent to do a parallel make, forking compilation
- # processes. Set this variable to whatever value you need for your parallel
- # machine. Or you could just use GNU make with "-j".
- X
- # If your make will not except this (ie. it is brain dead), try "make
- # MADE=test" or "make config" (or both), then "make xalarm" if necessary. The
- # other solution is to use GNU make.
- X
- all: .config xalarm
- X
- xalarm: $& $(OBJS)
- X $(CC) $(CFLAGS) -o xalarm $(OBJS) $(LDFLAGS)
- X
- .c.o:
- X $(CC) -c $(CFLAGS) $(DEFINES) $<
- X
- install: all
- X $(STRIP) xalarm
- X $(CP) xalarm xmemo $(X11BIN)
- X $(MADE) xfortune && $(CP) xfortune $(X11BIN)
- X $(MADE) xyow && $(CP) xyow $(X11BIN)
- X $(CP) XAlarm.ad $(X11AD)/XAlarm
- X
- install.man:
- X $(CP) xalarm.man $(X11MAN)/xalarm.$(MANSUFX)
- X $(MAKE) xmemo.man && $(CP) xmemo.man $(X11MAN)/xmemo.$(MANSUFX)
- X $(MADE) xfortune && $(MAKE) xfortune.man && \
- X $(CP) xfortune.man $(X11MAN)/xfortune.$(MANSUFX)
- X $(MADE) xyow && $(MAKE) xyow.man && $(CP) xyow.man $(X11MAN)/xyow.$(MANSUFX)
- X
- xmemo.man xyow.man xfortune.man:
- X echo ".so man$(MANSUFX)/xalarm.$(MANSUFX)" > $@
- X
- X
- fns.h:
- X @./config.1st -quick fortune yow
- X
- tags:
- X $(TAGS) $(SRCS)
- X
- clean:
- X $(RM) $(OBJS) xalarm xfortune xyow fns.h .config core *~ #*
- X
- lint:
- X $(LINT) $(SRCS)
- X
- # Make sure the resources are loaded so xalarm can be used before installed etc.
- config:
- X @./config.1st -quick fortune yow
- X @xrdb -merge XAlarm.ad
- X @xrdb -merge XAlarm.ad+
- X
- .config::
- X @-$(MADE) .config || make config
- X
- alarm.o: xalarm.h patchlevel.h
- when.o: xalarm.h patchlevel.h dates.h
- warnings.o: xalarm.h patchlevel.h
- times.o: xalarm.h patchlevel.h dates.h
- dates.o: xalarm.h patchlevel.h dates.h
- file.o: xalarm.h patchlevel.h dates.h
- fns.o: xalarm.h patchlevel.h fns.h
- xalarm.o: xalarm.h patchlevel.h
- SHAR_EOF
- chmod 0644 Makefile.alt ||
- echo 'restore of Makefile.alt failed'
- Wc_c="`wc -c < 'Makefile.alt'`"
- test 3717 -eq "$Wc_c" ||
- echo 'Makefile.alt: original size 3717, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- # ============= PROBLEMS ==============
- if test -f 'PROBLEMS' -a X"$1" != X"-c"; then
- echo 'x - skipping PROBLEMS (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting PROBLEMS (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'PROBLEMS' &&
- COMPILATION
- ~~~~~~~~~~~
- X
- X 1. Make dies a death. Some vendor's "make" are brain dead. One solution
- X is to use GNU make, the other is to do some of it by hand. Try "make
- X MADE=test" or "make config" (or both), then "make xalarm" if necessary.
- X Then shout at your vendor.
- X
- X 2. Make says something like "xrdb: Can't open display" or "Command failed
- X for target `config'". When you first make, make attempts to merge the
- X resources necessary to use xalarm for the current session, without the
- X resources properly installed. What has happened is that the DISPLAY
- X variable is not set to be your display, so xrdb cannot know which
- X display the resources are for.
- X
- X To fix, set the DISPLAY variable. It should be set to the name of the
- X host that the display is running on. If you are compiling on the same
- X machine as the display is on, it should probably be something like
- X "`hostname`:0.0", where hostname returns the name of the host.
- X
- X 3. Both 3 and 4 may be caused by you using the supplied Makefile, rather
- X than generating your own by "xmkmf".
- X
- X When using the Makefile generated from the Imakefile, compiler says
- X things like, "Don't know how to make target `lib/Xaw/libXaw.a'". You
- X are not building in the contrib directory, so try removing $(DEPLIBS)
- X from the xalarm target in the Makefile.
- X
- X 4. When using the Makefile generated from the Imakefile, the loader says
- X things like, "ld: ./lib/Xaw/libXaw.a: No such file or directory". You
- X are not building in the contrib directory, so try re-defining
- X LOCAL_LIBRARIES to be "-lXaw -lXmu -lXt -lXext -lX11" in the Makefile.
- X
- X 5. Compiler complains about non-existent fns.h. Try "make config" first.
- X If this does not work, hack config.1st to put the correct definitions
- X for GETXALARMPIDS and KILLPATH in fns.h, and create the xfortune & xyow
- X shell scripts (if you can be bothered). None of this is essential for
- X xalarm, but something has to be defined in fns.h.
- X
- X If you don't have "kill", "ps", "grep" or "colrm", you can compile
- X xalarm, but you won't be able to use -kill, -reset or -list options.
- X
- X The command ps(1) lists processes. The command grep(1) is a pattern
- X matcher. The command colrm(1) removes everything from its input after
- X the sixth column. Look at the file config.1st.
- X
- X 6. Compiler complains about gethostname(2), uname(2), getpwuid(3),
- X getuid(2), pwd.h, getlogin(3) or cuserid(3). These are the different
- X ways in which xalarm gets the host name, and the user's name and home
- X directory. See the Imakefile or Makefile.alt on how to control which
- X of these calls are used using compiler symbol defines.
- X
- X 7. Compiler complains about flock(2), lockf(3) or fcntl(2). This is how
- X xalarm locks an alarm file before writing to it. See the Imakefile or
- X Makefile.alt on how to control which of these calls are used using
- X compiler symbol defines.
- X
- X 8. Compiler complains about fseek(3). See the Imakefile or Makefile.alt
- X on how to xalarm use lseek(2) instead, using compiler symbol defines.
- X
- X 9. Compiler complains about rename(2). See the Imakefile or Makefile.alt
- X on how to make xalarm use link(2)/unlink(2) instead, using compiler
- X symbol defines.
- X
- X 10. Compiler complains about the type declaration of fork(2). See the
- X Imakefile or Makefile.alt on how to control how it is defined, using
- X compiler symbol defines.
- X
- X 11. If you don't have "fortune" or "yow", you can't have "xfortune" or
- X "xyow".
- X
- X What about other programs, along with xyow and xfortune, can I make
- X these too? To make the executable shell script "xyourprogram" in the
- X current directory, do:
- X
- X % config.1st [-quick] yourprogram
- X
- X You will be asked about "ps" etc. again, but persevere. You will have
- X to install both the executable and manual page yourself. The manual
- X page would be an exact copy of xmemo.man. If xmemo.man is not made:
- X
- X % make xmemo.man
- X
- X
- RUNNING
- ~~~~~~~
- X
- X 1. The alarm comes up with buttons overlayed etc., it's a mess. The
- X resources aren't around and xalarm is almost completely controlled by
- X them. Either install the resources (so others can also use xalarm), or
- X include them in your ~/.xresources file. When xalarm is first made,
- X the resources are merged automatically so that you need not do this, at
- X least for that current session.
- X
- X 2. Xalarm does not use your user name as the alarm popup name, and
- X complains about not being able to open your alarm file, on some
- X systems. This may be because xalarm is using getpwuid() et al to get
- X the user name and home directory, but no /etc/passwd file exists on the
- X local host. You could compile xalarm so that it uses a different
- X method; see 6 under COMPILATION.
- X
- X 3. You want to layout the alarm buttons differently, don't you? Mine not
- X good enough? The buttons are within a Form widget, so have a look at
- X the Xaw man page for this. Each button has the placement resources
- X fromHoriz, fromVert, horizDistance & vertDistance. There are some
- X suggestions in the xalarm man page too.
- X
- X The button box and message label are also in a (higher level) Form
- X widget, so you can also change the relationship of button box to
- X message text. See the man page too.
- X
- X Note that the ordering of resources are important; you can't refer to a
- X widget in a resource before it's created by xalarm. The order of
- X creation is:
- X
- X Parent Widget(s)
- X ---------------------
- X alarm buttons
- X buttons quit snooze snooze1 snooze5 snooze15 snoozetime
- X alarm message
- X
- X 4. A good font alternative to the "-times-" family (for something slightly
- X more readable) is "-new century schoolbook-". See the EXAMPLE RESOURCE
- X section of the man page.
- X
- X 5. When using the -kill, -reset or -list options, weird text appears and
- X the command fails. This may be due to your ~/.cshrc file, or
- X equivalent, doing some output. It shouldn't be.
- X
- X 6. Occasionally, an xalarm process appears not to save its alarm when the
- X X session is terminated. This may actually be due to the fact that
- X other xalarm processes over-wrote the information. You may need to
- X specify that xalarm use a different method of locking files (see 7
- X under COMPILATION) and/or moving to the end of the file (see 8 under
- X COMPILATION), using compiler symbol defines. You must then rebuild
- X xalarm.
- X
- X
- BUGS
- ~~~~
- X
- X If you have any bugs, comments, suggestions, code, fixes, please let me
- X know and I will make an attempt to include them. A few ``things'' are
- X mentioned in the bugs section of the manual. Don't forget to include
- X the xalarm version number ("xalarm -version" gives it you), machine/OS,
- X X11 release & patch, WM used, etc.
- SHAR_EOF
- chmod 0644 PROBLEMS ||
- echo 'restore of PROBLEMS failed'
- Wc_c="`wc -c < 'PROBLEMS'`"
- test 6606 -eq "$Wc_c" ||
- echo 'PROBLEMS: original size 6606, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- # ============= README ==============
- if test -f 'README' -a X"$1" != X"-c"; then
- echo 'x - skipping README (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting README (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'README' &&
- X Welcome to xalarm-3 for X11R4/5
- X Ideal for the permanently late, like me.
- X
- X Copyright (c) 1991, 1992 by Simon Marshall
- X
- X
- WOULD XALARM BE USEFUL TO ME?
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- X
- X For those who need to be reminded that they have to be somewhere, or have to
- X do something, on a one-off basis. "Gotta finish work on time, can't be late,
- X going out!", "Meeting in half an hour!" etc.
- X
- X For those who have to be reminded that they have to be somewhere, or have to
- X do something, on a regular basis. "Project discussion at 2.30pm Wednesday!",
- X "Lunch at 1pm!" etc.
- X
- X
- DESCRIPTION
- ~~~~~~~~~~~
- X
- X xalarm is an interactive alarm clock analogous to a combination of leave(1)
- X and calendar(1), only much more powerful.
- X
- X You can set the alarm either by command line options, or by entering the time
- X using the popup window. The time and date formats are quite flexible and
- X natural. At the appropriate time, xalarm pops up a window to tell you that
- X your time is up. You can tell xalarm to pop up warning windows at specified
- X times before the alarm is to trigger in order to warn you of the impending
- X alarm.
- X
- X If a time is not given or recognised, or a date or warning time is not
- X recognised, or confirmation is required, xalarm prompts for one by popping up
- X a window. This gives you an opportunity to change the alarm setting,
- X warnings times, and the message xalarm will display when the alarm is
- X triggered.
- X
- X This form is suitable for inclusion as a menu option under a window manager.
- X
- X You can make xalarm read alarm times, dates, and the messages to display from
- X a file, either as a one-off or periodically using an xalarm daemon. The
- X alarms will only be set on the dates specified in the file. This way you can
- X have an appointments file.
- X
- X This form is suitable for inclusion in an X start up or initialisation
- X script.
- X
- X To help you, xalarm shows the current time, and the alarm also displays the
- X time since the alarm triggered. Even if you end an X session before xalarm
- X has finished, xalarm will save its alarm. It will then be re-started (if the
- X time has not passed) next time you invoke xalarm.
- X
- X xalarm allows you to snooze the alarm after it is triggered, to give you an
- X opportunity to carry on and be late anyway. It can also pester you after it
- X has triggered. Even after you have set the alarm and confirmed it, you can
- X reset the alarm as long as you know the xalarm process number; xalarm can
- X list other xalarm pids.
- X
- X xalarm makes maximum use of resources, as well as having a number of command
- X line options, and these can be used to control most of the appearance of
- X xalarm and (just about) all of its behaviour.
- X
- X The current xalarm options include:
- X -daemon +days|daily|weekly
- X -file +days|date|today|tomorrow|weekly
- X -date +days|date|today|tomorrow|week
- X -time +time|time|now|noon
- X -warn time[,time...] -nowarn
- X -confirm -noconfirm
- X -warnwords number -nowarnwords
- X -list
- X -reset pid|all
- X -kill pid|all
- X -pester time -nopester
- X -snooze time
- X -alarmaudio bell|beep|quiet|shell_script
- X -warningaudio bell|beep|quiet|shell_script
- X -quiet -volume percent
- X -help -version
- X
- X Also supplied is xmemo, a front end to xalarm. By default, make tries to
- X create xfortune and xyow (front ends to xmemo). Note that they require the
- X fortune and yow programs respectively, they don't come with this.
- X
- X See the file INSTALL and PROBLEMS for help with installation and problems.
- X
- X
- THE END
- ~~~~~~~
- SHAR_EOF
- true || echo 'restore of README failed'
- fi
- echo 'End of part 1'
- echo 'File README is continued in part 2'
- echo 2 > _shar_seq_.tmp
- exit 0
- --
- --
- Molecular Simulations, Inc. mail: dcmartin@msi.com
- 796 N. Pastoria Avenue uucp: uunet!dcmartin
- Sunnyvale, California 94086 at&t: 408/522-9236
-