359 lines
14 KiB
Plaintext
359 lines
14 KiB
Plaintext
|
Name : wmail
|
||
|
Description : a enhanced Window Maker email flagging docklet
|
||
|
Current version : 2.0
|
||
|
Last updated : SEP 30 2002
|
||
|
Licence : see file COPYING for licencing details
|
||
|
Web/Home : www.informatik.uni-jena.de/~topical/sveng/wmail.html
|
||
|
Author : (c) 2000~2002 Sven Geisenhainer
|
||
|
Contact : sveng@informatik.uni-jena.de
|
||
|
|
||
|
Change Log:
|
||
|
|
||
|
v 2.0
|
||
|
- Autoconf based package configuration support added.
|
||
|
- Support for real X11 fonts when drawing the ticker.
|
||
|
Use the new option "-fn X11_FONT_NAME" or ~/.wmailrc-file statement
|
||
|
"Ticker.X11Font = X11_FONT_NAME" to enable it. If you wish to see latin1
|
||
|
characters not covered by the buildin font you MUST make use of this.
|
||
|
- Removed support of two buildin fonts (one seems enough when native
|
||
|
X11 font rendering is supported...) -> cmdline option "-bf" and
|
||
|
rcfile statement "Ticker.BoldFont" are no longer available
|
||
|
- added a window name when called with the -w option (libdockapp windowing
|
||
|
mode), this workarounds a dockapp library bug and makes wmail work docked
|
||
|
in Gnomes panel bar
|
||
|
- Fixed some reconfiguration memleaks
|
||
|
- Fixed button-keeps-up-when-pressed-and-empty-inbox bug
|
||
|
- Fixed Maildir file-parsing bug
|
||
|
- Fixed wmail-crash on dual-headed displays (Thanx to Michael Hocke!)
|
||
|
- Changed upper M@il symbol a bit ;-)
|
||
|
|
||
|
v 1.9
|
||
|
- Comment support added (by Juergen A. Erhard - thank you!)
|
||
|
- Status field content recognition enhanced: now you can supply the
|
||
|
content of the status field that markes you email as read. This is due
|
||
|
to different behaviour of different mbox readers - pine seems using "ro"
|
||
|
to mark a mail as read. The given value is substring-matched.
|
||
|
|
||
|
v 1.8
|
||
|
- Support for qmails Maildir format added: if you specify a directory
|
||
|
as your inbox then wmail assumes 'Maildir' functionality,
|
||
|
searches for the subdirectories "new" and "cur" and interprets all
|
||
|
files found directly under these directories as text-files containing
|
||
|
one single email message. When in Maildir-mode, checksums and the
|
||
|
file ~/.wmail-cksums are not used.
|
||
|
- Combining of equal sender-names before tickering them is not done
|
||
|
anymore - this hasn't worked if for example wmail shows only unread
|
||
|
emails and there are two emails from the same sender and one of them
|
||
|
is read, the other isn't.
|
||
|
|
||
|
v 1.72
|
||
|
- Now redrawing is done only if there are some changes to be drawn
|
||
|
(previous versions had redrawn the screen fps-times per sec. even if
|
||
|
the inbox was empty...)
|
||
|
|
||
|
v 1.71
|
||
|
- File parsing bug fixed: searching for "From"-directive is now
|
||
|
case-sensitive.
|
||
|
|
||
|
v 1.7
|
||
|
- Support for mail-header-field "Status" added: if this field
|
||
|
is set to "RO" the mail is assumed to be read. Turn this feature on
|
||
|
either by adding "Mail.UseStatusField = Yes" to your ~/.wmailrc-file
|
||
|
or using the new cmd-line option "-sf"
|
||
|
|
||
|
v 1.61
|
||
|
- Minor changes: signal-handling stuff reimplemented
|
||
|
- Included another set of xpms (thanx to delt!); to use it,
|
||
|
change the #includes in wmail.c to point to the xpm_delt dir
|
||
|
|
||
|
v 1.6
|
||
|
- Sender-skipping added: use this by adding some
|
||
|
"Mail.SkipSender = XYZ" to your ~/.wmailrc file. Note that you can
|
||
|
use the known wildcards here (i.e. "Mail.SkipSender = *Foo*" matches
|
||
|
all names containing "Foo")
|
||
|
- Support for execution of a custom command when receiving a new mail
|
||
|
added: either use the new option "-e" or a
|
||
|
"Mail.OnNew.Command = some-cmd" in the rc-file (for example this
|
||
|
makes it possible to play some sound file using the command
|
||
|
"/usr/bin/play some-sound.wav")
|
||
|
|
||
|
v 1.5
|
||
|
- Config-file support (~/.wmailrc), re-configuration of most options
|
||
|
during run-time is possible - a click on the docklets main-area
|
||
|
forces wmail to read its config-file. Note that this can also be
|
||
|
used to do a mailbox update...
|
||
|
- Bolder tickerfont added -> new option "-bf"
|
||
|
- Polling bug fixed (wmail has queried for new mail fps-times per
|
||
|
second...)
|
||
|
- Mailbox made configurable via cmdline -> new cmd-option "-mb"
|
||
|
- Color of inactive (off-switched) symbols made customizable -> new
|
||
|
cmd-option "-oc"
|
||
|
|
||
|
v 1.41
|
||
|
- Minor fixes, debugging-aid macro TRACE made more portable
|
||
|
|
||
|
v 1.4
|
||
|
- Made mails identifiable by a checksum to (hopefully) fix some
|
||
|
wrong behaviour of the recent-mails-only feature introduced with
|
||
|
v1.3 - this is also used to make wmail able to keep the current state
|
||
|
in mind, even after a restart. These checksums are written to the
|
||
|
file ".wmail-cksums" in the users home directory
|
||
|
|
||
|
v 1.3
|
||
|
- wmail is now able to show only recent mails in ticker and counter
|
||
|
(such ones you don't have read/opened yet since startup of wmail)
|
||
|
this is quite nice if you use your mail-file as an inbox storing
|
||
|
loads of mails there -> new cmd-option "-n"
|
||
|
- Solaris port got working (signal-handler bug fixed)
|
||
|
- Image of run-client-button changed
|
||
|
|
||
|
v 1.2
|
||
|
- Message counter now displays up to 3 digits
|
||
|
- Made ticker scroll-refresh customizable (30 fps by default)
|
||
|
-> new cmd-option "-fps"
|
||
|
|
||
|
v 1.1
|
||
|
- Parsing of from-header fixed/improved
|
||
|
- Added windowed mode support (only works with libdockapp v >0.4.0) and
|
||
|
support for a non-shaped window -> new cmd-options "-w" and "-ns"
|
||
|
- Made background color customizable (useful in windowed mode)
|
||
|
-> new cmd-option "-bg"
|
||
|
- Ticker either fullname, short-address-name or total-address
|
||
|
-> new cmd-option "-s"
|
||
|
- Changed pixmaps a bit
|
||
|
|
||
|
v 1.0
|
||
|
- Initial release
|
||
|
|
||
|
Description:
|
||
|
|
||
|
This is wmail - a nifty Window Maker docklet watching your inbox, which is
|
||
|
either a ordinary mbox or a directory conforming to qmails Maildir format.
|
||
|
It provides a nice little GUI displaying some useful pieces of information
|
||
|
about your inbox (as many other nice wm-apps doing nearly the same thing...).
|
||
|
Per default it uses the $MAIL environment-variable to locate the inbox you
|
||
|
are using, other mailing mechanisms like POP or IMAP are not supported - use
|
||
|
a tool like fetchmail to retrieve POP- or IMAP-based mail.
|
||
|
|
||
|
It displays the following:
|
||
|
|
||
|
- a mail-icon in the upper-left if your inbox contains some mails
|
||
|
- a frequently flashing "M@iL" in the upper-right if there are unread mails
|
||
|
- a ticker displaying either complete mail-address, it's name-part or the
|
||
|
full sender's name (without the "-n" option each sender found in the inbox
|
||
|
is tickered, else only the unread ones)
|
||
|
- the number of new and read emails found (or the number of unread messages
|
||
|
if invoked with the "-n" option)
|
||
|
|
||
|
In addition, the lower-right button allowes you to quickly launch your
|
||
|
preferred email user agent (xterm -e mail, mutt, pine, etc.)
|
||
|
|
||
|
wmail is highly customizable, both command-line and configuration-file support
|
||
|
is provided. The following list describes all customizable items,
|
||
|
their associated cmd-line options, config-file statements and default values:
|
||
|
|
||
|
item : X11 display
|
||
|
cmd-line option : -display <string>
|
||
|
rc-file statement: Window.Display = "<string>"
|
||
|
default value : <unset>
|
||
|
|
||
|
item : toggle nonshaped mode
|
||
|
cmd-line option : -ns
|
||
|
rc-file statement: Window.NonShaped = Yes|No
|
||
|
default value : No
|
||
|
|
||
|
item : button command to execute
|
||
|
cmd-line option : -c <string>
|
||
|
rc-file statement: Window.Button.Command = "<string>"
|
||
|
default value : "xterm -e mail"
|
||
|
|
||
|
item : your mailbox (file => mbox, directory => Maildir)
|
||
|
cmd-line option : -mb <string>
|
||
|
rc-file statement: Mail.MailBox = "<string>"
|
||
|
default value : <unset, $MAIL is used>
|
||
|
|
||
|
item : file to store the checksums used to identify mbox mails
|
||
|
cmd-line option : <no option>
|
||
|
rc-file statement: Mail.ChecksumFile = "<string>"
|
||
|
default value : "~/.wmail-cksums"
|
||
|
|
||
|
item : ticker (and count) only unread mails
|
||
|
cmd-line option : -n
|
||
|
rc-file statement: Mail.ShowOnlyNew = Yes|No
|
||
|
default value : No
|
||
|
|
||
|
item : mail check intervall (sec)
|
||
|
cmd-line option : -i <num>
|
||
|
rc-file statement: Mail.CheckIntervall = <num>
|
||
|
default value : 1
|
||
|
|
||
|
item : consider status-field (not used when in maildir mode)
|
||
|
cmd-line option : -sf
|
||
|
rc-file statement: Mail.UseStatusField = Yes|No
|
||
|
default value : No
|
||
|
|
||
|
item : custom status field content used for read mails
|
||
|
cmd-line option : -rs
|
||
|
rc-file statement: Mail.ReadStatus = "<string>"
|
||
|
default value : "O"
|
||
|
|
||
|
item : show nick names in the ticker (all before the @)
|
||
|
cmd-line option : -s
|
||
|
rc-file statement: Ticker.Mode = NickName
|
||
|
default value : Address
|
||
|
|
||
|
item : show family names in the ticker (if available)
|
||
|
cmd-line option : -f
|
||
|
rc-file statement: Ticker.Mode = FamilyName
|
||
|
default value : Address
|
||
|
|
||
|
item : how many ticker frames per sec
|
||
|
cmd-line option : -fps <num>
|
||
|
rc-file statement: Ticker.Frames = <num>
|
||
|
default value : 30
|
||
|
|
||
|
item : use a real X11 font when drawing the ticker
|
||
|
cmd-line option : -fn <string>
|
||
|
rc-file statement: Ticker.X11Font = "<string>"
|
||
|
default value : <unset, a buildin font is used>
|
||
|
|
||
|
item : command to execute when new mail has arrived
|
||
|
cmd-line option : -e <string>
|
||
|
rc-file statement: Mail.OnNew.Command = "<string>"
|
||
|
default value : <unset>
|
||
|
|
||
|
item : sender-names to skip (don't ticker and count them)
|
||
|
cmd-line option : <no option>
|
||
|
rc-file statement: Mail.SkipSender = "<string>"
|
||
|
default value : <unset>
|
||
|
|
||
|
item : color for upper symbols (envelope and MAiL)
|
||
|
cmd-line option : -sc <string>
|
||
|
rc-file statement: Colors.Symbols = "<string>"
|
||
|
default value : "#20B2AA"
|
||
|
|
||
|
item : ticker font color
|
||
|
cmd-line option : -fc <string>
|
||
|
rc-file statement: Colors.Font = "<string>"
|
||
|
default value : "#D3D3D3"
|
||
|
|
||
|
item : backlight color (dockapp background)
|
||
|
cmd-line option : -bc <string>
|
||
|
rc-file statement: Colors.Backlight = "<string>"
|
||
|
default value : "#282828"
|
||
|
|
||
|
item : color of inactive symbols
|
||
|
cmd-line option : -oc <string>
|
||
|
rc-file statement: Colors.OffLight = "<string>"
|
||
|
default value : "#282828"
|
||
|
|
||
|
item : outer frame color (used in nonshaped window mode)
|
||
|
cmd-line option : -bg <color>
|
||
|
rc-file statement: Colors.NonShapedFrame = "<string>"
|
||
|
default value : <unset, this color is translucent>
|
||
|
|
||
|
libdockapp provides the following additional cmd-line options:
|
||
|
|
||
|
windowed-mode : -w
|
||
|
|
||
|
show help and exit : -h
|
||
|
|
||
|
show version and exit: -v
|
||
|
|
||
|
Known bugs:
|
||
|
|
||
|
- Solaris: sometimes wmail gets terminated by Xlib displaying the message:
|
||
|
XIO: fatal IO error 0 (Error 0) on X server ":0.0"
|
||
|
after XXX requests (YYY known processed) with 0 events remaining.
|
||
|
I do not have any ideas on how to fix this ... :-( --> PLEASE HELP!!!
|
||
|
- "From" header field folding (see RFC822) is not supported
|
||
|
- Reconfiguration during run-time results in a complete state-lost -> all
|
||
|
email in your mbox is assumed to be unread again
|
||
|
|
||
|
Please keep in mind this code is free and comes with absolutly no warranty
|
||
|
(see file COPYING included in the package) - but if you think something goes
|
||
|
wrong, please let me know!
|
||
|
|
||
|
What is still missing (and when it will be done :)
|
||
|
|
||
|
- Pop3/Imap support (never - use fetchmail)
|
||
|
- Character encoding in ticker - at least latin1 (currently in progress)
|
||
|
- Multiple mailslots (never)
|
||
|
- Displaying/tickering of other email header fields (hmm, i don't know...)
|
||
|
- Your needs/ideas...?
|
||
|
|
||
|
Requirements:
|
||
|
|
||
|
This application needs a running X window system and libdockapp v0.2 or newer
|
||
|
(0.4.0 required for windowed-mode), that for itself has some requirements
|
||
|
(Xpm support for example). libdockapp comes with Window Maker - if not sure,
|
||
|
see what the configure-script says when running it.
|
||
|
|
||
|
Compile:
|
||
|
|
||
|
Simply follow these steps:
|
||
|
1. Call "./configure", try "./configure --help" for a list of options.
|
||
|
2. Call "make" to build the binary (or gmake if make is't GNU make compliant)
|
||
|
|
||
|
If compiling does not succeed due to missed header files or libraries
|
||
|
you have to make use of configures `--includedir=DIR' and/or `--libdir=DIR'
|
||
|
cmdline options in order to specify paths to those files.
|
||
|
|
||
|
Porting:
|
||
|
|
||
|
This code (without using the new Maildir code and autoconf package setup)
|
||
|
is known to work under:
|
||
|
- Linux >=2.4.10 on x86
|
||
|
- Osf 3.2 on Dec/Alpha
|
||
|
- Sun Solaris 4.0 on Sparc Station 4 and 10
|
||
|
- Sun Solaris 6, 7 and 8 (thanx to Kristian Borum!)
|
||
|
- SunOs 5.7 on Ultra Sparc 5 (thanx to Alessandro!)
|
||
|
|
||
|
...together with Window Maker v0.60.0 or better (or standalone of course) and
|
||
|
libdockapp v0.4.0.
|
||
|
|
||
|
Please let me know if you have ported this to a platform not listed
|
||
|
above to mention it (and your name of cource ;). Some users had
|
||
|
trouble porting wmail to Solaris because the original timer signal handling
|
||
|
has not worked properly. This was caused by different semantics of libc's
|
||
|
signal function and should got fixed since releases >= v1.3.
|
||
|
|
||
|
Install:
|
||
|
|
||
|
Call "make install" or copy the binary found in the src subdirectory by hand.
|
||
|
Make based installation also copies the provided sample rc-file to ~/.wmailrc
|
||
|
but wmail even runs without it.
|
||
|
|
||
|
Keep in mind, libdockapp must be installed properly (i.e. let reside it in
|
||
|
your X11 base library directory or let $LD_LIBRARY_PATH point to the lib).
|
||
|
If you would like to use rc-based configuration, look into the provided
|
||
|
sample-file "wmailrc-sample" and use it as a base for your particular needs
|
||
|
by copying it to ~/.wmailrc (make install has done this automatically).
|
||
|
Note: the name of this rc-file is hard-wired and cannot be customized.
|
||
|
|
||
|
Run:
|
||
|
|
||
|
Try wmail -h to see a list of all available options.
|
||
|
|
||
|
Web/Home:
|
||
|
|
||
|
www.informatik.uni-jena.de/~topical/sveng/wmail.html
|
||
|
|
||
|
Author and maintainer:
|
||
|
|
||
|
Sven Geisenhainer <sveng@informatik.uni-jena.de>
|
||
|
|
||
|
There is also a Debian package available under "http://jerhard.org/files/"
|
||
|
maintained by Juergen A. Erhard <juergen.erhard@gmx.net> - Thank you, Juergen!
|
||
|
|
||
|
Final words:
|
||
|
|
||
|
Thanx to Thomas Kurschel for his suggestions and coding assistance.
|
||
|
Thanx to Juergen A. Erhard for his codings and Debian packaging efforts.
|
||
|
Thanx to many users on the web for their ideas, test- and bug reports.
|
||
|
|
||
|
And many great thanx to all the GNUstep and Window Maker people who've
|
||
|
provided us with such a great user environment!
|
||
|
|
||
|
Hope you will ENJOY!
|