Fri Jan 28 14:33:21 2000  Greg J. Badros  <gjb@cs.washington.edu>

	* resize.c: Use the adding 1 to dwidth/dheight only if the
 	increment is > 1; this fixes a bug in ssh-add's window (and
 	probably others) that was 1 bigger than it should have been.

	* scwm.c (scwm_main): Move definition of global "dumped" to
	outside an ENABLE_DUMP #ifdef to avoid undef'd.  Protect call to
	init_sbrk() w/ #ifdef ENABLE_DUMP.  Revert to using scwm_gh_enter, 
	instead of the lower-level scm_boot_guile(..), and thus change
	scwm_main back to the way it was.

	* Makefile.am (scwm_LDADD): Make conditional on ENABLE_DUMP to
 	pick whether to statically or dynamically link to libguile and the
 	constraints, cassowary libraries.  Use new @@ substitutions for
	the static library link contributions; correlated with changes in
	../../configure.in.

Fri Jan 28 13:27:19 2000  Greg J. Badros  <gjb@cs.washington.edu>

	* scwm.c: Get dumping working a bit better (most importantly,
	changes to Makefile.am support this, but those are not yet
	committed).  Run -f stuff when restarting a dumped binary,  added
	init_sbrk, and some sbrk debugging output that's now commented
	out.  Also some formatting changes from "if(..)" to "if(..)"

	* screen.h: Comment scmdecor self pointer.

	* resize.c (ConstrainSize): Make dwidth and dheight get floored
	after adding 1, instead of strictly rounding down.  See comment in 
	code.

	* guile-compat.h: ws change.

	* decor.c: do not assert(obj == fl->scmdecor);  multiple Scheme
	objects can refer to the same ScmDecor, so don't require that the
	back pointer be unique.

Thu Jan 27 15:09:10 2000  Greg J. Badros  <gjb@cs.washington.edu>

	* scwm.c: Fix -o option -- the getopt_opts was wrong.  Use INFO
	channel, not ERR channel for the "Initializing from dump file"
	message.  Dumps still don't have the state exposed properly,
	though.

Wed Jan 26 18:22:40 2000  Greg J. Badros  <gjb@cs.washington.edu>

	* scwm.c (scwm_main): Call init_errors(), not init_error (the
	former gets a prototype in scm_init_funcs.h).  #ifdef ENABLE_DUMP
	guard stuff relating to dumping; add option help for dumping, use
	-o, not -m (since SCM uses that, too).

	* errors.c: Rename init_error to init_errors so the proto in
	scm_init_funcs is accurate and useful.

Wed Jan 26 16:50:04 2000  Greg J. Badros  <gjb@cs.washington.edu>

	* Makefile.am: Comment out bin_SCRIPTS = scwm-doc-snarf, but leave 
	note about possibly putting this back in later.

Mon Jan 24 14:27:55 2000  Greg J. Badros  <gjb@cs.washington.edu>

	* window.c (ensure_valid): Added return SCM_BOOL_F to be safe in
	case of change in using scwm_error.

	* scwm.c: Call init_error() so that scwm_error now works!

	* errors.c: Change the ARGS argument to scm_error to just be
	SCM_UNDEFINED, instead of redunadant.  Bug fix was calling
	init_error(), above, though, as sym_scwm_error was #f and was
	causing Bad arg in position 1 errors when trying to convert that
	"symbol" to a string.  Thanks to Stefan Saroui for the bug report!
	

Sat Jan 22 16:11:07 2000  Greg J. Badros  <gjb@cs.washington.edu>

	* xproperty.c (s_X_property_get): Use gh_free or FREE depending on 
	how the string was allocated (overly conservative since they do
	the same thing now).

	* window.c: Added a missing FREEC that was leaking memory.

	* session-manager.c (SaveYourself2), system.c (xgetcwd),
 	miscprocs.c: Use FREEC instead of FREE so it matches a NEWC (no
 	big deal, since they do the same thing).

	* message-window.c: ws change.

	* image.c (path_expand_image_fname): Added
 	DONE_PATH_EXPAND_FNAME:, and ensure memory is freed on error
 	conditions

	* face.c: Use gh_free, not FREE, reorder a pair of frees to be
	consistent.

	* color.c: Use gh_free not FREE to match gh_scm2newstr().  No big
 	deal-- they do the same thing.

	* binding.c:  Use gh_free not FREE to match gh_scm2newstr(), also
	plug a leak.

	* scwm.c: Use children, not nchildren, in determining whether to
	free after and XQueryTree().

	* events.c (HandleUnmapNotify): Force pointer re-focussing *after* 
	the window that's disappearing is gone.

	* xmisc.c (WXGetWindowParent): Plug memory leak of child window
	list after XQueryTree().

Fri Jan 21 17:17:22 2000  Greg J. Badros  <gjb@cs.washington.edu>

	* events.c (HandleUnmapNotify): Reset Scr.Focus if it is the
	window that just got unmapped.

Thu Jan 20 12:30:53 2000  Greg J. Badros  <gjb@cs.washington.edu>

	* window.c, validate.h, message-window.c, face.c, add_window.c:
	#include only color.h, not colors.h also; those files have been
	merged.

Thu Jan 20 12:14:56 2000  Greg J. Badros  <gjb@cs.washington.edu>

	* scwm-versiondat.h.in: Added

	* scwm.c, miscprocs.c: Use SCWM_VERSION, not VERSION.

	* colors.c, colors.h: Removed, folded code into color.c, color.h.

	* color.c, color.h: Added code/protos from colors.c, colors.h

	* callbacks.c (WarnBadHook): Patch from Michael Schmitz to fix
	compile-time error when building against guile-1.3 (not
	recommended)

	* Makefile.am: Drop colors.[ch].

	* *.c:  Use #include "scwmconfig.h", not #include <config.h>

Sun Jan 16 16:33:29 2000  Greg J. Badros  <gjb@cs.washington.edu>

	* callbacks.c: Added static Bool fSuppressRunningHooks to help in
	debugging. 

Sat Jan 15 12:48:01 2000  Greg J. Badros  <gjb@cs.washington.edu>

	* scwm.c: Need errors.h.

	* menu.c: Remove unused var decl.

	* callbacks.h, callbacks.c: Move static fn prototypes into .c
	file, need errors.h.

Fri Jan 14 21:53:51 2000    <gjb@cs.washington.edu>

	* guile-compat.c, window.h: Replace an #if 0 with an #ifdef NDEBUG.

	* miscprocs.c, window.c: Remove #if 0s; use scwm_run_hook*.

	* scwm.c: Use scwm_error_message, remove #if 0.

	* scwm-screen-ci.hpp: Clean-up #if 0 to have comment.

	* add_window.c, constraint-primitives.cc, deskpage.c, focus.c,
 	icons.c, image.c, module-interface.c, move.c, resize.c,
 	shutdown.c, virtual.c: Use scwm_run_hook*, not callN_hooks.

	* menu.c: use call-interactively, not scwm_safe_call0_sym.  Use
	PmiimFromPmdShortcutKeypress, and fix that fn.  Drop now-unused
	scwm_safe_call0_sym.

	* events.c: Drop #if 0 code, use scwm_run_hook*, not callN_hooks.

	* errors.h, errors.c: Added scwm_error_message.

	* callbacks.c, callbacks.h: Make more fns static that are not
 	needed externally.  Rename callN_hooks to scwm_run_hookN, and only
 	allow N <= 2, otherwise use scwm_run_hook w/ list of args.

Wed Jan 12 21:22:39 2000  Greg J. Badros  <gjb@cs.washington.edu>

	* add_window.c, binding.c, callbacks.c, events.c, focus.c,
	icons.c, miscprocs.c, module-interface.c, move.c, placement.c,
	resize.c, shutdown.c, virtual.c, window.c: Add \n\ on empty lines
	that split string literals, and on lines in SCWM_IPROC and
	SCWM_HOOK macros.  Thanks Harald Meland!

	* scwm-doc-snarf.in: Use @PERL@ so that the perl interpreter
	specified at configure time is used.  (Thanks Harald Meland for
	noticing this bug!)

Wed Jan 12 00:35:25 2000  Greg J. Badros  <gjb@cs.washington.edu>

	* scwm.c: Reliably turn on/off backtraces based on the command
	line flag.  (Finally committing the Sep 25, 1999 change from my
	laptop; doh!)

	* module-interface.c: Only run the broadcast hooks if
	Scr.fWindowsCaptured -- avoid deadlock (old change from laptop).

	* events.c: Only call the maprequest hook if Scr.fWindowsCaptured
	-- avoid deadlock (old change from laptop).
	
Tue Jan 11 23:53:19 2000  Greg J. Badros  <gjb@cs.washington.edu>

	* Makefile.am: Fix bin_SCRIPTS's scwm_doc_snarf -- it's
 	"scwm-doc-snarf" (hyphens, not underscores).

	* guile-compat.h: Include <guile/gh.h>.

Tue Jan 11 23:28:08 2000  Greg J. Badros  <gjb@cs.washington.edu>

	* *.c: Use backslashify-docs script to add \n\ to the tail end of
	all SCWM_PROC docstrings that contain string literals that span
	multiple lines.  Thanks to Harald Meland for testing with Sun cc
	and catching this an numerous other configuration/build problems
	for his platform!

Tue Jan 11 23:00:13 2000  Greg J. Badros  <gjb@cs.washington.edu>

	* Makefile.am: Distribute scwm-doc-snarf.in, and add
 	scwm_doc_snarf to bin_SCRIPTS.

	* scwm-doc-snarf, scwm-doc-snarf.in: Replace the former with the
	latter to ensure @CPP@ is used for setting the C preprocessor.

Tue Jan 11 22:43:39 2000  Greg J. Badros  <gjb@cs.washington.edu>

	* window.inl: Use SCWM_STATIC_INLINE, and include scwm-guile.h to
	get that definition.

	* binding.c, callbacks.c, focus.c, message-window.c, resize.c,
 	shutdown.c, window.h: Use SCWM_INLINE macro.

	* scwm-guile.h: #define SCWM_INLINE, SCWM_STATIC_INLINE, and use
	them.

Tue Jan 11 09:49:20 2000  Greg J. Badros  <gjb@cs.washington.edu>

	* binding.c: Ignore bindings that start with "ignore-" so that
	re-defining, e.g., hyper to string-append "ignore-" instead of
	"H-" will result in those bindings being quietly skipped.  Bad
	hack, but should be useful to some.

Mon Jan 10 17:11:46 2000  Greg J. Badros  <gjb@cs.washington.edu>

	* xproperty.h (VALIDATE_ARG_ATOM_OR_STRING_COPY): Use
	InternAtomFromScm() function.

	* xproperty.c: Added InternAtomFromScm(), and use it.

	* scwm_msg.h: Added prototype for new scwm_message(), and now
	#include <guile/gh.h> since we need type SCM.

	* scwm.c: Added scwm_message().

	* events.c, callbacks.c: Use scwm_message, fix warning about
	non-interactive procedures to check for symbols, not just strings.

	* colors.c: changed warning msg text.
	
Mon Jan 10 13:19:46 2000  Greg J. Badros  <gjb@cs.washington.edu>

	* xproperty.c, scwm-constraints.hpp, resize.c, placement.c,
 	move.c, module-interface.c, icons.c, focus.c, events.c, events.c,
 	constraint-primitives.cc, color.c, borders.h, borders.c,
 	add_window.c: use SCM_FROM_PSW(psw), not psw->schwin.

	* window.h: Added SCM_FROM_PSW macro/inline function.  Rename
	schwin field of ScwmWindow struct to _schwin to ensure no uses are 
	left.

	* window.c: Added 'bad-interactive-spec error symbol, and use it
 	w/ scm_error when reporting interactive_spec errors.  Fix bad
 	malloc/free bug in ScmArgsFromInteractiveSpec().

	* scwm.c: Added SCWM_DEBUG_MALLOC #define, but leave it off.

	* events.c: Make x_motionnotify_hook have name
	"%X-MotionNotify-hook" for debugging.

	* callbacks.h: Improve SCWM_MAKE_HOOK macro to take a name, too,
	for x_motionnotify_hook.

	* callbacks.c: Use scm_puts, not scwm_msg for debug output in
	scwm_run_hook, print better debug output for call-interactively.

Sun Jan  9 19:01:46 2000  Greg J. Badros  <gjb@cs.washington.edu>

	* scwm.c: Added fDoneStartup variable, and set it.

	* miscprocs.c: Added `done-startup?' primitive to return above
	var.

	* add_window.c: Fix off-by-one error reported by Harvey Stein in
	the sizes of new windows with titlebars.

Sun Jan  9 17:17:51 2000  Greg J. Badros  <gjb@cs.washington.edu>

	* xproperty.c: Fix #define FUNC_NAME mismatch caught by scwmdoc.

	* events.c (HandleKeyEvent): Ungrab the keyboard when we're about
	to do the execution of the commands.  This lets C-S-M-Enter, e.g., 
	still be sent to the application (XTerm, e.g.) even when C-S-M is
	a three-modifier binding that would otherwise wait for the Meta to 
	be released before releasing the passive grab.  Fixs bug reported
	by Stefan Saroui re: C-S-M-Enter in XTerms no longer working since 
	I added the fvwm2-pager auto-raising on C-S-M modifier binding.

	* binding.c: Let `unbind-keycode' take two ignored-proc arguments
	to permit calls that are otherwise identical to `bind-keycode'

Sun Jan  9 16:22:45 2000  Greg J. Badros  <gjb@cs.washington.edu>

	* placement.c: Consistently subtract (psw->old_bw + psw->bw) from
	the final x/y positions for the placement functions.  The various
	fns were all different w.r.t. whether they did this.

	* events.c: Added `X-SelectionNotify-hook', and handle
	SelectionNotify events by calling the hook.  Useful with new
	`X-convert-selection' primitive.

	* xproperty.c: Added `X-convert-selection',
	`X-get-selection-owner'.  Make `X-property-delete!' take an Atom
	or a String, instead of requiring a string.

	* window.h: Fix aliasing of "w" variable bug in
	VALIDATE_ARG_WIN_ROOTSYM_OR_NUM_COPY.

	* window.c (SetScwmWindowGeometry): Correct x/y after using
	ConstrainSize to account for gravity.  No remarkable perceived
	effect:  I'm trying to eliminate the jumpiness of the right edge
	of an East-gravity window when resizing it out to the left (so
	that it's right edge should stay exactly where it is throughout
	the animation)

	* resize.h, resize.c (ComputeDeltaForResizeWithOrigSize): Added
	this function, and rewrote ComputeDeltaForResize in terms of it.
	This permits using something other than the current
	FRAME_WIDTH/FRAME_HEIGHT for the size (as was needed by
	c-animation.c).

Sat Jan  8 17:17:40 2000  Greg J. Badros  <gjb@cs.washington.edu>

	* miscprocs.c: Added `get-next-event' primitive.  Updates docs of
	others to reference it, too.  Maybe should deprecate the
	`get-mouse-event', and `get-key-event' procedures.

	* callbacks.c: Added docs for the this-command{,-args} variables.

	* binding.c: Permit "A-Button2" for mouse bindings (in addition to 
	"A-Mouse2", "A-2").  Make `get-mouse-event' return in the
	"*Button#" format.  Added optional ignored arguments to
	`unbind-mouse' and `unbind-key' to permit invocations of them to
	look just like invocations of `bind-mouse' and `bind-key' (made a
	little bit easier to do some stuff in prompt-binding module, and
	seems harmless).

Fri Jan  7 15:58:13 2000  Greg J. Badros  <gjb@cs.washington.edu>

	* events.c (HandleButtonPress): Use stash_orig_button_position,
	not find_mouse_event_type in the immediate proc.

	* binding.h, binding.c: Added stash_orig_button_position(),
	separated from find_mouse_event_type.

Fri Jan  7 13:41:15 2000  Greg J. Badros  <gjb@cs.washington.edu>

	* callbacks.c (s_call_interactively): Added `pre-command-hook' and 
	`post-command-hook'.  Move `call-interactively' to later in file
	so it can call scwm_run_hook. Added vars "this-command" and
	"this-command-args". 

	* scwm.c (scwm_main): Call init_message_window *after*
	InitVariables() since it relies on some colors in the Scr struct.

Fri Jan  7 10:30:23 2000  Greg J. Badros  <gjb@cs.washington.edu>

	* Makefile.am (EXTRA_DIST): Added scwm-doc-snarf.

Fri Jan  7 09:59:08 2000  Greg J. Badros  <gjb@cs.washington.edu>

	* window.c: Added some debugging code for make-ing and free-ing
	window objects.  print_window now uses sprintf to avoid the
	possibility of GCing (it used to do a gh_ulong2scm w/ scm_write
	which caused problems when calling print_window from within GC
	debugging routines.  Display some debug information when the
	mark_window routine is called with obj != psw->schwin.

	* events.c (HandleButtonPress): Call find_mouse_event_type for the
 	immediate proc, too.  This avoids offset anomalies when using
	C-S-M-2 button to move a window.

	* add_window.c: Fix a terrible race condition for windows that
	don't live very long by invalidating the window before freeing the 
	memory.  This changes corrects the sporadically-reproducible bug I 
	was observing with the GIMP (and maybe others' problems w/
	netscape, too?).

Thu Jan  6 18:04:45 2000  Greg J. Badros  <gjb@cs.washington.edu>

	* scwm.c, callbacks.c: added -g option to force gc'ing at all c hooks.  Slows
	stuff down nicely for debugging (but is prohibitive on a slow
	machine. 

	* move.c, events.c, binding.h, binding.c: Fix bugs in interactive
 	moves; make sure the click position is where the offsets are
 	calculated from, and discard motion events up to a button press
 	event.

Thu Jan  6 08:45:19 2000  Greg J. Badros  <gjb@cs.washington.edu>

	* window.inl: Always add the decoration sizes for
	{Min,Max}Frame{Width,Height}.

	* resize.c: Subtract out decoration sizes before doing the base +
	increment computations, but after doing the max/min computations.

Wed Jan  5 15:54:34 2000  Greg J. Badros  <gjb@cs.washington.edu>

	* window.h: Added some enums for SCWM_NONANT_* to describe whole
	edges for nonant highlighting code.

	* window.c: Added IntFromNonantSymbol(), NonantSymbolFromInt() to
	convert back and forth.  Permit `set-window-highlighted-nonant!'
	to take symbols and return appropriate values from
	`window-highlighted-nonant'. 

	* borders.c: Highlight appropriate sides and corners for the new
 	edge nonant designations.

	* add_window.c: Init psw->highlighted_nonant using
	SCWM_NONANT_NONE instead of its value (-1).

Wed Jan  5 13:51:35 2000  Greg J. Badros  <gjb@cs.washington.edu>

	* window.c (make_window): Set win->schwin and protect answer
	before setting the window valid flag.  (I think it's possible a
	collection could've occurred when making the vector which would've 
	thrown the assertion in mark_window).

Wed Jan  5 12:38:15 2000  Greg J. Badros  <gjb@cs.washington.edu>

	* ChangeLog-1997-1999: Added

Continues in file "ChangeLog-1997-1999".	

