v13i054: contool -- replacement for 'cmdtool -C', Patch4, Part01/02

Chuck Musciano chuck at trantor.harris-atd.com
Tue Jun 18 16:34:42 AEST 1991


Submitted-by: Chuck Musciano <chuck at trantor.harris-atd.com>
Posting-number: Volume 13, Issue 54
Archive-name: contool/patch4.01
Patch-To: contool: Volume 10, Issues 34-40, 78 (10/29/90)
Patch-To: contool: Volume 11, Issue 5

     This patch brings contool from version 3.0c to 3.1.  There are many
bug fixes and new features, including:

     *	Filter editing now has a single "Apply and Save" button
     
     *	Console overflows are finally handled, eliminating the
     	annoying "Deletion failed" messages
     
     *	Logging can be enabled/disabled for individual messages
     
     *	Multi-line filters now have timeouts, preventing a bad
     	filter from absorbing all console messages
     
     *	The "Other" address in the mail dialog now works better
     
     *	Contool sets its class and name hints, letting you use
     	its name in the olvwm.VirtualSticky resource
     
     *	Contool will stop blinking upon receipt of SIGUSR1, 
     	letting you stop blinking without opening the tool
     
     *	Contool will flush log files upon receipt of SIGHUP
     
     *	Control characters can be used in filter patterns

Due to the size of the patch file, it has been broken into two parts.  Unshar
both parts and apply both patches before rebuilding contool.

     Full up-to-date sources, as well as previous patch files, are available
via FTP from trantor.harris-atd.com in /pub/suntools/contool.

Chuck Musciano				ARPA  : chuck at trantor.harris-atd.com
Harris Corporation 			Usenet: ...!uunet!x102a!trantor!chuck
PO Box 37, MS 3A/1912			AT&T  : (407) 727-6131
Melbourne, FL 32902			FAX   : (407) 729-3363

A good newspaper is never good enough,
	but a lousy newspaper is a joy forever.		-- Garrison Keillor

#! /bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of shell archive."
# Contents:  patch.1
# Wrapped by chuck at pluto on Mon Jun  3 08:11:48 1991
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'patch.1' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'patch.1'\"
else
echo shar: Extracting \"'patch.1'\" \(46579 characters\)
sed "s/^X//" >'patch.1' <<'END_OF_FILE'
X*** contool_ui.c.orig	Wed May 29 12:09:26 1991
X--- contool_ui.c	Wed May 29 11:59:51 1991
X***************
X*** 274,279 ****
X--- 274,315 ----
X  }
X  
X  /*
X+  * Create object `address_menu' in the specified instance.
X+ 
X+  */
X+ Xv_opaque
X+ contool_address_menu_create(ip, owner)
X+ 	caddr_t		*ip;
X+ 	Xv_opaque	owner;
X+ {
X+ 	extern Menu_item	handle_address();
X+ 	extern Menu_item	handle_address();
X+ 	extern Menu_item	handle_address();
X+ 	Xv_opaque	obj;
X+ 	
X+ 	obj = xv_create(XV_NULL, MENU_CHOICE_MENU,
X+ 		XV_KEY_DATA, INSTANCE, ip,
X+ 		MENU_ITEM,
X+ 			XV_KEY_DATA, INSTANCE, ip,
X+ 			MENU_STRING, "chuck at trantor.harris-atd.com",
X+ 			MENU_GEN_PROC, handle_address,
X+ 			NULL,
X+ 		MENU_ITEM,
X+ 			XV_KEY_DATA, INSTANCE, ip,
X+ 			MENU_STRING, "uunet!trantor.harris-atd.com!chuck",
X+ 			MENU_GEN_PROC, handle_address,
X+ 			NULL,
X+ 		MENU_ITEM,
X+ 			XV_KEY_DATA, INSTANCE, ip,
X+ 			MENU_STRING, "Other:",
X+ 			MENU_GEN_PROC, handle_address,
X+ 			NULL,
X+ 		MENU_DEFAULT, 1,
X+ 		NULL);
X+ 	return obj;
X+ }
X+ 
X+ /*
X   * Initialize an instance of object `base'.
X   */
X  contool_base_objects *
X***************
X*** 313,319 ****
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_WIDTH, 575,
X  		XV_HEIGHT, 246,
X! 		XV_LABEL, "Contool 3.0c",
X  		FRAME_CLOSED, FALSE,
X  		FRAME_SHOW_FOOTER, TRUE,
X  		FRAME_SHOW_RESIZE_CORNER, TRUE,
X--- 349,355 ----
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_WIDTH, 575,
X  		XV_HEIGHT, 246,
X! 		XV_LABEL, "Contool 3.1",
X  		FRAME_CLOSED, FALSE,
X  		FRAME_SHOW_FOOTER, TRUE,
X  		FRAME_SHOW_RESIZE_CORNER, TRUE,
X***************
X*** 361,367 ****
X  		XV_X, 4,
X  		XV_Y, 4,
X  		XV_WIDTH, 54,
X! 		XV_HEIGHT, 20,
X  		PANEL_LABEL_STRING, "File",
X  		PANEL_ITEM_MENU, contool_file_menu_create((caddr_t *) ip, NULL),
X  		NULL);
X--- 397,403 ----
X  		XV_X, 4,
X  		XV_Y, 4,
X  		XV_WIDTH, 54,
X! 		XV_HEIGHT, 19,
X  		PANEL_LABEL_STRING, "File",
X  		PANEL_ITEM_MENU, contool_file_menu_create((caddr_t *) ip, NULL),
X  		NULL);
X***************
X*** 385,391 ****
X  		XV_X, 67,
X  		XV_Y, 4,
X  		XV_WIDTH, 62,
X! 		XV_HEIGHT, 20,
X  		PANEL_LABEL_STRING, "View",
X  		PANEL_ITEM_MENU, contool_view_menu_create((caddr_t *) ip, NULL),
X  		NULL);
X--- 421,427 ----
X  		XV_X, 67,
X  		XV_Y, 4,
X  		XV_WIDTH, 62,
X! 		XV_HEIGHT, 19,
X  		PANEL_LABEL_STRING, "View",
X  		PANEL_ITEM_MENU, contool_view_menu_create((caddr_t *) ip, NULL),
X  		NULL);
X***************
X*** 409,415 ****
X  		XV_X, 138,
X  		XV_Y, 4,
X  		XV_WIDTH, 56,
X! 		XV_HEIGHT, 20,
X  		PANEL_LABEL_STRING, "Edit",
X  		PANEL_ITEM_MENU, contool_edit_menu_create((caddr_t *) ip, NULL),
X  		NULL);
X--- 445,451 ----
X  		XV_X, 138,
X  		XV_Y, 4,
X  		XV_WIDTH, 56,
X! 		XV_HEIGHT, 19,
X  		PANEL_LABEL_STRING, "Edit",
X  		PANEL_ITEM_MENU, contool_edit_menu_create((caddr_t *) ip, NULL),
X  		NULL);
X***************
X*** 506,512 ****
X  	obj = xv_create(owner, FRAME_CMD,
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_WIDTH, 500,
X! 		XV_HEIGHT, 479,
X  		XV_LABEL, "Contool: Properties",
X  		XV_SHOW, FALSE,
X  		FRAME_SHOW_FOOTER, FALSE,
X--- 542,548 ----
X  	obj = xv_create(owner, FRAME_CMD,
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_WIDTH, 500,
X! 		XV_HEIGHT, 508,
X  		XV_LABEL, "Contool: Properties",
X  		XV_SHOW, FALSE,
X  		FRAME_SHOW_FOOTER, FALSE,
X***************
X*** 557,565 ****
X  		XV_HELP_DATA, "contool:default_action",
X  		XV_X, 96,
X  		XV_Y, 14,
X! 		XV_WIDTH, 211,
X! 		XV_HEIGHT, 139,
X! 		PANEL_VALUE_X, 205,
X  		PANEL_VALUE_Y, 14,
X  		PANEL_LAYOUT, PANEL_HORIZONTAL,
X  		PANEL_CHOICE_NCOLS, 1,
X--- 593,601 ----
X  		XV_HELP_DATA, "contool:default_action",
X  		XV_X, 96,
X  		XV_Y, 14,
X! 		XV_WIDTH, 210,
X! 		XV_HEIGHT, 168,
X! 		PANEL_VALUE_X, 204,
X  		PANEL_VALUE_Y, 14,
X  		PANEL_LAYOUT, PANEL_HORIZONTAL,
X  		PANEL_CHOICE_NCOLS, 1,
X***************
X*** 569,574 ****
X--- 605,611 ----
X  			"Beep",
X  			"Command",
X  			"Flash icon",
X+ 			"Log message",
X  			"Open window",
X  			"Timestamp",
X  			0,
X***************
X*** 590,598 ****
X  	obj = xv_create(owner, PANEL_NUMERIC_TEXT,
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:default_beep_count",
X! 		XV_X, 306,
X  		XV_Y, 19,
X! 		XV_WIDTH, 80,
X  		XV_HEIGHT, 15,
X  		PANEL_VALUE_X, 315,
X  		PANEL_VALUE_Y, 19,
X--- 627,635 ----
X  	obj = xv_create(owner, PANEL_NUMERIC_TEXT,
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:default_beep_count",
X! 		XV_X, 315,
X  		XV_Y, 19,
X! 		XV_WIDTH, 71,
X  		XV_HEIGHT, 15,
X  		PANEL_VALUE_X, 315,
X  		PANEL_VALUE_Y, 19,
X***************
X*** 620,626 ****
X  	obj = xv_create(owner, PANEL_MESSAGE,
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:default_beep_times",
X! 		XV_X, 394,
X  		XV_Y, 19,
X  		XV_WIDTH, 34,
X  		XV_HEIGHT, 13,
X--- 657,663 ----
X  	obj = xv_create(owner, PANEL_MESSAGE,
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:default_beep_times",
X! 		XV_X, 403,
X  		XV_Y, 19,
X  		XV_WIDTH, 34,
X  		XV_HEIGHT, 13,
X***************
X*** 644,652 ****
X  	obj = xv_create(owner, PANEL_TEXT,
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:default_command",
X! 		XV_X, 306,
X  		XV_Y, 48,
X! 		XV_WIDTH, 177,
X  		XV_HEIGHT, 15,
X  		PANEL_VALUE_X, 315,
X  		PANEL_VALUE_Y, 48,
X--- 681,689 ----
X  	obj = xv_create(owner, PANEL_TEXT,
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:default_command",
X! 		XV_X, 315,
X  		XV_Y, 48,
X! 		XV_WIDTH, 168,
X  		XV_HEIGHT, 15,
X  		PANEL_VALUE_X, 315,
X  		PANEL_VALUE_Y, 48,
X***************
X*** 674,685 ****
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:log_file",
X  		XV_X, 141,
X! 		XV_Y, 174,
X! 		XV_WIDTH, 344,
X  		XV_HEIGHT, 15,
X  		PANEL_LABEL_STRING, "Log file:",
X! 		PANEL_VALUE_X, 205,
X! 		PANEL_VALUE_Y, 174,
X  		PANEL_LAYOUT, PANEL_HORIZONTAL,
X  		PANEL_VALUE_DISPLAY_LENGTH, 35,
X  		PANEL_VALUE_STORED_LENGTH, 256,
X--- 711,722 ----
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:log_file",
X  		XV_X, 141,
X! 		XV_Y, 203,
X! 		XV_WIDTH, 343,
X  		XV_HEIGHT, 15,
X  		PANEL_LABEL_STRING, "Log file:",
X! 		PANEL_VALUE_X, 204,
X! 		PANEL_VALUE_Y, 203,
X  		PANEL_LAYOUT, PANEL_HORIZONTAL,
X  		PANEL_VALUE_DISPLAY_LENGTH, 35,
X  		PANEL_VALUE_STORED_LENGTH, 256,
X***************
X*** 704,714 ****
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:log_style",
X  		XV_X, 96,
X! 		XV_Y, 194,
X  		XV_WIDTH, 314,
X  		XV_HEIGHT, 23,
X! 		PANEL_VALUE_X, 205,
X! 		PANEL_VALUE_Y, 194,
X  		PANEL_LAYOUT, PANEL_HORIZONTAL,
X  		PANEL_CHOICE_NROWS, 1,
X  		PANEL_LABEL_STRING, "Log messages:",
X--- 741,751 ----
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:log_style",
X  		XV_X, 96,
X! 		XV_Y, 223,
X  		XV_WIDTH, 314,
X  		XV_HEIGHT, 23,
X! 		PANEL_VALUE_X, 204,
X! 		PANEL_VALUE_Y, 223,
X  		PANEL_LAYOUT, PANEL_HORIZONTAL,
X  		PANEL_CHOICE_NROWS, 1,
X  		PANEL_LABEL_STRING, "Log messages:",
X***************
X*** 735,746 ****
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:print_filter",
X  		XV_X, 119,
X! 		XV_Y, 237,
X! 		XV_WIDTH, 364,
X  		XV_HEIGHT, 15,
X  		PANEL_LABEL_STRING, "Print filter:",
X! 		PANEL_VALUE_X, 203,
X! 		PANEL_VALUE_Y, 237,
X  		PANEL_LAYOUT, PANEL_HORIZONTAL,
X  		PANEL_VALUE_DISPLAY_LENGTH, 35,
X  		PANEL_VALUE_STORED_LENGTH, 256,
X--- 772,783 ----
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:print_filter",
X  		XV_X, 119,
X! 		XV_Y, 266,
X! 		XV_WIDTH, 363,
X  		XV_HEIGHT, 15,
X  		PANEL_LABEL_STRING, "Print filter:",
X! 		PANEL_VALUE_X, 202,
X! 		PANEL_VALUE_Y, 266,
X  		PANEL_LAYOUT, PANEL_HORIZONTAL,
X  		PANEL_VALUE_DISPLAY_LENGTH, 35,
X  		PANEL_VALUE_STORED_LENGTH, 256,
X***************
X*** 765,776 ****
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:good_icon",
X  		XV_X, 79,
X! 		XV_Y, 274,
X! 		XV_WIDTH, 406,
X  		XV_HEIGHT, 15,
X  		PANEL_LABEL_STRING, "\"All is well\" icon:",
X! 		PANEL_VALUE_X, 205,
X! 		PANEL_VALUE_Y, 274,
X  		PANEL_LAYOUT, PANEL_HORIZONTAL,
X  		PANEL_VALUE_DISPLAY_LENGTH, 35,
X  		PANEL_VALUE_STORED_LENGTH, 256,
X--- 802,813 ----
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:good_icon",
X  		XV_X, 79,
X! 		XV_Y, 303,
X! 		XV_WIDTH, 405,
X  		XV_HEIGHT, 15,
X  		PANEL_LABEL_STRING, "\"All is well\" icon:",
X! 		PANEL_VALUE_X, 204,
X! 		PANEL_VALUE_Y, 303,
X  		PANEL_LAYOUT, PANEL_HORIZONTAL,
X  		PANEL_VALUE_DISPLAY_LENGTH, 35,
X  		PANEL_VALUE_STORED_LENGTH, 256,
X***************
X*** 796,807 ****
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:bad_icon",
X  		XV_X, 50,
X! 		XV_Y, 294,
X! 		XV_WIDTH, 435,
X  		XV_HEIGHT, 15,
X  		PANEL_LABEL_STRING, "\"Check console\" icon:",
X! 		PANEL_VALUE_X, 205,
X! 		PANEL_VALUE_Y, 294,
X  		PANEL_LAYOUT, PANEL_HORIZONTAL,
X  		PANEL_VALUE_DISPLAY_LENGTH, 35,
X  		PANEL_VALUE_STORED_LENGTH, 256,
X--- 833,844 ----
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:bad_icon",
X  		XV_X, 50,
X! 		XV_Y, 323,
X! 		XV_WIDTH, 434,
X  		XV_HEIGHT, 15,
X  		PANEL_LABEL_STRING, "\"Check console\" icon:",
X! 		PANEL_VALUE_X, 204,
X! 		PANEL_VALUE_Y, 323,
X  		PANEL_LAYOUT, PANEL_HORIZONTAL,
X  		PANEL_VALUE_DISPLAY_LENGTH, 35,
X  		PANEL_VALUE_STORED_LENGTH, 256,
X***************
X*** 827,838 ****
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:flash_icon",
X  		XV_X, 111,
X! 		XV_Y, 314,
X! 		XV_WIDTH, 374,
X  		XV_HEIGHT, 15,
X  		PANEL_LABEL_STRING, "\"Flash\" icon:",
X! 		PANEL_VALUE_X, 205,
X! 		PANEL_VALUE_Y, 314,
X  		PANEL_LAYOUT, PANEL_HORIZONTAL,
X  		PANEL_VALUE_DISPLAY_LENGTH, 35,
X  		PANEL_VALUE_STORED_LENGTH, 256,
X--- 864,875 ----
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:flash_icon",
X  		XV_X, 111,
X! 		XV_Y, 343,
X! 		XV_WIDTH, 373,
X  		XV_HEIGHT, 15,
X  		PANEL_LABEL_STRING, "\"Flash\" icon:",
X! 		PANEL_VALUE_X, 204,
X! 		PANEL_VALUE_Y, 343,
X  		PANEL_LAYOUT, PANEL_HORIZONTAL,
X  		PANEL_VALUE_DISPLAY_LENGTH, 35,
X  		PANEL_VALUE_STORED_LENGTH, 256,
X***************
X*** 857,868 ****
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:stamp_resolution",
X  		XV_X, 40,
X! 		XV_Y, 350,
X! 		XV_WIDTH, 246,
X  		XV_HEIGHT, 15,
X  		PANEL_LABEL_STRING, "Timestamp resolution:",
X! 		PANEL_VALUE_X, 205,
X! 		PANEL_VALUE_Y, 350,
X  		PANEL_LAYOUT, PANEL_HORIZONTAL,
X  		PANEL_VALUE_DISPLAY_LENGTH, 6,
X  		PANEL_VALUE_STORED_LENGTH, 6,
X--- 894,905 ----
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:stamp_resolution",
X  		XV_X, 40,
X! 		XV_Y, 379,
X! 		XV_WIDTH, 247,
X  		XV_HEIGHT, 15,
X  		PANEL_LABEL_STRING, "Timestamp resolution:",
X! 		PANEL_VALUE_X, 204,
X! 		PANEL_VALUE_Y, 379,
X  		PANEL_LAYOUT, PANEL_HORIZONTAL,
X  		PANEL_VALUE_DISPLAY_LENGTH, 6,
X  		PANEL_VALUE_STORED_LENGTH, 6,
X***************
X*** 888,894 ****
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:message2",
X  		XV_X, 296,
X! 		XV_Y, 350,
X  		XV_WIDTH, 48,
X  		XV_HEIGHT, 13,
X  		PANEL_LABEL_STRING, "seconds",
X--- 925,931 ----
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:message2",
X  		XV_X, 296,
X! 		XV_Y, 379,
X  		XV_WIDTH, 48,
X  		XV_HEIGHT, 13,
X  		PANEL_LABEL_STRING, "seconds",
X***************
X*** 912,923 ****
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:max_message",
X  		XV_X, 32,
X! 		XV_Y, 386,
X! 		XV_WIDTH, 254,
X  		XV_HEIGHT, 15,
X  		PANEL_LABEL_STRING, "Maximum message text:",
X! 		PANEL_VALUE_X, 205,
X! 		PANEL_VALUE_Y, 386,
X  		PANEL_LAYOUT, PANEL_HORIZONTAL,
X  		PANEL_VALUE_DISPLAY_LENGTH, 6,
X  		PANEL_VALUE_STORED_LENGTH, 6,
X--- 949,960 ----
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:max_message",
X  		XV_X, 32,
X! 		XV_Y, 415,
X! 		XV_WIDTH, 255,
X  		XV_HEIGHT, 15,
X  		PANEL_LABEL_STRING, "Maximum message text:",
X! 		PANEL_VALUE_X, 204,
X! 		PANEL_VALUE_Y, 415,
X  		PANEL_LAYOUT, PANEL_HORIZONTAL,
X  		PANEL_VALUE_DISPLAY_LENGTH, 6,
X  		PANEL_VALUE_STORED_LENGTH, 6,
X***************
X*** 943,949 ****
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:message3",
X  		XV_X, 295,
X! 		XV_Y, 386,
X  		XV_WIDTH, 33,
X  		XV_HEIGHT, 13,
X  		PANEL_LABEL_STRING, "bytes",
X--- 980,986 ----
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:message3",
X  		XV_X, 295,
X! 		XV_Y, 415,
X  		XV_WIDTH, 33,
X  		XV_HEIGHT, 13,
X  		PANEL_LABEL_STRING, "bytes",
X***************
X*** 967,978 ****
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:delete_amount",
X  		XV_X, 14,
X! 		XV_Y, 406,
X! 		XV_WIDTH, 272,
X  		XV_HEIGHT, 15,
X  		PANEL_LABEL_STRING, "Overflow deletion amount:",
X! 		PANEL_VALUE_X, 205,
X! 		PANEL_VALUE_Y, 406,
X  		PANEL_LAYOUT, PANEL_HORIZONTAL,
X  		PANEL_VALUE_DISPLAY_LENGTH, 6,
X  		PANEL_VALUE_STORED_LENGTH, 6,
X--- 1004,1015 ----
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:delete_amount",
X  		XV_X, 14,
X! 		XV_Y, 435,
X! 		XV_WIDTH, 273,
X  		XV_HEIGHT, 15,
X  		PANEL_LABEL_STRING, "Overflow deletion amount:",
X! 		PANEL_VALUE_X, 204,
X! 		PANEL_VALUE_Y, 435,
X  		PANEL_LAYOUT, PANEL_HORIZONTAL,
X  		PANEL_VALUE_DISPLAY_LENGTH, 6,
X  		PANEL_VALUE_STORED_LENGTH, 6,
X***************
X*** 998,1004 ****
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:message4",
X  		XV_X, 295,
X! 		XV_Y, 406,
X  		XV_WIDTH, 33,
X  		XV_HEIGHT, 13,
X  		PANEL_LABEL_STRING, "bytes",
X--- 1035,1041 ----
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:message4",
X  		XV_X, 295,
X! 		XV_Y, 435,
X  		XV_WIDTH, 33,
X  		XV_HEIGHT, 13,
X  		PANEL_LABEL_STRING, "bytes",
X***************
X*** 1023,1031 ****
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:props_apply",
X  		XV_X, 191,
X! 		XV_Y, 442,
X  		XV_WIDTH, 53,
X! 		XV_HEIGHT, 20,
X  		PANEL_LABEL_STRING, "Apply",
X  		PANEL_NOTIFY_PROC, accept_properties,
X  		NULL);
X--- 1060,1068 ----
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:props_apply",
X  		XV_X, 191,
X! 		XV_Y, 471,
X  		XV_WIDTH, 53,
X! 		XV_HEIGHT, 19,
X  		PANEL_LABEL_STRING, "Apply",
X  		PANEL_NOTIFY_PROC, accept_properties,
X  		NULL);
X***************
X*** 1048,1056 ****
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:props_reset",
X  		XV_X, 256,
X! 		XV_Y, 442,
X  		XV_WIDTH, 51,
X! 		XV_HEIGHT, 20,
X  		PANEL_LABEL_STRING, "Reset",
X  		PANEL_NOTIFY_PROC, reset_properties,
X  		NULL);
X--- 1085,1093 ----
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:props_reset",
X  		XV_X, 256,
X! 		XV_Y, 471,
X  		XV_WIDTH, 51,
X! 		XV_HEIGHT, 19,
X  		PANEL_LABEL_STRING, "Reset",
X  		PANEL_NOTIFY_PROC, reset_properties,
X  		NULL);
X***************
X*** 1085,1090 ****
X--- 1122,1131 ----
X  		ip->start = contool_filters_start_create(ip, ip->filter_controls);
X  	if (!ip->stop)
X  		ip->stop = contool_filters_stop_create(ip, ip->filter_controls);
X+ 	if (!ip->filter_timeout)
X+ 		ip->filter_timeout = contool_filters_filter_timeout_create(ip, ip->filter_controls);
X+ 	if (!ip->filter_timeout_units)
X+ 		ip->filter_timeout_units = contool_filters_filter_timeout_units_create(ip, ip->filter_controls);
X  	if (!ip->comment)
X  		ip->comment = contool_filters_comment_create(ip, ip->filter_controls);
X  	if (!ip->ignore)
X***************
X*** 1099,1104 ****
X--- 1140,1147 ----
X  		ip->filter_command = contool_filters_filter_command_create(ip, ip->filter_controls);
X  	if (!ip->filters_apply)
X  		ip->filters_apply = contool_filters_filters_apply_create(ip, ip->filter_controls);
X+ 	if (!ip->filters_apply_and_save)
X+ 		ip->filters_apply_and_save = contool_filters_filters_apply_and_save_create(ip, ip->filter_controls);
X  	if (!ip->filters_reset)
X  		ip->filters_reset = contool_filters_filters_reset_create(ip, ip->filter_controls);
X  	return ip;
X***************
X*** 1119,1125 ****
X  	obj = xv_create(owner, FRAME_CMD,
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_WIDTH, 510,
X! 		XV_HEIGHT, 620,
X  		XV_LABEL, "Contool: Filters",
X  		XV_SHOW, FALSE,
X  		FRAME_SHOW_FOOTER, FALSE,
X--- 1162,1168 ----
X  	obj = xv_create(owner, FRAME_CMD,
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_WIDTH, 510,
X! 		XV_HEIGHT, 685,
X  		XV_LABEL, "Contool: Filters",
X  		XV_SHOW, FALSE,
X  		FRAME_SHOW_FOOTER, FALSE,
X***************
X*** 1201,1207 ****
X  		XV_X, 126,
X  		XV_Y, 218,
X  		XV_WIDTH, 67,
X! 		XV_HEIGHT, 20,
X  		PANEL_LABEL_STRING, "Insert",
X  		PANEL_ITEM_MENU, contool_filter_insert_menu_create((caddr_t *) ip, NULL),
X  		NULL);
X--- 1244,1250 ----
X  		XV_X, 126,
X  		XV_Y, 218,
X  		XV_WIDTH, 67,
X! 		XV_HEIGHT, 19,
X  		PANEL_LABEL_STRING, "Insert",
X  		PANEL_ITEM_MENU, contool_filter_insert_menu_create((caddr_t *) ip, NULL),
X  		NULL);
X***************
X*** 1225,1231 ****
X  		XV_X, 202,
X  		XV_Y, 218,
X  		XV_WIDTH, 56,
X! 		XV_HEIGHT, 20,
X  		PANEL_LABEL_STRING, "Edit",
X  		PANEL_ITEM_MENU, contool_filter_edit_menu_create((caddr_t *) ip, NULL),
X  		NULL);
X--- 1268,1274 ----
X  		XV_X, 202,
X  		XV_Y, 218,
X  		XV_WIDTH, 56,
X! 		XV_HEIGHT, 19,
X  		PANEL_LABEL_STRING, "Edit",
X  		PANEL_ITEM_MENU, contool_filter_edit_menu_create((caddr_t *) ip, NULL),
X  		NULL);
X***************
X*** 1250,1256 ****
X  		XV_X, 267,
X  		XV_Y, 218,
X  		XV_WIDTH, 62,
X! 		XV_HEIGHT, 20,
X  		PANEL_LABEL_STRING, "Update",
X  		PANEL_NOTIFY_PROC, filter_update,
X  		NULL);
X--- 1293,1299 ----
X  		XV_X, 267,
X  		XV_Y, 218,
X  		XV_WIDTH, 62,
X! 		XV_HEIGHT, 19,
X  		PANEL_LABEL_STRING, "Update",
X  		PANEL_NOTIFY_PROC, filter_update,
X  		NULL);
X***************
X*** 1306,1312 ****
X  		XV_HELP_DATA, "contool:start",
X  		XV_X, 65,
X  		XV_Y, 303,
X! 		XV_WIDTH, 429,
X  		XV_HEIGHT, 15,
X  		PANEL_LABEL_STRING, "Pattern:",
X  		PANEL_VALUE_X, 126,
X--- 1349,1355 ----
X  		XV_HELP_DATA, "contool:start",
X  		XV_X, 65,
X  		XV_Y, 303,
X! 		XV_WIDTH, 428,
X  		XV_HEIGHT, 15,
X  		PANEL_LABEL_STRING, "Pattern:",
X  		PANEL_VALUE_X, 126,
X***************
X*** 1335,1341 ****
X  		XV_HELP_DATA, "contool:stop",
X  		XV_X, 35,
X  		XV_Y, 323,
X! 		XV_WIDTH, 459,
X  		XV_HEIGHT, 15,
X  		PANEL_LABEL_STRING, "End pattern:",
X  		PANEL_VALUE_X, 126,
X--- 1378,1384 ----
X  		XV_HELP_DATA, "contool:stop",
X  		XV_X, 35,
X  		XV_Y, 323,
X! 		XV_WIDTH, 458,
X  		XV_HEIGHT, 15,
X  		PANEL_LABEL_STRING, "End pattern:",
X  		PANEL_VALUE_X, 126,
X***************
X*** 1349,1354 ****
X--- 1392,1452 ----
X  }
X  
X  /*
X+  * Create object `filter_timeout' in the specified instance.
X+ 
X+  */
X+ Xv_opaque
X+ contool_filters_filter_timeout_create(ip, owner)
X+ 	caddr_t		ip;
X+ 	Xv_opaque	owner;
X+ {
X+ 	Xv_opaque	obj;
X+ 	
X+ 	obj = xv_create(owner, PANEL_NUMERIC_TEXT,
X+ 		XV_KEY_DATA, INSTANCE, ip,
X+ 		XV_HELP_DATA, "contool:filter_timeout",
X+ 		XV_X, 57,
X+ 		XV_Y, 359,
X+ 		XV_WIDTH, 139,
X+ 		XV_HEIGHT, 15,
X+ 		PANEL_LABEL_STRING, "Timeout:",
X+ 		PANEL_VALUE_X, 125,
X+ 		PANEL_VALUE_Y, 359,
X+ 		PANEL_LAYOUT, PANEL_HORIZONTAL,
X+ 		PANEL_VALUE_DISPLAY_LENGTH, 3,
X+ 		PANEL_VALUE_STORED_LENGTH, 3,
X+ 		PANEL_MAX_VALUE, 999,
X+ 		PANEL_MIN_VALUE, 0,
X+ 		PANEL_READ_ONLY, FALSE,
X+ 		NULL);
X+ 	return obj;
X+ }
X+ 
X+ /*
X+  * Create object `filter_timeout_units' in the specified instance.
X+ 
X+  */
X+ Xv_opaque
X+ contool_filters_filter_timeout_units_create(ip, owner)
X+ 	caddr_t		ip;
X+ 	Xv_opaque	owner;
X+ {
X+ 	Xv_opaque	obj;
X+ 	
X+ 	obj = xv_create(owner, PANEL_MESSAGE,
X+ 		XV_KEY_DATA, INSTANCE, ip,
X+ 		XV_HELP_DATA, "contool:filter_timeout_units",
X+ 		XV_X, 213,
X+ 		XV_Y, 359,
X+ 		XV_WIDTH, 48,
X+ 		XV_HEIGHT, 13,
X+ 		PANEL_LABEL_STRING, "seconds",
X+ 		PANEL_LABEL_BOLD, FALSE,
X+ 		NULL);
X+ 	return obj;
X+ }
X+ 
X+ /*
X   * Create object `comment' in the specified instance.
X  
X   */
X***************
X*** 1363,1374 ****
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:comment",
X  		XV_X, 49,
X! 		XV_Y, 359,
X! 		XV_WIDTH, 445,
X  		XV_HEIGHT, 15,
X  		PANEL_LABEL_STRING, "Comment:",
X! 		PANEL_VALUE_X, 126,
X! 		PANEL_VALUE_Y, 359,
X  		PANEL_LAYOUT, PANEL_HORIZONTAL,
X  		PANEL_VALUE_DISPLAY_LENGTH, 46,
X  		PANEL_VALUE_STORED_LENGTH, 256,
X--- 1461,1472 ----
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:comment",
X  		XV_X, 49,
X! 		XV_Y, 395,
X! 		XV_WIDTH, 444,
X  		XV_HEIGHT, 15,
X  		PANEL_LABEL_STRING, "Comment:",
X! 		PANEL_VALUE_X, 125,
X! 		PANEL_VALUE_Y, 395,
X  		PANEL_LAYOUT, PANEL_HORIZONTAL,
X  		PANEL_VALUE_DISPLAY_LENGTH, 46,
X  		PANEL_VALUE_STORED_LENGTH, 256,
X***************
X*** 1393,1403 ****
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:ignore",
X  		XV_X, 14,
X! 		XV_Y, 395,
X  		XV_WIDTH, 321,
X  		XV_HEIGHT, 23,
X! 		PANEL_VALUE_X, 126,
X! 		PANEL_VALUE_Y, 395,
X  		PANEL_LAYOUT, PANEL_HORIZONTAL,
X  		PANEL_CHOICE_NROWS, 1,
X  		PANEL_LABEL_STRING, "When matched:",
X--- 1491,1501 ----
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:ignore",
X  		XV_X, 14,
X! 		XV_Y, 431,
X  		XV_WIDTH, 321,
X  		XV_HEIGHT, 23,
X! 		PANEL_VALUE_X, 125,
X! 		PANEL_VALUE_Y, 431,
X  		PANEL_LAYOUT, PANEL_HORIZONTAL,
X  		PANEL_CHOICE_NROWS, 1,
X  		PANEL_LABEL_STRING, "When matched:",
X***************
X*** 1426,1436 ****
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:action",
X  		XV_X, 32,
X! 		XV_Y, 423,
X! 		XV_WIDTH, 196,
X! 		XV_HEIGHT, 139,
X! 		PANEL_VALUE_X, 126,
X! 		PANEL_VALUE_Y, 423,
X  		PANEL_LAYOUT, PANEL_HORIZONTAL,
X  		PANEL_CHOICE_NCOLS, 1,
X  		PANEL_LABEL_STRING, "When saved:",
X--- 1524,1534 ----
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:action",
X  		XV_X, 32,
X! 		XV_Y, 459,
X! 		XV_WIDTH, 195,
X! 		XV_HEIGHT, 168,
X! 		PANEL_VALUE_X, 125,
X! 		PANEL_VALUE_Y, 459,
X  		PANEL_LAYOUT, PANEL_HORIZONTAL,
X  		PANEL_CHOICE_NCOLS, 1,
X  		PANEL_LABEL_STRING, "When saved:",
X***************
X*** 1439,1444 ****
X--- 1537,1543 ----
X  			"Beep",
X  			"Command",
X  			"Flash icon",
X+ 			"Log message",
X  			"Open window",
X  			"Timestamp",
X  			0,
X***************
X*** 1460,1471 ****
X  	obj = xv_create(owner, PANEL_NUMERIC_TEXT,
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:filter_beep_count",
X! 		XV_X, 228,
X! 		XV_Y, 428,
X! 		XV_WIDTH, 80,
X  		XV_HEIGHT, 15,
X! 		PANEL_VALUE_X, 237,
X! 		PANEL_VALUE_Y, 428,
X  		PANEL_LAYOUT, PANEL_HORIZONTAL,
X  		PANEL_VALUE_DISPLAY_LENGTH, 2,
X  		PANEL_VALUE_STORED_LENGTH, 2,
X--- 1559,1570 ----
X  	obj = xv_create(owner, PANEL_NUMERIC_TEXT,
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:filter_beep_count",
X! 		XV_X, 236,
X! 		XV_Y, 464,
X! 		XV_WIDTH, 71,
X  		XV_HEIGHT, 15,
X! 		PANEL_VALUE_X, 236,
X! 		PANEL_VALUE_Y, 464,
X  		PANEL_LAYOUT, PANEL_HORIZONTAL,
X  		PANEL_VALUE_DISPLAY_LENGTH, 2,
X  		PANEL_VALUE_STORED_LENGTH, 2,
X***************
X*** 1490,1497 ****
X  	obj = xv_create(owner, PANEL_MESSAGE,
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:filter_beep_times",
X! 		XV_X, 316,
X! 		XV_Y, 428,
X  		XV_WIDTH, 34,
X  		XV_HEIGHT, 13,
X  		PANEL_LABEL_STRING, "times",
X--- 1589,1596 ----
X  	obj = xv_create(owner, PANEL_MESSAGE,
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:filter_beep_times",
X! 		XV_X, 324,
X! 		XV_Y, 464,
X  		XV_WIDTH, 34,
X  		XV_HEIGHT, 13,
X  		PANEL_LABEL_STRING, "times",
X***************
X*** 1514,1525 ****
X  	obj = xv_create(owner, PANEL_TEXT,
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:filter_command",
X! 		XV_X, 228,
X! 		XV_Y, 457,
X! 		XV_WIDTH, 265,
X  		XV_HEIGHT, 15,
X! 		PANEL_VALUE_X, 237,
X! 		PANEL_VALUE_Y, 457,
X  		PANEL_LAYOUT, PANEL_HORIZONTAL,
X  		PANEL_VALUE_DISPLAY_LENGTH, 32,
X  		PANEL_VALUE_STORED_LENGTH, 1024,
X--- 1613,1624 ----
X  	obj = xv_create(owner, PANEL_TEXT,
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:filter_command",
X! 		XV_X, 236,
X! 		XV_Y, 493,
X! 		XV_WIDTH, 256,
X  		XV_HEIGHT, 15,
X! 		PANEL_VALUE_X, 236,
X! 		PANEL_VALUE_Y, 493,
X  		PANEL_LAYOUT, PANEL_HORIZONTAL,
X  		PANEL_VALUE_DISPLAY_LENGTH, 32,
X  		PANEL_VALUE_STORED_LENGTH, 1024,
X***************
X*** 1543,1552 ****
X  	obj = xv_create(owner, PANEL_BUTTON,
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:filters_apply",
X! 		XV_X, 196,
X! 		XV_Y, 583,
X  		XV_WIDTH, 53,
X! 		XV_HEIGHT, 20,
X  		PANEL_LABEL_STRING, "Apply",
X  		PANEL_NOTIFY_PROC, accept_filters,
X  		NULL);
X--- 1642,1651 ----
X  	obj = xv_create(owner, PANEL_BUTTON,
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:filters_apply",
X! 		XV_X, 135,
X! 		XV_Y, 648,
X  		XV_WIDTH, 53,
X! 		XV_HEIGHT, 19,
X  		PANEL_LABEL_STRING, "Apply",
X  		PANEL_NOTIFY_PROC, accept_filters,
X  		NULL);
X***************
X*** 1554,1559 ****
X--- 1653,1683 ----
X  }
X  
X  /*
X+  * Create object `filters_apply_and_save' in the specified instance.
X+ 
X+  */
X+ Xv_opaque
X+ contool_filters_filters_apply_and_save_create(ip, owner)
X+ 	caddr_t		ip;
X+ 	Xv_opaque	owner;
X+ {
X+ 	extern void		accept_and_save_filters();
X+ 	Xv_opaque	obj;
X+ 	
X+ 	obj = xv_create(owner, PANEL_BUTTON,
X+ 		XV_KEY_DATA, INSTANCE, ip,
X+ 		XV_HELP_DATA, "contool:filters_apply_and_save",
X+ 		XV_X, 200,
X+ 		XV_Y, 648,
X+ 		XV_WIDTH, 112,
X+ 		XV_HEIGHT, 19,
X+ 		PANEL_LABEL_STRING, "Apply and Save",
X+ 		PANEL_NOTIFY_PROC, accept_and_save_filters,
X+ 		NULL);
X+ 	return obj;
X+ }
X+ 
X+ /*
X   * Create object `filters_reset' in the specified instance.
X  
X   */
X***************
X*** 1568,1577 ****
X  	obj = xv_create(owner, PANEL_BUTTON,
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:filters_reset",
X! 		XV_X, 261,
X! 		XV_Y, 583,
X  		XV_WIDTH, 51,
X! 		XV_HEIGHT, 20,
X  		PANEL_LABEL_STRING, "Reset",
X  		PANEL_NOTIFY_PROC, reset_filters,
X  		NULL);
X--- 1692,1701 ----
X  	obj = xv_create(owner, PANEL_BUTTON,
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:filters_reset",
X! 		XV_X, 324,
X! 		XV_Y, 648,
X  		XV_WIDTH, 51,
X! 		XV_HEIGHT, 19,
X  		PANEL_LABEL_STRING, "Reset",
X  		PANEL_NOTIFY_PROC, reset_filters,
X  		NULL);
X***************
X*** 1665,1671 ****
X  		XV_HELP_DATA, "contool:load_type",
X  		XV_X, 105,
X  		XV_Y, 14,
X! 		XV_WIDTH, 162,
X  		XV_HEIGHT, 52,
X  		PANEL_VALUE_X, 149,
X  		PANEL_VALUE_Y, 14,
X--- 1789,1795 ----
X  		XV_HELP_DATA, "contool:load_type",
X  		XV_X, 105,
X  		XV_Y, 14,
X! 		XV_WIDTH, 161,
X  		XV_HEIGHT, 52,
X  		PANEL_VALUE_X, 149,
X  		PANEL_VALUE_Y, 14,
X***************
X*** 1697,1703 ****
X  		XV_HELP_DATA, "contool:load_file",
X  		XV_X, 14,
X  		XV_Y, 72,
X! 		XV_WIDTH, 415,
X  		XV_HEIGHT, 15,
X  		PANEL_LABEL_STRING, "Configuration file:",
X  		PANEL_VALUE_X, 149,
X--- 1821,1827 ----
X  		XV_HELP_DATA, "contool:load_file",
X  		XV_X, 14,
X  		XV_Y, 72,
X! 		XV_WIDTH, 414,
X  		XV_HEIGHT, 15,
X  		PANEL_LABEL_STRING, "Configuration file:",
X  		PANEL_VALUE_X, 149,
X***************
X*** 1729,1735 ****
X  		XV_X, 199,
X  		XV_Y, 107,
X  		XV_WIDTH, 46,
X! 		XV_HEIGHT, 20,
X  		PANEL_LABEL_STRING, "Load",
X  		PANEL_NOTIFY_PROC, load_filters,
X  		NULL);
X--- 1853,1859 ----
X  		XV_X, 199,
X  		XV_Y, 107,
X  		XV_WIDTH, 46,
X! 		XV_HEIGHT, 19,
X  		PANEL_LABEL_STRING, "Load",
X  		PANEL_NOTIFY_PROC, load_filters,
X  		NULL);
X***************
X*** 1774,1780 ****
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_WIDTH, 444,
X  		XV_HEIGHT, 146,
X! 		XV_LABEL, "Contool: Store Configuration",
X  		XV_SHOW, FALSE,
X  		FRAME_SHOW_FOOTER, FALSE,
X  		FRAME_SHOW_RESIZE_CORNER, FALSE,
X--- 1898,1904 ----
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_WIDTH, 444,
X  		XV_HEIGHT, 146,
X! 		XV_LABEL, "Contool: Save Configuration",
X  		XV_SHOW, FALSE,
X  		FRAME_SHOW_FOOTER, FALSE,
X  		FRAME_SHOW_RESIZE_CORNER, FALSE,
X***************
X*** 1823,1829 ****
X  		XV_HELP_DATA, "contool:store_type",
X  		XV_X, 102,
X  		XV_Y, 14,
X! 		XV_WIDTH, 165,
X  		XV_HEIGHT, 52,
X  		PANEL_VALUE_X, 149,
X  		PANEL_VALUE_Y, 14,
X--- 1947,1953 ----
X  		XV_HELP_DATA, "contool:store_type",
X  		XV_X, 102,
X  		XV_Y, 14,
X! 		XV_WIDTH, 164,
X  		XV_HEIGHT, 52,
X  		PANEL_VALUE_X, 149,
X  		PANEL_VALUE_Y, 14,
X***************
X*** 1855,1864 ****
X  		XV_HELP_DATA, "contool:store_file",
X  		XV_X, 14,
X  		XV_Y, 72,
X! 		XV_WIDTH, 415,
X  		XV_HEIGHT, 15,
X  		PANEL_LABEL_STRING, "Configuration file:",
X! 		PANEL_VALUE_X, 149,
X  		PANEL_VALUE_Y, 72,
X  		PANEL_LAYOUT, PANEL_HORIZONTAL,
X  		PANEL_VALUE_DISPLAY_LENGTH, 35,
X--- 1979,1988 ----
X  		XV_HELP_DATA, "contool:store_file",
X  		XV_X, 14,
X  		XV_Y, 72,
X! 		XV_WIDTH, 414,
X  		XV_HEIGHT, 15,
X  		PANEL_LABEL_STRING, "Configuration file:",
X! 		PANEL_VALUE_X, 148,
X  		PANEL_VALUE_Y, 72,
X  		PANEL_LAYOUT, PANEL_HORIZONTAL,
X  		PANEL_VALUE_DISPLAY_LENGTH, 35,
X***************
X*** 1887,1893 ****
X  		XV_X, 197,
X  		XV_Y, 107,
X  		XV_WIDTH, 49,
X! 		XV_HEIGHT, 20,
X  		PANEL_LABEL_STRING, "Store",
X  		PANEL_NOTIFY_PROC, store_filters,
X  		NULL);
X--- 2011,2017 ----
X  		XV_X, 197,
X  		XV_Y, 107,
X  		XV_WIDTH, 49,
X! 		XV_HEIGHT, 19,
X  		PANEL_LABEL_STRING, "Store",
X  		PANEL_NOTIFY_PROC, store_filters,
X  		NULL);
X***************
X*** 2009,2019 ****
X  	obj = xv_create(owner, PANEL_MESSAGE,
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:message1",
X! 		XV_X, 210,
X  		XV_Y, 14,
X! 		XV_WIDTH, 83,
X  		XV_HEIGHT, 13,
X! 		PANEL_LABEL_STRING, "Contool 3.0c",
X  		PANEL_LABEL_BOLD, TRUE,
X  		NULL);
X  	return obj;
X--- 2133,2143 ----
X  	obj = xv_create(owner, PANEL_MESSAGE,
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:message1",
X! 		XV_X, 217,
X  		XV_Y, 14,
X! 		XV_WIDTH, 75,
X  		XV_HEIGHT, 13,
X! 		PANEL_LABEL_STRING, "Contool 3.1",
X  		PANEL_LABEL_BOLD, TRUE,
X  		NULL);
X  	return obj;
X***************
X*** 2035,2041 ****
X  		XV_HELP_DATA, "contool:message5",
X  		XV_X, 177,
X  		XV_Y, 30,
X! 		XV_WIDTH, 152,
X  		XV_HEIGHT, 13,
X  		PANEL_LABEL_STRING, "Copyright 1988 - 1991",
X  		PANEL_LABEL_BOLD, TRUE,
X--- 2159,2165 ----
X  		XV_HELP_DATA, "contool:message5",
X  		XV_X, 177,
X  		XV_Y, 30,
X! 		XV_WIDTH, 151,
X  		XV_HEIGHT, 13,
X  		PANEL_LABEL_STRING, "Copyright 1988 - 1991",
X  		PANEL_LABEL_BOLD, TRUE,
X***************
X*** 2059,2065 ****
X  		XV_HELP_DATA, "contool:message6",
X  		XV_X, 117,
X  		XV_Y, 46,
X! 		XV_WIDTH, 274,
X  		XV_HEIGHT, 13,
X  		PANEL_LABEL_STRING, "Chuck Musciano and Harris Corporation",
X  		PANEL_LABEL_BOLD, TRUE,
X--- 2183,2189 ----
X  		XV_HELP_DATA, "contool:message6",
X  		XV_X, 117,
X  		XV_Y, 46,
X! 		XV_WIDTH, 273,
X  		XV_HEIGHT, 13,
X  		PANEL_LABEL_STRING, "Chuck Musciano and Harris Corporation",
X  		PANEL_LABEL_BOLD, TRUE,
X***************
X*** 2083,2089 ****
X  		XV_HELP_DATA, "contool:message7",
X  		XV_X, 185,
X  		XV_Y, 62,
X! 		XV_WIDTH, 135,
X  		XV_HEIGHT, 13,
X  		PANEL_LABEL_STRING, "All Rights Reserved",
X  		PANEL_LABEL_BOLD, TRUE,
X--- 2207,2213 ----
X  		XV_HELP_DATA, "contool:message7",
X  		XV_X, 185,
X  		XV_Y, 62,
X! 		XV_WIDTH, 134,
X  		XV_HEIGHT, 13,
X  		PANEL_LABEL_STRING, "All Rights Reserved",
X  		PANEL_LABEL_BOLD, TRUE,
X***************
X*** 2418,2428 ****
X  	obj = xv_create(owner, PANEL_BUTTON,
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:send_mail",
X! 		XV_X, 215,
X  		XV_Y, 352,
X! 		XV_WIDTH, 78,
X! 		XV_HEIGHT, 20,
X! 		PANEL_LABEL_STRING, "Send Mail",
X  		PANEL_NOTIFY_PROC, popup_send_mail,
X  		NULL);
X  	return obj;
X--- 2542,2552 ----
X  	obj = xv_create(owner, PANEL_BUTTON,
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:send_mail",
X! 		XV_X, 210,
X  		XV_Y, 352,
X! 		XV_WIDTH, 87,
X! 		XV_HEIGHT, 19,
X! 		PANEL_LABEL_STRING, "Send Mail...",
X  		PANEL_NOTIFY_PROC, popup_send_mail,
X  		NULL);
X  	return obj;
X***************
X*** 2448,2453 ****
X--- 2572,2579 ----
X  		ip->message22 = contool_mail_message22_create(ip, ip->mail_controls);
X  	if (!ip->address)
X  		ip->address = contool_mail_address_create(ip, ip->mail_controls);
X+ 	if (!ip->fixed_address)
X+ 		ip->fixed_address = contool_mail_fixed_address_create(ip, ip->mail_controls);
X  	if (!ip->other_address)
X  		ip->other_address = contool_mail_other_address_create(ip, ip->mail_controls);
X  	if (!ip->message)
X***************
X*** 2456,2463 ****
X  		ip->mail_controls1 = contool_mail_mail_controls1_create(ip, ip->mail);
X  	if (!ip->accept_send)
X  		ip->accept_send = contool_mail_accept_send_create(ip, ip->mail_controls1);
X- 	if (!ip->cancel_mail)
X- 		ip->cancel_mail = contool_mail_cancel_mail_create(ip, ip->mail_controls1);
X  	return ip;
X  }
X  
X--- 2582,2587 ----
X***************
X*** 2568,2594 ****
X  	caddr_t		ip;
X  	Xv_opaque	owner;
X  {
X- 	extern int		handle_address();
X  	Xv_opaque	obj;
X  	
X! 	obj = xv_create(owner, PANEL_CHOICE, PANEL_DISPLAY_LEVEL, PANEL_CURRENT,
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:address",
X  		XV_X, 14,
X! 		XV_Y, 64,
X! 		XV_WIDTH, 278,
X! 		XV_HEIGHT, 23,
X! 		PANEL_VALUE_X, 43,
X! 		PANEL_VALUE_Y, 64,
X! 		PANEL_LAYOUT, PANEL_HORIZONTAL,
X! 		PANEL_CHOICE_NROWS, 1,
X  		PANEL_LABEL_STRING, "To:",
X! 		PANEL_NOTIFY_PROC, handle_address,
X! 		PANEL_CHOICE_STRINGS,
X! 			"chuck at trantor.harris-atd.com",
X! 			"uunet!trantor.harris-atd.com!chuck",
X! 			"Other:",
X! 			0,
X  		NULL);
X  	return obj;
X  }
X--- 2692,2732 ----
X  	caddr_t		ip;
X  	Xv_opaque	owner;
X  {
X  	Xv_opaque	obj;
X  	
X! 	obj = xv_create(owner, PANEL_ABBREV_MENU_BUTTON,
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:address",
X  		XV_X, 14,
X! 		XV_Y, 69,
X! 		XV_WIDTH, 48,
X! 		XV_HEIGHT, 15,
X  		PANEL_LABEL_STRING, "To:",
X! 		PANEL_ITEM_MENU, contool_address_menu_create((caddr_t *) ip, NULL),
X! 		NULL);
X! 	return obj;
X! }
X! 
X! /*
X!  * Create object `fixed_address' in the specified instance.
X! 
X!  */
X! Xv_opaque
X! contool_mail_fixed_address_create(ip, owner)
X! 	caddr_t		ip;
X! 	Xv_opaque	owner;
X! {
X! 	Xv_opaque	obj;
X! 	
X! 	obj = xv_create(owner, PANEL_MESSAGE,
X! 		XV_KEY_DATA, INSTANCE, ip,
X! 		XV_HELP_DATA, "contool:fixed_address",
X! 		XV_X, 70,
X! 		XV_Y, 69,
X! 		XV_WIDTH, 182,
X! 		XV_HEIGHT, 13,
X! 		PANEL_LABEL_STRING, "chuck at trantor.harris-atd.com",
X! 		PANEL_LABEL_BOLD, FALSE,
X  		NULL);
X  	return obj;
X  }
X***************
X*** 2607,2620 ****
X  	obj = xv_create(owner, PANEL_TEXT,
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:other_address",
X! 		XV_X, 105,
X  		XV_Y, 69,
X! 		XV_WIDTH, 385,
X  		XV_HEIGHT, 15,
X! 		PANEL_VALUE_X, 114,
X  		PANEL_VALUE_Y, 69,
X  		PANEL_LAYOUT, PANEL_HORIZONTAL,
X! 		PANEL_VALUE_DISPLAY_LENGTH, 47,
X  		PANEL_VALUE_STORED_LENGTH, 256,
X  		PANEL_READ_ONLY, FALSE,
X  		NULL);
X--- 2745,2758 ----
X  	obj = xv_create(owner, PANEL_TEXT,
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:other_address",
X! 		XV_X, 116,
X  		XV_Y, 69,
X! 		XV_WIDTH, 368,
X  		XV_HEIGHT, 15,
X! 		PANEL_VALUE_X, 116,
X  		PANEL_VALUE_Y, 69,
X  		PANEL_LAYOUT, PANEL_HORIZONTAL,
X! 		PANEL_VALUE_DISPLAY_LENGTH, 46,
X  		PANEL_VALUE_STORED_LENGTH, 256,
X  		PANEL_READ_ONLY, FALSE,
X  		NULL);
X***************
X*** 2681,2717 ****
X  	obj = xv_create(owner, PANEL_BUTTON,
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:accept_send",
X! 		XV_X, 193,
X  		XV_Y, 18,
X  		XV_WIDTH, 48,
X! 		XV_HEIGHT, 20,
X  		PANEL_LABEL_STRING, "Send",
X  		PANEL_NOTIFY_PROC, send_mail,
X- 		NULL);
X- 	return obj;
X- }
X- 
X- /*
X-  * Create object `cancel_mail' in the specified instance.
X- 
X-  */
X- Xv_opaque
X- contool_mail_cancel_mail_create(ip, owner)
X- 	caddr_t		ip;
X- 	Xv_opaque	owner;
X- {
X- 	extern void		cancel_mail();
X- 	Xv_opaque	obj;
X- 	
X- 	obj = xv_create(owner, PANEL_BUTTON,
X- 		XV_KEY_DATA, INSTANCE, ip,
X- 		XV_HELP_DATA, "contool:cancel_mail",
X- 		XV_X, 253,
X- 		XV_Y, 18,
X- 		XV_WIDTH, 59,
X- 		XV_HEIGHT, 20,
X- 		PANEL_LABEL_STRING, "Cancel",
X- 		PANEL_NOTIFY_PROC, cancel_mail,
X  		NULL);
X  	return obj;
X  }
X--- 2819,2830 ----
X  	obj = xv_create(owner, PANEL_BUTTON,
X  		XV_KEY_DATA, INSTANCE, ip,
X  		XV_HELP_DATA, "contool:accept_send",
X! 		XV_X, 229,
X  		XV_Y, 18,
X  		XV_WIDTH, 48,
X! 		XV_HEIGHT, 19,
X  		PANEL_LABEL_STRING, "Send",
X  		PANEL_NOTIFY_PROC, send_mail,
X  		NULL);
X  	return obj;
X  }
X*** Makefile.orig	Wed May 29 12:09:17 1991
X--- Makefile	Fri May 17 09:10:00 1991
X***************
X*** 24,30 ****
X  CPPFLAGS	= -I$(OPENWINHOME)/include -DMAILER=\"$(MAILER)\"
X  
X  CONTOOL		= about.o busy.o contool.o contool_ui.o error.o expand.o filename_completion.o \
X! 		  filters.o load.o load_icon.o logging.o misc.o parse.o \
X  		  pinned_menu_notify.o place_dialog.o props.o regexp.o send_mail.o store.o
X  
X  OPTIONS		= -O
X--- 24,30 ----
X  CPPFLAGS	= -I$(OPENWINHOME)/include -DMAILER=\"$(MAILER)\"
X  
X  CONTOOL		= about.o busy.o contool.o contool_ui.o error.o expand.o filename_completion.o \
X! 		  filters.o getopt.o load.o load_icon.o logging.o misc.o parse.o \
X  		  pinned_menu_notify.o place_dialog.o props.o regexp.o send_mail.o store.o
X  
X  OPTIONS		= -O
X*** Imakefile.orig	Wed May 29 12:09:19 1991
X--- Imakefile	Fri May 17 09:09:59 1991
X***************
X*** 11,21 ****
X  CFLAGS		= -O -I$(OPENWINHOME)/include -DMAILER=\"$(MAILER)\"
X  
X  SRCS		= about.c busy.c contool.c contool_ui.c error.c expand.c filename_completion.c \
X! 		  filters.c load.c load_icon.c logging.c misc.c parse.y \
X  		  pinned_menu_notify.c place_dialog.c props.c regexp.c send_mail.c store.c
X  
X  OBJS		= about.o busy.o contool.o contool_ui.o error.o expand.o filename_completion.o \
X! 		  filters.o load.o load_icon.o logging.o misc.o parse.o \
X  		  pinned_menu_notify.o place_dialog.o props.o regexp.o send_mail.o store.o
X  
X  ComplexProgramTarget(contool)
X--- 11,21 ----
X  CFLAGS		= -O -I$(OPENWINHOME)/include -DMAILER=\"$(MAILER)\"
X  
X  SRCS		= about.c busy.c contool.c contool_ui.c error.c expand.c filename_completion.c \
X! 		  filters.c getopt.c load.c load_icon.c logging.c misc.c parse.y \
X  		  pinned_menu_notify.c place_dialog.c props.c regexp.c send_mail.c store.c
X  
X  OBJS		= about.o busy.o contool.o contool_ui.o error.o expand.o filename_completion.o \
X! 		  filters.o getopt.o load.o load_icon.o logging.o misc.o parse.o \
X  		  pinned_menu_notify.o place_dialog.o props.o regexp.o send_mail.o store.o
X  
X  ComplexProgramTarget(contool)
X*** README.orig	Wed May 29 12:09:19 1991
X--- README	Wed May 29 08:17:22 1991
X***************
X*** 16,22 ****
X  /*	of Harris Corporation.						*/
X  /************************************************************************/
X  
X!      Contool Version 3.0
X       
X       Contool will capture and display system console messages with timestamps.
X  It is a replacement for the standard Sun console, which is created with 
X--- 16,22 ----
X  /*	of Harris Corporation.						*/
X  /************************************************************************/
X  
X!      Contool Version 3.1
X       
X       Contool will capture and display system console messages with timestamps.
X  It is a replacement for the standard Sun console, which is created with 
X***************
X*** 173,179 ****
X  				Reworked console overflow handling,
X  				   courtesy of Matt Cohen
X  				   (sysnmc at magic706.chron.com).
X! 	3.0a			Allowed reading of 1.0 filter files.
X  				Fixed handling of custom default icon
X  				   when blinking stops.
X  				Tweaked Makefile slightly.
X--- 173,179 ----
X  				Reworked console overflow handling,
X  				   courtesy of Matt Cohen
X  				   (sysnmc at magic706.chron.com).
X! 	3.0a	18 Oct 90	Allowed reading of 1.0 filter files.
X  				Fixed handling of custom default icon
X  				   when blinking stops.
X  				Tweaked Makefile slightly.
X***************
X*** 180,189 ****
X  				Fixed handling of dialog boxes under
X  				   window managers other than olwm.
X  				Add Imakefile.
X! 	3.0b			Fixed "tiny icon" bug.
X  				Added "About contool..." dialog.
X  				Source restructuring for maintainability.
X! 	3.0c			Added -n option to prevent console
X  				   acquisition on startup.
X  				Fixed bugs in send mail dialog.
X  				Changed send mail "Cancel" to close window.
X--- 180,189 ----
X  				Fixed handling of dialog boxes under
X  				   window managers other than olwm.
X  				Add Imakefile.
X! 	3.0b	 1 Nov 90	Fixed "tiny icon" bug.
X  				Added "About contool..." dialog.
X  				Source restructuring for maintainability.
X! 	3.0c	15 Jan 91	Added -n option to prevent console
X  				   acquisition on startup.
X  				Fixed bugs in send mail dialog.
X  				Changed send mail "Cancel" to close window.
X***************
X*** 190,192 ****
X--- 190,205 ----
X  				Updated help for "File" button.
X  				Dialogs no longer come up clipped by the
X  				   bottom of the screen.
X+ 	3.1	24 May 91	Added syntax to support control characters
X+ 				   in filters.
X+ 				Reworked handling of "Other:" mail address.
X+ 				Added filter versions.
X+ 				Missing end patterns are now flagged.
X+ 				Contool now sets its class and name hints.
X+ 				Sending SIGUSR1 (30) to contool stops blinking,
X+ 				   suggested by Frank Peters.
X+ 				Sending SIGHUP (1) closes and reopens the log file.
X+ 				Added "Apply and Save" button to filter dialog.
X+ 				Added individual message logging.
X+ 				Finally fixed overflow handling.
X+ 				Added multi-line filter timeout.
X*** contool.man.orig	Wed May 29 12:09:20 1991
X--- contool.man	Wed May 29 08:17:20 1991
X***************
X*** 71,88 ****
X  file, and clicks on the \fBSave\fP button to save the information.
X  .IP ""
X  \f2Contool\fP writes the data in a format incompatible with previous
X! versions (release 2.2 or earlier) of the tool.
X  .IP "\fBFile: Start Logging\fP"
X  starts logging console messages to the log file specified by the tool
X  properties, or the \fB-L\fP option (above).  The tool properties also
X  contains a switch which determines whether messages are written before
X  or after filtering occurs.  If before, all messages are logged.  If after,
X! only those messages which do not match a filter, or whose filter has the
X! \*(lqSave\*(rq attribute, are logged.
X  .IP ""
X  The log file is written in such a manner that multiple invocations of
X  \f2contool\fP can write to the same log file without conflict.  New 
X! messages are always appended to the log file.
X  .IP "\fBFile: Stop Logging\fP"
X  stops the logging process.
X  .IP "\fBFile: Print\fP"
X--- 71,91 ----
X  file, and clicks on the \fBSave\fP button to save the information.
X  .IP ""
X  \f2Contool\fP writes the data in a format incompatible with previous
X! versions (release 3.0 or earlier) of the tool.
X  .IP "\fBFile: Start Logging\fP"
X  starts logging console messages to the log file specified by the tool
X  properties, or the \fB-L\fP option (above).  The tool properties also
X  contains a switch which determines whether messages are written before
X  or after filtering occurs.  If before, all messages are logged.  If after,
X! a message is written to the log if it does not match a filter and the default
X! action in the tool properties has \*(lqLog message\*(rq enabled; or if it
X! matches a filter with both the \*(lqSave\*(rq and \*(lqLog message\*(rq 
X! attributes set.
X  .IP ""
X  The log file is written in such a manner that multiple invocations of
X  \f2contool\fP can write to the same log file without conflict.  New 
X! messages are always appended to the log file.  Log files can be forcibly
X! flushed with a SIGHUP; see SIGNALS, below.
X  .IP "\fBFile: Stop Logging\fP"
X  stops the logging process.
X  .IP "\fBFile: Print\fP"
X***************
X*** 191,200 ****
X--- 194,217 ----
X  should be anchored to the start (or end) of the line by using the "^"
X  (or "$") metacharacters.  For more information on regular expressions,
X  see \f2ed\fP(1).
X+ .IP ""
X+ As a special extension to regular expressions, \f2contool\fP recognizes
X+ a backslash (\*(lq\\\*(rq) followed by one or more octal digits as a single
X+ character in the expression.  This allows non-printing characters, such as
X+ control characters, to be inserted in the text pattern.  If a backslash is
X+ followed by any other character, it is placed in the pattern verbatim.  Thus,
X+ to create an expression which matches a control-G followed by a backslash, the
X+ pattern \*(lq\\007\\\*(rq would suffice.
X  .IP "\fBEnd pattern\fP"
X  If the \fBType\fP is set to \*(lqMulti-line filter\*(rq, this field
X  must contain the regular expression which matches the last line of the
X  block of text handled by this filter.
X+ .IP "\fBTimeout\fP"
X+ If the \fBType\fP is set to \*(lqMulti-line filter\*(rq, this field
X+ sets a limit on how long \f2contool\fP will process the filter.  This
X+ prevents filters with erroneous end patterns from absorbing all console
X+ output once they begin filtering.  The default value, 0, indicates that
X+ no timeout is in effect.
X  .IP "\fBComment\fP"
X  This text field contains any comments regarding the filter the user
X  wishes to record.  Since some filters can be rather arcane, it is suggested
X***************
X*** 225,230 ****
X--- 242,250 ----
X  alternating between the \*(lqCheck console\*(rq and \*(lqFlash\*(rq
X  icons.
X  .IP ""
X+ The \*(lqLog message\*(rq choice causes the message to be written to
X+ the message log, if logging is enabled and is performed after filtering.
X+ .IP ""
X  The \*(lqOpen window\*(rq choice causes \f2contool\fP to open from
X  its iconic state, and to move in front of any obscuring windows.
X  .IP ""
X***************
X*** 240,247 ****
X  .IP ""
X  Note that even after clicking \fBAccept\fP, the configuration file is
X  not updated.  To make the changes permanent between invocations of
X! \f2contool\fP, use the \fBSave Configuration\fP dialog to save the
X! changed filters.
X  .IP "\fBReset\fP"
X  This button discards any changes made to the current filter set, 
X  restoring the filter list to match the current filter set in use
X--- 260,273 ----
X  .IP ""
X  Note that even after clicking \fBAccept\fP, the configuration file is
X  not updated.  To make the changes permanent between invocations of
X! \f2contool\fP, press the \fBApply and Save\fP button, or use the \fBSave Configuration\fP
X! dialog to save the changed filters.
X! .IP "\fBApply and Save\fP"
X! This button makes the filters in the scrolling list the current set of
X! active filters and writes those filters and the tool properties to the
X! current configuration file.  To write the filters to a different file, or
X! to write just the filters without the tool properties, press the \fBApply\fP
X! button and use the \fBSave Configuration\fP dialog instead.
X  .IP "\fBReset\fP"
X  This button discards any changes made to the current filter set, 
X  restoring the filter list to match the current filter set in use
X***************
X*** 262,268 ****
X  .IP "\fBLog messages\fP"
X  If this exclusive setting is set to \*(lqbefore filtering\*(rq, all
X  messages will be logged.  If set to \*(lqafter filtering\*(rq, 
X! messages that match filters whose \fBWhen matched\fP behavior is
X  set to \*(lqIgnore message\*(rq will not be logged.
X  .IP "\fBPrint filter\fP"
X  This text field specifies the command to be used to print the
X--- 288,294 ----
X  .IP "\fBLog messages\fP"
X  If this exclusive setting is set to \*(lqbefore filtering\*(rq, all
X  messages will be logged.  If set to \*(lqafter filtering\*(rq, 
X! messages that match filters whose \*(lqWhen matched\*(rq behavior is
X  set to \*(lqIgnore message\*(rq will not be logged.
X  .IP "\fBPrint filter\fP"
X  This text field specifies the command to be used to print the
X***************
X*** 315,325 ****
X  and it is not intended that the file be edited directly by users.
X  See EDITING FILTERS, above, for information on modifying the behavior
X  of \f2contool\fP.
X  .SH FILES
X  .ta 2i
X! ~/.contool	filter pattern file
X  .SH SEE ALSO
X! cmdtool(1), ed(1)
X  .SH AUTHOR
X  .LP
X  Chuck Musciano
X--- 341,360 ----
X  and it is not intended that the file be edited directly by users.
X  See EDITING FILTERS, above, for information on modifying the behavior
X  of \f2contool\fP.
X+ .SH SIGNALS
X+ \f2Contool\fP will respond to certain Unix signals.  They are:
X+ .IP "\fBSIGHUP\fP"
X+ Upon receipt of SIGHUP, \f2contool\fP will close and reopen its log file,
X+ if logging is enabled.  This guarantees that logged messages are flushed
X+ to disk.
X+ .IP "\fBSIGUSR1\fP"
X+ Upon receipt of SIGUSR1, \f2contool\fP will stop blinking its icon.  This
X+ is a handy way to stop blinking without opening \f2contool\fP.
X  .SH FILES
X  .ta 2i
X! ~/.contool	configuration file
X  .SH SEE ALSO
X! cmdtool(1), ed(1), kill(1), signal(3)
X  .SH AUTHOR
X  .LP
X  Chuck Musciano
END_OF_FILE
if test 46579 -ne `wc -c <'patch.1'`; then
    echo shar: \"'patch.1'\" unpacked with wrong size!
fi
# end of 'patch.1'
fi
echo shar: End of shell archive.
exit 0

--
Dan Heller
O'Reilly && Associates       Z-Code Software    Comp-sources-x:
Senior Writer                President          comp-sources-x at uunet.uu.net
argv at ora.com                 argv at zipcode.com



More information about the Comp.sources.x mailing list