Next Previous Contents

7. Interactive functions

This section lists all functions with their compiled in bindings. Some functions accept a prefix argument; it can be set by pressing escape and a number before calling the function (e.g. to call select_group with the prefix argument four, you need to press "ESC 4 ENTER".

If you want, you can use the setkey configuration command to bind them to different keys. However, please note that the online help won't be updated automatically. If you want it to reflect your changes, you currently need to make use of the $SLRNHELP environment variable and change art_help_line et al.

Note: If a function is bound to an uppercase letter, you can call it without holding down shift as long as the corresponding lowercase letter is unbound (e.g. pressing `p' in group mode will post an article, although post is really bound to `P'). This does not work the other way round (e.g. pressing `M' will do nothing, as move_group is bound to `m' and `M' is unbound by default).

7.1 group functions

The functions described here are available in group mode.

add_group

Default: "a"

Prompts for a newsgroup that gets added to your list. If the group is in your newsrc file, but was hidden or unsubscribed, it is shown. Otherwise, the server is queried - if the group exists, it is inserted after the current group. In any case, the cursor is moved to the group.

bob

Default: "CTRL-K UP" "ESC <"

Moves the cursor to the first newsgroup that is currently visible ("beginning of buffer").

catchup

Default: "c"

Marks the current group as read.

eob

Default: "CTRL-K DOWN" "ESC >"

Moves the cursor to the last newsgroup that is currently visible ("end of buffer").

evaluate_cmd

Default: "CTRL-X ESC"

Reads a line and interprets it as S-Lang.

group_search

Default: "/"

Old alias of group_search_forward.

group_search_backward

Default: "\"

Works like group_search_forward, but searches backwards.

group_search_forward

Default: "/"

Searches for a substring in group names and descriptions ("tag lines"), starting at the current cursor position and wrapping around the list if necessary. Hidden and unsubscribed groups are not taken into account.

See also: group_search_backward

help

Default: "?"

Displays the online help for group mode.

line_down

Default: "DOWN" "N" "CTRL-N"

Moves the cursor to the next visible group.

line_up

Default: "UP" "CTRL-P"

Moves the cursor to the previous visible group.

move_group

Default: "m"

Allows you to move the current newsgroup to another position. You can move it around using the keys bound to line_up and line_down (the up and down arrow keys by default). When finished, press Return.

It is probably a good idea to make all groups visible first, calling using toggle_hidden if necessary. When there are hidden groups, the current group is placed directly before the next visible group when moving it towards the top or directly after it when moving to the bottom, which may or may not be where you really wanted it to be.

page_down

Default: "PAGEDN" "CTRL-D" "CTRL-V"

Scrolls down one page.

page_up

Default: "PAGEUP" "CTRL-U" "ESC V"

Scrolls up one page.

post

Default: "P"

Post an article. The default is to post to the current newsgroup. If no newsgroup or no subject is specified, slrn does not even invoke the editor.

post_postponed

Default: "ESC P"

Lets you chose an article from the postpone directory to re-edit, post or delete it.

quit

Default: "q" "CTRL-X CTRL-C"

Quits slrn.

redraw

Default: "CTRL-R" "CTRL-L"

Redraws the screen. This should only be necessary when another program wrote to stdout directly.

refresh_groups

Default: "G"

Queries server for new articles; unless display of all groups was turned on with toggle_list_all, groups without unread messages are hidden. This function also checks for new groups if check_new_groups is on.

repeat_last_key

Default: "."

Repeats the last keystroke.

save_newsrc

Default: "X"

Updates your newsrc file. It contains information about the groups you are subscribed to, the order in which they should be displayed and what articles you marked as read. This file is automatically written when quitting slrn.

select_group

Default: "RETURN" "SPACE"

Enters the current group for reading. When using a prefix argument, this function also downloads previously read articles:

        1  Select group with article number query.
        2  Select group, but do not apply scores.
        3  Select group with query, but do not apply scores.
        4  Select group.

subscribe

Default: "s"

Subscribe to the current newsgroup. If used with a prefix argument, slrn will prompt you for a regular expression and subscribe to all groups matching it.

suspend

Default: "CTRL-Z"

Suspends slrn (if allowed by your shell).

toggle_group_formats

Default: "ESC A"

Toggles between the different group display formats. You can chose a particular format by specifying a prefix argument (e.g. the function selects the second display format when called with two as the prefix argument).

toggle_hidden

Default: "l"

If some groups are hidden because they contain no unread articles, this function makes them visible and vice versa; however, this function does not toggle the display of unsubscribed groups (see toggle_list_all for this).

toggle_list_all

Default: "L"

This function prompts for a wildmat expression and displays all groups that match it (querying the server if necessary). If your server does not support the "LIST ACTIVE" NNTP command with a wildmat argument and read_active is off, only groups from your newsrc file are taken into account; in that case, you might not find this feature very useful.

When calling toggle_list_all the second time, the unsubscribed groups are hidden again. You can also hide the unsubscribed groups by using this function with the prefix argument one or show all unsubscribed groups with the prefix argument two (does not query the server).

toggle_scoring

Default: "K"

Toggles between slrn's scoring types:

        Full    Use "expensive" (full header) scoring which may be slow.
        Simple  Score based on XOVER data only (faster).
        None    Turn off scoring.
        Cancel  Keep current setting.

transpose_groups

Default: "CTRL-X CTRL-T"

Transpose the position of the current group with the one above it in the list. If there are hidden groups between them, they remain untouched. If you want to rearrange your group list, you'll probably find the move_group function more convenient.

uncatchup

Default: "ESC u"

Marks all articles in the current group as unread.

unsubscribe

Default: "u"

Unsubscribe the current group. If used with a prefix argument, slrn will ask you for a regular expression and unsubscribe all groups that match it. Information about read articles in unsubscribed groups is kept.

7.2 article functions

These functions can be used in article mode, i.e. after selecting a group and downloading its headers.

article_bob

Default: "<"

Shows the first page ("beginning of buffer") of the current article.

article_eob

Default: ">"

Shows the last page ("end of buffer") of the current article.

article_left

Default: "LEFT"

Pans the article window back to the left (after using article_right).

article_line_down

Default: "ESC DOWN" "RETURN"

Scrolls the article down one line.

article_line_up

Default: "ESC DOWN"

Scrolls the article up one line.

article_page_down

Default: "SPACE"

Scrolls the article down one page.

If a spoiler is visible, this function reveals it. How exactly this is done depends on the setting of spoiler_display_mode.

If you are already at the end of the article, slrn goes to the next article (when reading from an slrnpull spool, headers for which no article bodies are present get skipped). If there is no next unread article in the group, it goes to the next group. If there is no next group with unread headers, it returns to the group screen. Whether or not you are prompted first in these cases depends on the settings of query_next_article and query_next_group.

article_page_up

Default: "b" "DELETE"

Scrolls the article up one page.

article_right

Default: "RIGHT"

Pan the article window to the right. This is useful if the article contains long lines and wrapping is turned off.

See also: wrap_flags, wrap_article

article_search

Default: "/"

Searches for a given substring in the current article, starting at the cursor position.

author_search_backward

Default: "A"

Like author_search_forward, but searching backwards, starting at the cursor.

author_search_forward

Default: "a"

Searches the "From:" header lines in the current group for a given substring, starting at the cursor position.

browse_url

Default: "U"

Searches for URLs in the current article and displays them in a menu. If you select one of them, slrn starts your browser on it. An exeption to this are "nntp:" URLs - slrn handles those itself by trying to fetch the referenced article or switching to the given newsgroup.

See also: non_Xbrowser, Xbrowser

cancel

Default: "ESC CTRL-C"

Cancels the current article (i.e. sends a request to delete it to your server). slrn only allows you to cancel articles you wrote yourself. Please note that due to abuse of cancel messages, some servers are configured to ignore them.

catchup

Default: "C" "ESC C"

Marks all articles up to the currently selected one as read.

catchup_all

Default: "c" "ESC c"

Marks all articles in the current group as read.

create_score

Default: "K"

Interactively creates a score file entry based on data from the currently selected article. If this function is called with a prefix argument, it opens the score file for manual editing.

See also: score_editor_command

decode

Default: ":"

This function decodes files that are included in articles using the UU or base64 encoding. You first need to specify a temporary file to which the articles that should be decoded are saved. Then, the actual decoding takes place; the resulting files are put in the directory given in decode_directory. When finished, slrn will ask you whether you want to delete the temporary file, which is usually not needed any longer at this point.

By placing the cursor on a collapsed thread, you can decode the files in all articles in it. Multipart binary postings can be decoded by using tag_header to tag all parts first (you need to do this in the correct order; slrn does not re-arrange the parts).

delete

Default: "d"

"Deletes" the current article (i.e. marks it as read) and proceeds to the next unread header. If the cursor is on a collapsed thread, all articles in it are marked as read.

delete_thread

Default: "ESC d"

Marks the current article and its subthread (all of its "children" in the thread tree) as read.

enlarge_article_window

Default: "^"

Enlarges the article window one row.

See also: shrink_article_window

evaluate_cmd

Default: "CTRL-X ESC"

Reads a line and interprets it as S-Lang. Identical with evaluate_cmd in group mode.

exchange_mark

Default: ","

Returns to the article previously marked using mark_spot. Before that, the mark is moved to the current article, so you can jump back to it by calling exchange_mark again.

expunge

Default: "x"

Removes all articles from the list that are marked as read and not tagged as important (using toggle_header_tag).

fast_quit

Default: "Q"

Quit slrn immediately (without returning to group mode first).

followup

Default: "f"

Write a followup on the current article. The following prefix arguments are accepted:

        1  Insert all headers.
        2  Insert all headers, but do not modify the article (no quoting,
           don't strip or attach signatures).

forward

Default: "F"

Forward (mail) the current article to someone. All headers are included when using the prefix argument ``1'', and the subject is prepended with ``Fwd:''. If you wish, you can edit the e-mail before it is sent (to add a comment or cut down the article to the relevant part).

forward_digest

Default: "g"

This function can be used to skip to the next part in mailing list digests or to find the next section section in many FAQs. To do this, it first tries to find a line that starts with "Subject:" (followed by a blank or a tab); if no such line is present, it looks for a line that starts with a digit.

get_children_headers

Default: "ESC CTRL-P"

Reconstructs the current sub-thread (i.e. finds all children of the selected posting). Using a prefix argument makes this function less "thorough", which means that it is faster, but more likely to miss some articles.

For those who are interested in the technical details of this: get_children_headers queries the server for articles that have the current Message-ID in the "References" header line. Unless a prefix argument is set, this is done recursively for each child. This often finds additional articles, as the current Message-ID might have been dropped from the "References" header when it became too long at some point.

Note: This function depends on the "XPAT" NNTP extension, which is not supported by all servers. Even when it's supported, it will only find articles that were posted to the current group.

get_parent_header

Default: "ESC p"

Goes to the current article's parent, downloading it from the server if necessary. When used with a prefix argument, the whole thread is reconstructed; the prefix argument two makes this faster, but more likely to miss some articles (see get_children_headers for a discussion of this).

grouplens_rate_article

Default: "0"

Set a GroupLens rating for the current article.

goto_article

Default: "j"

Jumps to an article with a given header number. Here, "header number" refers to the number assigned to the article by the server, not the one which is by default shown at the left border of the header window.

goto_last_read

Default: "L"

Jumps to the last article you read.

header_bob

Default: "ESC <"

Goes to the first article in this group ("beginning of buffer").

header_eob

Default: "ESC >"

Goes to the last article in this group ("end of buffer").

header_line_down

Default: "DOWN" "CTRL-N"

Goes to the next visible article in this group.

header_line_up

Default: "UP" "CTRL-P"

Goes to the previous visible article in this group.

header_page_down

Default: "PAGEDN" "CTRL-D" "CTRL-V"

Scrolls the header window down one page.

header_page_up

Default: "PAGEUP" "CTRL-U" "ESC V"

Scrolls the header window up one page.

help

Default: "?"

Displays the online help for article mode.

hide_article

Default: "H"

Hides the article pager (or shows it, if it was hidden).

locate_article

Default: "ESC l"

Locates an article by its Message-ID, downloading it from the server if necessary.

mark_spot

Default: ";"

Marks the current article. This makes it possible to come back to it later using exchange_mark.

next

Default: "n"

Goes to the next unread article, uncollapsing threads if necessary. When reading from an slrnpull spool, headers for which the article body is not present get skipped. If the group does not contain a next unread header, slrn skips to the next group. Whether this happens automatically or you are prompted first depends on the setting of query_next_group.

next_high_score

Default: "!"

Goes to the next article with a high score.

next_same_subject

Default: "="

Goes to the next article that has the same subject as the currently selected article.

pipe

Default: "|"

Pipes the current article to a program.

post

Default: "P"

Posts an article. This function is identical with post in group mode.

post_postponed

Default: "ESC P"

Post a postponed article. Identical with post_postponed in group mode.

previous

Default: "p"

Goes to the previous unread article, uncollapsing thread if necessary. When reading from an slrnpull spool, headers for which the article body is not present get skipped.

print

Default: "y"

Sends the selected article to a printer. See printer_name for a discussion of how exactly this function prints the article and how it can be customized.

When used with a prefix argument, the article is printed unwrapped and including all hidden lines (e.g. header lines or signatures that are not displayed in the article pager).

quit

Default: "q"

Returns to group mode.

redraw

Default: "CTRL-L" "CTRL-R"

Redraws the screen. Identical with redraw in group mode.

repeat_last_key

Default: "."

Repeats the last keystroke.

reply

Default: "r"

Reply to the selected article via email.

request

Default: "m"

If only the header of an article has been fetched, this command will mark its body for download the next time slrnpull is run; if the body was already marked for download, it gets unrequested.

When you use this function on a collapsed thread, it will work on all postings inside it that do not yet have a body. If some of them are already marked for download, but some others are not, it does not toggle the state of each individual article, but requests all bodies.

save

Default: "o"

Saves the current article to a file (in mbox format). If the cursor is on a collapsed thread or you used tag_header to tag articles, you are prompted whether you want to save the whole thread or all tagged articles, respectively.

The default filename is the name of the current group in the directory specified by save_directory.

show_spoilers

Default: "ESC ?"

Reveals the next spoiler (i.e. all currently hidden text up to the next formfeed character). When used with a prefix argument, all spoilers are revealed. This function can be customized using spoiler_display_mode.

shrink_article_window

Default: "CTRL-^"

Shrinks the article window one row.

See also: enlarge_article_window

skip_quotes

Default: "TAB"

Skips quoted text. What slrn regards as quoted text is determined by ignore_quotes.

skip_to_next_group

Default: "N" "ESC RIGHT"

Goes to the next group that contains unread articles. If there is no such group, this function returns to group mode.

skip_to_previous_group

Default: "ESC LEFT"

Goes to the previous group that contains unread articles, returning to group mode if no such group exists.

subject_search_backward

Default: "S"

Like subject_search_forward, but searching backwards.

subject_search_forward

Default: "s"

Searches the subjects in the current group for a given substring, beginning at the cursor.

supersede

Default: "ESC CTRL-S"

Supersedes the current article, i.e. allows you to re-edit it and sends it to the server along with a request to replace the original version with it. Like with cancel, this is not honored by some servers due to abuse of this feature and only allowed by slrn if you are the author of the current article.

suspend

Default: "CTRL-Z"

Suspends slrn (if allowed by your shell).

tag_header

Default: "#"

Attaches a numerical tag to the current header and moves the cursor down one line. If the header is already tagged, the tag is removed. When applied on a collapsed thread, all articles in it are tagged (or untagged, respectively). Numerical tags are useful to save or decode multiple messages.

toggle_collapse_threads

Default: "ESC t"

(Un-)Collapses the current thread, depending on its current status. When used with a prefix argument, all threads are (un-)collapsed.

toggle_header_formats

Default: "ESC a"

Toggles between different header display formats. You can pick a particular format by specifying a prefix argument (e.g. the function selects the second display format when called with two as the prefix argument).

toggle_header_tag

Default: "*"

Marks the current article unread, flags it as important (or removes the flag, if the article already had one) and moves the cursor to the next line. This flag prevents articles from being marked as read (both explicitly and by catchup functions). Using this function with a prefix argument removes the flags from all headers.

Note: By default, these flags are not "persistent" - as soon as you leave the group, they are gone. However, the macro set stickytags.sl can be used to change this and even preserve them between sessions.

toggle_headers

Default: "t"

Toggles between the display of all or just the article headers selected in visible_headers.

toggle_pgpsignature

Default: "]"

Toggles the variable hide_pgpsignature that controls the display of PGP signatures.

toggle_quotes

Default: "T"

Toggles the display of quoted text as recognized using ignore_quotes. When n is set as a prefix arguments, the first n quote levels remain untouched.

This function also sets the value of hide_quotes to match the new state. This means that if the quotes get shown again, it is set to 0; if a prefix argument is given, it is set to prefix argument + 1; otherwise, it is restored to the value it got when you last used a prefix argument (or, if you never did this, to 1).

toggle_rot13

Default: "ESC R"

ROT13-decode article. Calling this function a second time undoes the effect.

toggle_signature

Default: "\"

Toggles the variable hide_signature which controls the display of signatures.

toggle_sort

Default: "ESC S"

Displays a menu that allows you to change the value of sorting_method which controls the threading / sorting method.

toggle_verbatim_marks

Default: "["

Toggles the variable hide_verbatim_marks, which controls the display of "verbatim marks".

toggle_verbatim_text

Default: "{"

Toggles the variable hide_verbatim_text, which controls the display of text marked as "verbatim".

uncatchup

Default: "ESC U"

Marks all articles from the top of the header window up to the current article as unread.

uncatchup_all

Default: "ESC u"

Marks all headers in the current buffer as unread. If you want a command that affects all available articles (i.e. not only the ones you downloaded when entering the group), use uncatchup in group mode.

undelete

Default: "u"

Marks the current article (or all articles in a collapsed thread) as unread and moves the cursor to the next line.

untag_headers

Default: "ESC #"

Removes all numerical tags that were previously set using tag_headers.

view_scores

Default: "v"

Brings up a selection box that lists all scorefile entries that match on the current article. The available information is: Scoring value of the entry, name of the entry (this field is optional; please see score.txt on how to assign names), name of the scorefile and line number.

If you select an entry, your editor will be started on the scorefile. If the editor supports it and you have a "%d" escape in your score_editor_command, the cursor is moved to the selected entry, which makes this function especially useful for finding and fixing "broken" scorefile entries.

See also: create_score

wrap_article

Default: "W"

Toggles the wrapping of long lines.

See also: wrap_method

zoom_article_window

Default: "z"

Maximizes the article pager (or unmaximizes it, if it already takes up the whole screen).

7.3 readline functions

These functions can be used while entering data in slrn's readline interface, i.e. at a prompt at the bottom of the screen.

bdel

Default: "BACKSPACE"

Deletes the character before the cursor.

bol

Default: "HOME" "CTRL-A"

Moves the cursor to the beginning of the line.

complete

Default: "TAB"

When prompting for a filename, this function tries to complete the content of the line (up to the current position of the cursor) to the name of a file or directory. If multiple completions are possible, it will only insert the portion of the name that is common to all of them. In that case, calling the function again will give you a list of possible completions to chose from.

On all other prompts, it works like self_insert.

cycle

Default: "SPACE"

This function works like complete, except that it cycles between all possible completions rather than inserting the largest common portion.

When no completions are found, this command works like self_insert; if you need a literal space character although a completion exists, use quoted_insert.

del

Default: "DELETE" "CTRL-D" "CTRL-V"

Deletes the character under the cursor.

delbol

Default: "CTRL-U"

Deletes everything from the beginning of the line to the cursor position.

delbow

Default: "CTRL-W"

Deletes everything from the beginning of the word to the cursor position.

deleol

Default: "CTRL-K" "CTRL-L"

Deletes everything from the cursor position to the end of the line.

down

Default: "DOWN" "CTRL-N"

Jumps to the next (later) command line history entry.

enter

Default: "RETURN"

Finishes the editing, returning the current content of the line to the program.

eol

Default: "END" "CTRL-E"

Moves the cursor to the end of the line.

left

Default: "LEFT" "CTRL-B"

Moves the cursor to the left.

quoted_insert

Default: "BACKTICK"

Inserts the next key into the buffer, even if it is usually bound to a function.

right

Default: "RIGHT" "CTRL-F"

Moves the cursor to the right.

self_insert

Default: any key not bound to another function

Inserts the key it was called by into the buffer. This is useful if you want to "unbind" a key in readline mode.

trim

Default: "ESC \"

Strips trailing whitespace from the buffer.

up

Default: "UP" "CTRL-P"

Jumps to the previous (older) command line history entry.


Next Previous Contents