forked from edsantiago/xlbiff
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
277 lines (203 loc) · 9.45 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
===========
WHAT IS IT?
===========
Is xbiff just not quite enough for you?
This is xlbiff, the X Literate Biff.
Xlbiff lurks in the background, monitoring your mailbox file (normally
/var/mail/<yourusername>). When something shows up there, it
invokes the MH scan(1) command and displays the output in a window.
If more mail comes in, it scans again and resizes accordingly.
Clicking the left mouse button anywhere in the window causes it to
vanish. It will also vanish if you inc(1) and the mailbox becomes
empty. Xlbiff is modeled after xconsole -- its job is to sit invisibly
and pop up only when something demands your attention.
==========
ADVANTAGES (or, Why Yet Another Biff?)
==========
Xlbiff:
+ occupies no screen real estate until mail comes in
+ lets you preview new mail to decide if you want to read it immediately
+ is easy to make go away
==========
INSTALLING
==========
./configure
make && make install
The configured default mail file template is /var/mail/%s.
If this is incorrect for your system, set CONFIG_MAILPATH when
running configure, e.g.:
./configure CONFIG_MAILPATH=/somewhere/mail/%s
To see a list of the flags that control where "make install"
installs various files:
./configure --help
If you have a source distribution without "configure" and
"Makefile.in" files, you can create them with this command:
autoreconf -i
===========
CUSTOMIZING
===========
You may want to tweak some values in the app-defaults file and/or add
some resources to your .Xdefaults. You also probably want to tell your
window manager not to put borders or titlebars or whatever around the
xlbiff window. Finally, don't forget to add an `l' to that xbiff
invocation in your .Xlogin!
Note that an MH format file, xlbiff.form, is included. This form:
- omits message number, which is meaningless in this context
- omits message size, since `scan -file' can't figure it out
- puts a `*' next to the message if your name is on the To: list
(before you say "no duh", think about mailing lists and cc's)
- displays the date in a friendly format
- packs as much subject & body into one line as possible.
Xlbiff.form was stolen & hacked from Jerry Peek's excellent Nutshell
book on MH & xmh.
There are also two sample scripts, Bcheck and Bscan, intended to be
used in conjunction. These are for checking mail in "bulk" maildrops.
See README.bulk for more info.
=======================
|THINGS TO BE AWARE OF|
=======================
Xlbiff invokes `scan -file xxx' by default, and thus requires MH 6.7
or above. If your MH isn't at this level, you can find the latest
version on ftp.ics.uci.edu:/pub/mh. If you don't feel like upgrading,
there's a really, really ugly kludge you can do with inc:
inc -notruncate -silent -file %s -form xlbiff.form \
-width %d -audit /tmp/xlbiff.$$ +.null >/dev/null 2>&1; \
cat /tmp/xlbiff.$$; \
rm /tmp/xlbiff.$$ >/dev/null 2>&1; \
rmf +.null >/dev/null 2>&1
Note that this is truly bletcherous and will give you lots of headaches
when new mail comes in and your MH context gets screwed up.
If you're a Berkeley mail person, you can set scanCommand to:
echo x | mail | grep "^.[NU]"
but it sure does look ugly. Perhaps there are .mailrc settings
to make it look more decent?
If you use Elm you may want to use `frm' as your scanCommand. Some
people seem to be very satisfied with the `fromwho' package, posted
by jearls@blackbird.csc.calpoly.edu to comp.sources.unix volume 25,
available on gatekeeper.dec.com or ftp.uu.net or other places Archie
surely knows about.
Also be aware that problems have been detected with xlbiff reading a
mail file on an NFS-mounted directory. Xlbiff is not guaranteed to
work under these conditions.
=======================================
PORTING (or, if INSTALLING didn't work)
=======================================
Xlbiff should be pretty portable. It was developed in 1991 on a
DECstation 5000/200 running Ultrix 4.2 using cc and gcc; it has
been known to run on Linux, Solaris, and others.
Xlbiff requires X11R5 or beyond and works best with MH 6.7 and up,
or nmh 1.1.
I *think* most portability bugs have been ironed out, but of course
there are always a few left. If fixes are required, or if you add
any whizzy features (see TODO for a partial list), please mail them
to me, <ed@edsantiago.com>, and I will wrap them up for future releases.
==========
BACKGROUND
==========
I wrote xlbiff because I don't always want to read my mail. Regular
xbiff lets me know when I have mail but not what it is -- this makes
me have to inc(1) just so I can decide if I want to bother reading it.
Xlbiff gives me a much better indication of whether or not I want to
take time to read a new message. If I don't, I just click it away
and continue with what I'm doing.
Before xlbiff, I wrote a crude hack using perl and xmessage. It worked,
but I had always wanted to do it right.
=======
HISTORY
=======
The following describes changes made to xlbiff throughout its history.
Where applicable, changes are attributed to the people who submitted
the ideas and, in many cases, patches and source code.
* Version 4.3 (7 Sept 2020)
+ Removed "international: True" X resource.
This was added in 4.2 and changed font resources incompatibly.
Users for whom "international" was useful, or who had already updated
their resources to handle it, can get the 4.2 behavior back by adding
the following line to an X Resources file or -xrm argument:
*international: true
+ Update default font resource with the font's current name
+ Changed default mail path directory to /var/mail from /usr/spool/mail
+ Changed manual page name to xlbiff.1 from xlbiff.1x
+ Install xlbiff.form to /usr/local/share/mh, not /usr/new/lib/mh
+ Developers: Build proceess changed from Imake to Autotools.
+ Developers: Assume modern C library and compiler.
* Version 4.2 (16 May 2017)
+ Primitive i18n support
+ minor code cleanup (whitespace, warnings)
+ Again, update email addresses and URLs
* Version 4.1 (8 Nov 2003)
+ improved Bcheck and Bscan
+ updated email addresses, URLs
+ Packaged for Debian release
* Version 4.0 (2 June 1994 for X11R6 contrib tape)
+ expand functionality of "checkCommand"
+ include "bulk" scripts, taking advantage of checkCommand
+ general cleanup
From Stephen Gildea <gildea@x.org>
+ don't call XBell() if volume is zero (workaround for bug
in certain X terminals).
* Version 3.1 (unreleased)
From Bjoern Stabell <bjoerns@stud.cs.uit.no>
+ add *mailerCommand resource and functionality
* Version 3.0 (released 26 Oct 92)
+ miscellaneous bug fixes
From Gary Weimer <weimer@ssd.kodak.com>
+ add "sound" resource -- allows playing any sound on popup.
From Neil O'Sullivan <Neil.OSullivan@eng.sun.com>
+ add "fade" resource -- pops window down after certain time.
* Version 2.1 BETA
From Daren W Latham <dwl@mentat.udev.cdc.com>
+ add -refresh and -led options.
+ handle WM_DELETE_WINDOW.
From Peter Fischman <peterf@ima.isc.com>
+ Add some comments to Makefile.std to help out SYSV'ers
From Stephen Gildea <gildea@expo.lcs.mit.edu>
+ Lots of cleanup in the default resources.
From Yuan Liu <liu@cs.UMD.EDU>
+ Handle remapping better, don't vanish when WM restarts.
From me:
+ add ErrExit routine, do some more cleanup.
+ output error message if scan fails, but don't die.
+ add ledPopdown option.
+ add checkCommand option (after lots of pestering by Mark!)
* Version 2.0 submitted for X11R5 contrib tape Fri 4 Oct 1991
+ no change, just up rev level
* Version 1.5 submitted for testing Thu 3 Oct 1991
From Jhon Honce <honce@spso.gsfc.nasa.gov>
+ change 'maxWidth/maxHeight' to 'columns/rows'. Bottom option
was broken and I hadn't even noticed!
From me:
+ I need to track revisions better...
* Version 1.4 submitted for testing Thu 3 Oct 1991
From Arthur Castonguay <arthurc@doe.carleton.ca>
+ ignore stat() errors, treat them as empty file.
From Stephen Gildea <gildea@expo.lcs.mit.edu>
+ use XtPop{up,down} instead of {,un}mapWidget.
From several or myself
+ change .width resource to .maxWidth to fix strange bug.
+ yet more portability fixes and cleanup.
* Version 1.3 submitted for testing Tue 1 Oct 1991
From Stephen Gildea <gildea@expo.lcs.mit.edu>
+ use allowShellResize and {,un}map instead of {,un}realize so
it tracks position changes.
+ clean up .ad file
+ raise window to top of stack on new mail.
+ add 'resetSaver' option.
From Mike Schroeder <mike@geronimo.pcs.com>
+ don't pop up if results of scanCommand are null. This is
useful for mail(1)-based users since the mailbox size will
normally be >0 but that may not indicate new mail.
From several
+ remove ANSI C dependencies.
+ use XtAppAddTimeOut() instead of alarm()/sleep()/setjmp().
+ clean up a bit.
From me
+ add 'bottom' resource to preserve old functionality if you
want to keep xlbiff at the bottom of your screen.
* Version 1.0 posted to alt.sources Thu 19 Sep 1991
======
AUTHOR
======
Ed Santiago <ed@edsantiago.com>
The latest version of xlbiff may be found at
https://github.com/edsantiago/xlbiff/