RCVTTY(1)
π RCVTTY(1) β the "omg you got mail" era π
okay bestie, welcome to the General Commands Manual, section 1, and today's main character is rcvtty from the nmh fam. it lives in the group chat of mail-handling tools and its whole thing is: yell at your terminal when new mail shows up. let's get into it π«Ά
β¨ NAME β¨
rcvtty β report new mail with nmh π
πΈ SYNOPSIS πΈ
/usr/libexec/nmh/rcvtty [-help] [-version] [command] [-form formatfile]
[-format string] [-width columns] [-bell | -nobell] [-newline |
-nonewline] [-biff]
yes the path is that long, it's giving very "installed in the system's private little folder" energy, we love a queen who knows where she lives π
π¦ DESCRIPTION π¦
so rcvtty is the girl who tells you about new mail. literally her whole job. she's usually working alongside mail filtering agents like slocal or procmail β think of them as the bouncers at the club and rcvtty as the friend who texts you "bestie there's someone here for you" π
here's the vibe: rcvtty runs the named command, hands the message to it as standard input, and then writes whatever that command spits out onto your terminal. so the message goes in, the output comes out, and you see it. slay.
but plot twist β¨ β if no command is specified (or the command is bogus, awkward), then rcvtty doesn't run anything. instead she writes a one-line scan listing. iconic behavior honestly. and you can override what that default scan listing looks like by using either -form formatfile or -format string, which work basically the same as the equivalent options for scan and inc. if you want the full lore on formatting, go read mh-format(5), she explains everything π
now the little details that matter:
- a newline gets output before the message output, and the terminal bell gets rung after the output. drama, but make it functional π
-nonewlineand-nobellwill inhibit those functions. so if you're not in the mood for the whole production, you can turn it off, no cap.-widthcolumns lets you specify the width of the scan line. the default? the width of your terminal. she's adaptive like that π
π the extra format escapes π
besides the standard format escapes described in mh-format(5), rcvtty also recognizes these extra component escapes, and honestly they're lowkey the best part:
bodyβ string β the (compressed) first part of the body πdtimenowβ date β the current date βfolderβ string β the name of the current folder π
π where does the output go tho π
by default, rcvtty sends her output to every terminal on the local machine that is:
- owned by the current user, and
- has given write permission as granted by the command
mesg(1).
but if you pass the -biff option, then rcvtty will obey the notification status set by the command biff(1) instead. different queen, different rules. pick your fighter π₯
π FILES π
/etc/nmh/mts.confβ nmh mts configuration file$HOME/.maildeliveryβ the file controlling local delivery/etc/nmh/maildeliveryβ rather than the standard file
π§ CONTEXT π§
None.
(no context, she said. mysterious. we respect it π)
π DEFAULTS π
-widthdefaults to the width of the terminal-newline-bell
π₯ SEE ALSO π₯
mh-format(5), rcvdist(1), rcvpack(1), rcvstore(1), slocal(1)
the whole girl group honestly, go say hi to all of them π
π BUGS π
Only two return codes are meaningful, others should be.
bestie that's it. that's the bug. two return codes are meaningful, the rest are just... there. not me side-eyeing the other return codes π
okay that's the whole page, and as a little sign-off: this gem is from nmh-1.8, dated 1999-04-30 β yes she's an elder millennial but she's still serving, and she ate, periodt π β¨
π¦ where this page comes from
- alpine 3.24: nmh-doc 1.8-r3 Β· BSD-3-Clause
- epel 10: nmh 1.8-3.el10_1 Β· BSD
- epel 9: nmh 1.8-1.el9 Β· BSD
- fedora 43: nmh 1.8-9.fc43 Β· LicenseRef-Callaway-BSD
- fedora 44: nmh 1.8-10.fc44 Β· LicenseRef-Callaway-BSD
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms