[comp.windows.x] xmh - Munged From Lines

hogan@csl.sri.com (07/26/89)

From: hogan@julius.csl.sri.com ()
Path: julius.csl.sri.com!hogan
Newsgroups: comp.windows.x
Subject: xmh - from address
Expires: 
References: 
Sender: 
Reply-To: hogan@julius.csl.sri.com ()
Followup-To: 
Distribution: world
Organization: Computer Science Laboratory, SRI International, Menlo Park, CA  USA
Keywords: 


I have a curious problem with xmh and hope that one of you
x-gurus can help me.  My problem is this:

I have just recently installed mh (version 6.6), running under
SunOS 4.0.3, and it works fine.  My problem occurs using xmh
as a front end to mh, when I mail a message the from address
gets munged and arrives from an "Unknown User".  Also, xmh
doesn't change it's icon when I get new mail (as it claims
to do).

Any help would be greatly appreciated.

Emmett Hogan
(hogan@csl.sri.com)

mark@comp.vuw.ac.nz (Mark Davies) (08/02/89)

In article <11614@hercules.csl.sri.com> hogan@csl.sri.com () writes:
>I have just recently installed mh (version 6.6), running under
>SunOS 4.0.3, and it works fine.  My problem occurs using xmh
>as a front end to mh, when I mail a message the from address
>gets munged and arrives from an "Unknown User". 

Can't help with that bit, sorry.

						 Also, xmh
>doesn't change it's icon when I get new mail (as it claims
>to do).

This is not actually xmh's fault.  It is you window manager ignoring xmh's
request for the icon to change.  We have this problem under uwm and awm but
under twm the icon changes as per the claims.

While I'm talking about xmh, here are a couple of patches to it that I find
useful.

To indicate new mail xmh will either "highlight" the icon or put a thick border
around the folder but not both.  The following mod makes it thicken the folder
button border on open xmh windows even if you have specified for the icon to
be changed.

I have also added a "Burst" button for bursting digests (something I tend to do 
quite often).

cheers
mark

*** ./Xmh.ad~	Wed Jul 20 00:29:17 1988
--- ./Xmh.ad	Wed Jul  5 15:28:13 1989
***************
*** 20,25 ****
--- 20,26 ----
  Xmh*forward.label:		Forward
  Xmh*useAsComp.label:		Use as Composition
  Xmh*commit.label:		Commit Changes
+ Xmh*burst.label:		Burst
  Xmh*print.label:		Print
  Xmh*pack.label:			Pack Folder
  Xmh*sort.label:			Sort Folder
*** ./screen.c~	Wed Oct 19 05:32:29 1988
--- ./screen.c	Wed Jul  5 15:21:39 1989
***************
*** 158,163 ****
--- 158,164 ----
      extern void ExecRemoveFromSeq();
      extern void ExecPick();
      extern void ExecDeleteSeq();
+     extern void ExecBurstMessages();
      extern void ExecPrintMessages();
      extern void ExecPack();
      extern void ExecSort();
***************
*** 233,238 ****
--- 234,240 ----
      BBoxAddButton(buttonbox, "useAsComp", ExecTocUseAsComposition,
  		  999, TRUE, NULL);
      BBoxAddButton(buttonbox, "commit", ExecCommitChanges, 999, TRUE, NULL);
+     BBoxAddButton(buttonbox, "burst", ExecBurstMessages, 999, TRUE, NULL);
      BBoxAddButton(buttonbox, "print", ExecPrintMessages, 999, TRUE, NULL);
      BBoxAddButton(buttonbox, "pack", ExecPack, 999, TRUE, NULL);
      BBoxAddButton(buttonbox, "sort", ExecSort, 999, TRUE, NULL);
*** ./tocfuncs.c~	Wed Sep  7 09:23:41 1988
--- ./tocfuncs.c	Wed Jul  5 15:21:57 1989
***************
*** 230,235 ****
--- 230,263 ----
  }
  
  
+ void ExecBurstMessages(scrn)
+ Scrn scrn;
+ {
+     Toc toc = scrn->toc;
+     char str[100], **argv;
+     MsgList mlist;
+     int i;
+     if (toc == NULL) return;
+     if (TocConfirmCataclysm(toc)) return;
+     mlist = CurMsgListOrCurMsg(toc);
+     if (mlist->nummsgs) {
+         argv = MakeArgv(2+mlist->nummsgs);
+ 	argv[0] = MallocACopy("burst");
+ 	argv[1] = TocMakeFolderName(toc);
+ 	for (i = 0; i < mlist->nummsgs; i++) {
+ 	    (void) sprintf(str, "%d", MsgGetId(mlist->msglist[i]));
+ 	    argv[2+i] = MallocACopy(str);
+ 	}
+ 	DoCommand(argv, (char *) NULL, "/dev/null");
+ 	for (i = 0; argv[i]; i++)
+ 	    XtFree((char *) argv[i]);
+ 	XtFree((char *) argv);
+     }
+     FreeMsgList(mlist);
+     TocForceRescan(toc);
+ }
+ 
+ 
  void ExecPrintMessages(scrn)
  Scrn scrn;
  {
*** ./toc.c~	Wed Sep  7 09:23:35 1988
--- ./toc.c	Wed Jul  5 15:29:43 1989
***************
*** 197,207 ****
  				hasmail ? NewMailPixmap : NoMailPixmap;
  			    XtSetValues(scrn->parent,
  					arglist, XtNumber(arglist));
! 			} else {
! 			    BBoxChangeBorderWidth(   /* %%% HACK */
! 			       BBoxButtonNumber(scrnList[j]->folderbuttons, i),
! 						(unsigned)(hasmail ? 2 : 1));
  			}
  		    }
  		}
  	    }
--- 197,206 ----
  				hasmail ? NewMailPixmap : NoMailPixmap;
  			    XtSetValues(scrn->parent,
  					arglist, XtNumber(arglist));
  			}
+ 			BBoxChangeBorderWidth(   /* %%% HACK */
+ 			       BBoxButtonNumber(scrnList[j]->folderbuttons, i),
+ 					      (unsigned)(hasmail ? 2 : 1));
  		    }
  		}
  	    }
-- 
Domainised:  mark@comp.vuw.ac.nz	Bang form: ...!uunet!vuwcomp!mark