aboutsummaryrefslogtreecommitdiff
path: root/mail/xpbiff/files/patch-ae
diff options
context:
space:
mode:
Diffstat (limited to 'mail/xpbiff/files/patch-ae')
-rw-r--r--mail/xpbiff/files/patch-ae958
1 files changed, 0 insertions, 958 deletions
diff --git a/mail/xpbiff/files/patch-ae b/mail/xpbiff/files/patch-ae
deleted file mode 100644
index 0d36d557df4f..000000000000
--- a/mail/xpbiff/files/patch-ae
+++ /dev/null
@@ -1,958 +0,0 @@
---- xpbiff.c.orig 1994-10-27 15:42:52.000000000 +0900
-+++ xpbiff.c 2010-11-17 14:40:26.457077878 +0900
-@@ -60,6 +60,7 @@
-
- #include "config.h"
-
-+#include <paths.h> /* _PATH_MAILDIR */
- #include <X11/Intrinsic.h>
- #include <X11/StringDefs.h>
- #include <X11/Shell.h>
-@@ -74,6 +75,12 @@
- #endif
- #endif /* SUN_AUDIO */
-
-+#ifdef BSD_AUDIO
-+#include <sys/soundcard.h>
-+#define MAX_SOUND_VOL 95
-+#define MIN_SOUND_VOL 05
-+#endif
-+
- #ifndef X11R3
- #include <X11/Xaw/Box.h>
- #include <X11/Xaw/Label.h>
-@@ -116,7 +123,11 @@
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <stdio.h>
-+#include <stdlib.h>
- #include <math.h>
-+#ifdef HAVE_GETPWUID
-+#include <pwd.h>
-+#endif /* HAVE_GETPWUID */
-
- #ifdef YOUBIN
-
-@@ -149,11 +160,7 @@
-
- #ifndef YOUBIN
-
--#ifdef USG
--#define SPOOLPATH "/usr/mail/"
--#else
--#define SPOOLPATH "/usr/spool/mail/"
--#endif
-+#define SPOOLPATH _PATH_MAILDIR
-
- #else /* YOUBIN */
-
-@@ -256,34 +263,11 @@
- */
-
- GC gcArrive, gcNo, gcAnimate, gcAnimateBack;
--#ifdef XPM
--Pixmap arrivePixmaps[2], noPixmaps[2];
--#define arrivePixmap arrivePixmaps[0]
--#define noPixmap noPixmaps[0]
--#else
--Pixmap arrivePixmap, noPixmap;
--#endif
- Pixmap workPixmap;
- int width, height;
- unsigned char current_status = NO;
- unsigned char showing_header = 0;
- long mail_size = 0;
--#ifndef YOUBIN
--XtIntervalId polling_id;
--#endif
--Pixel colors[4];
--#ifndef YOUBIN
--char spool_path[100];
--int polling_time;
--#endif
--int popup_time;
--
--Boolean raise;
--Boolean stay_raised;
--Boolean animate;
--Boolean popup;
--Boolean bell;
--Boolean popdown;
-
- unsigned int Arrive_pixmap_width, Arrive_pixmap_height;
- unsigned int Arrive_pixmap_depth;
-@@ -291,24 +275,11 @@
- unsigned int No_pixmap_width, No_pixmap_height;
- unsigned int No_pixmap_depth;
-
--Boolean mono;
--String popupGeometry;
--
--#ifndef YOUBIN
--String prefers;
--
--String spoolPath;
--#endif
--
--#ifdef MHSCAN
--Boolean mhscan;
--String scanCommand;
--String scanCommandPath;
--#endif
--
--#ifdef SHAPE
--Boolean shape;
--Pixmap noPixmapMask, arrivePixmapMask;
-+#ifdef YOUBIN
-+XtIntervalId timeout_id;
-+#else
-+XtIntervalId polling_id;
-+char spool_path[100];
- #endif
-
- static String fallback_resources[] = {
-@@ -324,86 +295,125 @@
- NULL
- };
-
--#ifdef SUN_AUDIO
--String mail_sndfile;
--int volume;
-+typedef struct _appRes {
-+#ifdef XPM
-+ Pixmap arrivePixmaps[2];
-+ Pixmap noPixmaps[2];
-+#define arrivePixmap arrivePixmaps[0]
-+#define noPixmap noPixmaps[0]
-+#else
-+ Pixmap arrivePixmap;
-+ Pixmap noPixmap;
- #endif
--
-+ Pixel colors[4];
-+#ifndef YOUBIN
-+ String prefers;
-+ int polling_time;
-+ String spoolPath;
-+#endif
-+ Boolean mono;
-+ String popupGeometry;
-+ Boolean raise;
-+ Boolean stay_raised;
-+ Boolean animate;
-+ Boolean popup;
-+ int popup_time;
-+ Boolean bell;
-+ Boolean popdown;
- #ifdef YOUBIN
--Boolean use_pipe;
--String server;
--Boolean preserve;
--XtIntervalId timeout_id;
-+ Boolean use_pipe;
-+ String server;
-+ Boolean preserve;
-+#endif
-+#ifdef MHSCAN
-+ Boolean mhscan;
-+ String scanCommand;
-+ String scanCommandPath;
- #endif
-+#ifdef SHAPE
-+ Boolean shape;
-+ Pixmap arrivePixmapMask;
-+ Pixmap noPixmapMask;
-+#endif
-+#if (defined(SUN_AUDIO) || defined(BSD_AUDIO))
-+ String mail_sndfile;
-+ int volume;
-+#endif
-+} AppResourcesRec, *AppResources;
-+
-+#define SetResOffset(n, field) resources[n].resource_offset = ((char *)&appResources.field - (char *)&appResources)
-+#define offset(field) XtOffset(struct _appRes *, field)
-+
-+AppResourcesRec appResources;
-
- static XtResource resources[] = {
- {"arrivePixmap", "ArrivePixmap", RPixmap2, sizeof(Pixmap2),
-- (Cardinal)&arrivePixmap, XtRString, "None"},
-+ offset(arrivePixmap), XtRString, "None"},
- {"nomailPixmap", "NomailPixmap", RPixmap2, sizeof(Pixmap2),
-- (Cardinal)&noPixmap, XtRString, "None"},
-+ offset(noPixmap), XtRString, "None"},
- {"nomailForeground", "NomailForeground", XtRPixel, sizeof(Pixel),
-- (Cardinal)&colors[0], XtRString, "black"},
-+ offset(colors[0]), XtRString, "black"},
- {"nomailBackground", "NomailBackground", XtRPixel, sizeof(Pixel),
-- (Cardinal)&colors[1], XtRString, "cyan"},
-+ offset(colors[1]), XtRString, "cyan"},
- {"arriveForeground", "ArriveForeground", XtRPixel, sizeof(Pixel),
-- (Cardinal)&colors[2], XtRString, "yellow"},
-+ offset(colors[2]), XtRString, "yellow"},
- {"arriveBackground", "ArriveBackground", XtRPixel, sizeof(Pixel),
-- (Cardinal)&colors[3], XtRString, "red"},
-+ offset(colors[3]), XtRString, "red"},
- #ifndef YOUBIN
- {"pollingTime", "PollingTime", XtRInt, sizeof(int),
-- (Cardinal)&polling_time, XtRImmediate, (XtPointer)15000},
-+ offset(polling_time), XtRImmediate, (XtPointer)15000},
- {"prefer", "Prefer", XtRString, sizeof(String),
-- (Cardinal)&prefers, XtRString, (XtPointer)"From Subject"},
-+ offset(prefers), XtRString, (XtPointer)"From Subject"},
- {"spoolPath", "SpoolPath", XtRString, sizeof(String),
-- (Cardinal)&spoolPath, XtRString, None},
-+ offset(spoolPath), XtRString, None},
- #endif
- {"mono", "Mono", XtRBoolean, sizeof(Boolean),
-- (Cardinal)&mono, XtRImmediate, (XtPointer)False},
-+ offset(mono), XtRImmediate, (XtPointer)False},
- {"popupGeometry", "PopupGeometry", XtRString, sizeof(String),
-- (Cardinal)&popupGeometry, XtRString, NULL},
-+ offset(popupGeometry), XtRString, NULL},
- {"raise", "Raise", XtRBoolean, sizeof(Boolean),
-- (Cardinal)&raise, XtRImmediate, (XtPointer)True},
-+ offset(raise), XtRImmediate, (XtPointer)True},
- {"stayRaised", "StayRaised", XtRBoolean, sizeof(Boolean),
-- (Cardinal)&stay_raised, XtRImmediate, (XtPointer)False},
-+ offset(stay_raised), XtRImmediate, (XtPointer)False},
- {"animate", "Animate", XtRBoolean, sizeof(Boolean),
-- (Cardinal)&animate, XtRImmediate, (XtPointer)True},
-+ offset(animate), XtRImmediate, (XtPointer)True},
- {"popup", "Popup", XtRBoolean, sizeof(Boolean),
-- (Cardinal)&popup, XtRImmediate, (XtPointer)True},
-+ offset(popup), XtRImmediate, (XtPointer)True},
- {"popupTime", "PopupTime", XtRInt, sizeof(int),
-- (Cardinal)&popup_time, XtRImmediate, (XtPointer)15000},
-+ offset(popup_time), XtRImmediate, (XtPointer)15000},
- {"bell", "Bell", XtRBoolean, sizeof(Boolean),
-- (Cardinal)&bell, XtRImmediate, (XtPointer)True},
-+ offset(bell), XtRImmediate, (XtPointer)True},
- {"popdown", "Popdown", XtRBoolean, sizeof(Boolean),
-- (Cardinal)&popdown, XtRImmediate, (XtPointer)True},
-+ offset(popdown), XtRImmediate, (XtPointer)True},
- #ifdef YOUBIN
- {"pipe", "Pipe", XtRBoolean, sizeof(Boolean),
-- (Cardinal)&use_pipe, XtRString, "false"},
-+ offset(use_pipe), XtRString, "false"},
- {"server", "Server", XtRString, sizeof(String),
-- (Cardinal)&server, XtRString, YOUBIN_DEFAULT_SERVER_HOST},
-+ offset(server), XtRString, YOUBIN_DEFAULT_SERVER_HOST},
- {"preserve", "preserve", XtRBoolean, sizeof(Boolean),
-- (Cardinal)&preserve, XtRString, "true"},
-+ offset(preserve), XtRString, "true"},
- #endif
- #ifdef MHSCAN
- {"mhscan", "Mhscan", XtRBoolean, sizeof(Boolean),
-- (Cardinal)&mhscan, XtRImmediate, (XtPointer)False},
-+ offset(mhscan), XtRImmediate, (XtPointer)False},
- {"scanCommand", "ScanCommand", XtRString, sizeof(String),
-- (Cardinal)&scanCommand, XtRString, DEFAULT_SCAN_COMMAND},
-+ offset(scanCommand), XtRString, DEFAULT_SCAN_COMMAND},
- {"scanCommandPath", "ScanCommandPath", XtRString, sizeof(String),
-- (Cardinal)&scanCommandPath, XtRString, DEFAULT_SCAN_COMMAND_PATH},
-+ offset(scanCommandPath), XtRString, DEFAULT_SCAN_COMMAND_PATH},
- #endif
- #ifdef SHAPE
- {"shape", "Shape", XtRBoolean, sizeof(Boolean),
-- (Cardinal)&shape, XtRImmediate, (XtPointer)False},
-+ offset(shape), XtRImmediate, (XtPointer)False},
- {"arrivePixmapMask", "ArrivePixmapMask", XtRBitmap, sizeof(Pixmap),
-- (Cardinal)&arrivePixmapMask, XtRBitmap, None},
-+ offset(arrivePixmapMask), XtRBitmap, None},
- {"nomailPixmapMask", "NomailPixmapMask", XtRBitmap, sizeof(Pixmap),
-- (Cardinal)&noPixmapMask, XtRBitmap, None},
-+ offset(noPixmapMask), XtRBitmap, None},
- #endif
--#ifdef SUN_AUDIO
-+#if (defined(SUN_AUDIO) || defined(BSD_AUDIO))
- {"mailSndFile", "MailSndFile", XtRString, sizeof(String),
-- (Cardinal)&mail_sndfile, XtRString, None},
-+ offset(mail_sndfile), XtRString, None},
- {"volume", "Volume", XtRInt, sizeof(int),
-- (Cardinal)&volume, XtRString, "33"},
-+ offset(volume), XtRString, "33"},
- #endif
- };
-
-@@ -445,7 +455,7 @@
- {"-server", "*server", XrmoptionSepArg, NULL},
- {"-preserve", "*preserve", XrmoptionNoArg, "true"},
- #endif /* YOUBIN */
--#ifdef SUN_AUDIO
-+#if (defined(SUN_AUDIO) || defined(BSD_AUDIO))
- {"-sndfile", "*mailSndFile", XrmoptionSepArg, NULL},
- {"-volume", "*volume", XrmoptionSepArg, NULL},
- #endif
-@@ -461,6 +471,7 @@
- #ifdef JCONVERT
- static Locale_ent locale_list[] = {
- {"ja_JP.EUC", EUC},
-+ {"ja_JP.eucJP", EUC},
- {"ja_JP.SJIS", SJIS},
- {"ja_JP.jis7", JIS},
- {"ja_JP.jis8", JIS},
-@@ -485,9 +496,9 @@
- XGCValues values;
- XtTranslations newTranslations;
- static XtActionsRec redrawActions[] = {
-- {"expose", (XtCallbackProc) redraw_callback},
-- {"select", (XtCallbackProc) popup_again},
-- {"quit", (XtCallbackProc) quit},
-+ {"expose", (XtActionProc) redraw_callback},
-+ {"select", (XtActionProc) popup_again},
-+ {"quit", (XtActionProc) quit},
- };
-
- static char *overrideTranslations =
-@@ -498,6 +509,9 @@
- int dummy;
- int i;
-
-+#ifdef HAVE_GETPWUID
-+ struct passwd *pw;
-+#endif
- #ifdef JCONVERT
- char *locale_name;
- Locale_ent *p;
-@@ -514,28 +528,40 @@
- #endif /* !YOUBIN */
-
- #ifdef YOUBIN
-- if ((prog_name = strrchr(argv[0], '/')) != NULL) {
-- prog_name++;
-- } else {
-- prog_name = argv[0];
-- }
-+ if ((prog_name = strrchr(argv[0], '/')) != NULL) {
-+ prog_name++;
-+ } else {
-+ prog_name = argv[0];
-+ }
- #else /* !YOUBIN */
-- if (spoolPath != NULL && spoolPath[0] != '\0')
-- strcpy(spool_path, spoolPath);
-- else
-+ if (appResources.spoolPath != NULL && appResources.spoolPath[0] != '\0') {
-+ strcpy(spool_path, appResources.spoolPath);
-+ } else {
- strcpy(spool_path, SPOOLPATH);
-- if (spool_path[strlen(spool_path) - 1] != '/')
-+ }
-+ if (spool_path[strlen(spool_path) - 1] != '/') {
- strcat(spool_path, "/");
-+ }
-+
- #ifdef GETENV_MAIL
-- if (getenv("MAIL") != NULL)
-+ if (getenv("MAIL") != NULL) {
- strcpy(spool_path, getenv("MAIL"));
-- else
--#endif
--#ifndef NO_CUSERID
-- strcat(spool_path, cuserid(NULL));
--#else
-+ } else {
-+#endif /* GETENV_MAIL */
-+
-+#ifdef HAVE_GETPWUID
-+ pw = getpwuid(getuid());
-+ strcat(spool_path, pw->pw_name);
-+#elif defined(NO_CUSERID)
- strcat(spool_path, getenv("USER"));
--#endif
-+#else
-+ strcat(spool_path, (char *)cuserid(NULL));
-+#endif /* NO_CUSERID && HAVE_GETPWUID */
-+
-+#ifdef GETENV_MAIL
-+ }
-+#endif /* GETENV_MAIL */
-+
- #endif /* !YOUBIN */
-
- #ifdef XI18N
-@@ -646,7 +672,7 @@
- fprintf(stderr, " [-server host]\n");
- fprintf(stderr, " [-nopreserve]\n");
- #endif
--#ifdef SUN_AUDIO
-+#if (defined(SUN_AUDIO) || defined(BSD_AUDIO))
- fprintf(stderr, " [-sndfile audio_file]\n");
- fprintf(stderr, " [-volume percentage]\n");
- #endif
-@@ -659,33 +685,33 @@
- convertArgs, XtNumber(convertArgs));
- #endif
-
-- XtGetApplicationResources(toplevel, (caddr_t) NULL,
-+ XtGetApplicationResources(toplevel, (XtPointer)&appResources,
- resources, XtNumber(resources), NULL, 0);
-
-- if (mono == True) {
-- colors[0] = colors[3] = BlackPixelOfScreen(XtScreen(toplevel));
-- colors[1] = colors[2] = WhitePixelOfScreen(XtScreen(toplevel));
-+ if (appResources.mono == True) {
-+ appResources.colors[0] = appResources.colors[3] = BlackPixelOfScreen(XtScreen(toplevel));
-+ appResources.colors[1] = appResources.colors[2] = WhitePixelOfScreen(XtScreen(toplevel));
- }
-
- #ifndef YOUBIN
-- split_prefer(prefers);
-+ split_prefer(appResources.prefers);
- #endif
-
- #ifdef XPM
-- if (arrivePixmapMask == None)
-- arrivePixmapMask = arrivePixmaps[1];
-- if (noPixmapMask == None)
-- noPixmapMask = noPixmaps[1];
-+ if (appResources.arrivePixmapMask == None)
-+ appResources.arrivePixmapMask = appResources.arrivePixmaps[1];
-+ if (appResources.noPixmapMask == None)
-+ appResources.noPixmapMask = appResources.noPixmaps[1];
- #endif
-
- #ifdef SHAPE
-- if (shape == True
-+ if (appResources.shape == True
- && !XShapeQueryExtension(XtDisplay(toplevel), &dummy, &dummy))
-- shape = False;
-+ appResources.shape = False;
- #endif
-
-- if (noPixmap == None) {
-- noPixmap = XCreatePixmapFromBitmapData
-+ if (appResources.noPixmap == None) {
-+ appResources.noPixmap = XCreatePixmapFromBitmapData
- (XtDisplay(toplevel), RootWindowOfScreen(XtScreen(toplevel)),
- no_bits, no_width, no_height, 1, 0, 1);
- No_pixmap_width = no_width;
-@@ -695,14 +721,14 @@
- else {
- Window r;
- unsigned int x, y, bw;
-- XGetGeometry(XtDisplay(toplevel), noPixmap,
-+ XGetGeometry(XtDisplay(toplevel), appResources.noPixmap,
- &r, &x, &y,
- &No_pixmap_width, &No_pixmap_height,
- &bw, &No_pixmap_depth);
- }
-
-- if (arrivePixmap == None) {
-- arrivePixmap = XCreatePixmapFromBitmapData
-+ if (appResources.arrivePixmap == None) {
-+ appResources.arrivePixmap = XCreatePixmapFromBitmapData
- (XtDisplay(toplevel), RootWindowOfScreen(XtScreen(toplevel)),
- arrive_bits, arrive_width, arrive_height,
- 1, 0, 1);
-@@ -713,7 +739,7 @@
- else {
- Window r;
- unsigned int x, y, bw;
-- XGetGeometry(XtDisplay(toplevel), arrivePixmap,
-+ XGetGeometry(XtDisplay(toplevel), appResources.arrivePixmap,
- &r, &x, &y,
- &Arrive_pixmap_width, &Arrive_pixmap_height,
- &bw, &Arrive_pixmap_depth);
-@@ -741,14 +767,14 @@
-
- /* Get graphic context */
-
-- values.foreground = colors[0];
-- values.background = colors[1];
-+ values.foreground = appResources.colors[0];
-+ values.background = appResources.colors[1];
- values.graphics_exposures = False;
- gcNo = XtGetGC(toplevel,
- GCForeground | GCBackground | GCGraphicsExposures,
- &values);
-- values.foreground = colors[2];
-- values.background = colors[3];
-+ values.foreground = appResources.colors[2];
-+ values.background = appResources.colors[3];
- values.graphics_exposures = False;
- gcArrive = XtGetGC(toplevel,
- GCForeground | GCBackground | GCGraphicsExposures,
-@@ -760,13 +786,13 @@
- Arrive_pixmap_width, Arrive_pixmap_height,
- DefaultDepthOfScreen(XtScreen(toplevel)));
-
-- values.foreground = colors[2];
-+ values.foreground = appResources.colors[2];
- values.graphics_exposures = False;
- gcAnimate = XtGetGC(toplevel,
- GCForeground | GCGraphicsExposures,
- &values);
-
-- values.foreground = colors[3];
-+ values.foreground = appResources.colors[3];
- values.graphics_exposures = False;
- gcAnimateBack = XtGetGC(toplevel,
- GCForeground | GCGraphicsExposures,
-@@ -775,11 +801,11 @@
- /* Interval timer start */
- #ifndef YOUBIN
- polling_id = XtAppAddTimeOut(app_con,
-- (unsigned long) polling_time, Polling, NULL);
-+ (unsigned long) appResources.polling_time, (XtTimerCallbackProc) Polling, NULL);
- #else /* YOUBIN */
-- if (server == NULL) {
-+ if (appResources.server == NULL) {
- gethostname(serv_name, sizeof(serv_name));
-- server = serv_name;
-+ appResources.server = serv_name;
- }
-
- /* make new process group */
-@@ -789,9 +815,9 @@
- exit(EXIT_FAILURE);
- }
-
-- if (use_pipe == False) {
-+ if (appResources.use_pipe == False) {
- sprintf(child_process, "%s/%s -b -s %s",
-- BINDIR, CHILD_PROGRAM_NAME, server);
-+ BINDIR, CHILD_PROGRAM_NAME, appResources.server);
- if ((pfile = popen(child_process, "r")) == NULL) {
- perror("popen");
- exit(EXIT_FAILURE);
-@@ -831,21 +857,21 @@
- {
- if (current_status == ARRIVE) {
- if (Arrive_pixmap_depth == 1)
-- XCopyPlane(XtDisplay(toplevel), arrivePixmap, XtWindow(biff),
-+ XCopyPlane(XtDisplay(toplevel), appResources.arrivePixmap, XtWindow(biff),
- gcArrive,
- 0, 0, Arrive_pixmap_width, Arrive_pixmap_height, 0, 0, 1);
- else
-- XCopyArea(XtDisplay(toplevel), arrivePixmap, XtWindow(biff),
-+ XCopyArea(XtDisplay(toplevel), appResources.arrivePixmap, XtWindow(biff),
- gcArrive,
- 0, 0, Arrive_pixmap_width, Arrive_pixmap_height, 0, 0);
- }
- else {
- if (No_pixmap_depth == 1)
-- XCopyPlane(XtDisplay(toplevel), noPixmap, XtWindow(biff),
-+ XCopyPlane(XtDisplay(toplevel), appResources.noPixmap, XtWindow(biff),
- gcNo,
- 0, 0, No_pixmap_width, No_pixmap_height, 0, 0, 1);
- else
-- XCopyArea(XtDisplay(toplevel), noPixmap, XtWindow(biff),
-+ XCopyArea(XtDisplay(toplevel), appResources.noPixmap, XtWindow(biff),
- gcNo, 0, 0, No_pixmap_width, No_pixmap_height, 0, 0);
- }
- }
-@@ -853,9 +879,9 @@
- #ifdef SHAPE
- void shape_window()
- {
-- if (shape == True) {
-+ if (appResources.shape == True) {
- if (current_status == ARRIVE) {
-- if (arrivePixmapMask == None) {
-+ if (appResources.arrivePixmapMask == None) {
- XRectangle rect;
- rect.x = rect.y = 0;
- rect.width = Arrive_pixmap_width;
-@@ -866,11 +892,11 @@
- }
- else
- XShapeCombineMask(XtDisplay(toplevel), XtWindow(toplevel),
-- ShapeBounding, 0, 0, arrivePixmapMask,
-+ ShapeBounding, 0, 0, appResources.arrivePixmapMask,
- ShapeSet);
- }
- else {
-- if (noPixmapMask == None) {
-+ if (appResources.noPixmapMask == None) {
- XRectangle rect;
- rect.x = rect.y = 0;
- rect.width = No_pixmap_width;
-@@ -881,7 +907,7 @@
- }
- else
- XShapeCombineMask(XtDisplay(toplevel), XtWindow(toplevel),
-- ShapeBounding, 0, 0, noPixmapMask,
-+ ShapeBounding, 0, 0, appResources.noPixmapMask,
- ShapeSet);
- }
- }
-@@ -915,53 +941,54 @@
- /* NEW mail !! */
- current_status = ARRIVE;
- mail_size = file_stat.st_size;
-- if (popup == True)
-+ if (appResources.popup == True)
- mail_header = GetMailHeader();
- XtResizeWidget(toplevel, Arrive_pixmap_width, Arrive_pixmap_height, 1);
- XtResizeWidget(biff, Arrive_pixmap_width, Arrive_pixmap_height, 0);
-- if (raise == True)
-+ if (appResources.raise == True)
- XRaiseWindow(XtDisplay(toplevel), XtWindow(toplevel));
-- if (animate == True)
-+ if (appResources.animate == True)
- AnimateBiff();
- redraw_window();
- #ifdef SHAPE
- shape_window();
- #endif
-- if (popup == True)
-+ if (appResources.popup == True)
- PopupMailHeader(mail_header);
- XSync(XtDisplay(toplevel), 0);
-- if (bell == True)
-- beep(XtDisplay(toplevel), 0);
-+ if (appResources.bell == True)
-+ beep(XtDisplay(toplevel));
- /* XBell(XtDisplay(toplevel), 0); */
- }
- else if (file_stat.st_size > mail_size) {
- mail_size = file_stat.st_size;
-- if (popup == True)
-+ if (appResources.popup == True)
- mail_header = GetMailHeader();
- /* more come! only ringing bell. */
-- if (popup == True)
-+ if (appResources.popup == True)
- BreakPopup(toplevel, (XtPointer) NULL, (XtPointer) NULL);
- XtResizeWidget(toplevel, Arrive_pixmap_width, Arrive_pixmap_height, 1);
- XtResizeWidget(biff, Arrive_pixmap_width, Arrive_pixmap_height, 0);
-- if (raise == True)
-+ if (appResources.raise == True)
- XRaiseWindow(XtDisplay(toplevel), XtWindow(toplevel));
-- if (animate == True)
-+ if (appResources.animate == True)
- AnimateBiff();
- redraw_window();
- #ifdef SHAPE
- shape_window();
- #endif
-- if (popup == True)
-+ if (appResources.popup == True)
- PopupMailHeader(mail_header);
- XSync(XtDisplay(toplevel), 0);
-- if (bell == True)
-- XBell(XtDisplay(toplevel), 0);
-+ if (appResources.bell == True)
-+ beep(XtDisplay(toplevel));
-+ /* XBell(XtDisplay(toplevel), 0); */
- }
- else {
- mail_size = file_stat.st_size;
-- if (raise == True && stay_raised == False)
-+ if (appResources.raise == True && appResources.stay_raised == False)
- XLowerWindow(XtDisplay(toplevel), XtWindow(toplevel));
-- if (popup == True)
-+ if (appResources.popup == True)
- BreakPopup(toplevel, (XtPointer) NULL, (XtPointer) NULL);
- }
- } else
-@@ -974,15 +1001,15 @@
- #ifdef SHAPE
- shape_window();
- #endif
-- if (raise == True && stay_raised == False)
-+ if (appResources.raise == True && appResources.stay_raised == False)
- XLowerWindow(XtDisplay(toplevel), XtWindow(toplevel));
-- if (popup == True)
-+ if (appResources.popup == True)
- BreakPopup(toplevel, (XtPointer) NULL, (XtPointer) NULL);
- }
- /* No arrive */
-
- polling_id = XtAppAddTimeOut(XtWidgetToApplicationContext(toplevel),
-- (unsigned long) polling_time, Polling, NULL);
-+ (unsigned long) appResources.polling_time, (XtTimerCallbackProc) Polling, NULL);
-
- }
- #endif /* !YOUBIN */
-@@ -995,7 +1022,7 @@
- double r, angle, t1, t2, t3, t4;
-
- #ifdef SHAPE
-- if(shape == True) {
-+ if(appResources.shape == True) {
- XRectangle rect;
- rect.x = rect.y = 0;
- rect.width = Arrive_pixmap_width;
-@@ -1038,9 +1065,9 @@
-
- /* Create Popup Shell */
-
-- if (popupGeometry != NULL) {
-+ if (appResources.popupGeometry != NULL) {
- arg_count = 0;
-- XtSetArg(args[arg_count], XtNgeometry, popupGeometry);
-+ XtSetArg(args[arg_count], XtNgeometry, appResources.popupGeometry);
- arg_count++;
- }
- else {
-@@ -1068,10 +1095,10 @@
- info_base = XtCreateManagedWidget("info_base", boxWidgetClass, header, args,
- arg_count);
-
-- if (popdown == True) {
-+ if (appResources.popdown == True) {
- popdown_button = XtCreateManagedWidget("popdown_button", commandWidgetClass, info_base, NULL,
- ZERO);
-- XtAddCallback(popdown_button, XtNcallback, BreakPopup, (XtPointer) NULL);
-+ XtAddCallback(popdown_button, XtNcallback, (XtCallbackProc) BreakPopup, (XtPointer) NULL);
- }
- arg_count = 0;
- XtSetArg(args[arg_count], XtNlabel, head);
-@@ -1131,37 +1158,38 @@
- /* the click catchs new mail */
- current_status = ARRIVE;
- mail_size = file_stat.st_size;
-- if (popup == True)
-+ if (appResources.popup == True)
- mail_header = GetMailHeader();
- XtResizeWidget(toplevel, Arrive_pixmap_width, Arrive_pixmap_height, 1);
- XtResizeWidget(biff, Arrive_pixmap_width, Arrive_pixmap_height, 0);
-- if (raise == True)
-+ if (appResources.raise == True)
- XRaiseWindow(XtDisplay(toplevel), XtWindow(toplevel));
-- if (animate == True)
-+ if (appResources.animate == True)
- AnimateBiff();
- redraw_window();
- #ifdef SHAPE
- shape_window();
- #endif
-- if (popup == True)
-+ if (appResources.popup == True)
- PopupMailHeader(mail_header);
- XSync(XtDisplay(toplevel), 0);
-- if (bell == True)
-- XBell(XtDisplay(toplevel), 0);
-+ if (appResources.bell == True)
-+ beep(XtDisplay(toplevel));
-+ /* XBell(XtDisplay(toplevel), 0); */
- }
- else {
- mail_size = file_stat.st_size;
-- if (popup == True)
-+ if (appResources.popup == True)
- mail_header = GetMailHeader();
-- if (popup == True && showing_header)
-+ if (appResources.popup == True && showing_header)
- BreakPopup(toplevel, (XtPointer) NULL, (XtPointer) NULL);
-- if (raise == True)
-+ if (appResources.raise == True)
- XRaiseWindow(XtDisplay(toplevel), XtWindow(toplevel));
- redraw_window();
- #ifdef SHAPE
- shape_window();
- #endif
-- if (popup == True)
-+ if (appResources.popup == True)
- PopupMailHeader(mail_header);
- XSync(XtDisplay(toplevel), 0);
- }
-@@ -1169,7 +1197,7 @@
-
- XtRemoveTimeOut(polling_id);
- polling_id = XtAppAddTimeOut(XtWidgetToApplicationContext(toplevel),
-- (unsigned long) polling_time, Polling, NULL);
-+ (unsigned long) appResources.polling_time, (XtTimerCallbackProc) Polling, NULL);
- }
- #endif /* !YOUBIN */
-
-@@ -1749,14 +1777,23 @@
- static void beep (display)
- Display *display;
- {
--#ifdef SUN_AUDIO
-+#if defined(SUN_AUDIO) || defined(BSD_AUDIO)
- int audiofd, filefd;
-- int rn, wn, len;
-+ int rn;
-+#ifdef SUN_AUDIO
-+ int wn, len;
- unsigned char buf[256];
- Audio_filehdr *au_hdr;
- audio_info_t ais;
--
-- if (mail_sndfile) {
-+#elif defined(BSD_AUDIO)
-+ int mixerfd, mixerid, supported;
-+ static int bsize;
-+ static char *buf;
-+ struct stat sbuf;
-+ int level, level_tmp;
-+#endif
-+
-+ if (appResources.mail_sndfile) {
- audiofd = open( "/dev/audio", O_WRONLY | O_NDELAY );
- if (audiofd < 0)
- {
-@@ -1766,6 +1803,7 @@
- return;
- }
-
-+#ifdef SUN_AUDIO
- if( ioctl( audiofd, AUDIO_GETINFO, &ais ) )
- {
- fprintf(stderr, "%s: Problem retrieving /dev/audio info.\n",
-@@ -1782,15 +1820,34 @@
- return;
- }
-
-- filefd = open(mail_sndfile, O_RDONLY);
-+#elif defined(BSD_AUDIO)
-+ /* Open the mixer device */
-+ mixerfd = open ("/dev/mixer", O_RDWR, 0);
-+ if (mixerfd > 0)
-+ {
-+ if (appResources.volume > MAX_SOUND_VOL)
-+ appResources.volume = MAX_SOUND_VOL;
-+ else if (appResources.volume < MIN_SOUND_VOL)
-+ appResources.volume = MIN_SOUND_VOL;
-+ mixerid = SOUND_MIXER_PCM;
-+ /* storing volume level */
-+ ioctl(mixerfd,MIXER_READ(mixerid),&level_tmp);
-+
-+ level = (appResources.volume << 8) | appResources.volume;
-+ ioctl(mixerfd,MIXER_WRITE(mixerid),&level);
-+ }
-+#endif
-+
-+ filefd = open(appResources.mail_sndfile, O_RDONLY);
- if (filefd < 0)
- {
- fprintf(stderr, "%s: Couldn't play file \"%s\"\n",
-- "Mailbox widget", mail_sndfile);
-+ "Mailbox widget", appResources.mail_sndfile);
- close(audiofd);
- return;
- }
-
-+#ifdef SUN_AUDIO
- /* Read in the audio header */
- rn = read(filefd, buf, sizeof(Audio_filehdr));
-
-@@ -1841,12 +1898,28 @@
- usleep(1000);
- }
- }
-- close(audiofd);
-+#elif defined(BSD_AUDIO)
-+ ioctl(audiofd, SNDCTL_DSP_RESET, 0);
-+ fstat(filefd, &sbuf);
-+ bsize = sbuf.st_size;
-+ buf = malloc((u_int)bsize);
-+ if ( (rn = read(filefd, buf, bsize)) > 0)
-+ write(audiofd, buf, rn);
-+ ioctl(audiofd, SNDCTL_DSP_SYNC, 0);
-+ free(buf);
-+ if (mixerfd > 0)
-+ {
-+ /* restoring volume level */
-+ ioctl(mixerfd,MIXER_WRITE(mixerid),&level_tmp);
-+ close(mixerfd);
-+ }
-+#endif
-+ close(audiofd);
- close(filefd);
- }
- else
-- XBell (display, volume);
--#else /* !SUN_AUDIO */
-+ XBell (display, 0);
-+#else /* !SUN_AUDIO && !BSD_AUDIO */
- XBell (display, 0);
- #endif /* SUN_AUDIO */
- return;
-@@ -1888,7 +1961,7 @@
-
- if (mail_size > saved_mail_size) {
- /* NEW mail */
-- if (popup == True || *cp == ' ') {
-+ if (appResources.popup == True || *cp == ' ') {
- date = strtol(cp, &cp2, 10);
- if (*cp2 == '\0' || isspace(*cp2)) {
- get_mail_header((*cp2 == '\0') ? NULL : (cp2 + 1));
-@@ -1898,31 +1971,31 @@
- current_status = ARRIVE;
- XtResizeWidget(toplevel, Arrive_pixmap_width, Arrive_pixmap_height, 1);
- XtResizeWidget(biff, Arrive_pixmap_width, Arrive_pixmap_height, 0);
-- if (popup == True) {
-+ if (appResources.popup == True) {
- BreakPopup(toplevel, (XtPointer) NULL, (XtPointer) NULL);
- }
-- if (raise == True) {
-+ if (appResources.raise == True) {
- XRaiseWindow(XtDisplay(toplevel), XtWindow(toplevel));
- }
-- if (animate == True && mail_header != NULL) {
-+ if (appResources.animate == True && mail_header != NULL) {
- AnimateBiff();
- }
- redraw_window();
- #ifdef SHAPE
- shape_window();
- #endif
-- if (popup == True) {
-+ if (appResources.popup == True) {
- if (mail_header != NULL) {
- PopupMailHeader(mail_header);
-
-- if (popup_time)
-+ if (appResources.popup_time)
- XtAppAddTimeOut(XtWidgetToApplicationContext(toplevel),
-- (unsigned long) popup_time, BreakPopup, NULL);
-+ (unsigned long) appResources.popup_time, (XtTimerCallbackProc) BreakPopup, NULL);
- }
- }
- XSync(XtDisplay(toplevel), 0);
-- if (bell == True) {
-- beep(XtDisplay(toplevel), 0);
-+ if (appResources.bell == True) {
-+ beep(XtDisplay(toplevel));
- }
- } else if (mail_size < saved_mail_size){
- /* No mail */
-@@ -1934,10 +2007,10 @@
- #ifdef SHAPE
- shape_window();
- #endif
-- if (popup == True) {
-+ if (appResources.popup == True) {
- BreakPopup(toplevel, (XtPointer) NULL, (XtPointer) NULL);
- }
-- if (raise == True && stay_raised == False) {
-+ if (appResources.raise == True && appResources.stay_raised == False) {
- XLowerWindow(XtDisplay(toplevel), XtWindow(toplevel));
- }
- free(mail_header);
-@@ -1974,7 +2047,7 @@
- if (header_count > 1 || *cp == '\0') break;
- cp = strtok(NULL, "\n");
- }
-- if (preserve == False) {
-+ if (appResources.preserve == False) {
- free(mail_header);
- mail_header = NULL;
- }
-@@ -2024,16 +2097,16 @@
- if (current_status == ARRIVE) {
- redraw_window();
-
-- if (popup == True) {
-+ if (appResources.popup == True) {
- BreakPopup(toplevel, (XtPointer) NULL, (XtPointer) NULL);
- if (mail_header != NULL) {
- PopupMailHeader(mail_header);
- }
-- if (popup_time)
-+ if (appResources.popup_time)
- XtAppAddTimeOut(XtWidgetToApplicationContext(toplevel),
-- (unsigned long) popup_time, BreakPopup, NULL);
-+ (unsigned long) appResources.popup_time, (XtTimerCallbackProc) BreakPopup, NULL);
- }
-- if (raise == True) {
-+ if (appResources.raise == True) {
- XRaiseWindow(XtDisplay(toplevel), XtWindow(toplevel));
- }
- #ifdef SHAPE