Table of Contents

Name

xrn - an X-based interface to the USENET news system that uses the NNTP remote news server

Synopsis

xrn is an X-based interface to the USENET news system that uses the NNTP remote news protocol for accessing newsgroups and articles on an NNTP server, thus allowing users to read news from personal workstations by accessing a central news repository. This manual page applies to version 9.02.

Description

xrn [-addButtonList list] [-allButtonList list] [-artButtonList list] [-artSpecButtonList list] [-authenticator command] [-authenticatorCommand command] [+/-authorFullName] [-breakLength len] [-busyIconName name] [-busyIconPixmap pixmap] [-cacheFile file] [-cancelCount number] [+/-cc] [+/-ccForward] [-confirm list] [-deadLetters file] [-defaultLines count] [+/-discardOld] [+/-displayLineCount] [+/-displayLocalTime] [-distribution dist] [+/-dumpCore] [-editorCommand command] [+/-executableSignatures] [+/-fullNewsrc] [-geometry geometry] [-iconGeometry +X+Y] [-iconName name] [-iconPixmap pixmap] [-ignoreNewsgroups list] [-includeCommand command] [+/-includeHeader] [-includePrefix "prefix text"] [+/-includeSep] [+/-info] [+/-killFiles] [-leaveHeaders list] [-lineLength len] [+/-localSignatures] [-lockFile file] [-mailer mailer] [-maxLines number] [-minLines number] [-newsrcFile file] [-ngButtonList list] [-nntpServer name] [-onlyShow number] [-organization org] [+/-pageArticles] [-pointerBackground color] [-pointerForeground color] [-prefetchMax number] [-prefetchMinSpeed kbytes] [-printCommand command] [-replyTo name] [+/-rescanOnEnter] [-rescanTime time] [+/-resetSave] [-saveDir directory] [-saveMode mode] [-saveNewsrcFile file] [-savePostings file] [-saveString string] [-signatureFile file] [+/-signatureNotify] [+/-sortedSubjects] [+/-stayInArticleMode] [-stripHeaders list] [+/-subjectRead] [+/-subjectScrollBack] [-tmpDir directory] [-topLines number] [+/-typeAhead] [-unreadIconName name] [-unreadIconPixmap pixmap] [+/-updateNewsrc] [-verboseKill actions] [-watchUnread list]

Basic Operation

Don't let the size of this manual page alarm you. xrn is easy to learn on-line without reading the documentation. This manual page describes many features that may be obvious to the casual observer. It also describes how to use scroll bars, buttons, and select text; if you have used an X toolkit application before, the section titled "BUTTONS, SCROLL BARS, and SELECTION" can be skipped.

xrn uses the .newsrc file to determine what groups need to be read. If the .newsrc file does not exist, it is created, and the user is subscribed to the news group "news.announce.newusers".

xrn has four modes of operation: Add, Newsgroup, All, and Article modes. Add mode will be entered on startup if there are any groups that the news system knows about that are not in the .newsrc file (i.e., new groups). In Add mode, the user is given a list of new groups. Groups can then be subscribed to and placed in the .newsrc file at the first position, the last position, or after a group already in the .newsrc file. When Add mode is exited, any remaining groups are added unsubscribed, so the user is not asked about them the next time xrn is started. On exit from Add mode, or on startup if there are no new groups, Newsgroup mode is entered. Newsgroup mode displays the subscribed to groups that have unread articles and the range of available articles. The basic functions available in this mode allow the user to read a group, mark all articles in a group as read, unsubscribe from a group, move the cursor around the newsgroup window, change the order of the list of newsgroups, re-visit the most recently visited group, and quit xrn. In addition, the user can subscribe to a group and specify its position in the .newsrc file, query the news server for new articles and groups, and go to groups that are either not subscribed to or currently have no unread articles (i.e., groups not displayed on the screen). From Newsgroup mode the user can go into All mode. In All mode the user is presented with a sorted list of all known groups and their subscription status (subscribed or unsubscribed) and can change their status or location in the .newsrc file. On exiting All mode the user is placed back in Newsgroup mode. In order to read the articles in a particular group, the user goes from Newsgroup mode to Article mode. In Article mode the user can sequence through the articles in the group forward or backward, mark a group of articles as read or unread, mark all articles in the current group as read, unsubscribe to the current group, return to the last article visited, search forward or backward for an article subject (either for the exact subject or for a regular expression in the subject), locally kill all articles with a particular subject, and quit (saving all changes) or exit (leaving all articles marked unread). In addition, the user can save the current article in a file, post an article to the group, post a followup to the current article, mail a reply to the author of an article, forward an article to another user via mail, and return to Newsgroup mode.

News System

The news system is a set of bulletins, discussion groups, program sources, and other bits of information distributed around the world under the name "USENET". The information is generally called "news" and is broken up into "newsgroups". Each newsgroup deals with a subject or set of subjects. The subjects for newsgroups are varied: from discussions about particular versions of UNIX to movie reviews, from information on the X window system to commentary on current social and political issues.

For information on what newsgroups are available, answers to commonly asked questions, and newsgroup ediquette, read the articles in the newsgroup "news.announce.newsusers". Users who are new to the USENET are strongly encouraged to become familiar with the contents of the articles in "news.announce.newusers" before posting any messages.

News Server

In order to run xrn, you must have access to an NNTP news server. If you do not have access to such a server and would like to set one up, see the "USENET Software: History and Sources" posting in news.announce.newusers for information about where to get the appropriate software. The NNTP server to which to connect must be specified in one of the following ways: the "-nntpServer" command line argument; the environment variable NNTPSERVER; the nntpServer X resource; (these are listed in the order in which they are checked). The name can be either a host name (e.g., shambhala.berkeley.edu) or an internet number (e.g., 128.32.132.54). If someone else has installed xrn at your site, then it is probably already configured to use the correct news server and you don't have to worry about it.

Screen Layout

The screen displayed by xrn consists of seven sections: a title bar, two scrollable text windows, two information bars, and two button boxes. The title bar displays the current version of the program. The top text window displays information based on the mode. In Add mode, the window displays all groups that are not currently in the .newsrc file, one per line. In Newsgroup mode, the window displays the groups containing unread articles. Each group is represented by a line of the form:

Unread news in <group name> <num> article(s) + <old> old

<group name> is the name of the group, <num> is the number of unread articles, and <old> is the number of read articles that are still available (i.e. have not been expired) on the news server. If "List old" is toggled on, then the word "Unread" will not appear on the lines of newsgroups with no unread articles, and furthermore, the words "news in" will not appear on the lines of newsgroups with no available articles at all.

In Article mode, the window displays a list of subjects for the articles in the current group, with each subject line being represented by a line of the form:

[+u][SP] <num> <subject of the article> [<lines>] <author>

where <num> is the article number, <lines> is the number of lines in the article (when available), and <author> is the author of the article. A `+' in the first position means that the article has been read, a `u' in the first position means that the article has been marked as unread, a `S' in the second position means that the article has been saved to a file, and a `P' in the second position means that the article has been printed.

The top information bar displays information about the mode, the buttons in the top button box, and error messages. The top button box has buttons that are specific to the mode and apply to the information in the top text window. The bottom text window displays articles in Article mode and a list of all known groups and their subscription status in All mode. The bottom information bar displays information about the mode, the buttons in the bottom button box, and error messages. The bottom button box has buttons that are specific to the mode and apply to the information in the bottom text window.

Buttons, Scroll Bars, and Selection

All button and text selection commands are done with the left mouse button. Single-line text selection is accomplished by clicking the left mouse button on the desired line. Multiple-line selection is accomplished by clicking the left mouse button on the first line, holding the button down, dragging the mouse to the last line, and releasing the mouse button. Multiple-line selection can also be accomplished by left-clicking on the first line, and right-clicking on the last line. Selected lines appear in reverse video (the foreground and background colors are switched).

The text windows are scrolled with the scroll bar on the left side of the window. Clicking the left mouse button in the scroll bar will scroll the text down some fraction of a page; clicking the right mouse button in the scroll bar similarly scrolls up. Clicking the middle mouse button will scroll over larger areas: clicking at the top of the scroll bar will scroll to the top of the text, clicking in the middle will scroll to the middle of the text, and clicking at the bottom will scroll to the bottom of the text. For those who like using the keyboard, hitting control-V while the mouse cursor is in a scrollable text window will cause the window to scroll down one page, meta-V will scroll up one page.

Hitting the space bar (while the mouse cursor is in the top button box) will do the right thing; scroll the article text window when appropriate, go to the next article at the end of the current article, go to newsgroup mode when done with all articles in the current group, and go to the next group when in newsgroup mode.

Clicking the middle button on a newsgroup in Newsgroup mode causes xrn to enter Article mode in that newsgroup. Clicking the middle button on an article in Article mode causes that article to be displayed.

Modes

The next few sections describe xrn's modes by presenting an overview of each mode and then a list of its buttons. Each list includes the names and descriptions of the mode's buttons. The labels that actually appear on the buttons when you run xrn are not listed; most of them are obvious, but if you are unsure about one, consult the list of button labels in the application-defaults file.

The listed button names correspond to button widget names, so they can be used in X resources to control the appearance or behavior of individual button widgets.

Furthermore, the button names are used in the "ButtonList" options (see their documentation in "COMMAND LINE ARGUMENTS", below) to control which buttons are actually displayed. Note that only the buttons whose names are followed by asterisks in the lists below are displayed in the default xrn configuration; the others are displayed only if you specify a "ButtonList" option which requests them.

All button names are also action procedure names and can therefore be used in Xt translations to specify key sequences that activate button behavior (consult the X toolkit intrinsics documentation for more information about translations). Some buttons are already bound to key sequences by default; the key sequences for such buttons are listed in parentheses after their entries in the lists below.

Add Mode

Add mode is entered when xrn detects groups that the news system knows about that are not in the .newsrc file (i.e., newly created groups).

To change or add key bindings to Add mode, use the X resource "*addFrame.list.translations".

addQuit * (`q')
Add remaining groups in the list to .newsrc as unsubscribed; go to group mode.
addIgnoreRest * (`x')
If the "fullNewsrc" option is false, then mark the remaining groups "ignored" (i.e., don't subscribe to them or add them to the newsrc file) and go to group mode. Otherwise, behave as "addQuit".
addFirst * (`^')
Add the current group(s) to the beginning of the .newsrc file and mark as subscribed. The current group is the selected group(s), or the group on the line containing the cursor.
addLast * (`$')
Add the current group(s) to the end of the .newsrc file and mark as subscribed.
addAfter * (`+')
Add the current group(s) after a group already in the .newsrc. A dialog box is used to allow the user to enter the name of the group to add the group after. The mouse cursor must be in the dialog box for xrn to accept text (however, it does not have to be in the type-in area). The dialog box has two options: abort and add. No other buttons on the screen will work until the user has selected an option in the dialog box. Hitting carriage return is the same as clicking the add button (in all xrn dialog boxes hitting carriage return is the same as clicking in the rightmost button of the dialog box).
addUnsub * (`u')
Add the current group(s) to the end of the .newsrc file and mark as unsubscribed.
addIgnore * (`i')
If the "fullNewsrc" option is false, then mark the current group(s) "ignored". Otherwise, behave as "addUnsub".

Newsgroup Mode

Newsgroup mode informs the user of the groups with unread news and gives the user control over which groups are visited. Clicking the middle button on a newsgroup entry will enter that newsgroup.

To change or add key bindings to Newsgroup mode, use the X resource "*newsgroupFrame.newsgroups.translations". In addition to the key bindings listed with buttons below, clicking the middle button on a group in the newsgroup list will cause xrn to enter that newsgroup.

ngQuit * (`q')
Quit xrn.
ngRead * (space or `y')
Read the articles in the current group. The current group is either the first one selected (if one or more are selected) or the one on the line containing the cursor. If all groups have been read, the user can still access groups by using the goto newsgroup command. Hitting the space bar with the cursor in the top button box will call this function.
ngNext * (down arrow or `n')
Move the cursor to the next group, leaving the articles in the current group untouched.
ngPrev * (up arrow or `p')
Move the cursor to the previous group, leaving the articles in the current group untouched.
ngScroll ("Next", "Page Down" or Ctrl-v)
Scroll the list of newsgroups forward a page.
ngScrollBack ("Prior", "Page Up" or Meta-v)
Scroll the list of newsgroups backwards a page.
ngCatchUp * (`c')
Mark all articles in the current group as read.
ngSubscribe * (`s')
Subscribe to a group. A dialog box is used to allow the user to enter the name of the group. The dialog box has the following options: abort, prev group (subscribe to the previous group visited), first (put group in the beginning of the .newsrc file), last (put group in the end of the .newsrc file), and current position (put group at the position of the cursor). This command can also be used to change the position of a subscribed group. Hitting carriage return after typing in the name is the same as clicking the current position button.
ngUnsub * (`u')
Unsubscribe from the current group.
ngGoto * (`g')
Go to a newsgroup by typing its name into a dialog. The name specified can be a substring of the group name or a regular expression. If the newsgroup is currently ignored, it is added to the end of the newsrc file and subscribed before it is visited. If the newsgroup is not currently subscribed, it is subscribed before it is visited. The first unread article in the group is displayed, or the last article in the group if there are no unread articles.
ngAllGroups * (`L')
Display all of the groups that exist, their subscription statuses, and a set of buttons for changing the status.
ngRescan * (`r')
Query the server for any new groups or articles. If "cacheActive" (see below) is True, then this command checks for new newsgroups in the foreground and then checks for new articles group by group in the background; if "cacheActive" is False, then the entire rescan takes place in the foreground.
ngGetList (`R')
Retrieve a full list of newsgroups (and what articles are available in them) from the server and check for new newsgroups. This command always retrieves a full list in the foreground, pausing xrn while the retrieval is happening, even if "cacheActive" is True.
ngPrevGroup * (`-')
Re-visit the previous group visited. If it is not currently subscribed, it is subscribed before it is visited.
ngListOld * (`l')
Toggle between listing only groups with unread news and listing all subscribed groups whether or not they have unread news. xrn starts out listing only groups with unread news.
ngSelect * (Shift-S)
Select a range of groups for a subsequent "ngMove" operation. This selection is cancelled automatically if the list of newsgroups displayed in the newsgroup list changes.
ngMove * (`m')
Move the previously selected groups to the current cursor position, unless the cursor is currently within the selected groups, in which case nothing happens.
ngExit * (`x')
Quit xrn, leaving the .newsrc file unchanged since the last time it was updated. The .newsrc file is updated each time a rescan or checkpoint occurs, as well as each time you exit from Article mode if "updateNewsrc" is true. See below for more information about rescanning, checkpointing, and "updateNewsrc".
ngCheckPoint * (Ctrl-s)
Update the .newsrc file based on xrn's current state.
ngGripe * (Shift-G)
Send a gripe (bug, bug fix, complaint, feature request, etc.) to the maintainer of xrn.
ngPost * (`a')
Post an article to a newsgroup or a comma-separated list of newsgroups. See "COMPOSING MESSAGES" below for more information.
ngPostAndMail * (Shift-A)
Post an article and mail it too.
ngMail (Shift-M)
Send a mail message.

All Mode

Use All mode to display a list of all groups, in .newsrc order or in alphabetical order; to subscribe to or unsubscribe from specific groups; or to change the order of groups in your .newsrc. Operations in All mode apply to the selected groups if any are selected, or to the group on the same line as the cursor otherwise.

To change or add key bindings to All mode, use the X resource "*allFrame.list.translations". In addition to the key bindings listed with buttons below, clicking the middle button on a group in the newsgroup list will cause xrn to enter that newsgroup.

allQuit * (`q')
Update the .newsrc file and return to group mode.
allNext * (down arrow or `n')
Move the cursor to the next group.
allPrev * (up arrow or `p')
Move the cursor to the previous group.
allScroll ("Next", "Page Down" or Ctrl-v)
Scroll the list of newsgroups forward a page.
allScrollBack ("Prior", "Page Up" or Meta-v)
Scroll the list of newsgroups backwards a page.
allSearch * (`/')
Search the list of newsgroups for a specific string.
allLimit * ('l')
Limit the display to a subset of the list of all newsgroups, by specifying a regular expression indicating which groups to display. If the list is already limited, enter an empty regular expression to restore all groups to the display.
allSub * (`s')
Subscribe to the selected groups, leaving them at their current position in the .newsrc file.
allFirst * (`^')
Subscribe to the selected groups and move them to the beginning of the .newsrc file.
allLast * (`$')
Subscribe to the selected groups and move them to the end of the .newsrc file.
allAfter * (`+')
Subscribe to the selected groups and move them after a particular group (for which the user is prompted with a dialog box) in the .newsrc file.
allUnsub * (`u')
Unsubscribe from the selected groups.
allIgnore * (`i')
Ignore the selected groups, i.e., unsubscribe from them and remove them from the newsrc file.
allGoto * (space or `g')
Go to the current newsgroup (either the first selected newsgroup or the newsgroup on the same line as the cursor). As with "ngGoto", either the first unread article or the last article (if there are no unread articles) is displayed. However, unlike "ngGoto", this button does not subscribe you to an unsubscribed newsgroup before entering it.
allSelect * (Shift-S)
allMove * (`m')
Same as the "ngSelect" and "ngMove" buttons in Newsgroup mode. Note that "ignored" newsgroups cannot be moved, since they have no location in the newsrc file.
allToggle * (`o')
Toggle between listing newsgroups in .newsrc order and alphabetical order.
allPost * (`a')
Post an article, by default to the current newsgroup.
allPostAndMail * (Shift-A)
Post an article and mail it too.
allMail (Shift-M)
Send a mail message.

Article Mode

Use Article mode for reading and manipulating articles in a group. When you enter Article mode, it displays a list of unread articles and their Subjects, or it displays the last available article if there are no unread articles. You can view previous articles by using "artPrev" when viewing the first article, by using "artGotoArticle" to go to a specific article older than the first article, by using one of the subject-search buttons to search backward for an article older than the first article, or by using "artListOld" to list all articles in the

group

Hitting the space bar in Article mode will "do the right thing"; it will scroll an article if there is more of the article to see or call the "artNextUnread" action otherwise.

To change or add key bindings to Article mode, use the X resource "*artFrame.subjects.translations". In addition to the key bindings listed with buttons below, clicking the middle button on an article in the list will display that article.

Most of the buttons or actions in Article mode keep the article window synchronized with the cursor position in the subject list, i.e., as you move the cursor in the subject list, xrn displays the article the cursor is on. However, it is also possible to navigate in the subject list without changing the displayed article. In particular, you can use the "artScrollIndex", "artScrollIndexBack", "artUp" and "artDown" actions to move the cursor without changing the displayed article; you can also select articles with the left and right mouse buttons without changing the displayed article.

When you navigate the subject list in this manner, you can use the "artCurrent" action to tell xrn to display the article that the cursor is currently on in the subject list.

Buttons in the top button box

artQuit * (`q')
Update the .newsrc file and return to Newsgroup mode (or go to the next newsgroup, if "stayInArticleMode" is true).
artNextUnread * (`n')
Starting at the first selected article if any articles are selected, or at the article under the cursor otherwise, display the next available unread article, wrapping around to the beginning of the subject list if there are no unread articles after the starting point but there are unread articles before it. If no unread articles exist, xrn exits from Article mode and returns to Newsgroup or All mode (or goes to the next newsgroup, if "stayInArticleMode" is true).
artNext * (`N')
Display the selected article, if any, or the article under the subject cursor if it isn't currently displayed, or the next article after the currently displayed one. Exit from Article mode (or go to the next newsgroup, if "stayInArticleMode" is true) after the last article has been reached.
artPrev * (`P')
Display the selected article, if any, or the article under the subject cursor if it isn't currently displayed, or the article before the currently displayed one.
artLast * (`-')
Display the last article accessed before the currently displayed one. This command only keeps track of one previously accessed article, so invoking it repeatedly simply toggles the display between two articles.
artCurrent (Enter or Return)
If no articles are selected in the subject list, then display the article that the cursor is currently on. Otherwise, display the first selected article.
artUp (up arrow)
Move the cursor up one line in the subject list, without changing the currently displayed article.
artDown (down arrow)
Move the cursor down one line in the subject list, without changing the currently displayed article.
artNextGroup * (Meta-n)
Go directly to the next newsgroup with unread news, bypassing Newsgroup or All mode.
artCatchUp * (`c')
If any articles are currently selected, then mark as read all articles that are not explicitly marked unread, from the first listed article up to the first selected article. Otherwise, mark as read all articles that are not explicitly marked unread, and exit Article mode (note that "stayInArticleMode" does not affect this command).
artFedUp * (Meta-c)
Mark as read all articles in the current group that are not explicitly marked unread, and then go to the next group with unread articles.
artGotoArticle * (`.')
Go to a specific article (you will be prompted for the article number with a dialog box).
artMarkRead * (`j')
Mark as read the current or selected articles, and then return the list cursor to the currently displayed article if it wasn't there already).
artMarkUnread * (`m')
Mark as unread the current or selected articles, and then return the list cursor to the currently displayed article if it wasn't there already.

When an article is marked as unread, a `u' is placed in the far left column next to the article's number. The only way to mark an article as read once it has been marked with a `u' is to use the "artMarkRead" function.

The "artNext", "artPrev", "artSubNext", "artSubPrev", "artThreadParent" and "artSubSearch" commands will all display articles that are marked unread as they encounter them, but "artNextUnread" will not.

artSub (`+')
Subscribe to the current group. This comment is used if you enter an unsubscribed newsgroup from All mode and decide while reading it that you wish to subscribe to it.
artUnsub * (`u')
Unsubscribe from the current group; exit from Article mode (or go to the next newsgroup, if "stayInArticleMode" is set).
artSubNext * (Ctrl-n)
artSubPrev * (Ctrl-p)
If articles are selected, then display the first selected article. Otherwise, if the cursor is not on the currently displayed article, then display the article the cursor is on. Otherwise, find and display the next or previous article with the same subject as the current article (besides any "[rR][eE]:" prefix). If there are no more articles with the current subject and there are more unread articles, display the first unread article. If there are no more articles with the current subject and there are no more unread articles, exit Article mode (or go to the next newsgroup, if "stayInArticleMode" is set).
artThreadParent * (Meta-p, Shift-Meta-P)
Find and display the parent (actually, more generally, the most recent available ancestor) of the current or selected article (i.e., the article to which the current or selected article is a followup).

This command will search through all of the article's ancestors, from most to least recent, until it finds one which is available. By default, articles which are currently listed in the Subject index take precedence over other articles. To force this command to definitely display the most recent parent, even if it is not currently listed, hold down the shift key when you execute the command.

artListOld * (Shift-L, Ctrl-Shift-L)
List all articles available in the group, even those that have been read. Note that this button does not toggle (clicking this button twice will not put you back to where you were). Note, furthermore, that this command can take a while when is is executed on a newsgroup with many articles in it.

Executing this command with the Ctrl key depressed will cause xrn to pop up a dialog asking you to enter the first article number to list. If you hit Enter without entering an article number, then xrn will "fill in the gaps" in the current article list, i.e., it will display old articles between the current first displayed article and the last article in the newsgroup. If you instead enter an article number, xrn will display all articles between that article and the last article in the newsgroup. Finally, if you enter a number preceded by a plus sign (`+'), xrn will decrement the first displayed article by the specified number (e.g., if you specify "+20", then xrn will display twenty additional old articles.

artResort * (`o', Ctrl-o)
Resort the article list. This command won't do anything when you first enter article mode, because the article list is pre-sorted. However, if you do something which causes new articles to be added to the beginning of the list (e.g., executing the "artPrev" command while viewing the first article in the list), you can use this command to resort the list.

Executing this command as Ctrl-o causes the article list to be unsorted, i.e., regardless of your default sort order, the subject list will be reordered into numerical order. There is no mouse button binding for unsorting the article list; you must type Ctrl-o to do so.

artKillSubject * (`k', Shift-K, Ctrl-k)
artKillAuthor * (Meta-k, Meta-Shift-K, Meta-Ctrl-k)
Locate either the first selected article if any articles are selected, or the article under the cursor otherwise, and mark all articles with its subject (or author) as read. Then, if the command was executed with the Shift key held down, add a command to kill the subject (or author) to the current group's kill file, so that it will be marked read automatically in the future. Alternatively, if the Ctrl key was held down, then the command is added to the global kill file, so that it will affect all newsgroups rather than just the current group.

Note that the Shift and Ctrl bindings apply to the subject-kill and author-kill buttons as well as key commands. E.g., if you hold down the Shift key while clicking on the "Subject kill" button, the kill command will be added to the group's kill file as well as being executed on the currently listed articles. Also, for users who don't want to have to use the keyboard to kill articles, clicking button 3 (usually the right button) on a kill button is equivalent to holding down the Shift key, and clicking button 2 (usually the middle button, if there is one) is equivalent to holding down Ctrl.

artKillThread * (`t', Shift-T, Ctrl-t)
artKillSubthread * (Meta-t, Meta-Shift-T, Meta-Ctrl-t)
As above, but kill the article's thread or subthread instead of its subject or author. An article's thread is killed by finding its oldest ancestor and killing all articles which claim to be descendants of that ancestor. An article's subthread is killed by killing all of its descendants (as opposed to the descendants of its oldest ancestor). When an article is the first one in a thread (i.e., it has no ancestors), killing its thread and its subthread do the same thing.

Thread-killing functionality is not available unless "thread" is one of the sort types specified in the "sortedSubjects" option described below.

artSubSearch * (`/')
Starting the first selected article if any articles are selected, or at the article under the cursor otherwise, search for an article whose subject matches specified regular expression. This command pops up a dialog for you to enter the regular expression and select a direction in which to search.

If you select s search direction without first entering a regular expression, the regular expression from the last search is used. This can be used to switch the direction of the search without retyping the expression.

artContinue * (Meta-/)
Continue the last regular expression search, searching for the same regular expression in the same direction.
artScroll ("Next", "Page Down" or Ctrl-v)
Scroll the article text forward a page.
artScrollBack ("Prior", "Page Up", `b' or Meta-v)
Scroll the article text backward a page.
artScrollLine (Meta-down arrow)
Scroll the article text forward one line.
artScrollBackLine (Meta-up arrow)
Scroll the article text backward one line.
artScrollEnd (`>')
Scroll to the end of the article text.
artScrollBeginning (`<')
Scroll to the beginning of the article text.
artScrollIndex (Shift-"Next", Shift-"Page Down" or Shift-Ctrl-V)
Scroll the article index forward a page.
artScrollIndexBack (Shift-"Prior", Shift-"Page Up" or Shift-Meta-V)
Scroll the article index backward a page.
artPost * (`a')
Post an article to the current group. See "COMPOSING MESSAGES" below for more information.
artPostAndMail * (Shift-A)
Post an article to the current group and mail it as well.
artMail (Shift-M)
Send a mail message.
artExit * (`x')
Restore the current group's articles to the read/unread state they were in before the newsgroup was entered and exit from Article mode. Note that articles marked read or unread by kill-file processing remain so marked.
artCheckPoint * (Ctrl-s)
Same as "ngCheckPoint".
artGripe (Shift-G)
Same as "ngGripe".

Buttons in the bottom button box

(Note that buttons can only be placed in the button box in which they were originally assigned by xrn. Therefore, if you want to include any of the buttons in this section in a "*ButtonList" option (see below), you must use "artSpecButtonList", not "artButtonList".)

artSave * (`s', `w' or `|')
Save the current article in a file or mail folder or pipe it it into a command. This command pops up a dialog for you to enter the file name in which to save, and buttons to execute the save or abort it.

If the specified filename begins with a `|', the article is piped into the command specified after the `|'. If the filename begins with a `+', it is treated as an MH folder, and the article is refiled into the specified folder. If the name begins with a `@', it is assumed to be a BABYL file (i.e., the type of file used by Emacs RMAIL mode), and the article is saved in the named file in BABYL format.

If the filename does not start with any of those special characters, then it is assumed to be a normal filename, and the article is appended to it. If the filename is relative (does not begin with `/' or `~'), "~/News/" (or the value of the "saveDir" option) will be prepended to it.

If no filename is specified, the article is saved in "~/News/Groupname", where "Groupname" is the name of the current group with the first letter capitalized If "saveMode" (see below) is set to "subdirs", then "~/News/groupname/" will be used instead of "~/News/".

If multiple articles are selected when this command is executed, then all will be saved as specified.

If a specified filename has a "%d" in it, the "%d" will be replaced with the article number being saved. To save in a file with `%' in its name, you must use two `%' characters, i.e., "%%".

artReply * (`r')
Reply (by mail) to the author of the current article. See "COMPOSING MESSAGES" below for more information.
artForward * (Meta-f)
Forward the current article to a person or multiple people via mail.
artFollowup * (`f')
Post a followup to the current article.
artFollowupAndReply * (Ctrl-F)
Post and mail a single response to the current article.
artCancel * (Shift-C)
Cancel the current article. You can only cancel an article that you wrote.
artRot13 * (Shift-X or Ctrl-x)
Decrypt an article "encrypted" with the "rot-13" algorithm. In some newsgroups (e.g., "rec.humor", "rec.humor.funny"), articles that may offend certain people are sometimes posted. To minimize the offense, these articles are sometimes encoded with "rot-13", a simple letter-substitution cipher, so that users must take explicit action in order to view them. Executing this command will decode such an encoded message; executing the command a second time on the same article will return the article to its original contents.
artXlate *
Translate the article from ISO 646 to ISO 8859-1.
artHeader * (`v')
Toggle between showing all header lines in the article and showing a limited set of header lines. This command is ineffective (and therefore its button is insensitive) if you have not set the "stripHeaders", "leaveHeaders", or "displayLocalTime" option (see below).
artPrint *
Print the article (see the "printCommand" option below).

Composing Messages

Kinds of messages

With xrn, you can compose and send both newsgroup articles and mail messages. A newsgroup article can be either a followup to an existing article or an article without any relation to previous articles; similarly, a mail message can be a reply to an existing article or a stand-alone message. Furthermore, a single message can be both a newsgroup posting and a mail message (e.g., if you want to post a followup to a previous posting and also send a copy of your followup to the author of the previous posting).

The message editor

By default, when you tell xrn that you want to compose a message, it pops up a composition window with the message template in the standard X toolkit editor, whose command syntax is similar to that of emacs(1) . However, you can also use an editor of your own choosing to edit messages. For more information, see the "editorCommand" option below.

Signature files

xrn will attempt to read a signature file and include its contents in the message template. (Note, however, that a signature may not be included in postings if the inews(1) program at your site also includes a signature and xrn has been configured to use inews to post articles.)

The signature file name is set with the "signatureFile" option (see below); it defaults to "~/.signature". However, rather than just checking for that file xrn will first check for a signature file that is specific to the current newsgroup or newsgroup hierarchy or to the type of message being composed.

For example, if you are posting an article in "comp.sources.x" and "signatureFile" is set to "~/.signature", xrn will check for the existence of any of the following signature files (in this order):


~/.signature-comp.sources.x
~/.signature-comp.sources
~/.signature-comp

Then, it will check for "~/.signature.post". In general, the message types used for this check are and "followup", "forward", "gripe", "reply", "post", and "mail". In this check, a message that is both a followup and a reply has type "followup", and a message that is both a posting and a mail message has type "post". If none of these files is found, it will finally check for "~/.signature".

If the "executableSignatures" option is enabled and the signature file that xrn finds is executable, xrn will run the signature file as a program and use its output as the signature.

If the "signatureNotify" option is enabled, xrn will display an informational message telling you which signature file it is reading or executing.

If the signature text is more than 330 characters long, it will be ignored. Long signatures are considered rude and should be avoided.

Composition window buttons

There are up to five buttons (some of them are not relevant when composing some types of messages and are therefore omitted) at the bottom of the editor window which do the following: abort the message without sending it; save the message in the file specified by the "savePostings" option (see below); send the message; include in the message the text of article to which this is a followup and/or reply; or include in the message a specified file (for which you are prompted with a dialog box).

You may only compose one message at a time.

Posting restrictions


Table of Contents