v07i084: xmail -- Mail front end for X11, Patch1, Part04/06
news
news at sun.Eng.Sun.COM
Fri Jun 1 13:41:40 AEST 1990
Submitted-by: parns.nsc.com!michael (Michael C. Wagnitz)
Posting-number: Volume 7, Issue 84
Archive-name: xmail/patch1.04
Patch-To: xmail: Volume 6, Issue 41-46
#! /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 archive 4 (of 5)."
# Contents: Patch.01d
# Wrapped by michael at harley on Tue May 29 10:33:51 1990
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'Patch.01d' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Patch.01d'\"
else
echo shar: Extracting \"'Patch.01d'\" \(47115 characters\)
sed "s/^X//" >'Patch.01d' <<'END_OF_FILE'
X+ XtTextBlock textblock;
X+ XtTextPosition pos;
X+ Widget w = WidgetOf(WidgetOf(toplevel, "topBox"), "indexWindow");
X+
X+
X+ pos = XtTextGetInsertionPoint(w) + 1;
X+
X+ XtTextSetInsertionPoint(w, pos);
X+
X+ textblock.firstPos = 0;
X+ textblock.length = 1;
X+ textblock.ptr = s;
X+ textblock.format = FMT8BIT;
X+
X+ XtTextReplace(w, pos, pos + 1, &textblock);
X+
X+ XtTextSetInsertionPoint(w, pos);
X+
X+ SetSelect(w, NULL, NULL, NULL);
X+ } /* markIndex */
X+
X+
X+ /*
X ** @(#)Normalize() - Position insertion pointer at end of any text
X */
X void
X***************
X*** 73,78 ****
X--- 104,110 ----
X XtTextPosition lastPos;
X
X
X+ XtTextSetInsertionPoint(w, 0);
X lastPos = TextGetLastPos(w);
X XtTextSetInsertionPoint(w, lastPos);
X /*
X***************
X*** 94,107 ****
X {
X XtTextBlock textblock;
X XtTextPosition startPos, endPos;
X! Arg args[MAXARGS];
X int status;
X
X
X if (!s || strcmp(s, "") == 0) return;
X
X! #ifndef X11R3
X! if (w == WidgetOf(WidgetOf(toplevel, "vpane"), "indexWindow"))
X if (strlen(s) > INDEXSIZE) {
X INDEXSIZE = strlen(s) + 1;
X IndexBuf = XtRealloc(IndexBuf, INDEXSIZE);
X--- 126,139 ----
X {
X XtTextBlock textblock;
X XtTextPosition startPos, endPos;
X! Arg args[2];
X int status;
X
X
X if (!s || strcmp(s, "") == 0) return;
X
X! #if XtSpecificationRelease >= 4
X! if (w == WidgetOf(WidgetOf(toplevel, "topBox"), "indexWindow"))
X if (strlen(s) > INDEXSIZE) {
X INDEXSIZE = strlen(s) + 1;
X IndexBuf = XtRealloc(IndexBuf, INDEXSIZE);
X***************
X*** 134,142 ****
X {
X int j = 0; /* return zero if no valid message exists */
X char *s;
X
X for (s = IndexBuf + pos; s > IndexBuf && *(s-1) != '\n'; s--);
X! for (s++; *s && !isdigit(*s); s++);
X sscanf(s, "%d", &j);
X return j;
X } /* PositionToMsgNumber */
X--- 166,178 ----
X {
X int j = 0; /* return zero if no valid message exists */
X char *s;
X+ XtTextPosition newpos;
X
X for (s = IndexBuf + pos; s > IndexBuf && *(s-1) != '\n'; s--);
X! newpos = s - IndexBuf;
X! XtTextSetInsertionPoint(WidgetOf(WidgetOf(toplevel, "topBox"), "indexWindow"),
X! newpos); /* reset insertion marker to front */
X! for (; *s && !isdigit(*s); s++);
X sscanf(s, "%d", &j);
X return j;
X } /* PositionToMsgNumber */
X***************
X*** 150,169 ****
X String msg;
X {
X Arg args[1];
X! char *p, *strchr();
X int worthy = 0; /* only msgs with ending newline are */
X
X
X! if ((p = strchr(msg, '\n')) != NULL) { /* Only display first line of output */
X *p = '\0'; /* (and no new line at end of label) */
X worthy = 1;
X }
X
X! XtSetArg(args[0], XtNlabel, (XtArgVal) msg); /* show the error message */
X! XtSetValues(WidgetOf(WidgetOf(toplevel, "vpane"), "statusWindow"), args, ONE);
X
X if (worthy && XMail.bellRing) /* ring bell if not silenced by user */
X! XBell(XtDisplay(toplevel), 33);
X } /* Bell */
X
X
X--- 186,209 ----
X String msg;
X {
X Arg args[1];
X! char *p, *index();
X! char buf[BUFSIZ];
X int worthy = 0; /* only msgs with ending newline are */
X
X
X! (void) strncpy(buf, msg, BUFSIZ - 1);
X! buf[BUFSIZ - 1] = '\0';
X!
X! if ((p = index(buf, '\n')) != NULL) { /* Only display first line of output */
X *p = '\0'; /* (and no new line at end of label) */
X worthy = 1;
X }
X
X! XtSetArg(args[0], XtNlabel, (XtArgVal) buf); /* show the error message */
X! XtSetValues(WidgetOf(WidgetOf(toplevel, "topBox"), "statusWindow"), args, ONE);
X
X if (worthy && XMail.bellRing) /* ring bell if not silenced by user */
X! XBell (XtDisplay (toplevel), 33);
X } /* Bell */
X
X
X***************
X*** 170,176 ****
X /*
X ** @(#)UpdateTitleBar() - replace information in the title bar label
X */
X! void
X UpdateTitleBar(format, arg)
X char *format, *arg;
X {
X--- 210,216 ----
X /*
X ** @(#)UpdateTitleBar() - replace information in the title bar label
X */
X! int
X UpdateTitleBar(format, arg)
X char *format, *arg;
X {
X***************
X*** 179,198 ****
X Widget w, m;
X
X
X! w = WidgetOf(WidgetOf(WidgetOf(toplevel, "vpane"), "titleBar"), "titleBar");
X
X sprintf(string, format, arg);
X! sprintf(message, "%s - %s", TITLE, string);
X XtSetArg(args[0], XtNlabel, (XtArgVal) message);
X XtSetValues(w, args, ONE);
X
X! w = WidgetOf(WidgetOf(WidgetOf(toplevel, "vpane"), "commandPanel"), "hold");
X! XtSetSensitive(w, (string[1] == '+') ? False : True);
X!
X! w = WidgetOf(WidgetOf(WidgetOf(toplevel,"vpane"),"commandPanel"),"Newmail");
X m = WidgetOf(WidgetOf(WidgetOf(w, "Newmail_menu"), "menu"), "inc");
X if (m)
X XtSetSensitive(m, (string[1] == '+') ? False : True);
X } /* UpdateTitleBar */
X
X
X--- 219,236 ----
X Widget w, m;
X
X
X! w = WidgetOf(WidgetOf(WidgetOf(toplevel, "topBox"), "titleBar"), "titleBar");
X
X sprintf(string, format, arg);
X! sprintf(message, "%s%d - %s", TITLE, PATCHLEVEL, string);
X XtSetArg(args[0], XtNlabel, (XtArgVal) message);
X XtSetValues(w, args, ONE);
X
X! w = WidgetOf(WidgetOf(WidgetOf(toplevel,"topBox"),"commandPanel"),"Newmail");
X m = WidgetOf(WidgetOf(WidgetOf(w, "Newmail_menu"), "menu"), "inc");
X if (m)
X XtSetSensitive(m, (string[1] == '+') ? False : True);
X+ return(1); /* for use inside parse C_FILE/O_BELL */
X } /* UpdateTitleBar */
X
X
X***************
X*** 204,223 ****
X Widget w;
X char *s;
X {
X! Arg args[MAXARGS];
X! Cardinal n;
X! static XtTextSource old, new;
X
X if (s && *s) {
X! n = 0;
X! XtSetArg(args[n], XtNstring, (XtArgVal) s); n++;
X! XtSetArg(args[n], XtNlength, (XtArgVal) strlen(s)); n++;
X! XtSetArg(args[n], XtNeditType, (XtArgVal) XttextRead); n++;
X
X! new = XtStringSourceCreate(w, args, n);
X XtTextSetSource(w, new, (XtTextPosition) 0);
X if (old)
X XtStringSourceDestroy(old);
X- old = new;
X }
X } /* writeTo */
X--- 242,262 ----
X Widget w;
X char *s;
X {
X! Arg args[4];
X! XtTextSource new;
X! XtTextSource old = NULL;
X
X if (s && *s) {
X! old = XtTextGetSource(w);
X
X! XtSetArg(args[0], XtNstring, (XtArgVal) s);
X! XtSetArg(args[1], XtNlength, (XtArgVal) strlen(s));
X! XtSetArg(args[2], XtNeditType, (XtArgVal) XttextRead);
X!
X! new = XtStringSourceCreate(w, args, 3);
X XtTextSetSource(w, new, (XtTextPosition) 0);
X+
X if (old)
X XtStringSourceDestroy(old);
X }
X } /* writeTo */
X*** ../v1.0/windows.c Sun May 27 21:06:03 1990
X--- windows.c Sun May 27 21:11:38 1990
X***************
X*** 40,45 ****
X--- 40,46 ----
X *
X * 1. AddHelpText:
X * 2. AddMenuWindow:
X+ * 3. AddSetMenu:
X * 4. CreateFolderButton: and
X * 5. CreateInputWindow.
X *
X***************
X*** 50,55 ****
X--- 51,57 ----
X
X #include "global.h"
X #include "Mailwatch.h"
X+ #include "patchlevel.h"
X #include "icon.mail"
X #include "national.bm"
X
X***************
X*** 63,70 ****
X String name;
X String help_text;
X {
X! Arg args[MAXARGS];
X! Cardinal indx, n;
X XtTextSource new;
X char trans[BUFSIZ];
X
X--- 65,72 ----
X String name;
X String help_text;
X {
X! Arg args[4];
X! Cardinal indx;
X XtTextSource new;
X char trans[BUFSIZ];
X
X***************
X*** 78,93 ****
X
X if (HelpNames[indx]) {
X (void) sprintf(trans, p_Trans, name, name);
X! XtOverrideTranslations(parent, XtParseTranslationTable(trans));
X
X! n = 0;
X! XtSetArg(args[n], XtNstring, (XtArgVal) help_text); n++;
X! XtSetArg(args[n], XtNlength, (XtArgVal) strlen(help_text)); n++;
X! XtSetArg(args[n], XtNeditType, (XtArgVal) XttextRead); n++;
X
X! HelpStrings[indx] = XtStringSourceCreate(WidgetOf(WidgetOf(WidgetOf(toplevel, "vpane"), "help"), "helpWindow"), args, n);
X }
X- }
X } /* AddHelpText */
X
X
X--- 80,94 ----
X
X if (HelpNames[indx]) {
X (void) sprintf(trans, p_Trans, name, name);
X! XtOverrideTranslations(parent, XtParseTranslationTable(trans));
X
X! XtSetArg(args[0], XtNstring, (XtArgVal) help_text);
X! XtSetArg(args[1], XtNlength, (XtArgVal) strlen(help_text));
X! XtSetArg(args[2], XtNeditType, (XtArgVal) XttextRead);
X
X! HelpStrings[indx] = XtStringSourceCreate(WidgetOf(WidgetOf(WidgetOf(toplevel,"topBox"),"help"),"helpWindow"),args,3);
X! }
X }
X } /* AddHelpText */
X
X
X***************
X*** 101,107 ****
X String action;
X menuList_p *list;
X {
X! Arg args[MAXARGS];
X Cardinal j, k, n, indx;
X Widget menu, layout, previous, next;
X char tag[BUFSIZ], trans[BUFSIZ], *c;
X--- 102,108 ----
X String action;
X menuList_p *list;
X {
X! Arg args[6];
X Cardinal j, k, n, indx;
X Widget menu, layout, previous, next;
X char tag[BUFSIZ], trans[BUFSIZ], *c;
X***************
X*** 139,147 ****
X XtSetArg(args[0], XtNtranslations, XtParseTranslationTable(trans));
X menu = XtCreatePopupShell(tag, overrideShellWidgetClass, parent, args, ONE);
X
X! n = 0;
X! XtSetArg(args[n], XtNdefaultDistance, 1); n++;
X! layout = XtCreateManagedWidget("menu", formWidgetClass, menu, args, n);
X /*
X ** Find widest label for this menu
X */
X--- 140,147 ----
X XtSetArg(args[0], XtNtranslations, XtParseTranslationTable(trans));
X menu = XtCreatePopupShell(tag, overrideShellWidgetClass, parent, args, ONE);
X
X! XtSetArg(args[0], XtNdefaultDistance, (XtArgVal) 1);
X! layout = XtCreateManagedWidget("menu", formWidgetClass, menu, args, ONE);
X /*
X ** Find widest label for this menu
X */
X***************
X*** 150,188 ****
X j = k;
X n = indx;
X }
X! n = --indx;
X! /*
X! ** add length for accelerator keys menu notes
X! */
X! indx = XTextWidth(TextFontStr, list[n]->label, j) + 12;
X! if (n > 0)
X! indx += XTextWidth(TextFontStr, Labels[n], strlen(Labels[n]));
X
X! n = 0;
X! XtSetArg(args[n], XtNwidth, indx); n++;
X! XtSetArg(args[n], XtNfont, TextFontStr); n++;
X! XtSetArg(args[n], XtNtranslations, XtParseTranslationTable(b_Trans)); n++;
X /*
X ** create the menu buttons
X */
X previous = NULL;
X! for (indx = 0; list[indx] != NULL; indx++, n = 3) {
X! strcpy(tag, list[indx]->label); /* set window id from label */
X! if ((c = (char *)index(tag, ' '))) *c = '\0';
X!
X sprintf(trans, "%-*.*s", j, j, list[indx]->label);
X-
X if (Labels[indx]) /* add accel. note if needed */
X strcat(trans, Labels[indx]);
X- else
X- strcat(trans, " "); /* keep all labels aligned */
X
X! if (indx == 1 && list[indx + 1]) /* 2 option menu is narrower */
X! strcat(trans, " ");
X!
X! XtSetArg(args[n], XtNlabel, trans); n++;
X! XtSetArg(args[n], XtNfromVert, previous); n++;
X! next = XtCreateManagedWidget(tag, commandWidgetClass, layout, args, n);
X XtAddCallback(next, XtNcallback, list[indx]->func, list[indx]->data);
X previous = next;
X
X--- 150,177 ----
X j = k;
X n = indx;
X }
X! k = XTextWidth(TextFontStr, list[n]->label, j) + 12;
X
X! if (--indx > 0) /* add length for accelerator keys menu notes */
X! k += XTextWidth(TextFontStr, Labels[indx], strlen(Labels[indx]));
X /*
X ** create the menu buttons
X */
X previous = NULL;
X! XtSetArg(args[0], XtNwidth, k);
X! XtSetArg(args[1], XtNfont, TextFontStr);
X! XtSetArg(args[2], XtNjustify, XtJustifyLeft);
X! XtSetArg(args[3], XtNtranslations, XtParseTranslationTable(b_Trans));
X! for (indx = 0; list[indx] != NULL; indx++) {
X! strcpy(tag, list[indx]->label); /* set window name by label */
X! if ((c = (char *)index(tag, ' '))) *c = '\0'; /* first word only */
X sprintf(trans, "%-*.*s", j, j, list[indx]->label);
X if (Labels[indx]) /* add accel. note if needed */
X strcat(trans, Labels[indx]);
X
X! XtSetArg(args[4], XtNlabel, trans);
X! XtSetArg(args[5], XtNfromVert, previous);
X! next = XtCreateManagedWidget(tag, commandWidgetClass, layout, args, 6);
X XtAddCallback(next, XtNcallback, list[indx]->func, list[indx]->data);
X previous = next;
X
X***************
X*** 189,197 ****
X if (L_Trans[indx]) {
X sprintf(trans, L_Trans[indx], action, list[indx]->data);
X XtOverrideTranslations(parent, XtParseTranslationTable(trans));
X }
X }
X- }
X } /* AddMenuWindow */
X
X
X--- 178,193 ----
X if (L_Trans[indx]) {
X sprintf(trans, L_Trans[indx], action, list[indx]->data);
X XtOverrideTranslations(parent, XtParseTranslationTable(trans));
X+ }
X }
X+ /*
X+ ** Dummy out any remaining combinations of accelerators to do nothing
X+ */
X+ for (; L_Trans[indx] != NULL; indx++) {
X+ sprintf(trans, L_Trans[indx], "DoNothing", "");
X+ XtOverrideTranslations(parent, XtParseTranslationTable(trans));
X+ }
X }
X } /* AddMenuWindow */
X
X
X***************
X*** 208,216 ****
X menuList_p *list; /* aux. menu buttons list w/ cbacks */
X String help_text; /* pointer to button specific info */
X {
X! Arg args[MAXARGS];
X Widget button;
X- Cardinal n;
X char trans[BUFSIZ];
X /*
X ** Insert name of XtActionProc (and parameter(s)) in the translation list
X--- 204,211 ----
X menuList_p *list; /* aux. menu buttons list w/ cbacks */
X String help_text; /* pointer to button specific info */
X {
X! Arg args[6];
X Widget button;
X char trans[BUFSIZ];
X /*
X ** Insert name of XtActionProc (and parameter(s)) in the translation list
X***************
X*** 217,230 ****
X */
X (void) sprintf(trans, "\
X <Btn1Down>: highlight() %s(%s) unhighlight()", action, command);
X- n = 0;
X- XtSetArg(args[n], XtNwidth, XMail.buttonWidth); n++;
X- XtSetArg(args[n], XtNheight, XMail.buttonHeight); n++;
X- XtSetArg(args[n], XtNresize, False); n++;
X- XtSetArg(args[n], XtNfont, TextFontStr); n++;
X- XtSetArg(args[n], XtNtranslations, XtParseTranslationTable(trans)); n++;
X- button = XtCreateManagedWidget(name, commandWidgetClass, parent, args, n);
X
X if (help_text)
X AddHelpText(button, name, help_text);
X
X--- 212,225 ----
X */
X (void) sprintf(trans, "\
X <Btn1Down>: highlight() %s(%s) unhighlight()", action, command);
X
X+ XtSetArg(args[0], XtNwidth, XMail.buttonWidth);
X+ XtSetArg(args[1], XtNheight, XMail.buttonHeight);
X+ XtSetArg(args[2], XtNresize, False);
X+ XtSetArg(args[3], XtNfont, TextFontStr);
X+ XtSetArg(args[4], XtNtranslations, XtParseTranslationTable(trans));
X+ button = XtCreateManagedWidget(name, commandWidgetClass, parent, args, 5);
X+
X if (help_text)
X AddHelpText(button, name, help_text);
X
X***************
X*** 233,239 ****
X--- 228,250 ----
X } /* AddButton */
X
X
X+ /*
X+ ** @(#)AddSetMenu() - add hook to create menu for toggling mail options
X+ */
X void
X+ AddSetMenu(w)
X+ Widget w;
X+ {
X+ Widget parent = XtNameToWidget(w, "preserve");
X+ static String p_Trans = "#override \
X+ <Btn3Down>: SetCursor(True) SetMenu() MenuPopup(set_menu) SetCursor()";
X+
X+ XtOverrideTranslations(parent, XtParseTranslationTable(p_Trans));
X+ } /* AddSetMenu */
X+
X+
X+
X+ void
X CreateButtons(parent)
X Widget parent;
X {
X***************
X*** 253,260 ****
X b1.label = "save"; b1.func = (XtCallbackProc) Save; b1.data = "s";
X b2.label = "Save to author"; b2.func = (XtCallbackProc) Save; b2.data = "S";
X b3.label = "write"; b3.func = (XtCallbackProc) Save; b3.data = "w";
X! b4.label = "Write to author"; b4.func = (XtCallbackProc) Save; b4.data = "W";
X! list[0] = &b1; list[1] = &b2; list[2] = &b3; list[3] = &b4; list[4] = NULL;
X AddButton(parent, "save", "DoSave", "s", list, Save_Help_Text);
X
X CreateFolderButton(parent);
X--- 264,270 ----
X b1.label = "save"; b1.func = (XtCallbackProc) Save; b1.data = "s";
X b2.label = "Save to author"; b2.func = (XtCallbackProc) Save; b2.data = "S";
X b3.label = "write"; b3.func = (XtCallbackProc) Save; b3.data = "w";
X! list[0] = &b1; list[1] = &b2; list[2] = &b3; list[3] = NULL;
X AddButton(parent, "save", "DoSave", "s", list, Save_Help_Text);
X
X CreateFolderButton(parent);
X***************
X*** 264,275 ****
X list[0] = &b1; list[1] = &b2; list[2] = NULL;
X AddButton(parent, "copy", "DoSave", "c", list, Copy_Help_Text);
X
X! b1.label = "hold"; b1.func = (XtCallbackProc) DoWith; b1.data = "hold";
X! list[0] = &b1; list[1] = NULL;
X! AddButton(parent, "hold", "DoSelected", "hold", list, Hold_Help_Text);
X
X b1.label = "delete"; b1.func = (XtCallbackProc) DoWith; b1.data = "d";
X! b2.label = "undelete"; b2.func = (XtCallbackProc) DoIt; b2.data = "u";
X list[0] = &b1; list[1] = &b2; list[2] = NULL;
X AddButton(parent, "delete", "DoSelected", "d", list, Delete_Help_Text);
X
X--- 274,283 ----
X list[0] = &b1; list[1] = &b2; list[2] = NULL;
X AddButton(parent, "copy", "DoSave", "c", list, Copy_Help_Text);
X
X! AddButton(parent, "preserve", "DoSelected", "preserve", NULL, Hold_Help_Text);
X
X b1.label = "delete"; b1.func = (XtCallbackProc) DoWith; b1.data = "d";
X! b2.label = "undelete"; b2.func = (XtCallbackProc) DoWith; b2.data = "u";
X list[0] = &b1; list[1] = &b2; list[2] = NULL;
X AddButton(parent, "delete", "DoSelected", "d", list, Delete_Help_Text);
X
X***************
X*** 308,313 ****
X--- 316,323 ----
X
X CreateFileWindow(parent);
X
X+ AddSetMenu(parent); /* add a menu for toggling mail options */
X+
X } /* CreateButtons */
X
X
X***************
X*** 318,325 ****
X CreateCommandPanel(parent)
X Widget parent;
X {
X! Arg args[10];
X! Cardinal n;
X Widget cw;
X
X static String w_Trans = "\
X--- 328,335 ----
X CreateCommandPanel(parent)
X Widget parent;
X {
X! Arg args[8];
X! Cardinal n;
X Widget cw;
X
X static String w_Trans = "\
X***************
X*** 327,343 ****
X <Btn2Down>: DoNothing()\n\
X <Btn3Down>: DoNothing()";
X
X! n = 0;
X! XtSetArg(args[n], XtNhSpace, XMail.commandHSpace); n++;
X! XtSetArg(args[n], XtNvSpace, XMail.commandVSpace); n++;
X! XtSetArg(args[n], XtNallowResize, (XtArgVal) False); n++;
X! XtSetArg(args[n], XtNmax, XMail.commandMinHeight); n++;
X! XtSetArg(args[n], XtNmin, XMail.commandMinHeight); n++;
X! XtSetArg(args[n], XtNfont, TextFontStr); n++;
X! XtSetArg(args[n], XtNtranslations, XtParseTranslationTable(w_Trans)); n++;
X! #ifndef X11R3
X XtSetArg(args[n], XtNshowGrip, (XtArgVal) False); n++;
X #endif
X cw = XtCreateManagedWidget("commandPanel", boxWidgetClass, parent, args, n);
X CreateButtons(cw);
X } /* CreateCommandPanel */
X--- 337,355 ----
X <Btn2Down>: DoNothing()\n\
X <Btn3Down>: DoNothing()";
X
X! XtSetArg(args[0], XtNhSpace, XMail.commandHSpace);
X! XtSetArg(args[1], XtNvSpace, XMail.commandVSpace);
X! XtSetArg(args[2], XtNallowResize, (XtArgVal) False);
X! XtSetArg(args[3], XtNmax, XMail.commandMinHeight);
X! XtSetArg(args[4], XtNmin, XMail.commandMinHeight);
X! XtSetArg(args[5], XtNfont, TextFontStr);
X! XtSetArg(args[6], XtNtranslations, XtParseTranslationTable(w_Trans));
X! n = 7;
X!
X! #if XtSpecificationRelease >= 4
X XtSetArg(args[n], XtNshowGrip, (XtArgVal) False); n++;
X #endif
X+
X cw = XtCreateManagedWidget("commandPanel", boxWidgetClass, parent, args, n);
X CreateButtons(cw);
X } /* CreateCommandPanel */
X***************
X*** 352,383 ****
X CreateFileWindow(parent)
X Widget parent;
X {
X! Arg args[MAXARGS];
X Cardinal n;
X Widget w;
X
X! static String trans = "#override \
X! Ctrl<Key>W: DeleteWord() beginning-of-line() end-of-line()\n\
X! Ctrl<Key>U: DeleteLine()\n\
X! Ctrl<Key>H: InsertSpace() delete-previous-character() beginning-of-line() end-of-line()\n\
X! <Key>Delete: InsertSpace() delete-previous-character() beginning-of-line() end-of-line()\n\
X! <Key>BackSpace: InsertSpace() delete-previous-character() beginning-of-line() end-of-line()\n\
X! <Key>Return: DoNothing()";
X
X! n = 0;
X! XtSetArg(args[n], XtNwidth, XMail.fileBoxWidth); n++;
X! XtSetArg(args[n], XtNfont, TextFontStr); n++;
X! XtSetArg(args[n], XtNborderWidth, 0); n++;
X! XtSetArg(args[n], XtNstring, (XtArgVal) FileBuf); n++;
X! XtSetArg(args[n], XtNlength, (XtArgVal) BUFSIZ); n++;
X! XtSetArg(args[n], XtNeditType, (XtArgVal) XttextEdit); n++;
X! XtSetArg(args[n], XtNtextOptions, wordBreak); n++;
X! XtSetArg(args[n], XtNtranslations, XtParseTranslationTable(trans)); n++;
X! #ifndef X11R3
X XtSetArg(args[n], XtNautoFill, True); n++;
X #endif
X
X w = XtCreateManagedWidget("fileWindow",asciiStringWidgetClass,parent,args,n);
X writeText(w, "File: ", 0);
X
X AddHelpText(w, "file", File_Help_Text);
X--- 364,411 ----
X CreateFileWindow(parent)
X Widget parent;
X {
X! Arg args[10];
X Cardinal n;
X Widget w;
X
X! static String trans = " \
X! Ctrl<Key>A: beginning-of-file()\n\
X! Ctrl<Key>B: backward-character()\n\
X! Ctrl<Key>D: CheckInsert() delete-next-character()\n\
X! Ctrl<Key>E: end-of-file()\n\
X! Ctrl<Key>F: forward-character()\n\
X! Ctrl<Key>H: DeleteChar()\n\
X! Ctrl<Key>J: DoNothing()\n\
X! Ctrl<Key>M: DoNothing()\n\
X! Ctrl<Key>U: DeleteLine()\n\
X! Ctrl<Key>W: DeleteWord()\n\
X! Meta<Key>F: forward-word()\n\
X! Meta<Key>B: backward-word()\n\
X! Meta<Key>d: CheckInsert() delete-next-word()\n\
X! <Key>Right: forward-character()\n\
X! <Key>Left: backward-character()\n\
X! <Key>Delete: DeleteChar()\n\
X! <Key>BackSpace: DeleteChar()\n\
X! <Key>Linefeed: DoNothing()\n\
X! <Key>Return: DoNothing()\n\
X! <Key>: CheckInsert() insert-char()";
X
X! XtSetArg(args[0], XtNwidth, XMail.fileBoxWidth);
X! XtSetArg(args[1], XtNfont, TextFontStr);
X! XtSetArg(args[2], XtNborderWidth, 0);
X! XtSetArg(args[3], XtNstring, (XtArgVal) FileBuf);
X! XtSetArg(args[4], XtNlength, (XtArgVal) BUFSIZ);
X! XtSetArg(args[5], XtNeditType, (XtArgVal) XttextEdit);
X! XtSetArg(args[6], XtNtextOptions, wordBreak);
X! XtSetArg(args[7], XtNtranslations, XtParseTranslationTable(trans));
X! n = 8;
X!
X! #if XtSpecificationRelease >= 4
X XtSetArg(args[n], XtNautoFill, True); n++;
X #endif
X
X w = XtCreateManagedWidget("fileWindow",asciiStringWidgetClass,parent,args,n);
X+
X writeText(w, "File: ", 0);
X
X AddHelpText(w, "file", File_Help_Text);
X***************
X*** 391,415 ****
X CreateFolderButton(parent)
X Widget parent;
X {
X! Arg args[MAXARGS];
X Widget button; /* button which pops up a menu when pressed */
X- Cardinal n;
X
X static String b_Trans = "\
X <Btn1Down>: highlight() Folder() unhighlight() \n\
X <Btn3Down>: SetCursor(True) SetFolders() MenuPopup(popupList) SetCursor()";
X-
X-
X /*
X ** create the command button and add popup menu translations and callback
X */
X! n = 0;
X! XtSetArg(args[n], XtNwidth, XMail.buttonWidth); n++;
X! XtSetArg(args[n], XtNheight, XMail.buttonHeight); n++;
X! XtSetArg(args[n], XtNresize, False); n++;
X! XtSetArg(args[n], XtNfont, TextFontStr); n++;
X! XtSetArg(args[n], XtNtranslations, XtParseTranslationTable(b_Trans)); n++;
X! button = XtCreateManagedWidget("Folder", commandWidgetClass, parent, args, n);
X
X AddHelpText(button, "folder", Folder_Help_Text);
X } /* CreateFolderButton */
X--- 419,439 ----
X CreateFolderButton(parent)
X Widget parent;
X {
X! Arg args[6];
X Widget button; /* button which pops up a menu when pressed */
X
X static String b_Trans = "\
X <Btn1Down>: highlight() Folder() unhighlight() \n\
X <Btn3Down>: SetCursor(True) SetFolders() MenuPopup(popupList) SetCursor()";
X /*
X ** create the command button and add popup menu translations and callback
X */
X! XtSetArg(args[0], XtNwidth, XMail.buttonWidth);
X! XtSetArg(args[1], XtNheight, XMail.buttonHeight);
X! XtSetArg(args[2], XtNresize, False);
X! XtSetArg(args[3], XtNfont, TextFontStr);
X! XtSetArg(args[4], XtNtranslations, XtParseTranslationTable(b_Trans));
X! button = XtCreateManagedWidget("Folder", commandWidgetClass, parent, args, 5);
X
X AddHelpText(button, "folder", Folder_Help_Text);
X } /* CreateFolderButton */
X***************
X*** 422,443 ****
X CreateHelpWindow(parent)
X Widget parent;
X {
X! Arg args[MAXARGS];
X! Cardinal n;
X! Widget w;
X
X
X! n = 0;
X! XtSetArg(args[n], XtNborderWidth, 3); n++;
X! w = XtCreatePopupShell("help", overrideShellWidgetClass, parent, args, n);
X
X! n = 0;
X! XtSetArg(args[n], XtNwidth, XMail.helpWidth); n++;
X! XtSetArg(args[n], XtNheight, XMail.helpHeight); n++;
X! XtSetArg(args[n], XtNfont, HelpFontStr); n++;
X! XtSetArg(args[n], XtNeditType, (XtArgVal) XttextRead); n++;
X! XtSetArg(args[n], XtNtextOptions, wordBreak); n++;
X! XtCreateManagedWidget("helpWindow", asciiStringWidgetClass, w, args, n);
X } /* CreateHelpWindow */
X
X
X--- 446,464 ----
X CreateHelpWindow(parent)
X Widget parent;
X {
X! Arg args[6];
X! Widget w;
X
X
X! XtSetArg(args[0], XtNborderWidth, 3);
X! w = XtCreatePopupShell("help", overrideShellWidgetClass, parent, args, 1);
X
X! XtSetArg(args[0], XtNwidth, XMail.helpWidth);
X! XtSetArg(args[1], XtNheight, XMail.helpHeight);
X! XtSetArg(args[2], XtNfont, HelpFontStr);
X! XtSetArg(args[3], XtNeditType, (XtArgVal) XttextRead);
X! XtSetArg(args[4], XtNtextOptions, wordBreak);
X! XtCreateManagedWidget("helpWindow", asciiStringWidgetClass, w, args, 5);
X } /* CreateHelpWindow */
X
X
X***************
X*** 448,456 ****
X CreateIndexWindow(parent)
X Widget parent;
X {
X! Arg args[MAXARGS];
X! Cardinal n;
X! Widget w;
X
X static String translations =
X "<Key>: DoNothing() \n\
X--- 469,476 ----
X CreateIndexWindow(parent)
X Widget parent;
X {
X! Arg args[8];
X! Widget w;
X
X static String translations =
X "<Key>: DoNothing() \n\
X***************
X*** 458,474 ****
X <Btn3Down>: select-start() SetSelect() \n\
X <Btn3Up>: DoSelected(p)";
X
X! n = 0;
X! XtSetArg(args[n], XtNheight, XMail.indexHeight); n++;
X! XtSetArg(args[n], XtNfont, TextFontStr); n++;
X! XtSetArg(args[n], XtNstring, (XtArgVal) IndexBuf); n++;
X! XtSetArg(args[n], XtNlength, (XtArgVal) INDEXSIZE); n++;
X! XtSetArg(args[n], XtNeditType, (XtArgVal) XttextEdit); n++;
X! XtSetArg(args[n], XtNtextOptions, scrollVertical | wordBreak); n++;
X! XtSetArg(args[n], XtNtranslations, XtParseTranslationTable(translations));
X! n++;
X! w = XtCreateManagedWidget("indexWindow",asciiStringWidgetClass,parent,args,n);
X
X AddHelpText(w, "index", Index_Help_Text);
X } /* CreateIndexWindow */
X
X--- 478,493 ----
X <Btn3Down>: select-start() SetSelect() \n\
X <Btn3Up>: DoSelected(p)";
X
X! XtSetArg(args[0], XtNheight, XMail.indexHeight);
X! XtSetArg(args[1], XtNfont, TextFontStr);
X! XtSetArg(args[2], XtNstring, (XtArgVal) IndexBuf);
X! XtSetArg(args[3], XtNlength, (XtArgVal) INDEXSIZE);
X! XtSetArg(args[4], XtNeditType, (XtArgVal) XttextEdit);
X! XtSetArg(args[5], XtNtextOptions, scrollVertical | wordBreak);
X! XtSetArg(args[6], XtNtranslations, XtParseTranslationTable(translations));
X
X+ w = XtCreateManagedWidget("indexWindow",asciiStringWidgetClass,parent,args,7);
X+
X AddHelpText(w, "index", Index_Help_Text);
X } /* CreateIndexWindow */
X
X***************
X*** 480,486 ****
X CreateStatusWindow(parent)
X Widget parent;
X {
X! Arg args[MAXARGS];
X Cardinal n;
X Widget w;
X
X--- 499,505 ----
X CreateStatusWindow(parent)
X Widget parent;
X {
X! Arg args[10];
X Cardinal n;
X Widget w;
X
X***************
X*** 488,506 ****
X <Btn1Down>: DoNothing()\n\
X <Btn3Down>: DoNothing()";
X
X! n = 0;
X! XtSetArg(args[n], XtNwidth, (XtArgVal) XMail.shellWidth); n++;
X! XtSetArg(args[n], XtNallowResize, (XtArgVal) False); n++;
X! XtSetArg(args[n], XtNmax, (XtArgVal) XMail.buttonHeight); n++;
X! XtSetArg(args[n], XtNmin, (XtArgVal) XMail.buttonHeight); n++;
X! XtSetArg(args[n], XtNfont, TextFontStr); n++;
X! XtSetArg(args[n], XtNjustify, (XtArgVal) XtJustifyCenter); n++;
X! XtSetArg(args[n], XtNlabel, (XtArgVal) "Establishing connections"); n++;
X! XtSetArg(args[n], XtNresize, (XtArgVal) False); n++;
X! XtSetArg(args[n], XtNtranslations, XtParseTranslationTable(w_Trans)); n++;
X! #ifndef X11R3
X XtSetArg(args[n], XtNshowGrip, (XtArgVal) False); n++;
X #endif
X w = XtCreateManagedWidget("statusWindow", labelWidgetClass, parent, args, n);
X
X AddHelpText(w, "status", Status_Help_Text);
X--- 507,527 ----
X <Btn1Down>: DoNothing()\n\
X <Btn3Down>: DoNothing()";
X
X! XtSetArg(args[0], XtNwidth, (XtArgVal) XMail.shellWidth);
X! XtSetArg(args[1], XtNallowResize, (XtArgVal) False);
X! XtSetArg(args[2], XtNmax, (XtArgVal) XMail.buttonHeight);
X! XtSetArg(args[3], XtNmin, (XtArgVal) XMail.buttonHeight);
X! XtSetArg(args[4], XtNfont, TextFontStr);
X! XtSetArg(args[5], XtNjustify, (XtArgVal) XtJustifyCenter);
X! XtSetArg(args[6], XtNlabel, (XtArgVal) "Establishing connections");
X! XtSetArg(args[7], XtNresize, (XtArgVal) False);
X! XtSetArg(args[8], XtNtranslations, XtParseTranslationTable(w_Trans));
X! n = 9;
X!
X! #if XtSpecificationRelease >= 4
X XtSetArg(args[n], XtNshowGrip, (XtArgVal) False); n++;
X #endif
X+
X w = XtCreateManagedWidget("statusWindow", labelWidgetClass, parent, args, n);
X
X AddHelpText(w, "status", Status_Help_Text);
X***************
X*** 514,534 ****
X CreateSubWindows(parent)
X Widget parent;
X {
X! Arg args[MAXARGS];
X! Cardinal k, n;
X! Widget icon, mb, vpane;
X /*
X ** Special added actions
X */
X static XtActionsRec actionTable[] = {
X! {"DeleteWord", (XtActionProc) DeleteWord},
X {"DeleteLine", (XtActionProc) DeleteLine},
X {"Iconify", (XtActionProc) Iconify},
X- {"InsertSpace", (XtActionProc) InsertSpace},
X {"Folder", (XtActionProc) Folder},
X {"SetPopup", (XtActionProc) SetPopup},
X {"SetFolders", (XtActionProc) SetFolders},
X {"SetHelp", (XtActionProc) SetHelp},
X {"DoNothing", (XtActionProc) DoNothing},
X {"DoSelected", (XtActionProc) DoSelected},
X {"SetAliases", (XtActionProc) SetAliases},
X--- 535,557 ----
X CreateSubWindows(parent)
X Widget parent;
X {
X! Arg args[4];
X! Widget icon, mb, topbox;
X! int x, y, width, height;
X /*
X ** Special added actions
X */
X static XtActionsRec actionTable[] = {
X! {"CheckInsert", (XtActionProc) CheckInsert},
X! {"DeleteChar", (XtActionProc) DeleteChar},
X {"DeleteLine", (XtActionProc) DeleteLine},
X+ {"DeleteWord", (XtActionProc) DeleteWord},
X {"Iconify", (XtActionProc) Iconify},
X {"Folder", (XtActionProc) Folder},
X {"SetPopup", (XtActionProc) SetPopup},
X {"SetFolders", (XtActionProc) SetFolders},
X {"SetHelp", (XtActionProc) SetHelp},
X+ {"SetMenu", (XtActionProc) SetMenu},
X {"DoNothing", (XtActionProc) DoNothing},
X {"DoSelected", (XtActionProc) DoSelected},
X {"SetAliases", (XtActionProc) SetAliases},
X***************
X*** 549,578 ****
X
X XtAddActions(actionTable, XtNumber(actionTable));
X
X! n = 0;
X! XtSetArg(args[n], XtNinput, (XtArgVal) True); n++;
X! XtSetArg(args[n], XtNwidth, (XtArgVal) XMail.shellWidth); n++;
X! XtSetArg(args[n], XtNgripIndent, (XtArgVal) 0); n++;
X! XtSetArg(args[n], XtNskipAdjust, (XtArgVal) True); n++;
X
X! vpane = XtCreateManagedWidget("vpane", vPanedWidgetClass, parent, args, n);
X
X! CreateHelpWindow(vpane);
X! CreateTitleBar(vpane);
X! CreateIndexWindow(vpane);
X! CreateStatusWindow(vpane);
X! CreateCommandPanel(vpane);
X! CreateTextWindow(vpane);
X /*
X ** Create an icon window for the mailwatchWidget
X */
X! n = 0;
X! XtSetArg(args[n], XtNwidth, (XtArgVal) mail_width); n++;
X! XtSetArg(args[n], XtNheight, (XtArgVal) mail_height); n++;
X! icon = XtCreateWidget("icon", applicationShellWidgetClass, toplevel, args, n);
X mb = XtCreateManagedWidget("mailbox", mailwatchWidgetClass, icon, NULL, 0);
X XtAddCallback(mb, XtNcallback, SetNewmail, NULL);
X-
X } /* CreateSubWindows */
X
X
X--- 572,604 ----
X
X XtAddActions(actionTable, XtNumber(actionTable));
X
X! XtSetArg(args[0], XtNinput, (XtArgVal) True);
X! XtSetArg(args[1], XtNwidth, (XtArgVal) XMail.shellWidth);
X! XtSetArg(args[2], XtNgripIndent, (XtArgVal) 0);
X! XtSetArg(args[3], XtNskipAdjust, (XtArgVal) True);
X
X! topbox = XtCreateManagedWidget("topBox", vPanedWidgetClass, parent, args, 4);
X
X! CreateHelpWindow(topbox);
X! CreateTitleBar(topbox);
X! CreateIndexWindow(topbox);
X! CreateStatusWindow(topbox);
X! CreateCommandPanel(topbox);
X! CreateTextWindow(topbox);
X /*
X ** Create an icon window for the mailwatchWidget
X */
X! x = y = 0;
X! if (XMail.iconGeometry)
X! XParseGeometry(XMail.iconGeometry, &x, &y, &width, &height);
X!
X! XtSetArg(args[0], XtNwidth, (XtArgVal) mail_width);
X! XtSetArg(args[1], XtNheight, (XtArgVal) mail_height);
X! XtSetArg(args[2], XtNx, (XtArgVal) x);
X! XtSetArg(args[3], XtNy, (XtArgVal) y);
X! icon = XtCreateWidget("icon", applicationShellWidgetClass, toplevel, args, 4);
X mb = XtCreateManagedWidget("mailbox", mailwatchWidgetClass, icon, NULL, 0);
X XtAddCallback(mb, XtNcallback, SetNewmail, NULL);
X } /* CreateSubWindows */
X
X
X***************
X*** 583,599 ****
X CreateTextWindow(parent)
X Widget parent;
X {
X! Arg args[MAXARGS];
X! Cardinal n;
X Widget tw;
X
X
X! n = 0;
X! XtSetArg(args[n], XtNmin, XMail.textMinHeight); n++;
X! XtSetArg(args[n], XtNheight, XMail.textHeight); n++;
X! XtSetArg(args[n], XtNfont, TextFontStr); n++;
X! XtSetArg(args[n], XtNtextOptions, scrollVertical | wordBreak); n++;
X! tw = XtCreateManagedWidget("textWindow",asciiStringWidgetClass,parent,args,n);
X
X AddHelpText(tw, "text", Text_Help_Text);
X } /* CreateTextWindow */
X--- 609,623 ----
X CreateTextWindow(parent)
X Widget parent;
X {
X! Arg args[4];
X Widget tw;
X
X
X! XtSetArg(args[0], XtNmin, XMail.textMinHeight);
X! XtSetArg(args[1], XtNheight, XMail.textHeight);
X! XtSetArg(args[2], XtNfont, TextFontStr);
X! XtSetArg(args[3], XtNtextOptions, scrollVertical | wordBreak);
X! tw = XtCreateManagedWidget("textWindow",asciiStringWidgetClass,parent,args,4);
X
X AddHelpText(tw, "text", Text_Help_Text);
X } /* CreateTextWindow */
X***************
X*** 607,616 ****
X CreateTitleBar(parent)
X Widget parent;
X {
X! Arg args[MAXARGS];
X Cardinal n;
X Pixmap logo;
X Widget form, lg, tb;
X
X static String w_Trans = "\
X <Btn1Down>: DoNothing()\n\
X--- 631,641 ----
X CreateTitleBar(parent)
X Widget parent;
X {
X! Arg args[8];
X Cardinal n;
X Pixmap logo;
X Widget form, lg, tb;
X+ char buf[20];
X
X static String w_Trans = "\
X <Btn1Down>: DoNothing()\n\
X***************
X*** 622,659 ****
X <Btn2Down>: Iconify()\n\
X <Btn3Down>: Iconify()";
X
X! n = 0;
X! XtSetArg(args[n], XtNdefaultDistance, 1); n++;
X! XtSetArg(args[n], XtNallowResize, (XtArgVal) False); n++;
X! XtSetArg(args[n], XtNmax, (XtArgVal) XMail.buttonHeight); n++;
X! XtSetArg(args[n], XtNmin, (XtArgVal) XMail.buttonHeight); n++;
X! #ifndef X11R3
X XtSetArg(args[n], XtNshowGrip, (XtArgVal) False); n++;
X #endif
X form = XtCreateManagedWidget("titleBar", formWidgetClass, parent, args, n);
X
X logo = XCreateBitmapFromData(XtDisplay(toplevel), XtScreen(toplevel)->root,
X national_bits, national_width, national_height);
X- n = 0;
X- XtSetArg(args[n], XtNborderWidth, 0); n++;
X- XtSetArg(args[n], XtNinternalWidth, 0); n++;
X- XtSetArg(args[n], XtNwidth, national_width); n++;
X- XtSetArg(args[n], XtNheight, (XtArgVal) XMail.buttonHeight); n++;
X- XtSetArg(args[n], XtNbitmap, (XtArgVal) logo); n++;
X- XtSetArg(args[n], XtNtranslations, XtParseTranslationTable(l_Trans)); n++;
X- lg = XtCreateManagedWidget("logo", commandWidgetClass, form, args, n);
X
X! n = 0;
X! XtSetArg(args[n], XtNborderWidth, 0); n++;
X! XtSetArg(args[n], XtNwidth, XMail.shellWidth - national_width - 2); n++;
X! XtSetArg(args[n], XtNheight, (XtArgVal) XMail.buttonHeight); n++;
X! XtSetArg(args[n], XtNlabel, (XtArgVal) TITLE); n++;
X! XtSetArg(args[n], XtNfont, TextFontStr); n++;
X! XtSetArg(args[n], XtNjustify, (XtArgVal) XtJustifyLeft); n++;
X! XtSetArg(args[n], XtNfromHoriz, lg); n++;
X! XtSetArg(args[n], XtNtranslations, XtParseTranslationTable(w_Trans)); n++;
X! tb = XtCreateManagedWidget("titleBar", labelWidgetClass, form, args, n);
X
X AddHelpText(tb, "title", Title_Help_Text);
X } /* CreateTitleBar */
X
X--- 647,686 ----
X <Btn2Down>: Iconify()\n\
X <Btn3Down>: Iconify()";
X
X! XtSetArg(args[0], XtNdefaultDistance, 1);
X! XtSetArg(args[1], XtNallowResize, (XtArgVal) False);
X! XtSetArg(args[2], XtNmax, (XtArgVal) XMail.buttonHeight);
X! XtSetArg(args[3], XtNmin, (XtArgVal) XMail.buttonHeight);
X! n = 4;
X!
X! #if XtSpecificationRelease >= 4
X XtSetArg(args[n], XtNshowGrip, (XtArgVal) False); n++;
X #endif
X+
X form = XtCreateManagedWidget("titleBar", formWidgetClass, parent, args, n);
X
X logo = XCreateBitmapFromData(XtDisplay(toplevel), XtScreen(toplevel)->root,
X national_bits, national_width, national_height);
X
X! XtSetArg(args[0], XtNborderWidth, 0);
X! XtSetArg(args[1], XtNheight, (XtArgVal) XMail.buttonHeight);
X
X+ XtSetArg(args[2], XtNwidth, national_width);
X+ XtSetArg(args[3], XtNinternalWidth, 0);
X+ XtSetArg(args[4], XtNbitmap, (XtArgVal) logo);
X+ XtSetArg(args[5], XtNtranslations, XtParseTranslationTable(l_Trans));
X+ lg = XtCreateManagedWidget("logo", commandWidgetClass, form, args, 6);
X+
X+ sprintf(buf, "%s%d", TITLE, PATCHLEVEL);
X+
X+ XtSetArg(args[2], XtNwidth, XMail.shellWidth - national_width - 2);
X+ XtSetArg(args[3], XtNlabel, (XtArgVal) buf);
X+ XtSetArg(args[4], XtNfont, TextFontStr);
X+ XtSetArg(args[5], XtNjustify, (XtArgVal) XtJustifyLeft);
X+ XtSetArg(args[6], XtNfromHoriz, lg);
X+ XtSetArg(args[7], XtNtranslations, XtParseTranslationTable(w_Trans));
X+ tb = XtCreateManagedWidget("titleBar", labelWidgetClass, form, args, 8);
X+
X AddHelpText(tb, "title", Title_Help_Text);
X } /* CreateTitleBar */
X
X***************
X*** 670,676 ****
X String buf;
X Cardinal len;
X {
X! Arg args[MAXARGS];
X Cardinal n;
X
X static String trans = "#override \
X--- 697,703 ----
X String buf;
X Cardinal len;
X {
X! Arg args[12];
X Cardinal n;
X
X static String trans = "#override \
X***************
X*** 693,719 ****
X <Key>Return: NextField()";
X
X n = XMail.shellWidth - 106; /* - (scn + 2*(internal width + def.dist.)) */
X! n -= TEXTWIDTH * 9; /* minus the width of the label text */
X XtSetArg(args[0], XtNwidth, n);
X
X! n = 1;
X! XtSetArg(args[n], XtNinput, True); n++;
X! XtSetArg(args[n], XtNheight, TEXTHEIGHT); n++;
X! XtSetArg(args[n], XtNvertDistance, (TEXTHEIGHT * 3.0) / 5.0); n++;
X! XtSetArg(args[n], XtNfont, TextFontStr); n++;
X! XtSetArg(args[n], XtNborderWidth, 0); n++;
X! XtSetArg(args[n], XtNstring, buf); n++;
X! XtSetArg(args[n], XtNlength, len); n++;
X! XtSetArg(args[n], XtNeditType, (XtArgVal) XttextEdit); n++;
X! XtSetArg(args[n], XtNtextOptions, wordBreak); n++;
X
X! if (strcmp(name, "To") == 0 || strcmp(name, "Cc") == 0) {
X! XtSetArg(args[n],XtNtranslations,XtParseTranslationTable(b_trans)); n++;
X } else {
X! XtSetArg(args[n],XtNtranslations,XtParseTranslationTable(trans)); n++;
X }
X
X! #ifndef X11R3
X XtSetArg(args[n], XtNautoFill, True); n++;
X #endif
X
X--- 720,745 ----
X <Key>Return: NextField()";
X
X n = XMail.shellWidth - 106; /* - (scn + 2*(internal width + def.dist.)) */
X! n -= TEXTWIDTH * 9 - 6; /* minus label text width less fudge factor */
X XtSetArg(args[0], XtNwidth, n);
X
X! XtSetArg(args[1], XtNinput, True);
X! XtSetArg(args[2], XtNheight, XMail.buttonHeight);
X! XtSetArg(args[3], XtNfont, TextFontStr);
X! XtSetArg(args[4], XtNborderWidth, 0);
X! XtSetArg(args[5], XtNstring, buf);
X! XtSetArg(args[6], XtNlength, len);
X! XtSetArg(args[7], XtNeditType, (XtArgVal) XttextEdit);
X! XtSetArg(args[8], XtNtextOptions, wordBreak);
X
X! if (strcmp(name, "Subject") == 0) {
X! XtSetArg(args[9], XtNtranslations, XtParseTranslationTable(trans));
X } else {
X! XtSetArg(args[9], XtNtranslations, XtParseTranslationTable(b_trans));
X }
X+ n = 10;
X
X! #if XtSpecificationRelease >= 4
X XtSetArg(args[n], XtNautoFill, True); n++;
X #endif
X
X*** ../v1.0/xmail.c Sun May 27 21:05:58 1990
X--- xmail.c Sun May 27 21:11:39 1990
X***************
X*** 47,57 ****
X
X #include "global.h"
X #include "Mailwatch.h" /* use as icon and watch for newmail */
X! #ifdef X11R3
X! #include <X11/CommandP.h>
X! #else
X #include <X11/Xaw/CommandP.h>
X #endif
X #include "icon.nomail" /* default icon pixmap source */
X #include <X11/cursorfont.h> /* use watch cursor for busy notify */
X #include <X11/bitmaps/cross_weave> /* background use in Newmail notify */
X--- 47,59 ----
X
X #include "global.h"
X #include "Mailwatch.h" /* use as icon and watch for newmail */
X!
X! #if XtSpecificationRelease >= 4
X #include <X11/Xaw/CommandP.h>
X+ #else
X+ #include <X11/CommandP.h>
X #endif
X+
X #include "icon.nomail" /* default icon pixmap source */
X #include <X11/cursorfont.h> /* use watch cursor for busy notify */
X #include <X11/bitmaps/cross_weave> /* background use in Newmail notify */
X***************
X*** 59,96 ****
X #define Offset(field) (XtOffset(XmailResources *, field))
X
X static char what[] =
X! "@(#)xmail.c 1.0 90/03/19 Copyright 1989 National Semiconductor Corp.";
X
X static XtResource resrcs[] = {
X {XtNfont, XtCFont, XtRString, sizeof(char *),
X Offset(textFont), XtRString, (caddr_t) NULL},
X- {"bellRing", "BellRing", XtRBoolean, sizeof(Boolean),
X- Offset(bellRing), XtRImmediate, (caddr_t) True},
X {"helpFont", "HelpFont", XtRString, sizeof(char *),
X Offset(helpFont), XtRString, (caddr_t) NULL},
X! {"mailopt_i", "Mailopt_i", XtRBoolean, sizeof(Boolean),
X! Offset(mailopt_i), XtRImmediate, (caddr_t) False},
X {"mailopt_n", "Mailopt_n", XtRBoolean, sizeof(Boolean),
X Offset(mailopt_n), XtRImmediate, (caddr_t) False},
X {"mailopt_U", "Mailopt_U", XtRBoolean, sizeof(Boolean),
X Offset(mailopt_U), XtRImmediate, (caddr_t) False},
X- {"MFileName", "MFileName", XtRString, sizeof(char *),
X- Offset(MFileName), XtRImmediate, (caddr_t) NULL},
X- {"SubjectStr", "SubjectStr", XtRString, sizeof(char *),
X- Offset(SubjectStr), XtRImmediate, (caddr_t) NULL},
X {"Show_Last", "Show_Last", XtRBoolean, sizeof(Boolean),
X Offset(Show_Last), XtRImmediate, (caddr_t) True},
X };
X
X static XrmOptionDescRec Opts[] = {
X! {"-nb", "*bellRing", XrmoptionNoArg, (caddr_t) "False"},
X! {"-helpfont", "*helpFont", XrmoptionSepArg, (caddr_t) NULL},
X! {"-i", "*mailopt_i", XrmoptionNoArg, (caddr_t) "True"},
X! {"-n", "*mailopt_n", XrmoptionNoArg, (caddr_t) "True"},
X! {"-U", "*mailopt_U", XrmoptionNoArg, (caddr_t) "True"},
X! {"-f", "*MFileName", XrmoptionSepArg, (caddr_t) NULL},
X! {"-s", "*SubjectStr", XrmoptionSepArg, (caddr_t) NULL},
X! {"-ls", "*Show_Last", XrmoptionNoArg, (caddr_t) "False"},
X };
X
X char *IndexBuf; /* buffer for index widget */
X--- 61,98 ----
X #define Offset(field) (XtOffset(XmailResources *, field))
X
X static char what[] =
X! "@(#)xmail.c 1.1 90/05/29 Copyright 1989 National Semiconductor Corp.";
X
X static XtResource resrcs[] = {
X {XtNfont, XtCFont, XtRString, sizeof(char *),
X Offset(textFont), XtRString, (caddr_t) NULL},
X {"helpFont", "HelpFont", XtRString, sizeof(char *),
X Offset(helpFont), XtRString, (caddr_t) NULL},
X! {"iconGeometry", "IconGeometry", XtRString, sizeof(char *),
X! Offset(iconGeometry), XtRString, (caddr_t) NULL},
X! {"MFileName", "MFileName", XtRString, sizeof(char *),
X! Offset(MFileName), XtRString, (caddr_t) NULL},
X! {"iconic", "Iconic", XtRBoolean, sizeof(Boolean),
X! Offset(iconic), XtRImmediate, (caddr_t) False},
X! {"bellRing", "BellRing", XtRBoolean, sizeof(Boolean),
X! Offset(bellRing), XtRImmediate, (caddr_t) True},
X {"mailopt_n", "Mailopt_n", XtRBoolean, sizeof(Boolean),
X Offset(mailopt_n), XtRImmediate, (caddr_t) False},
X {"mailopt_U", "Mailopt_U", XtRBoolean, sizeof(Boolean),
X Offset(mailopt_U), XtRImmediate, (caddr_t) False},
X {"Show_Last", "Show_Last", XtRBoolean, sizeof(Boolean),
X Offset(Show_Last), XtRImmediate, (caddr_t) True},
X };
X
X static XrmOptionDescRec Opts[] = {
X! {"-helpfont", "*helpFont", XrmoptionSepArg, (caddr_t) NULL},
X! {"-iconGeometry", "*iconGeometry", XrmoptionSepArg, (caddr_t) NULL},
X! {"-iconic", "*iconic", XrmoptionNoArg, (caddr_t) "True"},
X! {"-f", "*MFileName", XrmoptionSepArg, (caddr_t) NULL},
X! {"-nb", "*bellRing", XrmoptionNoArg, (caddr_t) "False"},
X! {"-n", "*mailopt_n", XrmoptionNoArg, (caddr_t) "True"},
X! {"-U", "*mailopt_U", XrmoptionNoArg, (caddr_t) "True"},
X! {"-ls", "*Show_Last", XrmoptionNoArg, (caddr_t) "False"},
X };
X
X char *IndexBuf; /* buffer for index widget */
X***************
X*** 100,108 ****
X char SubjBuf[BUFSIZ]; /* message subject */
X char InReply[BUFSIZ]; /* reply reference string */
X char CcBuf[BUFSIZ]; /* message Cc list */
X char tmpName[BUFSIZ]; /* message temporary filename */
X! char MailPrompt[20]; /* mail program prompt string */
X! char *HelpNames[23]; /* array of help window names */
X char **mailargv; /* array passed to mail child */
X
X int mailargc; /* counter passed to mail child */
X--- 102,111 ----
X char SubjBuf[BUFSIZ]; /* message subject */
X char InReply[BUFSIZ]; /* reply reference string */
X char CcBuf[BUFSIZ]; /* message Cc list */
X+ char BccBuf[BUFSIZ]; /* message Bcc list */
X char tmpName[BUFSIZ]; /* message temporary filename */
X! char *MailPrompt; /* mail program prompt string */
X! char *HelpNames[24]; /* array of help window names */
X char **mailargv; /* array passed to mail child */
X
X int mailargc; /* counter passed to mail child */
X***************
X*** 116,122 ****
X Widget toplevel; /* top level shell widget */
X
X XmailResources XMail; /* application resources of xmail */
X! XtTextSource HelpStrings[22];
X XFontStruct *TextFontStr, *HelpFontStr;
X
X
X--- 119,125 ----
X Widget toplevel; /* top level shell widget */
X
X XmailResources XMail; /* application resources of xmail */
X! XtTextSource HelpStrings[23];
X XFontStruct *TextFontStr, *HelpFontStr;
X
X
X***************
X*** 133,147 ****
X char **mailargv;
X int i = 0;
X
X! mailargv = (char **) XtMalloc (MAXARGS * sizeof(char *));
X for (i=0; i < *argc; i++)
X mailargv[i] = argv[i];
X
X mailargv[i++] = "-N"; /* no version or header info at start */
X- if (XMail->mailopt_i)
X- mailargv[i++] = "-i"; /* ignore interrupts */
X if (XMail->mailopt_n)
X! mailargv[i++] = "-n"; /* don't initialize from mailrc files */
X if (XMail->mailopt_U)
X mailargv[i++] = "-U"; /* Change uucp to Internet addresses */
X if (XMail->MFileName) {
X--- 136,148 ----
X char **mailargv;
X int i = 0;
X
X! mailargv = (char **) XtMalloc (6 * sizeof(char *));
X for (i=0; i < *argc; i++)
X mailargv[i] = argv[i];
X
X mailargv[i++] = "-N"; /* no version or header info at start */
X if (XMail->mailopt_n)
X! mailargv[i++] = "-n"; /* don't initialize from Mail.rc file */
X if (XMail->mailopt_U)
X mailargv[i++] = "-U"; /* Change uucp to Internet addresses */
X if (XMail->MFileName) {
X***************
X*** 148,156 ****
X mailargv[i++] = "-f"; /* start from mail folder MFileName */
X mailargv[i++] = XMail->MFileName;
X }
X- if (XMail->SubjectStr) { /* set subject string to SubjectStr */
X- strcpy(SubjBuf, XMail->SubjectStr);
X- }
X mailargv[i] = NULL;
X *argc = i;
X return mailargv;
X--- 149,154 ----
X***************
X*** 165,197 ****
END_OF_FILE
if test 47115 -ne `wc -c <'Patch.01d'`; then
echo shar: \"'Patch.01d'\" unpacked with wrong size!
fi
# end of 'Patch.01d'
fi
echo shar: End of archive 4 \(of 5\).
cp /dev/null ark4isdone
MISSING=""
for I in 1 2 3 4 5 ; do
if test ! -f ark${I}isdone ; then
MISSING="${MISSING} ${I}"
fi
done
if test "${MISSING}" = "" ; then
echo You have unpacked all 5 archives.
rm -f ark[1-9]isdone
else
echo You still need to unpack the following archives:
echo " " ${MISSING}
fi
## End of shell archive.
exit 0
dan
----------------------------------------------------
O'Reilly && Associates argv at sun.com / argv at ora.com
Opinions expressed reflect those of the author only.
More information about the Comp.sources.x
mailing list