From: http://distro.ibiblio.org/amigolinux/download/DockApps/wmymail-0.3/wmymail-0.3.tar.bz2 --- wmymail/ChangeLog | 49 +++++ wmymail/Makefile | 50 +++++ wmymail/README | 75 +++++++ wmymail/README.old | 66 ++++++ wmymail/VERSION | 1 + wmymail/lsm.in | 12 ++ wmymail/raw-envelope.jpg | Bin 0 -> 40702 bytes wmymail/wmymail-0.3.lsm | 13 ++ wmymail/wmymail.c | 545 +++++++++++++++++++++++++++++++++++++++++++++++ wmymail/xpm/main.xpm | 142 ++++++++++++ wmymail/xpm/mbox_1.xpm | 182 ++++++++++++++++ wmymail/xpm/mbox_2.xpm | 254 ++++++++++++++++++++++ wmymail/xpm/mbox_3.xpm | 292 +++++++++++++++++++++++++ wmymail/xpm/numbers.xpm | 16 ++ wmymail/xpm/unumbers.xpm | 16 ++ 15 files changed, 1713 insertions(+) create mode 100644 wmymail/ChangeLog create mode 100644 wmymail/Makefile create mode 100644 wmymail/README create mode 100644 wmymail/README.old create mode 100644 wmymail/VERSION create mode 100644 wmymail/lsm.in create mode 100644 wmymail/raw-envelope.jpg create mode 100644 wmymail/wmymail-0.3.lsm create mode 100644 wmymail/wmymail.c create mode 100644 wmymail/xpm/main.xpm create mode 100644 wmymail/xpm/mbox_1.xpm create mode 100644 wmymail/xpm/mbox_2.xpm create mode 100644 wmymail/xpm/mbox_3.xpm create mode 100644 wmymail/xpm/numbers.xpm create mode 100644 wmymail/xpm/unumbers.xpm
diff --git a/wmymail/ChangeLog b/wmymail/ChangeLog new file mode 100644 index 0000000..b99dbac --- /dev/null +++ b/wmymail/ChangeLog @@ -0,0 +1,49 @@ +ChangeLog for wmymail +--------------------- + +2004-06-11 Joshua Swink <yaths...@yahoo.com> + + * Version 0.3 + + * Documentation (code comments, README, LSM file) + +2002-08-28 Thomas Nemeth <tnem...@free.fr> + + * Added -m/--mailbox option for specifying mailbox when no $MAIL + variable is available + + * Corrected the misbehavior about zombie child process + +2002-03-27 Joshua Swink <jsw...@pacbell.net> + + * Change error message about unset MAIL variable + +2001-07-26 Joshua Swink <jsw...@pacbell.net> + + * Version 0.2 + + * Changed -f (for fetchmail) to -F + + * Added -n/--newcommand option for something to run when new mail + is received + + * Added -c/--command option for something to run when clicked + + * Reduced xpm file sizes by reducing their colors in the Gimp + + * checkfetchmail() - use mkstemp() + + * Add -Wall to Makefile's CFLAGS (and fix resulting warnings) + + * Remove code that futzes with the mail file's access time + + * parseMailFile() - less likely to misinterpret a message with long lines + +2001-06-06 Joshua Swink <jsw...@pacbell.net> + + * Version 0.1 + + * Change lots of stuff + + * Fork from wmail + diff --git a/wmymail/Makefile b/wmymail/Makefile new file mode 100644 index 0000000..d9812c2 --- /dev/null +++ b/wmymail/Makefile @@ -0,0 +1,50 @@ +# +# Makefile for wmymail +# + + +PROGRAM=wmymail + +VERSION=$(shell cat VERSION) +DISTDIR=$(PROGRAM)-$(VERSION) +TARBALL=$(PROGRAM)-$(VERSION).tar.gz +LSM=$(PROGRAM)-$(VERSION).lsm + +CC = cc +LIBS = -L/usr/X11R6/lib -lX11 -lXpm -lXext -ldockapp +CFLAGS = -O2 -I/usr/X11R6/include -Wall +XPMS = xpm/main.xpm xpm/mbox_1.xpm xpm/mbox_2.xpm xpm/mbox_3.xpm \ + xpm/numbers.xpm xpm/unumbers.xpm +DISTFILES = Makefile README README.old ChangeLog wmymail.c \ + raw-envelope.jpg lsm.in VERSION + +default all target: wmymail + +wmymail: wmymail.o + $(CC) $< $(CFLAGS) $(LIBS) -o $@ + +wmymail.o: wmymail.c $(XPMS) + $(CC) $(CFLAGS) $(MY_INCS) -o $@ -c $< + +clean: + rm -f wmymail wmymail.o $(LSM) $(TARBALL) + rm -fr $(DISTDIR) + +dist: $(TARBALL) + +lsm: $(LSM) + +$(LSM): + make-lsm + +$(TARBALL): $(DISTFILES) $(LSM) + rm -fr $(DISTDIR) + mkdir -p $(DISTDIR)/xpm + cp $(DISTFILES) $(DISTDIR) + cp $(XPMS) wmymail-$(VERSION)/xpm + rm -f wmymail-$(VERSION).tar.gz + tar -c $(DISTDIR) | gzip > $(TARBALL) + make-lsm + cp $(LSM) $(DISTDIR) + tar -c $(DISTDIR) | gzip > $(TARBALL) + diff --git a/wmymail/README b/wmymail/README new file mode 100644 index 0000000..4c93881 --- /dev/null +++ b/wmymail/README @@ -0,0 +1,75 @@ + + readme for wmymail - mail checker dock application + +wmymail is a dock application that shows how many messages are in your +mailbox, and how many of them are unread. When there are new messages, +it displays one or more brightly colored envelopes. Otherwise, it +displays a dull, gray envelope. + + +BEHAVIOR +======== + +mbox (local mail file) (default) +-------------------------------- + +By default, it will check your mailbox file about once per second to +see if it has changed. If it has changed, wmymail reads it to see how +many messages are inside, and how many have been read, and displays +the current counts. + + * It looks at the filename specified in the $MAIL environment + variable. + + * You can tell it to look in a different file by using the -m + option, e.g. "wmymail -m /var/foo/mail/username" + + * You can make it check less frequently with the -i option, which + changes the interval between mailbox checks: + "wmymail -i 60" will make it check once per minute. + +IMAP +---- + +If you are using IMAP for your email, you will need to use the -F +option. This option makes wmymail run fetchmail to determine how +many messages you have. + +Since running fetchmail takes considerably longer than checking +a local file, wmymail checks once per minute when -F is used. +Furthermore, the -i option now specifies the number of minutes: +"wmymail -F -i 5" would make it check every five minutes. + +The command that wmymail runs is: "fetchmail -c" +Therefore, you will need to have fetchmail set up and working prior +to using wmymail. + + +HISTORY +======= + +The current maintainer is Joshua Swink, <yaths...@yahoo.com>. + +This program forked from version 1.1 of wmail, a similar dock app with +different goals. + +wmail may be found here: + http://dockapps.org/file.php/id/70 + +And here is its old homepage (no longer exists): + http://www.informatik.uni-jena.de/~topical/sveng/wmail.html + + +INSTALLATION +============ + +You will need libdockapp, which can probably be found here: + + ftp://shadowmere.student.utwente.nl/pub/WindowMaker/ + +Then, run "make", and "strip wmymail" if desired, and finally +copy wmymail to a directory in your path. + +Making it show up on your dock or wharf or pier varies greatly +according to your window manager, and won't be explained here. + diff --git a/wmymail/README.old b/wmymail/README.old new file mode 100644 index 0000000..1d28cdf --- /dev/null +++ b/wmymail/README.old @@ -0,0 +1,66 @@ +name : wmail (Window Maker DockApp email flag) +current version : 1.1 +last update : Oct 13 2000 + +description : + + This is wmail - a little dockable application watching your email-file + and signaling changes. It works quite similar to xbiff + but provides a more informative, more interactive and yes, more colorful nice + little gui displaying some useful pieces of state-informations about that + file. + It uses the $MAIL environment-variable to locate the email-file you are using, + other mailing mechanisms like POP or IMAP are currently not supported. + + It shows the following: + + - a mail-icon in the upper-left if the file contains some mails + - a frequently blinking mail-text in the upper-right if there are unread mails + - a ticker displaying eighter the complete mail-adress, it's name-part or the + full sender name + - the number of emails stored in the file + + In addition, the button labeled `Client' allowes you to quickly run your + preferred email-client. + + Last, there are some attributes you can customize via the command-line. + So it's possible to set the interval-time between the updates, the + shell-command to run the client, what the ticker has to show and what colors + should be used. Custom coloring is what every dockapp should support, but + unfortunatly most didn't came with this nice and useful feature :( + + Bugs: be sure there are! Since many time and motivation is needed to clean + even such a little app properly there are good chances this friendly toy + will change into an aggressive animal ready to cause irreversible damage - + thus, keep in mind this code comes with absolutly no warran...blablabla + >>Please let me know, if something works wrong<< + +requirements : + + this application needs libdockapp v0.2 or newer + +compile : + + this code is known to work under linux v2.10 and osf v3.2 (tested) + together with Window Maker v0.60.0 and docklib v0.2. I've provided a simple + Makefile you can use to build the binary - edit that file to suit your needs. + +run : + + try wmail -h to see a list of options. + +download : + + www.crosswinds.net/~sveniboy/wmail.html + +maintainer : + + Sven Geisenhainer <sv...@informatik.uni-jena.de> + +final words : + + Thanx to all the GNUstep and Window Maker people who've provided us + with such a great user environment! + + Hope you will enjoy! + Sven. diff --git a/wmymail/VERSION b/wmymail/VERSION new file mode 100644 index 0000000..be58634 --- /dev/null +++ b/wmymail/VERSION @@ -0,0 +1 @@ +0.3 diff --git a/wmymail/lsm.in b/wmymail/lsm.in new file mode 100644 index 0000000..0f01250 --- /dev/null +++ b/wmymail/lsm.in @@ -0,0 +1,12 @@ +Begin4 +Title: wmymail +Version: 0.3 +Entered-date: 2004-01-01 +Description: wmymail is a mail-checking dock app. +Keywords: X11, email, dockapp +Author: yaths...@yahoo.com (Joshua Swink) +Maintained-by: yaths...@yahoo.com (Joshua Swink) +Primary-site: http://yath.mine.nu/wmymail/ +Platforms: X11 +Copying-policy: public domain +End diff --git a/wmymail/raw-envelope.jpg b/wmymail/raw-envelope.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bc6d120d52f722b82bcb140735fe659a4b396b0e GIT binary patch literal 40702 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 K=Ic$#<p0^r!Q}h^ literal 0 HcmV?d00001 diff --git a/wmymail/wmymail-0.3.lsm b/wmymail/wmymail-0.3.lsm new file mode 100644 index 0000000..06dd33d --- /dev/null +++ b/wmymail/wmymail-0.3.lsm @@ -0,0 +1,13 @@ +Begin4 +Title: wmymail +Version: 0.3 +Entered-date: 2004-11-06 +Description: wmymail is a mail-checking dock app. +Keywords: X11, email, dockapp +Author: yaths...@yahoo.com (Joshua Swink) +Maintained-by: yaths...@yahoo.com (Joshua Swink) +Primary-site: http://yath.mine.nu/wmymail/ + 56.2kb wmymail-0.3.tar.gz +Platforms: X11 +Copying-policy: public domain +End diff --git a/wmymail/wmymail.c b/wmymail/wmymail.c new file mode 100644 index 0000000..d0dfc81 --- /dev/null +++ b/wmymail/wmymail.c @@ -0,0 +1,545 @@ +/* wmymail.c - mail checking dockapp */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <signal.h> +#include <utime.h> +#include <sys/time.h> +#include <sys/stat.h> +#include <unistd.h> +#include <X11/Xlib.h> +#include <dockapp.h> + +#include "xpm/main.xpm" +#include "xpm/numbers.xpm" +#include "xpm/unumbers.xpm" +#include "xpm/mbox_1.xpm" +#include "xpm/mbox_2.xpm" +#include "xpm/mbox_3.xpm" + +/* + * Some definitions required by libdockapp + */ + +#define NAME "wmymail" +#define VERSION "wmymail v0.3 November 6, 2004" + +// default mail check interval, in seconds (default) or minutes (with -F) +#define CHECKINTERVAL 1 + +// global data + +char *displayName = ""; +char *mailPath = NULL; +char *fontColor = ""; +char *background = ""; +char *clickcommand = ""; +char *newcommand = ""; +int numMessages = 0; +int lastnumMessages = 0; +int numRead = 0; +int numUnread = 0; +int lastnumUnread = 0; +int buttonpressed = 0; + +/* + * usefetchmail means to run "fetchmail -c" and parse the output, rather + * than counting up messages in an mbox file. + + * It will change the interval from seconds to minutes. + */ + +int usefetchmail = 0; +int flip = 1; +int checkInterval = CHECKINTERVAL; +time_t lastModifySeconds = 0; +off_t lastSize = 0; + +Pixmap mainPixmap; +Pixmap numbersPixmap; +Pixmap unumbersPixmap; +Pixmap mboxonePixmap; +Pixmap mboxtwoPixmap; +Pixmap mboxthreePixmap; +Pixmap outPixmap1; +Pixmap outPixmap2; +GC defaultGC; + +static DAProgramOption options[] = { + + {"-display", NULL, "display to use", + DOString, False, {&displayName}}, + + {"-i", "--interval", "seconds between mailbox checks (default 1)", + DONatural, False, {&checkInterval} }, + + {"-fc", "--fontcolor", "custom font color", + DOString, False, {&fontColor} }, + + {"-bg", "--background", "custom background color for non-shaped window", + DOString, False, {&background} }, + + {"-ns", "--noshape", "make the dock app non-shaped (windowed)", + DONone, False, {NULL} }, + + {"-F", "--fetchmail", "check with fetchmail -c instead of the mbox", + DONone, False, {NULL} }, + + {"-c", "--command", "command to run when clicked", + DOString, False, {&clickcommand} }, + + {"-n", "--newcommand", "command to run when new mail is received", + DOString, False, {&newcommand} }, + + {"-m", "--mailbox", "mailbox to use when $MAIL is not set", + DOString, False, {&mailPath} } + +}; + +// prototypes + +void checkForNewMail(int dummy); +void updatePixmap(void); +void parseMailFile( struct stat *fileStat ); +char *getHexColorString( char *colorName ); +void putnumber (int number, Pixmap pixmap, Pixmap numbers, + int destx, int desty); +void buttonpress(int button, int state, int x, int y); +void buttonrelease(int button, int state, int x, int y); +void checkfetchmail (void); +void checkmbox (void); +void launch (const char *command); + +// functions + +int main(int argc, char **argv) { + Pixmap mainPixmap_mask; + + unsigned width, height; + + DACallbacks callbacks = { NULL, &buttonpress, &buttonrelease, + NULL, NULL, NULL, NULL }; + + struct sigaction sa; + + sa.sa_handler = SIG_IGN; +#ifdef SA_NOCLDWAIT + sa.sa_flags = SA_NOCLDWAIT; +#else + sa.sa_flags = 0; +#endif + sigemptyset(&sa.sa_mask); + sigaction(SIGCHLD, &sa, NULL); + + + DAParseArguments(argc, argv, options, + sizeof(options) / sizeof(DAProgramOption), + NAME, VERSION); + + DAInitialize(displayName, "wmymail", 64, 64, argc, argv); + + // simple recoloring of the raw xpms befor creating Pixmaps of them + // this works as long as you don't "touch" the images... + + if (options[2].used) { // custom font color ? + char *colorLine = strdup("+ c #"); + + strcat(colorLine, getHexColorString(fontColor)); + + colorLine = strdup("+ c #"); + strcat(colorLine, getHexColorString(fontColor)); + numbers_xpm[3] = colorLine; + } + + if (options[3].used && options[8].used) { // custom window background ? + char *colorLine = strdup(" c #"); + + strcat(colorLine, getHexColorString(background)); + main_xpm[1] = colorLine; + } + + DAMakePixmapFromData(main_xpm, &mainPixmap, &mainPixmap_mask, &width, &height); + DAMakePixmapFromData(numbers_xpm, &numbersPixmap, NULL, &width, &height); + DAMakePixmapFromData(unumbers_xpm, &unumbersPixmap, NULL, &width, &height); + + DAMakePixmapFromData(mbox_1_xpm, &mboxonePixmap, NULL, &width, &height); + DAMakePixmapFromData(mbox_2_xpm, &mboxtwoPixmap, NULL, &width, &height); + DAMakePixmapFromData(mbox_3_xpm, &mboxthreePixmap, NULL, &width, &height); + + if (!options[4].used) // no shape to install + DASetShape(mainPixmap_mask); + + if (options[5].used) // use fetchmail + usefetchmail = 1; + else if (mailPath == NULL) { + if ((mailPath = getenv("MAIL")) == NULL) { + perror("Please define your MAIL environment variable!\n"); + exit(1); + } + } + + DASetCallbacks( &callbacks ); + DASetTimeout(-1); + + outPixmap1 = DAMakePixmap(); + outPixmap2 = DAMakePixmap(); + defaultGC = XDefaultGC(DADisplay, 0); + + signal(SIGALRM, checkForNewMail); + + updatePixmap(); + + DAShow(); + + checkForNewMail(0); + + DAEventLoop(); + + return 0; +} + +char *getHexColorString(char *colorName) { + XColor color; + char *hexColorString; + + if (!XParseColor(DADisplay, + DefaultColormap(DADisplay, DefaultScreen( DADisplay)), + colorName, &color)) + { + printf("unknown colorname: \"%s\"\n", colorName); + exit(1); + } + + hexColorString = (char *)malloc(7); + sprintf(hexColorString, "%02X%02X%02X", color.red>>8, color.green>>8, + color.blue>>8); + + return hexColorString; +} + + /* + * + * checkForNewMail + * + */ + +void checkForNewMail(int dummy) { + struct itimerval timerVal; + + if (usefetchmail) { + checkfetchmail(); + } else { + checkmbox(); + } + + if (numMessages != lastnumMessages || + numUnread != lastnumUnread) { + updatePixmap(); + if (numUnread > lastnumUnread && strlen(newcommand) > 0) + launch(newcommand); + lastnumMessages = numMessages; + lastnumUnread = numUnread; + } + + memset(&timerVal, 0, sizeof(timerVal)); + + if (usefetchmail) { + timerVal.it_value.tv_sec = checkInterval * 60; + } else { + timerVal.it_value.tv_sec = checkInterval; + } + + setitimer(ITIMER_REAL, &timerVal, NULL); +} + + /* + * + * checkfetchmail + * + */ + +void checkfetchmail (void) { + int msgtotal = 0; + int msgseen = 0; + int snpret; + char tmpfile[20] = "wmymail.XXXXXX"; + char syscmd[120]; + char line[1024]; + char *s, *t; + int fd; + FILE *f; + + + fd = mkstemp(tmpfile); + if (fd == -1) { + perror("wmymail: cannot get a temporay file"); + return; + } + + snpret = snprintf(syscmd, 120, "fetchmail -c > %s", tmpfile); + if (snpret < 0) { + perror("wmymail: error in snprintf() call (should not happen)"); + return; + } + + if (system(syscmd) < 0) { + perror("wmymail: error when using system() to run fetchmail -c"); + return; + } + + f = fdopen(fd, "r"); + if (f == NULL) { + perror("wmymail: can't reread tempfile\n"); + return; + } + + /* FIXME: this assumes that fetchmail will never print a line over + * 1024 characters long, which is fairly safe but you never know */ + while (fgets(line, 1024, f) != NULL) { + + /* Every line beginning with a number is assumed to be a number of + * messages on the server: + * + * "1 message for userfoo at mail.bar.org." + * "3 messages for userfoo at mail.bar.org." */ + if (line[0] >= '0' && line[0] <= '9') { + + /* The first number on the line may be added to the total */ + msgtotal += atoi(line); + + /* Fetchmail may also indicate that some of the messages on the + * server have already been read: + * + * "5 messages (3 seen) for userfoo at mail.bar.org." */ + + /* To get the number seen, locate the first space */ + s = (char *)strstr(line, " "); + if (s != NULL) { + + /* Skip over one character */ + s++; + + /* And locate the second space */ + t = (char *)strstr(s, " "); + + /* If this second space is followed by '(' and a digit, it's + * a number of seen messages */ + if (t != NULL && t[1] == '(' && t[2] >= '0' && t[2] <= '9') { + + /* Position string t on the number seen */ + t += 2; + + /* And get the number */ + msgseen += atoi(t); + } + } + } + } + + fclose(f); + remove(tmpfile); + + /* Now that that's been gotten through without major errors, + move the values to the global variables */ + + numMessages = msgtotal; + numUnread = msgtotal - msgseen; +} + /* + * + * checkmbox + * + */ + +void checkmbox (void) { + struct stat fileStat; + + if (stat(mailPath, &fileStat) == -1 || fileStat.st_size == 0) { + numMessages = 0; + numUnread = 0; + } else if (lastModifySeconds != fileStat.st_mtime || + lastSize != fileStat.st_size) { + + parseMailFile(&fileStat); + + lastModifySeconds = fileStat.st_mtime; + lastSize = fileStat.st_size; + } +} + + /* + * + * updatePixmap + * + */ + +void updatePixmap(void) { + Pixmap outPixmap = flip ? outPixmap1 : outPixmap2; + + flip = !flip; + + XCopyArea(DADisplay, mainPixmap, outPixmap, defaultGC, + 0, 0, 64, 64, 0, 0); + + if (numMessages > 998) { + putnumber(999, outPixmap, numbersPixmap, 40, 49); + } else { + putnumber(numMessages, outPixmap, numbersPixmap, 40, 49); + } + + if (numUnread > 998) { + putnumber(999, outPixmap, unumbersPixmap, 6, 49); + } else if (!numUnread) { + putnumber(0, outPixmap, numbersPixmap, 6, 49); + } else { + putnumber(numUnread, outPixmap, unumbersPixmap, 6, 49); + } + + if (numUnread == 0) { + // do nothing. + } else if (numUnread == 1) { + XCopyArea(DADisplay, mboxonePixmap, outPixmap, defaultGC, + 0, 0, 40, 34, 14, 6); + } else if (numUnread == 2) { + XCopyArea(DADisplay, mboxtwoPixmap, outPixmap, defaultGC, + 0, 0, 40, 34, 14, 6); + } else { + XCopyArea(DADisplay, mboxthreePixmap, outPixmap, defaultGC, + 0, 0, 40, 34, 14, 6); + } + + DASetPixmap(outPixmap); +} + +/* + * + * putnumber -- draw a number + * + */ + +void putnumber ( + int number, /* what value should be displayed */ + Pixmap pixmap, /* pixmap to draw upon */ + Pixmap numbers, /* pixmap with digit images to use */ + int destx, int desty /* upper-left corner of rectangle to draw in */ + ) { + + int digit1, digit2, digit3; + + /* Determine the digits */ + digit1 = number / 100; + digit2 = (number % 100) / 10; + digit3 = number % 10; + + /* The 100s and 10s digits will only be displayed if the number + is >99 and >9, respectively */ + + if (digit1) XCopyArea(DADisplay, numbers, pixmap, defaultGC, + digit1 * 5, 0, 5, 9, destx, desty); + + if (digit2 || digit1) XCopyArea(DADisplay, numbers, pixmap, defaultGC, + digit2 * 5, 0, 5, 9, destx + 6, desty); + + XCopyArea(DADisplay, numbers, pixmap, defaultGC, + digit3 * 5, 0, 5, 9, destx + 12, desty); +} + +/* + * parseMailFile -- reads the mail file and sets the global variables: + * + * numMessages -- total number of messages (displayed on the right) + * numRead -- messages that have been read + * numUnread -- message not yet read (displayed on the left) + */ + +void parseMailFile(struct stat *fileStat) { + char buf[1024]; + int inHeader = 0; + int statusRead = 0; + int longline = 0; + FILE *f = fopen(mailPath, "r"); /* FIXME check for failure to open */ + + numMessages = 0; + numRead = 0; + + while (fgets(buf, 1024, f) != NULL) { + + /* Keep discarding data if a line over 1024 characters long was found */ + if (longline) { + longline = index(buf, '\n') != NULL; + + } else { + /* The "From" line is the marker of an individual message */ + if(!strncmp(buf, "From ", 5)) { + inHeader = 1; + numMessages++; + + /* Once inside a header, it only remains to + * 1) Take note, if the message appears to have been read + * 2) Locate the end of the header */ + } else if (inHeader) { + + /* A blank line indicates the end of the header */ + if (!strcmp(buf, "\n")) { + inHeader = 0; + if (statusRead) { + numRead++; + statusRead = 0; + } + + /* The "Status" line indicates that the message has been read, + * if it has a "R". But since we don't trust that there will + * be only one "Status" line, statusRead will be set to 1, + * but numRead will only be incremented after the header has + * been completely read. That way, multiple "Status" lines + * would only set statusRead to 1 multiple times (having no + * effect). */ + } else if (!strncmp(buf, "Status: ", 8) && strchr(buf, 'R')) { + statusRead = 1; + } + } + + /* The 1024 byte buffer can easily be exceeded by long lines... + * when no newline is present, we must enter the state of "skipping + * over the rest of a very long line". Else a line inside the body + * of a message might be (starting at the 1025th character) + * "From <f...@bar.org>\n" thus fooling this program into parsing it + * incorrectly. */ + longline = index(buf, '\n') == NULL; + } + } + + fclose(f); + numUnread = numMessages - numRead; +} + +/* Take note of a mouse button being pressed inside the dock app */ +void buttonpress (int button, int state, int x, int y) { + buttonpressed = 1; +} + +/* A mouse button was pressed and released. + * See if it was released while the mouse was still in the bounds of + * the dock app (a 64x64 square). */ +void buttonrelease (int button, int state, int x, int y) { + if (buttonpressed && x > 0 && x < 64 && y > 0 && y < 64 && + strlen(clickcommand) > 0) { + launch(clickcommand); + } + buttonpressed = 0; +} + +/* Start another program */ +void launch (const char *command) { + int cpid; + + cpid = fork(); + if (cpid == -1) { + perror("can't fork"); + } else if (cpid == 0) { + system(command); + exit(0); + } +} + diff --git a/wmymail/xpm/main.xpm b/wmymail/xpm/main.xpm new file mode 100644 index 0000000..d4d8b91 --- /dev/null +++ b/wmymail/xpm/main.xpm @@ -0,0 +1,142 @@ +/* XPM */ +static char * main_xpm[] = { +"64 64 75 1", +" c None", +". c #000000", +"+ c #282828", +"@ c #C0C4C0", +"# c #666666", +"$ c #555555", +"% c #5C5C5C", +"& c #595959", +"* c #616161", +"= c #5E5E5E", +"- c #5A5A5A", +"; c #626262", +"> c #606060", +", c #636363", +"' c #656565", +") c #585858", +"! c #4F4F4F", +"~ c #545454", +"{ c #434343", +"] c #4A4A4A", +"^ c #4D4D4D", +"/ c #4B4B4B", +"( c #464646", +"_ c #414141", +": c #525252", +"< c #5B5B5B", +"[ c #505050", +"} c #5D5D5D", +"| c #5F5F5F", +"1 c #646464", +"2 c #696969", +"3 c #686868", +"4 c #6A6A6A", +"5 c #6B6B6B", +"6 c #383838", +"7 c #4C4C4C", +"8 c #444444", +"9 c #373737", +"0 c #222222", +"a c #1C1C1C", +"b c #1F1F1F", +"c c #202020", +"d c #494949", +"e c #515151", +"f c #676767", +"g c #232323", +"h c #3B3B3B", +"i c #2A2A2A", +"j c #343434", +"k c #565656", +"l c #535353", +"m c #252525", +"n c #303030", +"o c #272727", +"p c #262626", +"q c #484848", +"r c #6D6D6D", +"s c #6C6C6C", +"t c #575757", +"u c #3F3F3F", +"v c #242424", +"w c #292929", +"x c #4E4E4E", +"y c #2B2B2B", +"z c #2E2E2E", +"A c #1A1A1A", +"B c #212121", +"C c #3D3D3D", +"D c #2F2F2F", +"E c #333333", +"F c #353535", +"G c #3A3A3A", +"H c #424242", +"I c #6E6E6E", +"J c #454545", +" ", +" ", +" ", +" ", +" ....................................................... ", +" .++++++++++++++++++++++++++++++++++++++++++++++++++++++@ ", +" .++++++++++++++++++++++++++++++++++++++++++++++++++++++@ ", +" .++++++++++++++++++++++++++++++++++++++++++++++++++++++@ ", +" .++++++++++++++++++++++++++++++++++++++++++++++++++++++@ ", +" .++++++++++++++++++++++++++++++++++++++++++++++++++++++@ ", +" .++++++++++++++++++++++++++++++++++++++++++++++++++++++@ ", +" .++++++++++++++++++++++++++++++++++++++++++++++++++++++@ ", +" .+++++++++#$%%&*=-;>*;;;,,''';*>)!~${]!^/(_:<[+++++++++@ ", +" .+++++++++}'#|#1,22'23424555553!678)9_0abbcd<e+++++++++@ ", +" .+++++++++%2>f''54323'fff342f3*6-$%d-!ghij+]-k+++++++++@ ", +" .+++++++++|,3'f422112224425254){=}-]l/mngopq}&+++++++++@ ", +" .+++++++++>2'5442f,#;,324r5sr2;~==)t7uc9vww_%-+++++++++@ ", +" .+++++++++*24s!)3',1;1'f5rr5422~x^]:yzABcamC1t+++++++++@ ", +" .+++++++++12s;-#211',*,;#2r52231|[%}et6DyEFe'&+++++++++@ ", +" .+++++++++*452243!f#&>,,%32s211*=}'1,1)~~$~*'<+++++++++@ ", +" .+++++++++|424s5%7'1d~,:[*#f'**>;G#&H'3''f*'#}+++++++++@ ", +" .+++++++++-452'<^7s>~~-)$$-<]]7;=H7l|22*,;134}+++++++++@ ", +" .+++++++++>3542}l*4>-'&~k~e7]xe%:t(*32;|'';'2*+++++++++@ ", +" .+++++++++}4s4224s-*'2!<31%}]**;2=*322',#*|*'=+++++++++@ ", +" .+++++++++*25s24s}|-21l!kek7x~!!*3,7--&-1*|;;*+++++++++@ ", +" .+++++++++*52sr42;te4~%ee},~~]][8_e~}>1',;|*1>+++++++++@ ", +" .+++++++++*2rs2sI*254#t-);f)~1*'*~}<||>1''|*'}+++++++++@ ", +" .+++++++++=2444s52242#t:=#-^7$J7e<(:)}:|'*<|;%+++++++++@ ", +" .+++++++++=''##32''122~t-2*|*|t}<tt~q-*;;>>,}-+++++++++@ ", +" .+++++++++)'2f444f3f24552r5=1e!$~**-t=-}=>,=}<+++++++++@ ", +" .+++++++++-='%''#''''#324f#3}-le7~q7^]7$tx*|&t+++++++++@ ", +" .+++++++++-1}1;;3f3'1ss22f31>%:tkkk~!-t-<-}<k;+++++++++@ ", +" .+++++++++~tt$t%}-}%}&-}<<<&tk))&<tt$k~e!e!Jel+++++++++@ ", +" .++++++++++++++++++++++++++++++++++++++++++++++++++++++@ ", +" .++++++++++++++++++++++++++++++++++++++++++++++++++++++@ ", +" .++++++++++++++++++++++++++++++++++++++++++++++++++++++@ ", +" .++++++++++++++++++++++++++++++++++++++++++++++++++++++@ ", +" .++++++++++++++++++++++++++++++++++++++++++++++++++++++@ ", +" .++++++++++++++++++++++++++++++++++++++++++++++++++++++@ ", +" .++++++++++++++++++++++++++++++++++++++++++++++++++++++@ ", +" .++++++++++++++++++++++++++++++++++++++++++++++++++++++@ ", +" .++++++++++++++++++++++++++++++++++++++++++++++++++++++@ ", +" .++++++++++++++++++++++++++++++++++++++++++++++++++++++@ ", +" @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ", +" ", +" ", +" ", +" ..................... ..................... ", +" .++++++++++++++++++++@ .++++++++++++++++++++@ ", +" .++...+++...+++...+++@ .++...+++...+++...+++@ ", +" .+.+++.+.+++.+.+++.++@ .+.+++.+.+++.+.+++.++@ ", +" .+.+++.+.+++.+.+++.++@ .+.+++.+.+++.+.+++.++@ ", +" .+.+++.+.+++.+.+++.++@ .+.+++.+.+++.+.+++.++@ ", +" .++...+++...+++...+++@ .++...+++...+++...+++@ ", +" .+.+++.+.+++.+.+++.++@ .+.+++.+.+++.+.+++.++@ ", +" .+.+++.+.+++.+.+++.++@ .+.+++.+.+++.+.+++.++@ ", +" .+.+++.+.+++.+.+++.++@ .+.+++.+.+++.+.+++.++@ ", +" .++...+++...+++...+++@ .++...+++...+++...+++@ ", +" .++++++++++++++++++++@ .++++++++++++++++++++@ ", +" @@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@ ", +" ", +" ", +" ", +" "}; diff --git a/wmymail/xpm/mbox_1.xpm b/wmymail/xpm/mbox_1.xpm new file mode 100644 index 0000000..3b8252c --- /dev/null +++ b/wmymail/xpm/mbox_1.xpm @@ -0,0 +1,182 @@ +/* XPM */ +static char * mbox_1_xpm[] = { +"39 33 146 2", +" c None", +". c #2A2A2A", +"+ c #E2C696", +"@ c #DEBE92", +"# c #D2B28A", +"$ c #C27E52", +"% c #AA623E", +"& c #625A4A", +"* c #5E5646", +"= c #565246", +"- c #EAD2A6", +"; c #524A42", +"> c #F6E2B6", +", c #52423E", +"' c #BE8A66", +") c #4E463E", +"! c #7A6E5A", +"~ c #F2DEB2", +"{ c #42423E", +"] c #CA966E", +"^ c #B67E5A", +"/ c #F2DAAA", +"( c #E6CA9E", +"_ c #CAA276", +": c #9E6A4A", +"< c #3E3E3E", +"[ c #FAE6BE", +"} c #766A5A", +"| c #AA6E4A", +"1 c #D6A67E", +"2 c #DAB68A", +"3 c #EED6A6", +"4 c #363632", +"5 c #E6CE9E", +"6 c #827E76", +"7 c #BA724A", +"8 c #DEB686", +"9 c #DEC29A", +"0 c #F6DEB2", +"a c #BA8E6A", +"b c #B67A56", +"c c #EACEA2", +"d c #DEBA8E", +"e c #F6E2BA", +"f c #CEAA82", +"g c #A67656", +"h c #E6C69A", +"i c #564E46", +"j c #5A5652", +"k c #F2D6AA", +"l c #E6BE92", +"m c #B6764E", +"n c #EECEA2", +"o c #F2DAB2", +"p c #C69266", +"q c #5E5242", +"r c #D6AA7A", +"s c #4E423A", +"t c #E2C296", +"u c #EACA9A", +"v c #EED2A6", +"w c #DAB286", +"x c #C2865A", +"y c #CE9E76", +"z c #BA7A52", +"A c #F6DEB6", +"B c #62564A", +"C c #EAC69A", +"D c #FAE6C2", +"E c #AA724E", +"F c #DABA8E", +"G c #7A7262", +"H c #EED6AA", +"I c #E6C296", +"J c #E2BA8E", +"K c #FAE2BA", +"L c #DAAA7E", +"M c #5A524A", +"N c #5A564E", +"O c #EED6AE", +"P c #E2BE9A", +"Q c #EACEA6", +"R c #F6E2BE", +"S c #E2BE92", +"T c #CEA27A", +"U c #B26E4A", +"V c #DEAE82", +"W c #665E4E", +"X c #52463E", +"Y c #FAEAC2", +"Z c #EECEA6", +"` c #E2B68A", +" . c #CAA67E", +".. c #D6AE86", +"+. c #E2BE96", +"@. c #564A42", +"#. c #DEB68A", +"$. c #F2DEB6", +"%. c #E6C69E", +"&. c #DEB286", +"*. c #AE724E", +"=. c #E6CAA2", +"-. c #56524A", +";. c #F2DAAE", +">. c #625A4E", +",. c #D6BA96", +"'. c #564E4A", +"). c #E2BA92", +"!. c #A66646", +"~. c #A26E4A", +"{. c #F2D6AE", +"]. c #E6C29A", +"^. c #C6A27E", +"/. c #C6926E", +"(. c #EACAA2", +"_. c #EED2AA", +":. c #DAAE86", +"<. c #5E564A", +"[. c #524642", +"}. c #EAC69E", +"|. c #EECEAA", +"1. c #E6BE96", +"2. c #DEB68E", +"3. c #C28A62", +"4. c #AE6E4A", +"5. c #D2AA82", +"6. c #E2C29A", +"7. c #7A6E5E", +"8. c #F2DAB6", +"9. c #EACA9E", +"0. c #DABA92", +"a. c #56524E", +"b. c #524A46", +"c. c #DEBA92", +"d. c #EACEAA", +"e. c #E6CEA2", +"f. c #4E423E", +"g. c #E2C69A", +"h. c #DAB68E", +"i. c #DAB28A", +"j. c #FAE2BE", +"k. c #DEBE96", +"l. c #CAA27A", +"m. c #5A5656", +"n. c #5E5246", +"o. c #564A46", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . @.; i @.i @.; i i i M i i i i i i i i i ; ; ; ; ; ; ; ; X @.i @.. . . ", +". . . 6 5 / 3 3 0 / / > / > / 0 0 > [ [ [ > ~ u d S ( ^.r y y ] p _ 3 + ; . . ", +". . . } 3 ~ / ~ / 0 e > A ~ e > K e e e > K v a S S 8 2 2 | E *.| ^ v + ; . . ", +". . . } A O $.o e [ K o > [ 0 e > A e > K > F 2 - 3 d + w ~.x U 7 x - ( i . . ", +". . . } 0 A > [ e e > o ~ ~ > e [ [ [ [ [ [ 0.9.c Q c @ ..*.p % $ x - - i . . ", +". . . ! e > e 8.e.> ;./ ;.H ~ e [ D [ [ R A H 6.9.S k.y y % ^ m z 4.( 5 ; . . ", +". . . } R [ [ ,.$.j.~ o o {.;.H > [ D D e e > - F t e.f ^.E 4.!.b ' A - i . . ", +". . . G > D e e e $.%.> > c ;.;.;.8.[ [ > o ;._.H k ;.;.~ t :.w w S 0 - i . . ", +". . . ! ~ [ e R [ _.+.A Q i.H e.F _.~ e ~ ;./ / S +.H :.o e ~ $.~ ;.0 H i . . ", +". . . 7.O R R R d.` +.[ ( ).A ].%.g.e.Q ..@ 6.{.:.).+.c e A k ;./ ~ R ;.i . . ", +". . . } ~ e [ e _.P $.A H Q e c.(.}.6.0.h.k.t H }.1 {.A e ;.H A ;.;.0 $.i . . ", +". . . 7.o D R [ [ [ R Z O > (.}.A o - 9.&.;.v {.> _.0 o > ~ ;.~ v 3 ;./ i . . ", +". . . ! > [ [ R e D %._.Z > ( +.t ).9.&.).#.J ].;.o S (.c n n ~ / H O ;.= . . ", +". . . 7.$.[ R [ D [ o (.o 8.(.C }.v ~ Z C ).I I r r (.v k ~ ~ k o - ;./ i . . ", +". . . ! $.[ D R R D $.D R e o J I k ~ S n {.9.;._.n S 9.n h / ~ ~ - ;.- -.. . ", +". . . } ;.> > [ [ [ A A [ e C S ].o 9.I l ].` l J J S t - v o ;.- 3 ;.e.i . . ", +". . . ! O ~ ~ ~ A A > ~ ~ e j.[ e [ e _.~ I 9.( v 3 H (.c ;.v k H H H 5 -.. . ", +". . . } - ~ n 0 $.e o A A e e R [ j.e ~ k C ` I 9.1.` :.J &.( ( - H v g.'.. . ", +". . . } H ;.$.> ~ > > A o ~ e R [ $.A A Z n h t S t J S ( 5 - c C H ( 5 N . . ", +". . . } 2 =.( ( Q {.v H o O k / ;.{.o v - c 9.3 ;.3 3 - c 9.( ( 5 t + h a.. . ", +". . . 4 m.a.i -.i '.i i o.i b.b.; ; b.; ) ; X X [., X ; ; ) X s ) s s s 4 . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "}; diff --git a/wmymail/xpm/mbox_2.xpm b/wmymail/xpm/mbox_2.xpm new file mode 100644 index 0000000..779ea7e --- /dev/null +++ b/wmymail/xpm/mbox_2.xpm @@ -0,0 +1,254 @@ +/* XPM */ +static char * mbox_2_xpm[] = { +"39 33 218 2", +" c None", +". c #2A2A2A", +"+ c #2E2E2A", +"@ c #625E4E", +"# c #8E7E66", +"$ c #C2A686", +"% c #DEC296", +"& c #E6CEA2", +"* c #EED6A6", +"= c #7E6A56", +"- c #3A3632", +"; c #F6E6BE", +"> c #866E56", +", c #A68E72", +"' c #F2DEAE", +") c #4E3E36", +"! c #AE926E", +"~ c #C6AE8A", +"{ c #9E6646", +"] c #564E46", +"^ c #CEB68E", +"/ c #B6926E", +"( c #AA6242", +"_ c #B27652", +": c #E6CA9A", +"< c #DEB68A", +"[ c #F6E2B6", +"} c #BA9E7E", +"| c #B27E5A", +"1 c #5E5646", +"2 c #EEDAAA", +"3 c #DEBA8E", +"4 c #CAAE82", +"5 c #AA6642", +"6 c #BA8666", +"7 c #A29276", +"8 c #EAD2A2", +"9 c #CEAE86", +"0 c #AA724E", +"a c #C2A27E", +"b c #CEA67E", +"c c #665E4E", +"d c #BA926E", +"e c #927A5E", +"f c #DAAE82", +"g c #E2C292", +"h c #C2865E", +"i c #46423A", +"j c #BE6E46", +"k c #E2C69A", +"l c #665646", +"m c #E2BA8A", +"n c #4E423A", +"o c #C2764E", +"p c #F6DEAE", +"q c #625A4A", +"r c #CA9A72", +"s c #C2926E", +"t c #725E4E", +"u c #E2BE8E", +"v c #DAA67A", +"w c #EECEA2", +"x c #B66A42", +"y c #F6E2BA", +"z c #C6A27A", +"A c #DAB68A", +"B c #96826A", +"C c #C68E5E", +"D c #FAE2BA", +"E c #DABE9A", +"F c #F2D6AA", +"G c #A66E4E", +"H c #AE6E4A", +"I c #F6DEB6", +"J c #766652", +"K c #EED2A2", +"L c #8E7A62", +"M c #F2DAB2", +"N c #BE7E56", +"O c #5E5242", +"P c #EACA9A", +"Q c #36322E", +"R c #CE9E76", +"S c #564A3E", +"T c #DEAE82", +"U c #463A36", +"V c #D2BA92", +"W c #EAC69A", +"X c #E6C296", +"Y c #BA764E", +"Z c #AA9A7A", +"` c #DEBE92", +" . c #BE8E6A", +".. c #EED6AA", +"+. c #CE926A", +"@. c #E6BE8E", +"#. c #EACE9E", +"$. c #FAE6C2", +"%. c #7E725E", +"&. c #D6BA92", +"*. c #56524A", +"=. c #CA865A", +"-. c #EED2AA", +";. c #DEAA7E", +">. c #EEDAAE", +",. c #E2B68A", +"'. c #D6B286", +"). c #B26A46", +"!. c #AE724E", +"~. c #EACEA2", +"{. c #9A866A", +"]. c #665A46", +"^. c #D2A272", +"/. c #DEB286", +"(. c #AE6A46", +"_. c #625646", +":. c #F2DEB2", +"<. c #F6E2BE", +"[. c #2E2A2A", +"}. c #FAE6BE", +"|. c #F2DAAE", +"1. c #FAEAC2", +"2. c #625A4E", +"3. c #7E6E5E", +"4. c #E2BA92", +"5. c #D6AA7E", +"6. c #766A56", +"7. c #5A4A3E", +"8. c #EAD2A6", +"9. c #DAB286", +"0. c #3E3A36", +"a. c #AE9672", +"b. c #B67A52", +"c. c #BA8A62", +"d. c #C68A5A", +"e. c #C27A4E", +"f. c #B66E46", +"g. c #BA7A52", +"h. c #CA966A", +"i. c #CA8A5E", +"j. c #322E2E", +"k. c #B2724A", +"l. c #D6B692", +"m. c #E6C29A", +"n. c #EED6AE", +"o. c #665A4A", +"p. c #CEA27A", +"q. c #F2DAAA", +"r. c #E6C696", +"s. c #A26A4A", +"t. c #CEB28E", +"u. c #C6966E", +"v. c #A6724E", +"w. c #EECEA6", +"x. c #DABA8E", +"y. c #5A5246", +"z. c #E6BA92", +"A. c #EAC29A", +"B. c #AE9276", +"C. c #A2927E", +"D. c #E2BE92", +"E. c #F6DEBA", +"F. c #EED2A6", +"G. c #EACAA2", +"H. c #E6BE96", +"I. c #EACEA6", +"J. c #E6C69A", +"K. c #5A4E42", +"L. c #D2A67E", +"M. c #B26E4A", +"N. c #7A6656", +"O. c #625246", +"P. c #9E866A", +"Q. c #DAB68E", +"R. c #6A5A4E", +"S. c #D2A276", +"T. c #5E564A", +"U. c #EAC69E", +"V. c #E2B68E", +"W. c #B67652", +"X. c #BE8662", +"Y. c #C6865A", +"Z. c #6A5646", +"`. c #CE9A6E", +" + c #C27E52", +".+ c #3A322E", +"++ c #D29E72", +"@+ c #BE7A52", +"#+ c #564A42", +"$+ c #E6CA9E", +"%+ c #E2BA8E", +"&+ c #F6DEB2", +"*+ c #FAE2BE", +"=+ c #F2D6AE", +"-+ c #EACA9E", +";+ c #E6BE92", +">+ c #F2DEB6", +",+ c #EAD2AA", +"'+ c #DABA92", +")+ c #E2C296", +"!+ c #DEBE96", +"~+ c #DEB28A", +"{+ c #DAB28A", +"]+ c #DEC29A", +"^+ c #AE7252", +"/+ c #62564A", +"(+ c #D6AA82", +"_+ c #5A524A", +":+ c #2E2E2E", +"<+ c #CEA682", +"[+ c #B66A46", +"}+ c #766656", +"|+ c #5E5246", +"1+ c #D6B28A", +"2+ c #7E6E62", +"3+ c #CA966E", +"4+ c #B2724E", +"5+ c #665A4E", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . - {.R.S ] ] S ] ] ] y.*.] ] ] ] ] ] ] ] S S S S S S S S n S ] S [.. . ", +". . . . E ,+* 2 & 8 8 * * [ q.p p [ ; }.}.[ p K &.` k 4 b R R r r r F & O.. . ", +". . . n & F I ..|.p |.q.M 2 |.:.[ D y y y y >. .< k f x.x._ G !.H v.#.: l . . ", +". . . S 8.:.M I ' M [ *+[ I y I |.>.' |.|.>+D.'.* F.)+` x.G C H o W.8 & _.. . ", +". . . ] * [ &+y [ <.; [ &+y ' D D <.}.}.D y ..$+$+$+~.3 l.!.h.5 o @+8 K _.. . ", +". . . K...y y *+}.D y I >.I D >+I I E.; $.y <.I 4.` % k < c.h g.k.5 J.8.K.. . ", +". . . *.:.y }.]+E M &+M :.>.p ; }.; D y [ I [ b R ;+;.: d 5.L.'.z d F.* _.. . ", +". . . }+I $.y I [ D &+|.|.q.M &+y }.; }.$.}.=+++q.8 & ` < h.(.5 ).N 9.K ~ . . ", +". . . B &+}.; y ; M W &+I q.>.|.I $.1.; ; y n.$+w -+K 5.P b.C W.Y.(.(+~.a . . ", +". . . ~ y <.y E.=+,.A.I w X q.q.:.y ; *+D y I < -+D.: A '.b.d.[+j x : #.B . . ", +". . . 8.; *+; }.(+V.y I D.4.|.X 4.I <.; [ [ :...3 D.X 6 6 ( h ).e.o 8 * J . . ", +". . ] 2 *+; D y D M $...W w U.$+W |.p E.F |.q...F =+..8 A s.M.{ k.M.& J.T.. . ", +". . 3.[ D ; D <.y y G.|.&+I H.J.m.A < ` < ~.F * S.&+-.F.F./.+.=.Y.T >+~./+. . ", +". . a.I ; *+$.*+y -+F -.I ~.;+I &+M -+%+< L.q./.,.J.< -+y :.I I F.n.q.8 1 . . ", +". . V ; $.; ; 1.}.w.U.M F -+z.J.X X X 3 |.' |.w.v w |.D [ q.|.&+|.I M 8./+. . ", +". - ,+&+[ }.D *+<.<.; y M ~.: W K K ;.X ,.W -.[ -.&+D E.|...p ..q.; M ~.1 . . ", +". |+~.:.&+>+[ y &+I y ; :.m.g ~.:.:.#.,.,./.T ..M ,...F.|.:.&+|.|.[ :.8._.. . ", +". # 8.|.I.&+<.}.>+[ &+D -.;+H.=+=+;+X &+..p ~.^.r.J...F -+|...* F |.8.$+S . . ", +". ! F * I I M &+M >+E.D }.; y [ |.-+X X ;.X w F.;+F.|.|.&+|.|.8.|.|.& & ] . . ", +". 2+B.l.)+* ' [ [ &+|.[ I D }.$.y * |.r.* w D.< %+W ~.X -.&+' F.p |.$+P n . . ", +". . . . i Z.B $ G...>+y ; [ y I I y W X u r.* ..* 3 8 2 :.|...8.|.* = n . . . ", +". . . . . . . . :+#+= , l.w.M [ &+|...~.X ,.A.m D.r.8...F.=+8.F ..$+Q . . . . ", +". . . . . . . . . . . . . - O.L } E : W P : : D.,.z.%+,.#.* |...* t.. . . . . ", +". . . . . . . . . . . . . . . . . [.n t P.9 U.* 8 : $+8 ~.u F * $+7 . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . Q 7.= a.l.k $+8 8.$+& 3.. . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . U Z.e / 9.g i . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [.#+. . . . . . "}; diff --git a/wmymail/xpm/mbox_3.xpm b/wmymail/xpm/mbox_3.xpm new file mode 100644 index 0000000..7a86356 --- /dev/null +++ b/wmymail/xpm/mbox_3.xpm @@ -0,0 +1,292 @@ +/* XPM */ +static char * mbox_3_xpm[] = { +"39 33 256 2", +" c None", +". c #2A2A2A", +"+ c #2E2E2A", +"@ c #7E7266", +"# c #AA9676", +"$ c #D6BA8E", +"% c #E6CA9E", +"& c #AE623E", +"* c #866E56", +"= c #EED6A6", +"- c #5A5A56", +"; c #AA724E", +"> c #FAE6BE", +", c #BAA27E", +"' c #967E66", +") c #F2DAAA", +"! c #AA8662", +"~ c #524A3E", +"{ c #C2A67E", +"] c #F6E2B6", +"^ c #CAAA82", +"/ c #E2C696", +"( c #BE9672", +"_ c #4E423A", +": c #D2AA82", +"< c #E6CE9E", +"[ c #AA9272", +"} c #5E5A52", +"| c #AA6242", +"1 c #DAC296", +"2 c #766A56", +"3 c #4A423E", +"4 c #D6B286", +"5 c #F2DEAE", +"6 c #BA8E6A", +"7 c #9E8666", +"8 c #BA724A", +"9 c #DABA8E", +"0 c #BA825A", +"a c #CAA67E", +"b c #EAD2A2", +"c c #6E5E4E", +"d c #3E3632", +"e c #AE6642", +"f c #C69A72", +"g c #DEB286", +"h c #E2BA8A", +"i c #665646", +"j c #BE8A62", +"k c #CA8E5E", +"l c #927A62", +"m c #C27E52", +"n c #A28E72", +"o c #BA6E46", +"p c #CEB28A", +"q c #E2BE92", +"r c #EECEA2", +"s c #F6DEAE", +"t c #5A4E42", +"u c #E6C696", +"v c #AE6A46", +"w c #EED2A2", +"x c #F2D6A6", +"y c #BEAE8E", +"z c #E2C292", +"A c #B6724A", +"B c #CE966E", +"C c #D2A276", +"D c #F6E2BA", +"E c #C2825A", +"F c #363632", +"G c #A26A46", +"H c #EEDAAE", +"I c #B29E7E", +"J c #DEAE82", +"K c #565652", +"L c #826E56", +"M c #CA9A72", +"N c #F6DEB2", +"O c #DEB686", +"P c #AE9A7A", +"Q c #C67A4E", +"R c #E6C292", +"S c #D2B68E", +"T c #F6DEB6", +"U c #6A5A4A", +"V c #DABE96", +"W c #EACA9A", +"X c #CE9266", +"Y c #76624E", +"Z c #FAE2BA", +"` c #D29A72", +" . c #B6A682", +".. c #FAE6C2", +"+. c #BE7A52", +"@. c #36322E", +"#. c #DAA276", +"$. c #82725E", +"%. c #D2AE82", +"&. c #B67A56", +"*. c #C68A5E", +"=. c #E6BE92", +"-. c #EAD6AA", +";. c #E6D2B2", +">. c #EACE9E", +",. c #EAC69A", +"'. c #F2DAAE", +"). c #AA6E4A", +"!. c #564236", +"~. c #B66E4A", +"{. c #E2B686", +"]. c #CA8E66", +"^. c #F2DAB2", +"/. c #D6B68E", +"(. c #A69272", +"_. c #D2A67A", +":. c #D6AE82", +"<. c #F6E2BE", +"[. c #AA6642", +"}. c #B69672", +"|. c #AE724A", +"1. c #4E463A", +"2. c #CA9E76", +"3. c #EACAA2", +"4. c #C2865A", +"5. c #BA764E", +"6. c #AE6E4A", +"7. c #AE7652", +"8. c #C6AE86", +"9. c #5A5246", +"0. c #867662", +"a. c #F2D6AA", +"b. c #EED2AA", +"c. c #2E2A2A", +"d. c #5E564E", +"e. c #BEAA8A", +"f. c #76664E", +"g. c #FAEAC6", +"h. c #E2C296", +"i. c #E6C29A", +"j. c #EACEA2", +"k. c #B29A7E", +"l. c #3E3A36", +"m. c #C69266", +"n. c #DEBA8A", +"o. c #DAB282", +"p. c #32322E", +"q. c #7A6E5E", +"r. c #CAB68E", +"s. c #AA6A46", +"t. c #EAD2A6", +"u. c #D6BE96", +"v. c #96826A", +"w. c #A28A6A", +"x. c #B68662", +"y. c #6A5E4E", +"z. c #D29E6E", +"A. c #E2C69A", +"B. c #F2D6AE", +"C. c #423A32", +"D. c #EACA9E", +"E. c #F2DEB2", +"F. c #E2BA8E", +"G. c #EED6AE", +"H. c #E2B68A", +"I. c #E6CEA6", +"J. c #D6AA7E", +"K. c #EED6AA", +"L. c #D6A67A", +"M. c #B26E4A", +"N. c #E6BA8E", +"O. c #CAB292", +"P. c #BE9A76", +"Q. c #4A463E", +"R. c #DAA67A", +"S. c #DEBE92", +"T. c #BAA686", +"U. c #DAB68A", +"V. c #C6865A", +"W. c #EECEA6", +"X. c #DAAE86", +"Y. c #B2724E", +"Z. c #BE764E", +"`. c #D2BA96", +" + c #BAA286", +".+ c #CAAA86", +"++ c #EED2A6", +"@+ c #DEB68E", +"#+ c #C6926E", +"$+ c #DAB28A", +"%+ c #D29E76", +"&+ c #322E2C", +"*+ c #524236", +"=+ c #7A6A56", +"-+ c #B26642", +";+ c #A68E6E", +">+ c #5E4E3E", +",+ c #D6A276", +"'+ c #3A3632", +")+ c #B69E7C", +"!+ c #CE9A72", +"~+ c #E6C296", +"{+ c #3A322E", +"]+ c #86725C", +"^+ c #CA8A62", +"/+ c #52463A", +"(+ c #CE9E74", +"_+ c #B69A7A", +":+ c #E6C69A", +"<+ c #E2C29A", +"[+ c #FAE2BE", +"}+ c #EAC69E", +"|+ c #E2B68E", +"1+ c #DEB28A", +"2+ c #B2623E", +"3+ c #CEAA7E", +"4+ c #6A5646", +"5+ c #C28A62", +"6+ c #C68256", +"7+ c #7A6252", +"8+ c #CAAE8A", +"9+ c #5E5246", +"0+ c #8A7662", +"a+ c #7A6652", +"b+ c #9A826A", +"c+ c #BA8662", +"d+ c #E6CEA2", +"e+ c #E6CAA2", +"f+ c #A69276", +"g+ c #EACEA6", +"h+ c #F2DEB6", +"i+ c #E2BA92", +"j+ c #DAB68E", +"k+ c #DEBA8E", +"l+ c #DEB68A", +"m+ c #E2C69E", +"n+ c #DAB286", +"o+ c #EEDAB2", +"p+ c #C6926A", +"q+ c #BAA68A", +"r+ c #D2AE86", +"s+ c #D6AE86", +"t+ c #AE724E", +"u+ c #BA7652", +"v+ c #AA6A4A", +"w+ c #423A36", +"x+ c #AA7252", +"y+ c #C2A682", +"z+ c #B6724E", +"A+ c #826E5A", +"B+ c #363232", +"C+ c #D2A67E", +"D+ c #4E463E", +"E+ c #AE7656", +"F+ c #A28A6E", +"G+ c #D6A67E", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . c._ Y n 8+L . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . {+i 0+, %.C 5+k+j.}.. . . . . ", +". . . . . . . . . . . . . . . . . . . c.~ L (.S z ( L.s.[.).v z.b 4 . . . . . ", +". . . . . . . . . . . . . . . d Y F+r.'.^.n.X.L.u :.L.M.*.A o X t.d+d . . . . ", +". . . . . . . . . . &+d.0+T.I.] ..> <.D D.#+% K.$+,.U.M.V.& m 8 % >.>+. . . . ", +". . . Q.f.n a+Y 7 8+>.) ) '.h+E.h+] ^.^.q k+t.>.A.l+:.4.!+V.*.0 n.a.n 3 . . . ", +". . 4+;.-.t.5 = < = ++b K.5 N E.D D > > D D s S.k+1 A.P.J.2.!+!+p+S.w # . . . ", +". . <+g+t.D ^.^.N 5 '.T T K.^.E.T D <.> D D s+a ~+4 :+%.].x+|.7.).%.>.k.. . . ", +". {+d+G.B.^.E.'.E.T D D h+D ] T E.E.5 H '.B.( a.W.W.s+d+x.0 ).Q M.1+>.I . . . ", +". . V H K.T N Z D [+D N ] T E.T D <.> ..> D '.-.h.j.@+% 0 0 &.o +.n+++, . . . ", +". . I t.h+<.> <.> D D '.^.] D D D T D <.<.Z D D.4 9 / A.4 p+m.6.5.f -.P . . . ", +". . 0.K.> <.> 8+% T '.'.^.a.T Z > <.> ] ] ] ++#+l+:+J.S.6 C _.4 a U.-.e.. . . ", +". . >+H D > D Z D D ) s N ) E.h+> > <.....[+i+q = ++i.S.F.5.s.e | Y.W >.' . . ", +". . B+j.> D D > > 3.W.] '.) ) '.D g.g.> > D i.b.++j.:+k+@+v+k +.E A r % a+. . ", +". . 1.G.D > D D ~+H.b.^.i+++'.) N D > > T D '.k+h.z q : (+Y.E & o k b % =+. . ", +". . f.E.<.> D B.J i+> ++F.D.++S.~+h+D > E.E.a.++i+~+:+7.E+v 6+2+Q B t.>.;+. . ", +". . n h+> <.<.<.<.> D K.N.T F.D.D.) E.'.) ) H = = a.K.) : t+s.G z+M = ~+, . . ", +". . O.> ] > D > <.B.W.H ] K.=.D.i+@+$+C+q D.a.q k+N h.5 r 1+` ^+X g+E.d+% c.. ", +". + t.D ..> ..D ] }+}+T T =.j.T E.K.++h.H.q = R.|+i+N.^.] 5 D N ++N = j.% *+. ", +". t H > ..> <.g.h+b.3.> <+W.g =.,.>.#.t.) '.b.j.g K.] T ^.K.5 E.'.N t.O.!.. . ", +". @ '.5 h+D > > Z > <.D ^.3.:+t.= :+g =.l+=.N T 5 Z Z ] K.'.^.a.N <.++T.. . . ", +". ;+K.N ] T T D E.N D T ) q ~+) N ++u =.N.H.g 3.D.i+b.r ) ] ) K.N D b.T.. . . ", +". $ K.T j.E.<.D T N N > }+=.}+h+}+H.j.a.= E.z O D.r a.'.r ) ) K.) E.% I . . . ", +"l.l+H K.T N N h+E.h+D Z > > Z > H r j.F.g ~+j.W q w N 5 ^.a.) t.) 5 d+e.. . . ", +"B+q.7 q u K.E.] T N '.] D > <.> '.K.r =.a.r u g ~+% % =.N E.'.++^.b.I.I . . . ", +". . . K K 7+l _+<+b.E.D <.> E.D ] '.% =.z ~+H H ++S.t.N s B.t.= 5 1 _ 3 . . . ", +". . . . . . . . . 3 U ' .+3.G.] ^.b.D.% ~+R =.H.O D.t.b ++H = ) t.# . . . . . ", +". . . . . . . . . . . . . &+~ * [ /.u D.D.,.% =.q h H.% W a.'.K.++]+. . . . . ", +". . . . . . . . . . . . . . . . . . w+4+l y+R b >.d+% j.d+~+t.++1 9.. . . . . ", +". . . . . . . . . . . . . . . . . . . . . . c.*+7+w.8+q < b j.A.t.p.. . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . {+>+* ! $+y+. . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . '+. . . . . . "}; diff --git a/wmymail/xpm/numbers.xpm b/wmymail/xpm/numbers.xpm new file mode 100644 index 0000000..3aa383c --- /dev/null +++ b/wmymail/xpm/numbers.xpm @@ -0,0 +1,16 @@ +/* XPM */ +static char * numbers_xpm[] = { +"55 9 4 1", +" c None", +". c #282828", +"+ c #D3D3D3", +"@ c #000000", +".+++..@@@..+++..+++..@@@..+++..+++..+++..+++..+++......", +"+...+@...+@...+@...++...++...@+...@@...++...++...+++...", +"+...+@...+@...+@...++...++...@+...@@...++...++...+.++..", +"+...+@...+@...+@...++...++...@+...@@...++...++...+..++.", +".@@@..@@@..+++..+++..+++..+++..+++..@@@..+++..+++....++", +"+...+@...++...@@...+@...+@...++...+@...++...+@...+..++.", +"+...+@...++...@@...+@...+@...++...+@...++...+@...+.++..", +"+...+@...++...@@...+@...+@...++...+@...++...+@...+++...", +".+++..@@@..+++..+++..@@@..+++..+++..@@@..+++..+++......"}; diff --git a/wmymail/xpm/unumbers.xpm b/wmymail/xpm/unumbers.xpm new file mode 100644 index 0000000..e63e9cd --- /dev/null +++ b/wmymail/xpm/unumbers.xpm @@ -0,0 +1,16 @@ +/* XPM */ +static char * unumbers_xpm[] = { +"55 9 4 1", +" c None", +". c #282828", +"+ c #7FFFD4", +"@ c #000000", +".+++..@@@..+++..+++..@@@..+++..+++..+++..+++..+++......", +"+...+@...+@...+@...++...++...@+...@@...++...++...+++...", +"+...+@...+@...+@...++...++...@+...@@...++...++...+.++..", +"+...+@...+@...+@...++...++...@+...@@...++...++...+..++.", +".@@@..@@@..+++..+++..+++..+++..+++..@@@..+++..+++....++", +"+...+@...++...@@...+@...+@...++...+@...++...+@...+..++.", +"+...+@...++...@@...+@...+@...++...+@...++...+@...+.++..", +"+...+@...++...@@...+@...+@...++...+@...++...+@...+++...", +".+++..@@@..+++..+++..@@@..+++..+++..@@@..+++..+++......"}; -- 2.7.4 -- To unsubscribe, send mail to wmaker-dev-unsubscr...@lists.windowmaker.org.