Article 12667 of alt.sources:
Path: nntpd.lkg.dec.com!pa.dec.com!decwrl!spool.mu.edu!howland.reston.ans.net!tank.news.pipex.net!pipex!demon!not-for-mail
From: Bob Smith <bob@snuffy.penfield.ny.us>
Newsgroups: alt.sources
Subject: Notes-1.0.7 part.01/03
Date: Sat, 22 Jul 95 11:47:41 EDT
Lines: 1526
Message-ID: <9507221547.AA07814@snuffy.penfield.ny.us>
X-NNTP-Posting-Host: valhalla.ee.rochester.edu

README for Notes v1.0.7

Notes is an X11R5 note pad based on the Athena Widget set.
It was developed on a Sun3 running SunOS3.5 and X11R5 using
twm as the window manager.  I've been told that it runs on
the following systems with minimal 'shoe-horning'...

	DEC 3100, ULTRIX 4.28, X11R5, and mwm
	Sparcstation10, Solaris 2.3
	SCO ODT 3.0
	MIPS
	Coherent, XFree386 1.2
	SunOS 4.1.1U1, X11R5, twm
	SunOS 4.1.1U1, X11R6, twm
	Solaris x86
	HPUX 9.01, X11R5
	NetBSD 0.9, XFree86 1.x
	DEC Alpha, OSF/1 v2.0
	Linux 1.1.19, XFree 2.0
	Linux 1.0.5, XFree86 2.0
	IRIX 5.2 (SGI), X11R5
	386/33, ESIX SVR4.0.3
	IRIX 5.3 (SGI), X11R6
	IBM RS/6000
	Motorola 88k SVR4

I would appreciate reports from anyone running it elsewhere.

There's really nothing fancy about this program, it merely keeps
a collection of notes in popups and saves them to a file
called .notes in your home directory.  This .notes file not only
saves the contents of each note, but also the geometry of each
note.

Theorectically there should be no limit to the number of notes
that you could have, but in practice - the list widget will run
off the bottom of your screen at some point...

bob@snuffy.penfield.ny.us (Bob Smith)
----- cut here ----- cut here ----- cut here ----- cut here -----
#!/bin/sh
# This is notes-1.0.6, a shell archive (produced by GNU sharutils 4.1)
# To extract the files from this archive, save it to some FILE, remove
# everything before the `!/bin/sh' line above, then type `sh FILE'.
#
# Made on 1995-07-22 11:47 EDT by <bob@snuffy.penfield.ny.us>.
# Source directory was `/usr/export/home/bob/src/notes-1.0.7'.
#
# 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
# ------ ---------- ------------------------------------------
#      9 -rw-r--r-- .exrc
#   8967 -rw-r--r-- .notes
#   4930 -rw-r--r-- CHANGES
#    547 -rw-r--r-- CONTRIBUTORS
#   1784 -rw-r--r-- INSTALL
#   1565 -rw-r--r-- Imakefile
#  12202 -rw-r--r-- Notes.ad.std
#  12167 -rw-r--r-- Notes.ad.wide
#   1186 -rw-r--r-- README
#    394 -rw-r--r-- TODO
#  19794 -rw-r--r-- callbacks.c
#  15520 -rw-r--r-- main.c
#  23852 -rw-r--r-- notes.el
#  20346 -rw-r--r-- notes.elc.uu
#   1804 -rw-r--r-- notes.h
#   4001 -rw-r--r-- notes.man
#    108 -rwxr-xr-x notes.sh
#   2987 -rw-r--r-- notes.xbm
#    462 -rw-r--r-- patchlevel.h
#
touch -am 1231235999 $$.touch >/dev/null 2>&1
if test ! -f 1231235999 && test -f $$.touch; then
  shar_touch=touch
else
  shar_touch=:
  echo
  echo 'WARNING: not restoring timestamps.  Consider getting and'
  echo "installing GNU \`touch', distributed in GNU File Utilities..."
  echo
fi
rm -f 1231235999 $$.touch
#
if test -r _sharseq.tmp; then
  echo 'Must unpack archives in sequence!'
  echo Please unpack part `cat _sharseq.tmp` next
  exit 1
fi
# ============= .exrc ==============
if test -f '.exrc' && test X"$1" != X"-c"; then
  echo 'x - skipping .exrc (file already exists)'
  rm -f _sharnew.tmp
else
  > _sharnew.tmp
  echo 'x - extracting .exrc (text)'
  sed 's/^X//' << 'SHAR_EOF' > '.exrc' &&
Xset ts=4
SHAR_EOF
  $shar_touch -am 0613212295 '.exrc' &&
  chmod 0644 '.exrc' ||
  echo 'restore of .exrc failed'
  rm -f _sharnew.tmp
fi
# ============= .notes ==============
if test -f '.notes' && test X"$1" != X"-c"; then
  echo 'x - skipping .notes (file already exists)'
  rm -f _sharnew.tmp
else
  > _sharnew.tmp
  echo 'x - extracting .notes (text)'
  sed 's/^X//' << 'SHAR_EOF' > '.notes' &&
X325 261 532 395 CHANGES
XCHANGES to Notes for v1.0.7
X
Xo	Fixed my email adddress...  I haven't lived in Mass. for
X	3 years!
X
Xo	Fixed some prototype definitions - thanks to
X	Beirne <hc05@summitis.com>
X
XCHANGES to Notes for v1.0.6
X
Xo	Thanks to "Giacomo Brussino" <ggb@aurora.engr.sgi.com>,
X	with his help discovered that if the title of one of your
X	notes is 'Notes', the program did funny things...  We
X	think it's fixed.
X
Xo	Updated the man page a bit.  I hate writing man pages...
X
Xo	Made write_notefile force a minimum size for notes.  Keeps
X	things from getting out of control.  Minimum size works out
X	to something like 346x64 for the text area...  Let me know
X	if you don't like this.
X
XCHANGES to Notes for v1.0.5
X
Xo	Creeping windowism had stuck with the auto-save feature...
X	I think it's fixed now.
X
Xo	Verified operation with X11R6...  The R6 text editor is
X	easy to type ahead of... but I'm not the only application
X	effected! :-)
X
Xo	Shrunk the notes icon size just a bit -- now 58x58 instead
X	of the old 64x64...  why?  because I wanted to...
X
Xo	Added a copyright notice -- of sorts.
X
XCHANGES to Notes for v1.0.4
X
Xo	Finally got save on exit to work correctly...  I think! :-)	
X
Xo	Updated my machine to SunOS 4.1.1U1...  Updated some #include
X	directives to match, probably broke something...
X
XCHANGES to Notes for v1.0.3
X
Xo	Changed the Notes bitmap ...  it looked too much like the
X	old rolotool icon...  I got tired of looking at it...
X
Xo	Included an app res file for wide titles if desired.
X	define WideTitles in the Imakefile to install this one.
X
Xo	Fixed font names in the app res file.  Some systems didn't
X	like my aliases.
X
Xo	Added a saveOnExit and createBackup flag to the resources
X	file.  No magic to it.  If these are set to True, a
X	backup is created when you do a save, and the notes file
X	is saved when you exit.
X
Xo	Added Gary Flakes's revert function and notes.el for
X	editing a notes file in emacs folding mode.
X
Xo	Added some defines to notes.h to help out with
X	builds on X11R4 - although my impression is this
X	doesn't work real well with R4...
X
Xo	Added a resource file.  Tried to put just about
X	everything under it's control.  You can now specify
X	program or personal placement of every popup or window
X	in the appres file.  Can also specify an different notes
X	file in the appres file...  Plugged in some fonts while
X	I was at it.
X
Xo	Added notes.sh script to allow testing without installing.
X
Xo	Added some translations so the <Return> key can be
X	used to confirm creation of a note or a change in
X	a title.
X
Xo	Fixed a bug that resulted in an abend if the .notes
X	file was empty...
X
XCHANGES to Notes for v1.0.2
X
Xo	Changed the 'chains' on the buttons that are part
X	of the notes list so that they don't get mucked up
X	when the window is resized.
X
Xo	Added a 'Select' button to the note display to allow
X	selecting the entire note easily.
X
Xo	Changed filler_buttons to filler_boxes... Just makes
X	more sense.
X
Xo	Made a change in the dialog message when creating a new
X	note.
X
Xo	Put the whole mess under SCCS control ... even
X	though I have no real experience at using sccs...
X	as good a time as any to learn...
X
XCHANGES to Notes for v1.0.1
X
Xo	Added a Button 2 translation to the `Dismiss' button
X	of the Notes list that causes everything (any displayed
X	notes and the note list) to be dismissed in one action.
X
Xo	Added a Button 2 translation to the `Save' button
X	of the Notes list that causes a save operation to be
X	performed and everything dismissed.
X
Xo	Added a Button 2 translation to the Notes list widget
X	that will dismiss the associated note.
X
Xo	Did away with the quitAction function in main.c
X	as it was unneeded.
X
Xo	Corrected read_notefile so that it wouldn't core
X	dump in the absence of a HOME variable in the
X	environment.
X
Xo	Put some speedup hacks into read_notefile,
X	the entire file is now read in one pass instead of
X	a line at a time.  Loads up appreciably faster!
X
Xo	Added some error checking around malloc's and realloc's,
X	doesn't do anything graceful!  Just checks and dies
X	if a problem is encountered.
X
Xo	Added a die() function, a quick way out for error
X	conditions.
X
Xo	Added an AddCallback definition, just an easier way
X	to do XtAddCallback...
X
Xo	Consolidated some code with the addition of the function
X	destroy_widget() in callbacks.c
X
Xo	added desensitize_all and resensitize_all -- an effort
X	in keeping the user from getting the thing in an odd
X	state...  maybe
X
Xo	made more things work via callbacks
X
Xo	added H_OFFSET and H_OFFSET definitions in Imakefile
X	for use by write_notefile() in main.c -- the purpose
X	is to correct out the offsets injected by my window
X	manager (twm) while a note is mapped to prevent the
X	windows from 'creeping' when they are saved...  if
X	someone knows a way to detect these offsets at run
X	time I'd appreciate a better idea...
X
Xo	added a Button 3 translation to the startup_button
X	to bring up a `quit' dialog box
X
Xo	...and otherwise damn near rewrote the whole thing
X351 285 472 272 CONTRIBUTORS
Xhc05@summitis.com (Beirne)
X
X	Prototype definition fixes.
X
X
Xpeyote@umiacs.umd.edu (Gary William Flake)
X
X	Added the revert function so you can reload the
X	file.  Primary use intended to reload the .notes
X	file after twiddling with it in emacs notes-mode.
X	Subsidiary effect is you can reload your notes if
X	you botch 'em up!
X
X	Author of notes.el  (I can barely spell lisp!)
X
X
Xscoffin@advtech.uswest.com (Steve Coffin)
X
X	Helped with debugging and 'the wide title man'...
X
X
Xggb@aurora.engr.sgi.com (Giacomo Brussino)
X
X	Helped chase the 'Notes' bug...
X310 321 544 301 INSTALL
XINSTALL notes for Notes v1.0.7
X
XIn theory it should work this:
X
X	check the defines in the Imakefile - if your system
X	doesn't have strdup() uncomment the STRDUP definition -
X	if your systems uses strchr() rather than index(),
X	uncomment the INDEX definition...
X
X	if it's going to work, the following sequence of
X	commands should finish it off...
X
X	xmkmf			to create the Makefile
X	make            	to build notes
X	make install		to install notes in BINDIR
X				and notes.xbm in BITMAPDIR
X	make install.man	to install notes.man in MANDIR
X
XThings that may cause problems:
X
X	h_offset and v_offset (in the rosource file...)
X
X		Various window managers do weird things to a
X		windows x and y values when they are mapped.
X		This prompted the inclusion of settable parameters
X		h_offset and v_offset in the resource file...  You
X		may have to experiment a bit by saving your .notes
X		files repeatedly with notes mapped and checking the
X		values in .notes to get it exactly right on your
X		system.  The effect you'll notice if h_offset and
X		v_offset are wrong for your system is that the notes
X		windows will 'walk' away from their saved position
X		by a pixel or two every time they are saved.
X
X		There must be a way to do this programatically,
X		I just don't know how...  If someone could give
X		me a hint! :-)
X
X	fonts
X
X		I have some font aliases that seem fairly standard,
X		but will surely cause someone headaches...
X		checkout the resource file...
X
Xnotes.el:
X
X	I'm no emacs-lisp wizard...  but basically you can
X	get a taste of how it works with:
X
X		emacs -l notes.elc
X
X	and then issuing:
X
X		M-x notes-mode
X
X	to emacs.  The .notes file in your HOME directory
X	should come up in a kind of 'mail' mode... Cool!
X
X	Send comments on this function to:
X
X	peyote@umiacs.umd.edu (Gary William Flake)
X387 216 475 506 README
XREADME for Notes v1.0.7
X
XNotes is an X11R5 note pad based on the Athena Widget set.
XIt was developed on a Sun3 running SunOS3.5 and X11R5 using
Xtwm as the window manager.  I've been told that it runs on
Xthe following systems with minimal 'shoe-horning'...
X
X	DEC 3100, ULTRIX 4.28, X11R5, and mwm
X	Sparcstation10, Solaris 2.3
X	SCO ODT 3.0
X	MIPS
X	Coherent, XFree386 1.2
X	SunOS 4.1.1U1, X11R5, twm
X	SunOS 4.1.1U1, X11R6, twm
X	Solaris x86
X	HPUX 9.01, X11R5
X	NetBSD 0.9, XFree86 1.x
X	DEC Alpha, OSF/1 v2.0
X	Linux 1.1.19, XFree 2.0
X	Linux 1.0.5, XFree86 2.0
X	IRIX 5.2 (SGI), X11R5
X	386/33, ESIX SVR4.0.3
X	IRIX 5.3 (SGI), X11R6
X	IBM RS/6000
X	Motorola 88k SVR4
X
XI would appreciate reports from anyone running it elsewhere.
X
XThere's really nothing fancy about this program, it merely keeps
Xa collection of notes in popups and saves them to a file
Xcalled .notes in your home directory.  This .notes file not only
Xsaves the contents of each note, but also the geometry of each
Xnote.
X
XTheorectically there should be no limit to the number of notes
Xthat you could have, but in practice - the list widget will run
Xoff the bottom of your screen at some point...
X
Xbob@snuffy.penfield.ny.us (Bob Smith)
X348 386 469 217 TODO
XTODO list for Notes
X
Xo	improve the state of comments in the source
X
Xo	Fix the list widget so that when it's about to
X	hang off the screen, switch to multiple columns
X	or add a scrollbar (pending a final decision here)
X
Xo	Find a better way to get a windows geometry while
X	it's mapped and eliminate the need for h_offset
X	and v_offset in the app_res file.
X
Xo	Make saveOnExit a little smarter...
SHAR_EOF
  $shar_touch -am 0722113395 '.notes' &&
  chmod 0644 '.notes' ||
  echo 'restore of .notes failed'
  rm -f _sharnew.tmp
fi
# ============= CHANGES ==============
if test -f 'CHANGES' && test X"$1" != X"-c"; then
  echo 'x - skipping CHANGES (file already exists)'
  rm -f _sharnew.tmp
else
  > _sharnew.tmp
  echo 'x - extracting CHANGES (text)'
  sed 's/^X//' << 'SHAR_EOF' > 'CHANGES' &&
XCHANGES to Notes for v1.0.7
X
Xo	Fixed my email adddress...  I haven't lived in Mass. for
X	3 years!
X
Xo	Fixed some prototype definitions - thanks to
X	Beirne <hc05@summitis.com>
X
XCHANGES to Notes for v1.0.6
X
Xo	Thanks to "Giacomo Brussino" <ggb@aurora.engr.sgi.com>,
X	with his help discovered that if the title of one of your
X	notes is 'Notes', the program did funny things...  We
X	think it's fixed.
X
Xo	Updated the man page a bit.  I hate writing man pages...
X
Xo	Made write_notefile force a minimum size for notes.  Keeps
X	things from getting out of control.  Minimum size works out
X	to something like 346x64 for the text area...  Let me know
X	if you don't like this.
X
XCHANGES to Notes for v1.0.5
X
Xo	Creeping windowism had stuck with the auto-save feature...
X	I think it's fixed now.
X
Xo	Verified operation with X11R6...  The R6 text editor is
X	easy to type ahead of... but I'm not the only application
X	effected! :-)
X
Xo	Shrunk the notes icon size just a bit -- now 58x58 instead
X	of the old 64x64...  why?  because I wanted to...
X
Xo	Added a copyright notice -- of sorts.
X
XCHANGES to Notes for v1.0.4
X
Xo	Finally got save on exit to work correctly...  I think! :-)	
X
Xo	Updated my machine to SunOS 4.1.1U1...  Updated some #include
X	directives to match, probably broke something...
X
XCHANGES to Notes for v1.0.3
X
Xo	Changed the Notes bitmap ...  it looked too much like the
X	old rolotool icon...  I got tired of looking at it...
X
Xo	Included an app res file for wide titles if desired.
X	define WideTitles in the Imakefile to install this one.
X
Xo	Fixed font names in the app res file.  Some systems didn't
X	like my aliases.
X
Xo	Added a saveOnExit and createBackup flag to the resources
X	file.  No magic to it.  If these are set to True, a
X	backup is created when you do a save, and the notes file
X	is saved when you exit.
X
Xo	Added Gary Flakes's revert function and notes.el for
X	editing a notes file in emacs folding mode.
X
Xo	Added some defines to notes.h to help out with
X	builds on X11R4 - although my impression is this
X	doesn't work real well with R4...
X
Xo	Added a resource file.  Tried to put just about
X	everything under it's control.  You can now specify
X	program or personal placement of every popup or window
X	in the appres file.  Can also specify an different notes
X	file in the appres file...  Plugged in some fonts while
X	I was at it.
X
Xo	Added notes.sh script to allow testing without installing.
X
Xo	Added some translations so the <Return> key can be
X	used to confirm creation of a note or a change in
X	a title.
X
Xo	Fixed a bug that resulted in an abend if the .notes
X	file was empty...
X
XCHANGES to Notes for v1.0.2
X
Xo	Changed the 'chains' on the buttons that are part
X	of the notes list so that they don't get mucked up
X	when the window is resized.
X
Xo	Added a 'Select' button to the note display to allow
X	selecting the entire note easily.
X
Xo	Changed filler_buttons to filler_boxes... Just makes
X	more sense.
X
Xo	Made a change in the dialog message when creating a new
X	note.
X
Xo	Put the whole mess under SCCS control ... even
X	though I have no real experience at using sccs...
X	as good a time as any to learn...
X
XCHANGES to Notes for v1.0.1
X
Xo	Added a Button 2 translation to the `Dismiss' button
X	of the Notes list that causes everything (any displayed
X	notes and the note list) to be dismissed in one action.
X
Xo	Added a Button 2 translation to the `Save' button
X	of the Notes list that causes a save operation to be
X	performed and everything dismissed.
X
Xo	Added a Button 2 translation to the Notes list widget
X	that will dismiss the associated note.
X
Xo	Did away with the quitAction function in main.c
X	as it was unneeded.
X
Xo	Corrected read_notefile so that it wouldn't core
X	dump in the absence of a HOME variable in the
X	environment.
X
Xo	Put some speedup hacks into read_notefile,
X	the entire file is now read in one pass instead of
X	a line at a time.  Loads up appreciably faster!
X
Xo	Added some error checking around malloc's and realloc's,
X	doesn't do anything graceful!  Just checks and dies
X	if a problem is encountered.
X
Xo	Added a die() function, a quick way out for error
X	conditions.
X
Xo	Added an AddCallback definition, just an easier way
X	to do XtAddCallback...
X
Xo	Consolidated some code with the addition of the function
X	destroy_widget() in callbacks.c
X
Xo	added desensitize_all and resensitize_all -- an effort
X	in keeping the user from getting the thing in an odd
X	state...  maybe
X
Xo	made more things work via callbacks
X
Xo	added H_OFFSET and H_OFFSET definitions in Imakefile
X	for use by write_notefile() in main.c -- the purpose
X	is to correct out the offsets injected by my window
X	manager (twm) while a note is mapped to prevent the
X	windows from 'creeping' when they are saved...  if
X	someone knows a way to detect these offsets at run
X	time I'd appreciate a better idea...
X
Xo	added a Button 3 translation to the startup_button
X	to bring up a `quit' dialog box
X
Xo	...and otherwise damn near rewrote the whole thing
SHAR_EOF
  $shar_touch -am 0722112995 'CHANGES' &&
  chmod 0644 'CHANGES' ||
  echo 'restore of CHANGES failed'
  rm -f _sharnew.tmp
fi
# ============= CONTRIBUTORS ==============
if test -f 'CONTRIBUTORS' && test X"$1" != X"-c"; then
  echo 'x - skipping CONTRIBUTORS (file already exists)'
  rm -f _sharnew.tmp
else
  > _sharnew.tmp
  echo 'x - extracting CONTRIBUTORS (text)'
  sed 's/^X//' << 'SHAR_EOF' > 'CONTRIBUTORS' &&
Xhc05@summitis.com (Beirne)
X
X	Prototype definition fixes.
X
X
Xpeyote@umiacs.umd.edu (Gary William Flake)
X
X	Added the revert function so you can reload the
X	file.  Primary use intended to reload the .notes
X	file after twiddling with it in emacs notes-mode.
X	Subsidiary effect is you can reload your notes if
X	you botch 'em up!
X
X	Author of notes.el  (I can barely spell lisp!)
X
X
Xscoffin@advtech.uswest.com (Steve Coffin)
X
X	Helped with debugging and 'the wide title man'...
X
X
Xggb@aurora.engr.sgi.com (Giacomo Brussino)
X
X	Helped chase the 'Notes' bug...
SHAR_EOF
  $shar_touch -am 0722112995 'CONTRIBUTORS' &&
  chmod 0644 'CONTRIBUTORS' ||
  echo 'restore of CONTRIBUTORS failed'
  rm -f _sharnew.tmp
fi
# ============= INSTALL ==============
if test -f 'INSTALL' && test X"$1" != X"-c"; then
  echo 'x - skipping INSTALL (file already exists)'
  rm -f _sharnew.tmp
else
  > _sharnew.tmp
  echo 'x - extracting INSTALL (text)'
  sed 's/^X//' << 'SHAR_EOF' > 'INSTALL' &&
XINSTALL notes for Notes v1.0.7
X
XIn theory it should work this:
X
X	check the defines in the Imakefile - if your system
X	doesn't have strdup() uncomment the STRDUP definition -
X	if your systems uses strchr() rather than index(),
X	uncomment the INDEX definition...
X
X	if it's going to work, the following sequence of
X	commands should finish it off...
X
X	xmkmf			to create the Makefile
X	make            	to build notes
X	make install		to install notes in BINDIR
X				and notes.xbm in BITMAPDIR
X	make install.man	to install notes.man in MANDIR
X
XThings that may cause problems:
X
X	h_offset and v_offset (in the rosource file...)
X
X		Various window managers do weird things to a
X		windows x and y values when they are mapped.
X		This prompted the inclusion of settable parameters
X		h_offset and v_offset in the resource file...  You
X		may have to experiment a bit by saving your .notes
X		files repeatedly with notes mapped and checking the
X		values in .notes to get it exactly right on your
X		system.  The effect you'll notice if h_offset and
X		v_offset are wrong for your system is that the notes
X		windows will 'walk' away from their saved position
X		by a pixel or two every time they are saved.
X
X		There must be a way to do this programatically,
X		I just don't know how...  If someone could give
X		me a hint! :-)
X
X	fonts
X
X		I have some font aliases that seem fairly standard,
X		but will surely cause someone headaches...
X		checkout the resource file...
X
Xnotes.el:
X
X	I'm no emacs-lisp wizard...  but basically you can
X	get a taste of how it works with:
X
X		emacs -l notes.elc
X
X	and then issuing:
X
X		M-x notes-mode
X
X	to emacs.  The .notes file in your HOME directory
X	should come up in a kind of 'mail' mode... Cool!
X
X	Send comments on this function to:
X
X	peyote@umiacs.umd.edu (Gary William Flake)
SHAR_EOF
  $shar_touch -am 0722111295 'INSTALL' &&
  chmod 0644 'INSTALL' ||
  echo 'restore of INSTALL failed'
  rm -f _sharnew.tmp
fi
# ============= Imakefile ==============
if test -f 'Imakefile' && test X"$1" != X"-c"; then
  echo 'x - skipping Imakefile (file already exists)'
  rm -f _sharnew.tmp
else
  > _sharnew.tmp
  echo 'x - extracting Imakefile (text)'
  sed 's/^X//' << 'SHAR_EOF' > 'Imakefile' &&
X/* if you want the wide menu app res file, uncomment this */
X/* #define WideTitles /* */
X
X/* uncomment this if your system doesn't have strdup() */
X/* STRDUP=-DNEED_STRDUP /* */
X
X/* uncomment this if your system uses strchr() rather than index() */
X/* INDEX=-Dindex=strchr /* */
X
X/* if your system doesn't have param.h for MAXPATHLEN uncomment this */
X/* SYSV=-DSYSV /* */
X
X/* uncomment this stuff if you're building under OpenWindows */
X/* BINDIR=$$OPENWINHOME/bin /* */
X/* INCROOT=$$OPENWINHOME/include /* */
X/* MANPATH=$$OPENWINHOME/man /* */
X
X/* uncomment this if you want to use a debugger on the finished binary */
X/* CDEBUGFLAGS=-g /* */
X
X/* you shouldn't have to mess with the rest */
X
X         DEFINES = $(STRDUP) $(INDEX) $(SYSV)
X        INCLUDES = -I.
X
X            SRCS = main.c callbacks.c
X            OBJS = main.o callbacks.o
X LOCAL_LIBRARIES = XawClientLibs
X         DEPLIBS = XawClientDepLibs
X
X        KITFILES = .exrc .notes CHANGES CONTRIBUTORS INSTALL \
X                   Imakefile Notes.ad.std Notes.ad.wide README \
X                   TODO callbacks.c main.c notes.el notes.elc.uu \
X                   notes.h notes.man notes.sh notes.xbm patchlevel.h
X
XComplexProgramTarget(notes)
XInstallNonExec(notes.xbm, $(INCDIR)/bitmaps)
XInstallAppDefaults(Notes)
X
X#ifdef WideTitles
Xall::
X	cp Notes.ad.wide Notes.ad
X#else
Xall::
X	cp Notes.ad.std Notes.ad
X#endif
X
Xall::
X	cp Notes.ad Notes
X
X
Xall::
X	uudecode notes.elc.uu
X
Xclean::
X	rm -f Notes.ad Notes notes.elc
X
Xkit::
X	shar -o part -L 50 -n notes-1.0.6 -s bob@snuffy.penfield.ny.us \
X		-T -w -F $(KITFILES)
SHAR_EOF
  $shar_touch -am 0707130495 'Imakefile' &&
  chmod 0644 'Imakefile' ||
  echo 'restore of Imakefile failed'
  rm -f _sharnew.tmp
fi
# ============= Notes.ad.std ==============
if test -f 'Notes.ad.std' && test X"$1" != X"-c"; then
  echo 'x - skipping Notes.ad.std (file already exists)'
  rm -f _sharnew.tmp
else
  > _sharnew.tmp
  echo 'x - extracting Notes.ad.std (text)'
  sed 's/^X//' << 'SHAR_EOF' > 'Notes.ad.std' &&
X!
X! You probably shouldn't ever change this as it tells `Notes'
X! that it found it's resource file...
X!
XNotes.defaultsInstalled:			True
X!
X! the default notes file
X!
XNotes.noteFile:					.notes
X!
X! if you're paranoid about loosing changes
X!
XNotes.saveOnExit:				True
XNotes.createBackup:				True
X!
X! some fonts
X!
XNotes*Command.font:		-*-helvetica-bold-r-*--12-*-*-*-*-*-*
XNotes*Label.font:		-*-helvetica-bold-o-*--14-*-*-*-*-*-*
XNotes*Text.font:		-*-courier-bold-r-*--12-*-*-*-*-*-*
X!
X! bitmap stuff
X!
X! Notes.bitmapFilePath:				.
XNotes.start_button.bitmap:			notes.xbm
X!
X! this is to overcome something I don't know how to fix programatically.
X! when I request a windows x and y coordinates for saving, it appears
X! that I get those values as tweaked by the window manager, not
X! where the window really is...  These are the correction values
X! for my setup of twm, mileage may vary...
X!
XNotes.h_offset:					2
XNotes.v_offset:					24
X!
X! You'll find referecenses to 'fascistSomething' throughtout
X! this resource file.  If that resource is True the corresponding
X! x and y values for that popup/window position will be ignored
X! and the program will 'invent' it's own positioning.
X!
XNotes.fascistNewNote:				False
XNotes.newNoteX:					323
XNotes.newNoteY:					150
X!
X! Height and width are independent of fascism...
X!
XNotes.newNoteWidth:				500
XNotes.newNoteHeight:				300
X!
XNotes.fascistQuit:				True
XNotes.Quit.x:					323
XNotes.Quit.y:					150
X!
XNotes.Quit.form.prompt.label:			Quit, Are you sure?
XNotes.Quit.form.prompt.borderWidth:		0
XNotes.Quit.form.prompt.top:			ChainTop
XNotes.Quit.form.prompt.bottom:			ChainTop
XNotes.Quit.form.prompt.left:			ChainLeft
XNotes.Quit.form.prompt.right:			ChainLeft
X!
XNotes.Quit.form.confirm_button.label:		Yes
XNotes.Quit.form.confirm_button.width:		64
XNotes.Quit.form.confirm_button.fromVert:	prompt
XNotes.Quit.form.confirm_button.top:		ChainBottom
XNotes.Quit.form.confirm_button.bottom:		ChainBottom
XNotes.Quit.form.confirm_button.left:		ChainLeft
XNotes.Quit.form.confirm_button.right:		ChainLeft
X!
XNotes.Quit.form.cancel_button.label:		No
XNotes.Quit.form.cancel_button.width:		64
XNotes.Quit.form.cancel_button.fromHoriz:	confirm_button
XNotes.Quit.form.cancel_button.horizDistance:	74
XNotes.Quit.form.cancel_button.fromVert:		prompt
XNotes.Quit.form.cancel_button.top:		ChainBottom
XNotes.Quit.form.cancel_button.bottom:		ChainBottom
XNotes.Quit.form.cancel_button.left:		ChainRight
XNotes.Quit.form.cancel_button.right:		ChainRight
X!
XNotes.fascistVersion:				True
XNotes.Version.x:				323
XNotes.Version.y:				150
X!
XNotes.Version.form.prompt.borderWidth:		0
XNotes.Version.form.prompt.top:			ChainTop
XNotes.Version.form.prompt.bottom:		ChainTop
XNotes.Version.form.prompt.left:			ChainLeft
XNotes.Version.form.prompt.right:		ChainLeft
X!
XNotes.Version.form.dismiss_button.label:	Dismiss
XNotes.Version.form.dismiss_button.width:	64
XNotes.Version.form.dismiss_button.fromVert:	prompt
XNotes.Version.form.dismiss_button.top:		ChainBottom
XNotes.Version.form.dismiss_button.bottom:	ChainBottom
XNotes.Version.form.dismiss_button.left:		ChainLeft
XNotes.Version.form.dismiss_button.right:	ChainLeft
X!
XNotes.fascistClear_Note:			True
XNotes.Clear Note.x:				323
XNotes.Clear Note.y:				150
X!
XNotes.Clear Note.form.prompt.label:		Clear this note?
XNotes.Clear Note.form.prompt.borderWidth:	0
XNotes.Clear Note.form.prompt.top:		ChainTop
XNotes.Clear Note.form.prompt.bottom:		ChainTop
XNotes.Clear Note.form.prompt.left:		ChainLeft
XNotes.Clear Note.form.prompt.right:		ChainLeft
X!
XNotes.Clear Note.form.confirm_button.label:	Confirm
XNotes.Clear Note.form.confirm_button.width:	64
XNotes.Clear Note.form.confirm_button.fromVert:	prompt
XNotes.Clear Note.form.confirm_button.top:	ChainBottom
XNotes.Clear Note.form.confirm_button.bottom:	ChainBottom
XNotes.Clear Note.form.confirm_button.left:	ChainLeft
XNotes.Clear Note.form.confirm_button.right:	ChainLeft
X!
XNotes.Clear Note.form.cancel_button.label:	Cancel
XNotes.Clear Note.form.cancel_button.width: 	64
XNotes.Clear Note.form.cancel_button.fromHoriz:	confirm_button
XNotes.Clear Note.form.cancel_button.horizDistance: 74
XNotes.Clear Note.form.cancel_button.fromVert:	prompt
XNotes.Clear Note.form.cancel_button.top:	ChainBottom
XNotes.Clear Note.form.cancel_button.bottom:	ChainBottom
XNotes.Clear Note.form.cancel_button.left:	ChainRight
XNotes.Clear Note.form.cancel_button.right:	ChainRight
X!
XNotes.fascistDestroy_Note:			True
XNotes.Destroy Note.x:				323
XNotes.Destroy Note.y:				150
X!
XNotes.Destroy Note.form.prompt.label:		Destroy this note?
XNotes.Destroy Note.form.prompt.borderWidth:	0
XNotes.Destroy Note.form.prompt.top:		ChainTop
XNotes.Destroy Note.form.prompt.bottom:		ChainTop
XNotes.Destroy Note.form.prompt.left:		ChainLeft
XNotes.Destroy Note.form.prompt.right:		ChainLeft
X!
XNotes.Destroy Note.form.confirm_button.label:	Confirm
XNotes.Destroy Note.form.confirm_button.width:	64
XNotes.Destroy Note.form.confirm_button.fromVert: prompt
XNotes.Destroy Note.form.confirm_button.top:	ChainBottom
XNotes.Destroy Note.form.confirm_button.bottom:	ChainBottom
XNotes.Destroy Note.form.confirm_button.left:	ChainLeft
XNotes.Destroy Note.form.confirm_button.right:	ChainLeft
X!
XNotes.Destroy Note.form.cancel_button.label:	Cancel
XNotes.Destroy Note.form.cancel_button.width:	64
XNotes.Destroy Note.form.cancel_button.fromHoriz: confirm_button
XNotes.Destroy Note.form.cancel_button.horizDistance: 74
XNotes.Destroy Note.form.cancel_button.fromVert:	prompt
XNotes.Destroy Note.form.cancel_button.top:	ChainBottom
XNotes.Destroy Note.form.cancel_button.bottom:	ChainBottom
XNotes.Destroy Note.form.cancel_button.left:	ChainRight
XNotes.Destroy Note.form.cancel_button.right:	ChainRight
X!
XNotes.fascistChange_Title:			True
XNotes.Change Title.x:				323
XNotes.Change Title.y:				150
X!
XNotes.Change Title.form.prompt.label:		Enter new title
XNotes.Change Title.form.prompt.borderWidth:	0
XNotes.Change Title.form.prompt.top:		ChainTop
XNotes.Change Title.form.prompt.bottom:		ChainTop
XNotes.Change Title.form.prompt.left:		ChainLeft
XNotes.Change Title.form.prompt.right:		ChainLeft
X!
XNotes.Change Title.form.input.string:		str
XNotes.Change Title.form.input.width:		204
XNotes.Change Title.form.input.fromVert:		prompt
XNotes.Change Title.form.input.top:		ChainTop
XNotes.Change Title.form.input.bottom:		ChainTop
XNotes.Change Title.form.input.left:		ChainLeft
XNotes.Change Title.form.input.right:		ChainRight
X!
XNotes.Change Title.form.confirm_button.label:	Confirm
XNotes.Change Title.form.confirm_button.width:	64
XNotes.Change Title.form.confirm_button.fromVert: input
XNotes.Change Title.form.confirm_button.top:	ChainBottom
XNotes.Change Title.form.confirm_button.bottom:	ChainBottom
XNotes.Change Title.form.confirm_button.left:	ChainLeft
XNotes.Change Title.form.confirm_button.right:	ChainLeft
X!
XNotes.Change Title.form.cancel_button.label:	Cancel
XNotes.Change Title.form.cancel_button.width:	64
XNotes.Change Title.form.cancel_button.fromHoriz: confirm_button
XNotes.Change Title.form.cancel_button.horizDistance: 74
XNotes.Change Title.form.cancel_button.fromVert:	input
XNotes.Change Title.form.cancel_button.top:	ChainBottom
XNotes.Change Title.form.cancel_button.bottom:	ChainBottom
XNotes.Change Title.form.cancel_button.left:	ChainRight
XNotes.Change Title.form.cancel_button.right:	ChainRight
X!
XNotes.fascistNew_Note:				True
XNotes.New Note.x:				323
XNotes.New Note.y:				150
X!
XNotes.New Note.form.prompt.label:		Enter title of new note
XNotes.New Note.form.prompt.borderWidth:		0
XNotes.New Note.form.prompt.top:			ChainTop
XNotes.New Note.form.prompt.bottom:		ChainTop
XNotes.New Note.form.prompt.left:		ChainLeft
XNotes.New Note.form.prompt.right:		ChainLeft
X!
XNotes.New Note.form.input.width:		204
XNotes.New Note.form.input.fromVert:		prompt
XNotes.New Note.form.input.top:			ChainTop
XNotes.New Note.form.input.bottom:		ChainTop
XNotes.New Note.form.input.left:			ChainLeft
XNotes.New Note.form.input.right:		ChainRight
X!
XNotes.New Note.form.confirm_button.label:	Confirm
XNotes.New Note.form.confirm_button.width:	64
XNotes.New Note.form.confirm_button.fromVert:	input
XNotes.New Note.form.confirm_button.top:		ChainBottom
XNotes.New Note.form.confirm_button.bottom:	ChainBottom
XNotes.New Note.form.confirm_button.left:	ChainLeft
XNotes.New Note.form.confirm_button.right:	ChainLeft
X!
XNotes.New Note.form.cancel_button.label:	Cancel
XNotes.New Note.form.cancel_button.width:	64
XNotes.New Note.form.cancel_button.fromHoriz:	confirm_button
XNotes.New Note.form.cancel_button.horizDistance: 74
XNotes.New Note.form.cancel_button.fromVert:	input
XNotes.New Note.form.cancel_button.top:		ChainBottom
XNotes.New Note.form.cancel_button.bottom:	ChainBottom
XNotes.New Note.form.cancel_button.left:		ChainRight
XNotes.New Note.form.cancel_button.right:	ChainRight
X!
XNotes.fascistNotes:				True
XNotes.Notes.x:					323
XNotes.Notes.y:					150
X!
XNotes.Notes.list_form.new_button.label:		New
XNotes.Notes.list_form.new_button.width:		64
XNotes.Notes.list_form.new_button.top:		ChainTop
XNotes.Notes.list_form.new_button.bottom:		ChainTop
XNotes.Notes.list_form.new_button.left:		ChainLeft
XNotes.Notes.list_form.new_button.right:		ChainLeft
X!
XNotes.Notes.list_form.dismiss_button.label:		Dismiss
XNotes.Notes.list_form.dismiss_button.width:		64
XNotes.Notes.list_form.dismiss_button.fromHoriz:	new_button
XNotes.Notes.list_form.dismiss_button.top:		ChainTop
XNotes.Notes.list_form.dismiss_button.bottom:		ChainTop
XNotes.Notes.list_form.dismiss_button.left:		ChainLeft
XNotes.Notes.list_form.dismiss_button.right:		ChainRight
X!
XNotes.Notes.list_form.save_button.label:		Save
XNotes.Notes.list_form.save_button.width:		64
XNotes.Notes.list_form.save_button.fromHoriz:		dismiss_button
XNotes.Notes.list_form.save_button.top:		ChainTop
XNotes.Notes.list_form.save_button.bottom:		ChainTop
XNotes.Notes.list_form.save_button.left:		ChainRight
XNotes.Notes.list_form.save_button.right:		ChainRight
X!
XNotes.Notes.list_form.list.Columns:			1
XNotes.Notes.list_form.list.width:			204
XNotes.Notes.list_form.list.fromVert:			new_button
XNotes.Notes.list_form.list.top:			ChainTop
XNotes.Notes.list_form.list.bottom:			ChainBottom
XNotes.Notes.list_form.list.left:			ChainLeft
XNotes.Notes.list_form.list.right:			ChainRight
X!
XNotes.Notes.list_form.quit_button.label:		Quit
XNotes.Notes.list_form.quit_button.width:		99
XNotes.Notes.list_form.quit_button.fromVert:		list
XNotes.Notes.list_form.quit_button.top:		ChainBottom
XNotes.Notes.list_form.quit_button.bottom:		ChainBottom
XNotes.Notes.list_form.quit_button.left:		ChainLeft
XNotes.Notes.list_form.quit_button.right:		ChainLeft
X!
XNotes.Notes.list_form.revert_button.label:		Reload
XNotes.Notes.list_form.revert_button.width:		99
XNotes.Notes.list_form.revert_button.fromHoriz:	quit_button
XNotes.Notes.list_form.revert_button.fromVert:	list
XNotes.Notes.list_form.revert_button.top:		ChainBottom
XNotes.Notes.list_form.revert_button.bottom:		ChainBottom
XNotes.Notes.list_form.revert_button.left:		ChainRight
XNotes.Notes.list_form.revert_button.right:		ChainRight
X!
X! Translations
X!
XNotes.start_button.translations:		#override\n\
X	<Key>q:					quit()\n\
X	<Key>Q:					quit()\n\
X	<Key>v:					version()\n\
X	<Key>V:					version()\n\
X	<Btn2Down>:				set()\n\
X	<Btn2Down>,<Btn2Up>:			version() reset()\n\
X	<Btn3Down>:				set()\n\
X	<Btn3Down>,<Btn3Up>:			ask_quit() reset()
X!
XNotes.Notes.list_form.dismiss_button.translations:	#override \n\
X	<Btn2Down>:				set() \n\
X	<Btn2Down>,<Btn2Up>:			dismiss_all() reset()
X!
XNotes.Notes.list_form.save_button.translations:	#override \n\
X	<Btn2Down>:				set() \n\
X	<Btn2Down>,<Btn2Up>:			save_dismiss_all() reset()
X!
XNotes.Notes.list_form.list.translations:		#override \n\
X	<Btn2Down>:				Set() \n\
X	<Btn2Down>,<Btn2Up>:			dismiss_note() Unset()
X!
XNotes.Change Title.form.input.translations:	#override\n\
X	<Key>Return:				confirm_new_title()\
X						destroy_widget()\
X						sensitize_all()\n\
X	<Key>Escape:				destroy_widget()\
X						sensitize_all()\n\
X	<Key>Tab:				null()\n\
X	<Key>Linefeed:				null()\n\
X	Ctrl<Key>J:				null()\n\
X	Ctrl<Key>M:				null()
X!
XNotes.New Note.form.input.translations:		#override\n\
X	<Key>Return:				confirm_new_note()\
X						destroy_widget()\
X						sensitize_all()\n\
X	<Key>Escape:				destroy_widget()\
X						sensitize_all()\n\
X	<Key>Tab:				null()\n\
X	<Key>Linefeed:				null()\n\
X	Ctrl<Key>J:				null()\n\
X	Ctrl<Key>M:				null()
SHAR_EOF
  $shar_touch -am 0613212295 'Notes.ad.std' &&
  chmod 0644 'Notes.ad.std' ||
  echo 'restore of Notes.ad.std failed'
  rm -f _sharnew.tmp
fi
# ============= Notes.ad.wide ==============
if test -f 'Notes.ad.wide' && test X"$1" != X"-c"; then
  echo 'x - skipping Notes.ad.wide (file already exists)'
  rm -f _sharnew.tmp
else
  > _sharnew.tmp
  echo 'x - extracting Notes.ad.wide (text)'
  sed 's/^X//' << 'SHAR_EOF' > 'Notes.ad.wide' &&
X!
X! You probably shouldn't ever change this as it tells `Notes'
X! that it found it's resource file...
X!
XNotes.defaultsInstalled:			True
X!
X! the default notes file
X!
XNotes.noteFile:					.notes
X!
X! if you're paranoid about loosing changes
X!
XNotes.saveOnExit:				True
XNotes.createBackup:				False
X!
X! some fonts
X!
XNotes*Command.font:		-*-helvetica-bold-r-*--12-*-*-*-*-*-*
XNotes*Label.font:		-*-helvetica-bold-o-*--14-*-*-*-*-*-*
XNotes*Text.font:		-*-courier-bold-r-*--12-*-*-*-*-*-*
X!
X! bitmap stuff
X!
X! Notes.bitmapFilePath:				.
XNotes.start_button.bitmap:			notes.xbm
X!
X! this is to overcome something I don't know how to fix programatically.
X! when I request a windows x and y coordinates for saving, it appears
X! that I get those values as tweaked by the window manager, not
X! where the window really is...  These are the correction values
X! for my setup of twm, mileage may vary...
X!
XNotes.h_offset:					2
XNotes.v_offset:					24
X!
X! You'll find referecenses to 'fascistSomething' throughtout
X! this resource file.  If that resource is True the corresponding
X! x and y values for that popup/window position will be ignored
X! and the program will 'invent' it's own positioning.
X!
XNotes.fascistNewNote:				False
XNotes.newNoteX:					323
XNotes.newNoteY:					150
X!
X! Height and width are independent of fascism...
X!
XNotes.newNoteWidth:				500
XNotes.newNoteHeight:				300
X!
XNotes.fascistQuit:				True
XNotes.Quit.x:					323
XNotes.Quit.y:					150
X!
XNotes.Quit.form.prompt.label:			Quit, Are you sure?
XNotes.Quit.form.prompt.borderWidth:		0
XNotes.Quit.form.prompt.top:			ChainTop
XNotes.Quit.form.prompt.bottom:			ChainTop
XNotes.Quit.form.prompt.left:			ChainLeft
XNotes.Quit.form.prompt.right:			ChainLeft
X!
XNotes.Quit.form.confirm_button.label:		Yes
XNotes.Quit.form.confirm_button.width:		64
XNotes.Quit.form.confirm_button.fromVert:	prompt
XNotes.Quit.form.confirm_button.top:		ChainBottom
XNotes.Quit.form.confirm_button.bottom:		ChainBottom
XNotes.Quit.form.confirm_button.left:		ChainLeft
XNotes.Quit.form.confirm_button.right:		ChainLeft
X!
XNotes.Quit.form.cancel_button.label:		No
XNotes.Quit.form.cancel_button.width:		64
XNotes.Quit.form.cancel_button.fromHoriz:	confirm_button
XNotes.Quit.form.cancel_button.horizDistance:	74
XNotes.Quit.form.cancel_button.fromVert:		prompt
XNotes.Quit.form.cancel_button.top:		ChainBottom
XNotes.Quit.form.cancel_button.bottom:		ChainBottom
XNotes.Quit.form.cancel_button.left:		ChainRight
XNotes.Quit.form.cancel_button.right:		ChainRight
X!
XNotes.fascistVersion:				True
XNotes.Version.x:				323
XNotes.Version.y:				150
X!
XNotes.Version.form.prompt.borderWidth:		0
XNotes.Version.form.prompt.top:			ChainTop
XNotes.Version.form.prompt.bottom:		ChainTop
XNotes.Version.form.prompt.left:			ChainLeft
XNotes.Version.form.prompt.right:		ChainLeft
X!
XNotes.Version.form.dismiss_button.label:	Dismiss
XNotes.Version.form.dismiss_button.width:	64
XNotes.Version.form.dismiss_button.fromVert:	prompt
XNotes.Version.form.dismiss_button.top:		ChainBottom
XNotes.Version.form.dismiss_button.bottom:	ChainBottom
XNotes.Version.form.dismiss_button.left:		ChainLeft
XNotes.Version.form.dismiss_button.right:	ChainLeft
X!
XNotes.fascistClear_Note:			True
XNotes.Clear Note.x:				323
XNotes.Clear Note.y:				150
X!
XNotes.Clear Note.form.prompt.label:		Clear this note?
XNotes.Clear Note.form.prompt.borderWidth:	0
XNotes.Clear Note.form.prompt.top:		ChainTop
XNotes.Clear Note.form.prompt.bottom:		ChainTop
XNotes.Clear Note.form.prompt.left:		ChainLeft
XNotes.Clear Note.form.prompt.right:		ChainLeft
X!
XNotes.Clear Note.form.confirm_button.label:	Confirm
XNotes.Clear Note.form.confirm_button.width:	64
XNotes.Clear Note.form.confirm_button.fromVert:	prompt
XNotes.Clear Note.form.confirm_button.top:	ChainBottom
XNotes.Clear Note.form.confirm_button.bottom:	ChainBottom
XNotes.Clear Note.form.confirm_button.left:	ChainLeft
XNotes.Clear Note.form.confirm_button.right:	ChainLeft
X!
XNotes.Clear Note.form.cancel_button.label:	Cancel
XNotes.Clear Note.form.cancel_button.width: 	64
XNotes.Clear Note.form.cancel_button.fromHoriz:	confirm_button
XNotes.Clear Note.form.cancel_button.horizDistance: 74
XNotes.Clear Note.form.cancel_button.fromVert:	prompt
XNotes.Clear Note.form.cancel_button.top:	ChainBottom
XNotes.Clear Note.form.cancel_button.bottom:	ChainBottom
XNotes.Clear Note.form.cancel_button.left:	ChainRight
XNotes.Clear Note.form.cancel_button.right:	ChainRight
X!
XNotes.fascistDestroy_Note:			True
XNotes.Destroy Note.x:				323
XNotes.Destroy Note.y:				150
X!
XNotes.Destroy Note.form.prompt.label:		Destroy this note?
XNotes.Destroy Note.form.prompt.borderWidth:	0
XNotes.Destroy Note.form.prompt.top:		ChainTop
XNotes.Destroy Note.form.prompt.bottom:		ChainTop
XNotes.Destroy Note.form.prompt.left:		ChainLeft
XNotes.Destroy Note.form.prompt.right:		ChainLeft
X!
XNotes.Destroy Note.form.confirm_button.label:	Confirm
XNotes.Destroy Note.form.confirm_button.width:	64
XNotes.Destroy Note.form.confirm_button.fromVert: prompt
XNotes.Destroy Note.form.confirm_button.top:	ChainBottom
XNotes.Destroy Note.form.confirm_button.bottom:	ChainBottom
XNotes.Destroy Note.form.confirm_button.left:	ChainLeft
XNotes.Destroy Note.form.confirm_button.right:	ChainLeft
X!
XNotes.Destroy Note.form.cancel_button.label:	Cancel
XNotes.Destroy Note.form.cancel_button.width:	64
XNotes.Destroy Note.form.cancel_button.fromHoriz: confirm_button
XNotes.Destroy Note.form.cancel_button.horizDistance: 74
XNotes.Destroy Note.form.cancel_button.fromVert:	prompt
XNotes.Destroy Note.form.cancel_button.top:	ChainBottom
XNotes.Destroy Note.form.cancel_button.bottom:	ChainBottom
XNotes.Destroy Note.form.cancel_button.left:	ChainRight
XNotes.Destroy Note.form.cancel_button.right:	ChainRight
X!
XNotes.fascistChange_Title:			True
XNotes.Change Title.x:				323
XNotes.Change Title.y:				150
X!
XNotes.Change Title.form.prompt.label:		Enter new title
XNotes.Change Title.form.prompt.borderWidth:	0
XNotes.Change Title.form.prompt.top:		ChainTop
XNotes.Change Title.form.prompt.bottom:		ChainTop
XNotes.Change Title.form.prompt.left:		ChainLeft
XNotes.Change Title.form.prompt.right:		ChainLeft
X!
XNotes.Change Title.form.input.string:		str
XNotes.Change Title.form.input.width:		636
XNotes.Change Title.form.input.fromVert:		prompt
XNotes.Change Title.form.input.top:		ChainTop
XNotes.Change Title.form.input.bottom:		ChainTop
XNotes.Change Title.form.input.left:		ChainLeft
XNotes.Change Title.form.input.right:		ChainRight
X!
XNotes.Change Title.form.confirm_button.label:	Confirm
XNotes.Change Title.form.confirm_button.width:	64
XNotes.Change Title.form.confirm_button.fromVert: input
XNotes.Change Title.form.confirm_button.top:	ChainBottom
XNotes.Change Title.form.confirm_button.bottom:	ChainBottom
XNotes.Change Title.form.confirm_button.left:	ChainLeft
XNotes.Change Title.form.confirm_button.right:	ChainLeft
X!
XNotes.Change Title.form.cancel_button.label:	Cancel
XNotes.Change Title.form.cancel_button.width:	64
XNotes.Change Title.form.cancel_button.fromHoriz: confirm_button
XNotes.Change Title.form.cancel_button.horizDistance: 506
XNotes.Change Title.form.cancel_button.fromVert:	input
XNotes.Change Title.form.cancel_button.top:	ChainBottom
XNotes.Change Title.form.cancel_button.bottom:	ChainBottom
XNotes.Change Title.form.cancel_button.left:	ChainRight
XNotes.Change Title.form.cancel_button.right:	ChainRight
X!
XNotes.fascistNew_Note:				True
XNotes.New Note.x:				323
XNotes.New Note.y:				150
X!
XNotes.New Note.form.prompt.label:		Enter title of new note
XNotes.New Note.form.prompt.borderWidth:		0
XNotes.New Note.form.prompt.top:			ChainTop
XNotes.New Note.form.prompt.bottom:		ChainTop
XNotes.New Note.form.prompt.left:		ChainLeft
XNotes.New Note.form.prompt.right:		ChainLeft
X!
XNotes.New Note.form.input.width:		636
XNotes.New Note.form.input.fromVert:		prompt
XNotes.New Note.form.input.top:			ChainTop
XNotes.New Note.form.input.bottom:		ChainTop
XNotes.New Note.form.input.left:			ChainLeft
XNotes.New Note.form.input.right:		ChainRight
X!
XNotes.New Note.form.confirm_button.label:	Confirm
XNotes.New Note.form.confirm_button.width:	64
XNotes.New Note.form.confirm_button.fromVert:	input
XNotes.New Note.form.confirm_button.top:		ChainBottom
XNotes.New Note.form.confirm_button.bottom:	ChainBottom
XNotes.New Note.form.confirm_button.left:	ChainLeft
XNotes.New Note.form.confirm_button.right:	ChainLeft
X!
XNotes.New Note.form.cancel_button.label:	Cancel
XNotes.New Note.form.cancel_button.width:	64
XNotes.New Note.form.cancel_button.fromHoriz:	confirm_button
XNotes.New Note.form.cancel_button.horizDistance: 506
XNotes.New Note.form.cancel_button.fromVert:	input
XNotes.New Note.form.cancel_button.top:		ChainBottom
XNotes.New Note.form.cancel_button.bottom:	ChainBottom
XNotes.New Note.form.cancel_button.left:		ChainRight
XNotes.New Note.form.cancel_button.right:	ChainRight
X!
XNotes.fascistNotes:				True
XNotes.Notes.x:					323
XNotes.Notes.y:					150
X!
XNotes.Notes.list_form.new_button.label:		New
XNotes.Notes.list_form.new_button.width:		122
XNotes.Notes.list_form.new_button.top:		ChainTop
XNotes.Notes.list_form.new_button.bottom:		ChainTop
XNotes.Notes.list_form.new_button.left:		ChainLeft
XNotes.Notes.list_form.new_button.right:		ChainLeft
X!
XNotes.Notes.list_form.dismiss_button.label:		Dismiss
XNotes.Notes.list_form.dismiss_button.width:		123
XNotes.Notes.list_form.dismiss_button.fromHoriz:	new_button
XNotes.Notes.list_form.dismiss_button.top:		ChainTop
XNotes.Notes.list_form.dismiss_button.bottom:		ChainTop
XNotes.Notes.list_form.dismiss_button.left:		ChainLeft
XNotes.Notes.list_form.dismiss_button.right:		ChainRight
X!
XNotes.Notes.list_form.save_button.label:		Save
XNotes.Notes.list_form.save_button.width:		122
XNotes.Notes.list_form.save_button.fromHoriz:		dismiss_button
XNotes.Notes.list_form.save_button.top:		ChainTop
XNotes.Notes.list_form.save_button.bottom:		ChainTop
XNotes.Notes.list_form.save_button.left:		ChainRight
XNotes.Notes.list_form.save_button.right:		ChainRight
X!
XNotes.Notes.list_form.list.Columns:			1
XNotes.Notes.list_form.list.width:			636
XNotes.Notes.list_form.list.fromVert:			new_button
XNotes.Notes.list_form.list.top:			ChainTop
XNotes.Notes.list_form.list.bottom:			ChainBottom
XNotes.Notes.list_form.list.left:			ChainLeft
XNotes.Notes.list_form.list.right:			ChainRight
X!
XNotes.Notes.list_form.quit_button.label:		Quit
XNotes.Notes.list_form.quit_button.width:		123
XNotes.Notes.list_form.quit_button.fromHoriz:		save_button
XNotes.Notes.list_form.quit_button.top:		ChainBottom
XNotes.Notes.list_form.quit_button.bottom:		ChainBottom
XNotes.Notes.list_form.quit_button.left:		ChainLeft
XNotes.Notes.list_form.quit_button.right:		ChainLeft
X!
XNotes.Notes.list_form.revert_button.label:		Reload
XNotes.Notes.list_form.revert_button.width:		122
XNotes.Notes.list_form.revert_button.fromHoriz:	quit_button
XNotes.Notes.list_form.revert_button.top:		ChainBottom
XNotes.Notes.list_form.revert_button.bottom:		ChainBottom
XNotes.Notes.list_form.revert_button.left:		ChainRight
XNotes.Notes.list_form.revert_button.right:		ChainRight
X!
X! Translations
X!
XNotes.start_button.translations:		#override\n\
X	<Key>q:					quit()\n\
X	<Key>Q:					quit()\n\
X	<Key>v:					version()\n\
X	<Key>V:					version()\n\
X	<Btn2Down>:				set()\n\
X	<Btn2Down>,<Btn2Up>:			version() reset()\n\
X	<Btn3Down>:				set()\n\
X	<Btn3Down>,<Btn3Up>:			ask_quit() reset()
X!
XNotes.Notes.list_form.dismiss_button.translations:	#override \n\
X	<Btn2Down>:				set() \n\
X	<Btn2Down>,<Btn2Up>:			dismiss_all() reset()
X!
XNotes.Notes.list_form.save_button.translations:	#override \n\
X	<Btn2Down>:				set() \n\
X	<Btn2Down>,<Btn2Up>:			save_dismiss_all() reset()
X!
XNotes.Notes.list_form.list.translations:		#override \n\
X	<Btn2Down>:				Set() \n\
X	<Btn2Down>,<Btn2Up>:			dismiss_note() Unset()
X!
XNotes.Change Title.form.input.translations:	#override\n\
X	<Key>Return:				confirm_new_title()\
X						destroy_widget()\
X						sensitize_all()\n\
X	<Key>Escape:				destroy_widget()\
X						sensitize_all()\n\
X	<Key>Tab:				null()\n\
X	<Key>Linefeed:				null()\n\
X	Ctrl<Key>J:				null()\n\
X	Ctrl<Key>M:				null()
X!
XNotes.New Note.form.input.translations:		#override\n\
X	<Key>Return:				confirm_new_note()\
X						destroy_widget()\
X						sensitize_all()\n\
X	<Key>Escape:				destroy_widget()\
X						sensitize_all()\n\
X	<Key>Tab:				null()\n\
X	<Key>Linefeed:				null()\n\
X	Ctrl<Key>J:				null()\n\
X	Ctrl<Key>M:				null()
SHAR_EOF
  $shar_touch -am 0613212295 'Notes.ad.wide' &&
  chmod 0644 'Notes.ad.wide' ||
  echo 'restore of Notes.ad.wide failed'
  rm -f _sharnew.tmp
fi
# ============= README ==============
if test -f 'README' && test X"$1" != X"-c"; then
  echo 'x - skipping README (file already exists)'
  rm -f _sharnew.tmp
else
  > _sharnew.tmp
  echo 'x - extracting README (text)'
  sed 's/^X//' << 'SHAR_EOF' > 'README' &&
XREADME for Notes v1.0.7
X
XNotes is an X11R5 note pad based on the Athena Widget set.
XIt was developed on a Sun3 running SunOS3.5 and X11R5 using
Xtwm as the window manager.  I've been told that it runs on
Xthe following systems with minimal 'shoe-horning'...
X
X	DEC 3100, ULTRIX 4.28, X11R5, and mwm
X	Sparcstation10, Solaris 2.3
X	SCO ODT 3.0
X	MIPS
X	Coherent, XFree386 1.2
X	SunOS 4.1.1U1, X11R5, twm
X	SunOS 4.1.1U1, X11R6, twm
X	Solaris x86
X	HPUX 9.01, X11R5
X	NetBSD 0.9, XFree86 1.x
X	DEC Alpha, OSF/1 v2.0
X	Linux 1.1.19, XFree 2.0
X	Linux 1.0.5, XFree86 2.0
X	IRIX 5.2 (SGI), X11R5
X	386/33, ESIX SVR4.0.3
X	IRIX 5.3 (SGI), X11R6
X	IBM RS/6000
X	Motorola 88k SVR4
X
XI would appreciate reports from anyone running it elsewhere.
X
XThere's really nothing fancy about this program, it merely keeps
Xa collection of notes in popups and saves them to a file
Xcalled .notes in your home directory.  This .notes file not only
Xsaves the contents of each note, but also the geometry of each
Xnote.
X
XTheorectically there should be no limit to the number of notes
Xthat you could have, but in practice - the list widget will run
Xoff the bottom of your screen at some point...
X
Xbob@snuffy.penfield.ny.us (Bob Smith)
SHAR_EOF
  $shar_touch -am 0722113195 'README' &&
  chmod 0644 'README' ||
  echo 'restore of README failed'
  rm -f _sharnew.tmp
fi
# ============= TODO ==============
if test -f 'TODO' && test X"$1" != X"-c"; then
  echo 'x - skipping TODO (file already exists)'
  rm -f _sharnew.tmp
else
  > _sharnew.tmp
  echo 'x - extracting TODO (text)'
  sed 's/^X//' << 'SHAR_EOF' > 'TODO' &&
XTODO list for Notes
X
Xo	improve the state of comments in the source
X
Xo	Fix the list widget so that when it's about to
SHAR_EOF
  : || echo 'restore of TODO failed'
fi
echo 'End of notes-1.0.6 part 1'
echo 'File TODO is continued in part 2'
echo 2 > _sharseq.tmp
exit 0


