shutoh@uunet.UU.NET (Kazuhiko Shutoh) (12/01/90)
Submitted-by: kddlab!isl.yamaha.co.jp!shutoh@uunet.UU.NET (Kazuhiko Shutoh) Posting-number: Volume 10, Issue 90 Archive-name: xpbiff/patch1 Patch-To: xpbiff: Volume 10, Issue 1 #! /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: xpbiff.patch1.comp # Wrapped by shutoh@uni on Sat Dec 1 10:48:49 1990 PATH=/bin:/usr/bin:/usr/ucb ; export PATH if test -f 'xpbiff.patch1.comp' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'xpbiff.patch1.comp'\" else echo shar: Extracting \"'xpbiff.patch1.comp'\" \(20010 characters\) sed "s/^X//" >'xpbiff.patch1.comp' <<'END_OF_FILE' Xdiff -rc old.comp/README new.comp/README X*** old.comp/README Sat Dec 1 10:33:34 1990 X--- new.comp/README Sat Dec 1 10:43:06 1990 X*************** X*** 3,9 **** X--- 3,11 ---- X X xpbiff X X+ Popup biff for X, including show mail headers. X X+ X * Command line options X X Usage : xpbiff [Toolkit-Options][-nfg noarrive_bitmap_foreground color] X*************** X*** 52,57 **** X--- 54,63 ---- X -patchlevel : X Show current patchlevel and source code version. X X+ * Adding feature: X+ X+ Keep top window stack option added(-keep). X+ Click mailbox window, redisplay mail header popup. X X * Compile X X*************** X*** 75,102 **** X Send any comments, bug reports, etc. to: shutoh@isl.yamaha.co.jp or, X for oversea: shutoh%isl.yamaha.co.jp%kddlab@uunet.uu.net X X! * Special Thanks to: X X! Test : X! X! Shingo Kawasaki(YAMAHA/ISL) X! X! Bug report & fix suggestion : X! X! Hidetsugu Nakashio <naka@soum.co.jp> X! hkato@krc.sony.co.jp (Hiroshi KATO) X! hotta@asimov.soft.flab.fujitsu.co.jp X! ikawa@onion.osaka.jip.co.jp (Ikawa Hiroki) X! makimura@agusa.nuee.nagoya-u.ac.jp (Ken Makimura) X! murase@ctf5.drl.mei.co.jp X! nishida@phantom.src.ricoh.co.jp (Akihiro Nishida) X! X! Thanks a lot!!!!!!! X! X -- X Kazuhiko Shutoh X InSoft System Lab. X YAMAHA Corp. X shutoh@isl.yamama.co.jp X X X--- 81,121 ---- X Send any comments, bug reports, etc. to: shutoh@isl.yamaha.co.jp or, X for oversea: shutoh%isl.yamaha.co.jp%kddlab@uunet.uu.net X X! * Special Thanks to comment, bug fix, testing: X X! Michael Glad <glad@daimi.aau.dk> X! Andrew Krzywdzinski <andrew@cs.utk.edu> X! Andy Malis <malis@BBN.COM> X! Bob Primmer <rprimmer%lemond.webo.dg.com@RELAY.CS.NET> X! Chris Garrigues <7thSon@SLCS.SLB.COM> X! David Asano <david@comm.toronto.edu> X! Felix Ingrand <felix@ai.sri.com> X! Hidetsugu Nakashio <naka@soum.co.jp> X! Ken Nelson <nelson@wrl.EPI.COM> X! Luis Miguel Silveira <lms@sobolev.mit.edu> X! Peter Jackson <peterj@cs.adelaide.edu.au> X! Robert Lupton (the Good) <rhl@astro.Princeton.EDU> X! Steven Reiz <sreiz@cs.vu.nl> X! Sting Takubon TAKEUCHI <take@train.ncl.omron.co.jp> X! chiba@is.s.u-tokyo.ac.jp (Chiba) X! hkato@krc.sony.co.jp (Hiroshi KATO) X! hotta@flab.fujitsu.co.jp (Yuji Hotta) X! imp@Solbourne.COM (Warner Losh) X! jgraf@smdgr1.intel.com (Jim Graf ) X! lindheim@sampson.ccsf.caltech.edu (Jan Lindheim) X! lusk@antares.mcs.anl.gov (Rusty Lusk) X! masuhara@is.s.u-tokyo.ac.jp X! murase@ctf5.drl.mei.co.jp (Kouichi Murase) X! nishida@phantom.src.ricoh.co.jp (Akihiro Nishida) X! rekers@cwi.nl (Jan Rekers) X! remy@cs.uoregon.edu (Remy Evard) X! vita@oxford.dab.ge.com (Mark Vita) X! X -- X Kazuhiko Shutoh X InSoft System Lab. X YAMAHA Corp. X shutoh@isl.yamama.co.jp X+ X X Xdiff -rc old.comp/patchlevel.h new.comp/patchlevel.h X*** old.comp/patchlevel.h Sat Dec 1 10:33:35 1990 X--- new.comp/patchlevel.h Sat Dec 1 10:38:57 1990 X*************** X*** 1,4 **** X X! #define PATCHLEVEL 0 X X X--- 1,5 ---- X X! #define PATCHLEVEL 1 X! X X Xdiff -rc old.comp/xpbiff.c new.comp/xpbiff.c X*** old.comp/xpbiff.c Sat Dec 1 10:33:36 1990 X--- new.comp/xpbiff.c Sat Dec 1 10:38:44 1990 X*************** X*** 1,11 **** X X! static char sccsid[] = "@(#)xpbiff.c 1.15 10/18/90"; X X /* X * xpbiff - popup biff for X X * X * Author: Kazuhiko Shutoh, 1990. X! * X * Permission to use, copy, modify and distribute without charge this software, X * documentation, images, etc. is granted, provided that this comment and the X * author's name is retained. The author assumes no responsibility for lost X--- 1,45 ---- X X! static char sccsid[] = "@(#)xpbiff.c 1.18 12/1/90"; X X /* X * xpbiff - popup biff for X X * X * Author: Kazuhiko Shutoh, 1990. X! * X! * Special thanks for comment, bug fix, testing to: X! * X! * Michael Glad <glad@daimi.aau.dk> X! * Andrew Krzywdzinski <andrew@cs.utk.edu> X! * Andy Malis <malis@BBN.COM> X! * Bob Primmer <rprimmer%lemond.webo.dg.com@RELAY.CS.NET> X! * Chris Garrigues <7thSon@SLCS.SLB.COM> X! * David Asano <david@comm.toronto.edu> X! * Felix Ingrand <felix@ai.sri.com> X! * Hidetsugu Nakashio <naka@soum.co.jp> X! * Ken Nelson <nelson@wrl.EPI.COM> X! * Luis Miguel Silveira <lms@sobolev.mit.edu> X! * Peter Jackson <peterj@cs.adelaide.edu.au> X! * Robert Lupton (the Good) <rhl@astro.Princeton.EDU> X! * Steven Reiz <sreiz@cs.vu.nl> X! * Sting Takubon TAKEUCHI <take@train.ncl.omron.co.jp> X! * chiba@is.s.u-tokyo.ac.jp (Chiba) X! * hkato@krc.sony.co.jp (Hiroshi KATO) X! * hotta@flab.fujitsu.co.jp (Yuji Hotta) X! * imp@Solbourne.COM (Warner Losh) X! * jgraf@smdgr1.intel.com (Jim Graf ) X! * lindheim@sampson.ccsf.caltech.edu (Jan Lindheim) X! * lusk@antares.mcs.anl.gov (Rusty Lusk) X! * masuhara@is.s.u-tokyo.ac.jp X! * murase@ctf5.drl.mei.co.jp (Kouichi Murase) X! * nishida@phantom.src.ricoh.co.jp (Akihiro Nishida) X! * rekers@cwi.nl (Jan Rekers) X! * remy@cs.uoregon.edu (Remy Evard) X! * vita@oxford.dab.ge.com (Mark Vita) X! * X! * X! * THANKS A LOT!!!! X! * X! * X * Permission to use, copy, modify and distribute without charge this software, X * documentation, images, etc. is granted, provided that this comment and the X * author's name is retained. The author assumes no responsibility for lost X*************** X*** 19,29 **** X--- 53,72 ---- X #include <X11/Intrinsic.h> X #include <X11/StringDefs.h> X #include <X11/Shell.h> X+ #ifndef X11R3 X #include <X11/Xaw/Box.h> X #include <X11/Xaw/Label.h> X #include <X11/Xaw/Command.h> X #include <X11/Xaw/AsciiText.h> X #include <X11/Xaw/Cardinals.h> X+ #include <X11/Xmu/Drawing.h> X+ #else X+ #include <X11/Box.h> X+ #include <X11/Label.h> X+ #include <X11/Command.h> X+ #include <X11/AsciiText.h> X+ #include <X11/Cardinals.h> X+ #endif X #include <X11/Xos.h> X #include <fcntl.h> X #include <sys/types.h> X*************** X*** 48,61 **** X X XtCallbackProc redraw_callback(); X XtCallbackProc BreakPopup(); X XtTimerCallbackProc Polling(); X char *GetMailHeader(); X void PopupMailHeader(); X void AnimateBiff(); X X- X Widget toplevel, biff, header, info_base, info, popdown_button; X X /* X * widget tree: X * X--- 91,105 ---- X X XtCallbackProc redraw_callback(); X XtCallbackProc BreakPopup(); X+ XtCallbackProc popup_again(); X XtTimerCallbackProc Polling(); X char *GetMailHeader(); X void PopupMailHeader(); X void AnimateBiff(); X X Widget toplevel, biff, header, info_base, info, popdown_button; X X+ X /* X * widget tree: X * X*************** X*** 68,73 **** X--- 112,120 ---- X Pixmap arrivePixmap, noPixmap, workPixmap; X int width, height; X unsigned char current_status; X+ unsigned char showing_header = 0; X+ long mail_size = 0; X+ XtIntervalId polling_id; X X String colors[4] = {"dummy_colorname", "dummy_colorname", "dummy_colorname", "dummy_colorname"}; X char spool_path[100]; X*************** X*** 74,84 **** X--- 121,134 ---- X unsigned long polling_time = 15000; /* Default 15 second */ X X unsigned char raise = True; X+ unsigned char stay_raised = False; X unsigned char animate = True; X unsigned char popup = True; X unsigned char bell = True; X unsigned char popdown = True; X X+ unsigned int no_bitmap_width, no_bitmap_height; X+ X main(argc, argv) X int argc; X char **argv; X*************** X*** 88,100 **** X XtTranslations newTranslations; X static XtActionsRec redrawActions[] = { X {"expose", (XtCallbackProc) redraw_callback}, X }; X X static char *overrideTranslations = X "<Expose>: expose() \n\ X! <ResReq>: expose()"; X X XColor backColor, foreColor, dummyColor; X X int i; X int count; X--- 138,153 ---- X XtTranslations newTranslations; X static XtActionsRec redrawActions[] = { X {"expose", (XtCallbackProc) redraw_callback}, X+ {"select", (XtCallbackProc) popup_again}, X }; X X static char *overrideTranslations = X "<Expose>: expose() \n\ X! <ResReq>: expose() \n\ X! <Btn1Up>: select()"; X X XColor backColor, foreColor, dummyColor; X+ char *no_arrival_bitmap_file; X X int i; X int count; X*************** X*** 114,119 **** X--- 167,173 ---- X X toplevel = XtInitialize("xpbiff", "XPbiff", NULL, 0, &argc, argv); X X+ no_arrival_bitmap_file = NULL; X for (count = 1; count < argc; count++) { X if ((strcmp("-nfg", argv[count]) == 0) && (count + 1 <= argc)) X strcpy(colors[0], argv[++count]); X*************** X*** 127,132 **** X--- 181,188 ---- X polling_time = (unsigned long) atol(argv[++count]); X else if ((strcmp("-noraise", argv[count]) == 0) && (count + 1 <= argc)) X raise = False; X+ else if ((strcmp("-keepup", argv[count]) == 0) && (count + 1 <= argc)) X+ stay_raised = True; X else if ((strcmp("-nopopup", argv[count]) == 0) && (count + 1 <= argc)) X popup = False; X else if ((strcmp("-noanimate", argv[count]) == 0) && (count + 1 <= argc)) X*************** X*** 142,153 **** X strcpy(colors[3], "black"); X } else if ((strcmp("-patchlevel", argv[count]) == 0) && (count + 1 <= argc)) { X printf("xpbiff - written by Kazuhiko Shutoh\nSCCS ID : %s\nPatchlevel : %d\n", sccsid, PATCHLEVEL); X exit(0); X } else { X fprintf(stderr, "Usage : xpbiff [Toolkit-Options][-nfg noarrive_bitmap_foreground color]\n"); X fprintf(stderr, " [-nbg noarrive_bitmap_background_color][-afg arrive_bitmap_foreground_color]\n"); X fprintf(stderr, " [-abg arrive_bitmap_background_color][-polling_time time(msec)]\n"); X! fprintf(stderr, " [-noraise][-nopopup][-noanimate][-nopopdown][-nobell][-mono][-patchlevel]\n"); X exit(0); X } X } X--- 198,239 ---- X strcpy(colors[3], "black"); X } else if ((strcmp("-patchlevel", argv[count]) == 0) && (count + 1 <= argc)) { X printf("xpbiff - written by Kazuhiko Shutoh\nSCCS ID : %s\nPatchlevel : %d\n", sccsid, PATCHLEVEL); X+ printf("\nSpecial thanks to:\n\ X+ Michael Glad <glad@daimi.aau.dk>\n\ X+ Andrew Krzywdzinski <andrew@cs.utk.edu>\n\ X+ Andy Malis <malis@BBN.COM>\n\ X+ Bob Primmer <rprimmer%lemond.webo.dg.com@RELAY.CS.NET>\n\ X+ Chris Garrigues <7thSon@SLCS.SLB.COM>\n\ X+ David Asano <david@comm.toronto.edu>\n\ X+ Felix Ingrand <felix@ai.sri.com>\n\ X+ Hidetsugu Nakashio <naka@soum.co.jp>\n\ X+ Ken Nelson <nelson@wrl.EPI.COM>\n\ X+ Luis Miguel Silveira <lms@sobolev.mit.edu>\n\ X+ Peter Jackson <peterj@cs.adelaide.edu.au>\n\ X+ Robert Lupton (the Good) <rhl@astro.Princeton.EDU>\n\ X+ Steven Reiz <sreiz@cs.vu.nl>\n\ X+ Sting Takubon TAKEUCHI <take@train.ncl.omron.co.jp>\n\ X+ chiba@is.s.u-tokyo.ac.jp (Chiba)\n\ X+ hkato@krc.sony.co.jp (Hiroshi KATO)\n\ X+ hotta@flab.fujitsu.co.jp (Yuji Hotta)\n\ X+ imp@Solbourne.COM (Warner Losh)\n\ X+ jgraf@smdgr1.intel.com (Jim Graf )\n\ X+ lindheim@sampson.ccsf.caltech.edu (Jan Lindheim)\n\ X+ lusk@antares.mcs.anl.gov (Rusty Lusk)\n\ X+ masuhara@is.s.u-tokyo.ac.jp\n\ X+ murase@ctf5.drl.mei.co.jp (Kouichi Murase)\n\ X+ nishida@phantom.src.ricoh.co.jp (Akihiro Nishida) \n\ X+ rekers@cwi.nl (Jan Rekers)\n\ X+ remy@cs.uoregon.edu (Remy Evard)\n\ X+ vita@oxford.dab.ge.com (Mark Vita)\n"); X exit(0); X+ } else if ((strcmp("-bitmap", argv[count]) == 0) && (count + 1 <= argc)) { X+ no_arrival_bitmap_file = argv[++count]; X } else { X fprintf(stderr, "Usage : xpbiff [Toolkit-Options][-nfg noarrive_bitmap_foreground color]\n"); X fprintf(stderr, " [-nbg noarrive_bitmap_background_color][-afg arrive_bitmap_foreground_color]\n"); X fprintf(stderr, " [-abg arrive_bitmap_background_color][-polling_time time(msec)]\n"); X! fprintf(stderr, " [-noraise][-nopopup][-noanimate][-nopopdown][-keepup][-nobell][-mono][-patchlevel][-bitmap bitmap_file]\n"); X exit(0); X } X } X*************** X*** 169,178 **** X X XAllocNamedColor(XtDisplay(toplevel), DefaultColormapOfScreen(XtScreen(toplevel)), colors[0], &foreColor, &dummyColor); X XAllocNamedColor(XtDisplay(toplevel), DefaultColormapOfScreen(XtScreen(toplevel)), colors[1], &backColor, &dummyColor); X! noPixmap = XCreatePixmapFromBitmapData(XtDisplay(toplevel), XtWindow(biff), X! no_bits, no_width, no_height, foreColor.pixel, X! backColor.pixel, DefaultDepthOfScreen(XtScreen(toplevel))); X X gcBiff = XCreateGC(XtDisplay(toplevel), XtWindow(biff), X (unsigned long) 0, NULL); X XSetGraphicsExposures(XtDisplay(toplevel), gcBiff, False); X--- 255,287 ---- X X XAllocNamedColor(XtDisplay(toplevel), DefaultColormapOfScreen(XtScreen(toplevel)), colors[0], &foreColor, &dummyColor); X XAllocNamedColor(XtDisplay(toplevel), DefaultColormapOfScreen(XtScreen(toplevel)), colors[1], &backColor, &dummyColor); X! if(no_arrival_bitmap_file == NULL) { X! noPixmap = XCreatePixmapFromBitmapData(XtDisplay(toplevel), XtWindow(biff), no_bits, no_width, X! no_height, foreColor.pixel, backColor.pixel, DefaultDepthOfScreen(XtScreen(toplevel))); X! no_bitmap_width = no_width; X! no_bitmap_height = no_height; X! } X! else { X! int usr_bitmap_x, usr_bitmap_y; X! unsigned char *usr_bitmap_data; X X+ if(XmuReadBitmapDataFromFile(no_arrival_bitmap_file, &no_bitmap_width, &no_bitmap_height, X+ &usr_bitmap_data, &usr_bitmap_x, &usr_bitmap_y) != BitmapSuccess) { X+ fprintf(stderr, "cannot make a bitmap '%s'.\n", no_arrival_bitmap_file); X+ exit(1); X+ } X+ X+ noPixmap = XCreatePixmapFromBitmapData(XtDisplay(toplevel), XtWindow(biff), usr_bitmap_data, X+ no_bitmap_width, no_bitmap_height, foreColor.pixel, backColor.pixel, X+ DefaultDepthOfScreen(XtScreen(toplevel))); X+ i = 0; X+ XtSetArg(args[i], XtNwidth, no_bitmap_width); X+ i++; X+ XtSetArg(args[i], XtNheight, no_bitmap_height); X+ i++; X+ XtSetValues(biff, args, i); X+ } X+ X gcBiff = XCreateGC(XtDisplay(toplevel), XtWindow(biff), X (unsigned long) 0, NULL); X XSetGraphicsExposures(XtDisplay(toplevel), gcBiff, False); X*************** X*** 197,203 **** X X X /* Interval timer start */ X! XtAddTimeOut(polling_time, Polling, NULL); X X XtMainLoop(); X } X--- 306,312 ---- X X X /* Interval timer start */ X! polling_id = XtAddTimeOut(polling_time, Polling, NULL); X X XtMainLoop(); X } X*************** X*** 223,229 **** X if (current_status == ARRIVE) { X XCopyArea(XtDisplay(toplevel), arrivePixmap, XtWindow(biff), gcBiff, 0, 0, arrive_width, arrive_height, 0, 0); X } else { X! XCopyArea(XtDisplay(toplevel), noPixmap, XtWindow(biff), gcBiff, 0, 0, arrive_width, arrive_height, 0, 0); X } X } X X--- 332,338 ---- X if (current_status == ARRIVE) { X XCopyArea(XtDisplay(toplevel), arrivePixmap, XtWindow(biff), gcBiff, 0, 0, arrive_width, arrive_height, 0, 0); X } else { X! XCopyArea(XtDisplay(toplevel), noPixmap, XtWindow(biff), gcBiff, 0, 0, no_bitmap_width, no_bitmap_height, 0, 0); X } X } X X*************** X*** 231,240 **** X XtTimerCallbackProc X Polling(client_data, id) X caddr_t client_data; X! XtIntervalId id; X { X X- static long mail_size = 0; X struct stat file_stat; X char *mail_header; X X--- 340,348 ---- X XtTimerCallbackProc X Polling(client_data, id) X caddr_t client_data; X! XtIntervalId *id; X { X X struct stat file_stat; X char *mail_header; X X*************** X*** 279,285 **** X XBell(XtDisplay(toplevel), 0); X } else { X mail_size = file_stat.st_size; X! if (raise == True) X XLowerWindow(XtDisplay(toplevel), XtWindow(toplevel)); X if (popup == True) X BreakPopup(toplevel, (XtPointer) NULL, (XtPointer) NULL); X--- 387,393 ---- X XBell(XtDisplay(toplevel), 0); X } else { X mail_size = file_stat.st_size; X! if (raise == True && stay_raised == False) X XLowerWindow(XtDisplay(toplevel), XtWindow(toplevel)); X if (popup == True) X BreakPopup(toplevel, (XtPointer) NULL, (XtPointer) NULL); X*************** X*** 289,296 **** X if (current_status == ARRIVE) { X current_status = NO; X XCopyArea(XtDisplay(toplevel), noPixmap, XtWindow(biff), gcBiff, 0, 0, X! arrive_width, arrive_height, 0, 0); X! if (raise == True) X XLowerWindow(XtDisplay(toplevel), XtWindow(toplevel)); X if (popup == True) X BreakPopup(toplevel, (XtPointer) NULL, (XtPointer) NULL); X--- 397,404 ---- X if (current_status == ARRIVE) { X current_status = NO; X XCopyArea(XtDisplay(toplevel), noPixmap, XtWindow(biff), gcBiff, 0, 0, X! no_bitmap_width, no_bitmap_height, 0, 0); X! if (raise == True && stay_raised == False) X XLowerWindow(XtDisplay(toplevel), XtWindow(toplevel)); X if (popup == True) X BreakPopup(toplevel, (XtPointer) NULL, (XtPointer) NULL); X*************** X*** 297,303 **** X } X /* No arrive */ X X! XtAddTimeOut(polling_time, Polling, NULL); X X } X X--- 405,411 ---- X } X /* No arrive */ X X! polling_id = XtAddTimeOut(polling_time, Polling, NULL); X X } X X*************** X*** 385,391 **** X X free(head); X X! XtPopup(header, XtGrabExclusive); X } X X X--- 493,502 ---- X X free(head); X X! XtPopup(header, XtGrabNone); X! X! showing_header = 1; X! X } X X X*************** X*** 395,407 **** X X struct stat status; X int fd; X! char *mail_header, *mail_buffer, *head; X X /* get mail headers */ X X fd = open(spool_path, O_RDONLY); X fstat(fd, &status); X! mail_buffer = (char *) malloc((unsigned int) (status.st_size + 1)); X head = mail_header = (char *) malloc((unsigned int) (status.st_size + 1)); X read(fd, mail_buffer, status.st_size); X close(fd); X--- 506,518 ---- X X struct stat status; X int fd; X! char *mail_buffer_saved, *mail_header, *mail_buffer, *head; X X /* get mail headers */ X X fd = open(spool_path, O_RDONLY); X fstat(fd, &status); X! mail_buffer = mail_buffer_saved = (char *) malloc((unsigned int) (status.st_size + 1)); X head = mail_header = (char *) malloc((unsigned int) (status.st_size + 1)); X read(fd, mail_buffer, status.st_size); X close(fd); X*************** X*** 420,426 **** X X } X *mail_header = NULL; X! X free(mail_buffer); X return (head); X X--- 531,538 ---- X X } X *mail_header = NULL; X! X! free(mail_buffer_saved); X free(mail_buffer); X return (head); X X*************** X*** 437,441 **** X--- 549,603 ---- X X XtPopdown(header); X XtDestroyWidget(header); X+ X+ showing_header = 0; X+ } X+ X+ XtCallbackProc X+ popup_again(widget, client_data, call_data) X+ Widget widget; X+ caddr_t client_data; X+ caddr_t call_data; X+ { X+ struct stat file_stat; X+ char *mail_header; X+ X+ if ((stat(spool_path, &file_stat) == 0) && (file_stat.st_size != 0)) { X+ /* There are mail */ X+ if (current_status == NO) { X+ /* the click catchs new mail */ X+ current_status = ARRIVE; X+ mail_size = file_stat.st_size; X+ if (popup == True) X+ mail_header = GetMailHeader(); X+ if (raise == True) X+ XRaiseWindow(XtDisplay(toplevel), XtWindow(toplevel)); X+ if (animate == True) X+ AnimateBiff(); X+ XCopyArea(XtDisplay(toplevel), arrivePixmap, XtWindow(biff), X+ gcBiff, 0, 0, arrive_width, arrive_height, 0, 0); X+ if (popup == True) X+ PopupMailHeader(mail_header); X+ XSync(XtDisplay(toplevel), 0); X+ if (bell == True) X+ XBell(XtDisplay(toplevel), 0); X+ } else { X+ mail_size = file_stat.st_size; X+ if (popup == True) X+ mail_header = GetMailHeader(); X+ if (popup == True && showing_header) X+ BreakPopup(toplevel, (XtPointer) NULL, (XtPointer) NULL); X+ if (raise == True) X+ XRaiseWindow(XtDisplay(toplevel), XtWindow(toplevel)); X+ XCopyArea(XtDisplay(toplevel), arrivePixmap, XtWindow(biff), X+ gcBiff, 0, 0, arrive_width, arrive_height, 0, 0); X+ if (popup == True) X+ PopupMailHeader(mail_header); X+ XSync(XtDisplay(toplevel), 0); X+ } X+ } X+ X+ XtRemoveTimeOut(polling_id); X+ polling_id = XtAddTimeOut(polling_time, Polling, NULL); X X } END_OF_FILE if test 20010 -ne `wc -c <'xpbiff.patch1.comp'`; then echo shar: \"'xpbiff.patch1.comp'\" unpacked with wrong size! fi # end of 'xpbiff.patch1.comp' fi echo shar: End of shell archive. exit 0 dan ---------------------------------------------------- O'Reilly && Associates argv@sun.com / argv@ora.com Opinions expressed reflect those of the author only. -- dan ---------------------------------------------------- O'Reilly && Associates argv@sun.com / argv@ora.com Opinions expressed reflect those of the author only.