packages icon



 KNEWS(1)                                                           KNEWS(1)
                                    1996



 NAME
      knews - Karl's threaded newsreader for X

 SYNOPSIS
      knews [ options ]

 DESCRIPTION
      Knews is a threaded newsreader with an X Window interface that uses
      NNTP to get news. This manual is intended to explain things that are
      not apparent from the interface, so if you just want to get started,
      you probably don't need to read this.

 OPTIONS
      In addition to the standard X Toolkit options knews accepts the
      following options, which set various X resources.  For an explanation
      of what the resources do, see the sections on resources and the config
      file.

      You don't have to type out the entire name of the option, as long as
      it is unique.

      -nntpServer hostname
           Sets the resource 'Knews.nntpServer' to 'hostname'.  This will
           cause knews to connect to this server on startup.

      +/-bell
           Sets the resource 'Knews.bell' to True/False.

      +/-separate
           Sets the resource 'Knews.separateWindows' to True/False.

      +/-active
           Sets the resource 'Knews.readActiveFile' to True/False.

      +/-descriptions
           Sets the resource 'Knews.retrieveDescriptions' to True/False.

      +/-fill
           Sets the resource 'Knews.fillNewsrcFile' to True/False.

      +/-keep
           Sets the resource 'Knews.keepThreadInfo' to True/False.

      -install
           This will make knews install its own colormap.

      -visual class
      -depth bits
           These will set the resources 'Knews.visualClass' and
           'Knews.visualDepth'.




                                    - 1 -          Formatted:  March 4, 2024






 KNEWS(1)                                                           KNEWS(1)
                                    1996



      +/-icase
           Will set the resource 'Knews.icaseRegexps' to True/False.

      +/-images
           This will turn on/off inline images and color allocation.

      -ncols number
           Sets the resource Knews.nCols to 'number', which is the max
           number of colors knews will allocate for inline images.

      -version
           Prints out the version and compile time to stderr and quits.


 THE THREAD TREE
      The articles in a thread are displayed as nodes in a tree. A border
      inside a node indicates that the article is unread, a border outside a
      node indicates that the article is 'tagged', and a dashed branch in
      the tree indicates a change of subject. By default, you can scroll
      around in the tree with the middle mouse button. An empty box in the
      tree indicates a 'fake' article, i.e. one that has expired on the
      server, has not yet arrived or was posted in a different newsgroup.


 TAGGING ARTICLES
      Articles in the thread tree can be tagged with the third mouse button.
      Clicking on a subject with the third mouse button causes the unread
      articles in that thread to be tagged in preorder (depth first). Once
      you have tagged the articles, you can mark then read/unread, save or
      pipe them in order, and so on.


 CLICKING ON URLS
      Knews supports a simple form of clicking on URLs.  It works by
      selecting a piece of text in the article text window and clicking on
      it with the middle mouse button.  If there is no selection, knews will
      make a crude guess as to what the URL might be.  The resource
      Knews.urlCommand must be set for this to work, see the section on X
      resources for details.


 DRAG AND DROP
      The all groups list and the kill list can be reordered by drag'n'drop.
      The default translation is the second mouse button.


 ABORT
      You may abort the interaction with the NNTP server at any time. This
      causes the connection to be closed, and a new one to be opened. Note
      that this puts a certain load on the server.




                                    - 2 -          Formatted:  March 4, 2024






 KNEWS(1)                                                           KNEWS(1)
                                    1996



 THREAD AHEAD
      Knews is capable of threading groups in the background while you are
      e.g. reading another group.  To do this you click on one or more
      groups in the group list with the right mouse button.  Knews then
      opens a second connection to the server and uses it to thread the
      selected groups.  The status of the thread ahead is shown in the group
      list as a character:

      -       The group is scheduled for thread ahead.
      *       The group is being threaded.
      +       The group has been threaded.


 REGULAR EXPRESSIONS
      The regular expressions used by knews are POSIX.2 extended regular
      expressions, similar to those used by egrep(1), by default case
      insensitive.  Note that these are not anchored by default, so that
      e.g. the expression 'alt' will match any string containing the three
      character sequence 'alt'.  See Henry Spencer's excellent man-page for
      details, regex(7).


 SEARCHING
      Article heads and bodies may be searched for regular expressions.
      Searching applies to read or unread articles as specified with the
      'only unread' toggle, and starts with the 'next' article.  The
      newsgroup list may also be searched.

      Note: the 'Stop' button stops the search as soon as the current
      article has been retrieved from the server.  This is different from
      'Abort' which requires closing and reopening the connection to the
      server.

      It is also possible to use XPAT searching, if the nntp server supports
      it.  To do this, you fill in the 'Header' field on the search popup
      with the header you're interested in (e.g. 'Content-Type') and the
      wildcard field with a wildcard expression.  Pressing 'Submit' then
      sends this to the server, and after a while it responds with a list of
      matching articles.  You can then move between those articles with the
      'Next' and 'First' buttons on the search popup.


 FILE NAME EXPANSION
      In most places where knews uses file names, such as the save/pipe
      popup, the save/pipe action procedures, and the newsrcFile options
      etc, ~ is expanded to $HOME, and the following %'s are expanded:

      %%      %
      %n      The name of the current group.
      %N      The name of the current group, capitalized.
      %g      The name of the current group, slashed.



                                    - 3 -          Formatted:  March 4, 2024






 KNEWS(1)                                                           KNEWS(1)
                                    1996



      %G      The name of the current group, capitalized and slashed.
      %s      The name of the nntp server.
      %p      The number of the port the server listens to.
      %a      The number of the currently selected article.

      Slashed means that the dots are replaced with slashes.  Note that if
      you save an entire thread to a file continaing %a, the number will not
      change with the article.


 THE KILL FILE
      The kill file may be used to 'kill' (mark read) or 'hot' (mark
      interesting) articles, subjects and threads based on different
      criteria.

      Each line in the kill file specifies an entry according to the
      following syntax:

      (F)(S)(A)[Col] || Group regexp || Field expression

      (F)
           This is a character specifying to which header this entry
           applies.  Legal values are:

           'M'     The 'Message-ID:' header, by far the most efficient.
           'S'     The 'Subject:' header.
           'F'     The 'From:' header.
           'X'     The 'Xref:' header.

           Note that 'X' only works if the 'Xref:' header is included in the
           overview files from the server. Also note that the 'Re: ' prefix
           is not considered part of the subject.

           Entries applying to a message-id automatically expire when the
           relevant article has expired.

      (S)
           This is a character specifying the scope of the entry, i.e. what
           articles are killed/'hotted' when this entry applies to an
           article. Legal values are:

           'A'     This article.
           'S'     All articles with the same subject.
           'T'     The entire thread.
           't'     The subthread starting with this article.

      (A)
           This is a character specifying the action of the entry.  Legal
           values are:

           'K'     Kill, which means mark read.



                                    - 4 -          Formatted:  March 4, 2024






 KNEWS(1)                                                           KNEWS(1)
                                    1996



           'H'     Hot, which means mark interesting.

      [col]
           In 'hot' entries, this is the color used to mark the relevant
           articles with.

      ||
           This two character sequence is used as a separator.

      Group regexp
           Only newsgroups matching this regular expression will be affected
           by this entry.  This field is empty in the per-group kill files.

      Field expression
           If the header field is 'S', 'F' or 'X', this is a regular
           expression, and the entry applies to all matching articles. If
           the header field is 'M', this is a message id; this id is
           probably the fastest type of kill entry, since it can be checked
           with a single hash lookup.

      To see what articles were killed: when you have read all unread
      articles, or marked them read, use the 'mark unread, killed' feature
      on the misc menu.

      When a kill rule is applied, hot articles are not killed.  Since the
      entries in the kill file are processed in order, it is possible to put
      kills at the beginning, so that the articles are killed before they
      have a chance to become hot.

      There is one global kill file (~/.knews/.kill-%s by default) and one
      kill file per group (~/.knews/%s/%g/KILL by default).  The rules in
      the global kill file are applied before the per-group kill file.


 MIME VIEWERS AND MAILCAP FILES
      Knews has internal support for content-types text/plain,
      message/rfc822, message/partial, multipart/mixed and multipart/digest.
      For other types, knews will look for a mailcap entry for that type
      (see mailcap(5)).  If one is found, a clickable line will be inserted
      in the article text window that is used to start the viewer.  If there
      is no viewer, then if the type is a subtype of text, knews will
      display it, if it is a subtype of multipart, knews will treat it as
      multipart/mixed, and otherwise knews will give the user opportunity to
      'Save or Pipe'.

      Mailcap files are found via the environment variable MAILCAPS, which
      is a colon separated list of path names.  If this variable is not set,
      a default list of

      $HOME/.mailcap:/etc/mailcap:/usr/etc/mailcap:/usr/local/etc/mailcap




                                    - 5 -          Formatted:  March 4, 2024






 KNEWS(1)                                                           KNEWS(1)
                                    1996



      will be used.  Note that all files found will be merged to produce the
      mailcap database.

      As a hack around miss/over designed mailcap files, knews will ignore
      entries for text/plain and multipart/mixed.


 TEXT/PLAIN ARTICLES
      The following resources determine how knews will display an article of
      type text/plain with a particular charset:

      Knews.charset.headerFont
      Knews.charset.bodyFont
      Knews.charset.quoteFont
      Knews.charset.listFont
      Knews.charset.treeFont
      Knews.charset.encoding
      Knews.charset.headEncHack

      The header, body and quote fonts are used for displaying headers,
      ordinary text and quoted text in the article window.  Knews also has
      some support for encoded 16-bit charsets, this is specified with the
      encoding resource.  Legal values for this are:

      utf-7       The encoding specified for unicode in rfc 1642.
      16-bit      Straight 16-bit network byte order.
      hz-gb-2312  The encoding for chinese described in rfc 1842.
      ksc-5601    Also called iso-2022-kr, described in rfc 1557.
      big5        Another encoding for chinese.

      Note that due to the authors non-existent understanding of asian
      languages these encodings have not been extensively tested.  Lots of
      guess work here.

      For every newsgroup it is possible to specify a default charset (see
      the section on THE CONFIG FILE).  The fonts for this charset will be
      used to display articles without proper MIME-headers.  Also, the
      listFont and treeFont (which may not be encoded) will be used in the
      thread list and article tree, respectively.

      When specifying an encoded charset as defaultCharset, it may be
      desirable to still assume that headers are ascii.  This may be
      accomplished by setting the 'headEncHack' resource listed above, and
      setting the headerFont to an ascii (superset) font.


 MESSAGE/PARTIAL
      Unless the config option assemblePartials is False (see the section on
      THE CONFIG FILE), when knews encounters an article of type
      message/partial, it will be rememberered.  When all the parts have
      been seen, a notice will be popped up offering to assemble the parts.



                                    - 6 -          Formatted:  March 4, 2024






 KNEWS(1)                                                           KNEWS(1)
                                    1996



      There is also an entry on the misc menu that allows a number of
      articles to be tagged and processed to look for message/partial
      articles.


 POSTING MIME
      When you post an article containing 8 bit characters that doesn't have
      a Content-Type header, knews will add such a header with charset equal
      to the value of the defaultCharset config option.  Also, when quoting
      articles with Content-Type: text/plain and charset equal to the
      defaultCharset, knews will decode the article before quoting.  In both
      these contexts, the charset iso-8859-1 will be used if defaultCharset
      is not set.


 READING THE SPOOLDIR
      Knews supports a rather obscure mechanism for communicating with an
      arbitrary program instead of an nntp server.  Using knewsd(1), this
      can be used for reading news (in)directly from the spool dir, or even
      mail folders if they are in the correct format.  This is how it works:
      If the nntp server is given as #str, where str is an arbitrary string
      not containing white space or the characters '/', '.' or '*', knews
      finds the value of the resource Knews.#str and tries to execute that
      program.  The program has its standard input and output connected to
      knews.  If you use this resource setting:

      Knews.#spool: knewsd -spool /var/spool/news \
              -active /usr/local/news/active

      with the appropriate paths for your system, you can read the spool
      directory by specifying the nntp server as '#spool' in e.g. the
      connect dialogue.  This could easily be used to read mh(1) style mail
      folders too.


 X RESOURCES
      There are a number of X resources that affect the behaviour and
      appearance of knews.   Most widgets in the widget hierarchy has
      resources named background , foreground , shadowWidth , and so on. For
      more information see the application defaults file Knews.ad included
      in the distribution. To get a feeling for resources, try editres(1).

      Knews contains a small xpm-file to pixmap converter, so it is possible
      to use settings like e.g.

      Knews*backgroundPixmap:  ~/pixmaps/texture.xpm

      Knews.nntpServer
           If this resource is set, knews automatically connects to this
           nntp server on startup. This overrides the NNTPSERVER environment
           variable. If the server listens to a non-standard port, you may



                                    - 7 -          Formatted:  March 4, 2024






 KNEWS(1)                                                           KNEWS(1)
                                    1996



           specify this e.g as foo.bar:1234. If you don't want knews to
           autoconnect, don't set this or $NNTPSERVER.

      Knews.editCommand
           This resource specifies the editor used to edit posts. Possible
           values include:

           Knews.editCommand:  xemacs +%i %s
           Knews.editCommand:  emacs +%i %s
           Knews.editCommand:  xterm -e vi +%i %s

           %s stands for the name of a temporary file, and %i for the line
           where editing should begin. The default value of this resource is
           a compile time option.

      Knews.urlCommand
           This command is used for clicking on URLs.  %s is expanded to the
           URL, and the result is passed to the shell.  As a simple security
           measure, URLs will not be allowed to contain quotes, parentheses,
           whitespace or ampersands.

      Knews.printCommand
           If this resource is set, the misc menu will have a print option
           which invokes this command.

      Knews.needsTerminal
      Knews.copiousOutput
           These are two shell command templates that will be used for
           mailcap viewers that have the needsterminal or the copiousoutput
           flag set, respectively.  In these, %C will be expanded to the
           relevant mailcap command.  An example should explain it:

           Knews.needsTerminal:     exec xterm -e /bin/sh -c '%C'
           Knews.copiousOuptut:     exec xterm -e /bin/sh '(%C) | less'

      Knews.mimeTypes
           This should point to a file whose contents maps filename
           extensions to mime types.  The syntax of this file is examplified
           by the following list of compiled in types:

           image/jpeg              jpg jpeg
           image/gif               gif
           application/postscript  ps

           This is used to guess the Content-Type of attachments.

      Knews.bell
           Setting this resource to False will turn off the bell.

      Knews.sortGroups
           If this is set to True, knews will keep newsgroups alphabetically



                                    - 8 -          Formatted:  March 4, 2024






 KNEWS(1)                                                           KNEWS(1)
                                    1996



           sorted when new groups are subscribed.

      Knews.separateWindows
           Setting this resource to True will make knews use a different top
           level window for the article text widget.

      Knews.stderrTimeout
           When knews starts a pipe or similar, it captures the standard
           error output and displays it in a notice popup.  This resource is
           the time in milliseconds this popup should stay up.  The default
           is 10000.  Setting this to 0 means stay up indefinitely, and
           negative means no popups.

      Knews.showCache
           If this is True, knews will show the state of the article caches
           in a small popup.  See the config options cacheAheadSize and
           cacheTrailSize for details.

      Knews.mailName
           If you have a mail address which isn't of the form
           'userid@domain.name', you can set this to the part of the address
           that goes before the '@', e.g.

           Knews.mailName:      FirstName.LastName

           Note that your userid will still be used for the 'Sender' header
           if necessary.

      Knews.useIcon
           If this is set to True (the default), knews will use an icon.

      Knews.confirmQuit
           Setting this to True will make knews ask for confirmation before
           disconnecting or quitting.

      Knews.confirmCatchup
           If this is set to True, knews will ask for confirmation before
           catching up a group.

      Knews.confirmQuitGroup
           If this is set to 'True', knews will ask for confirmation before
           leaving a group.  If set to 'tagged', knews will ask confirmation
           when exiting a group if there are tagged articles.

      Knews.visualClass   class
      Knews.visualDepth   bits
           If these are set knews will use a visual of the specified class
           and depth.  Typical values for depth are 8 or 24.  Legal values
           for class are 'StaticGray)', 'GrayScale', 'StaticColor',
           'PseudoColor', 'TrueColor' and 'DirectColor'.  The depth will be
           ignored if no class is specified.



                                    - 9 -          Formatted:  March 4, 2024






 KNEWS(1)                                                           KNEWS(1)
                                    1996



      Knews.installCmap
           If this is set to True, knews will create its own colormap.

      Knews.inlineImages
           This boolean resource turns on/off inline images and color
           allocation.  Knews can show jpeg, gif and png images (if compiled
           with support for this).

      Knews.nCols
           This is the maximum number of colors knews will allocate for
           inline images.  The default is 137 (17 greys and a 5x5x5 color
           cube minus the 5 greys in that cube).

      Knews.colorHack
           If this is set to True, knews try to allocate the same colors as
           other programs have already allocated, thus increasing the
           chances for color sharing.  The number of colors is controlled by
           the resource Knews.nCols.


      The following resources can be used to change various color, font and
      geometry settings:

      Knews*grouplist.preferredLines
      Knews*grouplist.preferredColumns
           These resources specify the number of lines and columns the
           grouplist widget will start up with. The default is 14 for lines
           and 84 for columns.

      Knews*text.preferredLines
      Knews*text.preferredColumns
           These resources specify the number of lines and columns the
           article text widget start up with. The default is 32 for lines
           and 84 for columns.

      Knews*ArtTree.nodeColumns
           The width of the nodes in the article tree in characters.  The
           default is 16.

      Knews*rubberColor
           The color used for rubberbanding in one or two widgets.  The
           default is red.

      Knews.headerColor
      Knews.bodyColor
      Knews.quoteColor
           The colors used for headers, ordinary text and quoted text
           respectiely in the article window.

      Knews*innerColor
      Knews*innerDashed



                                   - 10 -          Formatted:  March 4, 2024






 KNEWS(1)                                                           KNEWS(1)
                                    1996



           The color and line style used for the border of unread articles
           in the article tree. The defaults are Red and False.

      Knews*outerColor
      Knews*outerDashed
           The color and line style used for the border of tagged articles
           in the article tree. The defaults are foreground and False.

      Knews*ScrList.font
           The font used in the lists.

      Knews.defaultHotColor
           The color used for hot entries in the kill file when the
           specified color is invalid or cannot be allocated.


      Some miscellaneous resources:

      Knews.icaseRegexps
           Setting this to False will make regular expressions case
           sensitive.  They are case insensitive by default.

      Knews.readActiveFile
      Knews.retrieveDescriptions
      Knews.fillNewsrcFile
      Knews.showNumberLines
      Knews.keepThreadInfo
      Knews.checkForNewGroups
           These set the default values for the corresponding configuration
           options.  Their main purpose is to allow command line arguments.
           Read the section on the config file for details.

      Knews.newsrcTemplate
      Knews.oldNewsrcTemplate
           These set the default values for the configuration options
           newsrcFile and oldNewsrcFile, the default values are ~/.newsrc-%s
           and ~/.oldnewsrc-%s.  A value not containing %s will not be
           accepted; if you want the traditional ~/.newsrc for a particular
           server, see the resource Knews.configNntpServer below.

      Knews.killFileTemplate
           This sets the default value of the config option killFile.  The
           default value is ~/.knews/.kill-%s.

      Knews.groupKillFileTemplate
           This is the template for the per-group kill file.  The default is
           ~/.knews/%s/%g/KILL, so that e.g. the newsgroup
           news.software.readers will have
           ~/.knews/%s/news/software/readers/KILL as kill file, where %s is
           the name of the server, as usual.




                                   - 11 -          Formatted:  March 4, 2024






 KNEWS(1)                                                           KNEWS(1)
                                    1996



      Knews.configFile
           The configuration file used by knews.  The default value is
           ~/.knews/config-%s, a value not containing %s will not be
           accepted.

      Knews.configNntpServer
      Knews.configPostingAgent
           Setting configNntpServer will make knews Do The Right Thing when
           the user first connects to this server, which means setting the
           newsrc file for this server to ~/.newsrc when creating the config
           file.

           If the configPostingAgent is set this will be used for the
           postingAgent config option for the configNntpServer.

      Knews.generatePath
           If this is set to True, knews will generate a Path header for
           articles.  The header will be 'Path: d!u' where d and u are such
           that the From header generated by knews would be 'From: u@d'.

      Knews.autoSubscribe
           The value of this resource will be used when creating a new
           newsrc file.  If it starts with a '/', it is taken as a pathname
           of a file whose contents will be inserted into the new newsrc
           file, otherwise the literal value of this resource will be
           inserted into the newsrc file.  The default value is

              news.answers:\nnews.newusers.questions:\n

      Knews.bogusFileSystem
           When knews checks for new groups, it uses the atime (time of last
           access) of the config file.  Some filesystems (e.g. AFS) have no
           concept of atime, but fakes it with mtime (time of last
           modification) instead.  Setting this resource to True will make
           knews forcibly update the mtime of the config file.



 THE CONFIG FILE
      When knews connects to an NNTP server it reads a configuration file
      that will affect its behavior.  This file is by default called
      ~/.knews/config-%s where %s expands to the name of the server, but
      this may be changed with the Knews.configFile resource.

      The syntax of the config file is the same as for X resource files.
      When knews can't find the configure file, a new one will be created
      containing some default settings and a few examples settings that
      should be sufficient to clue you in as to how it works.

      It is possible to used #include statements in the config file to
      include other files.  Relative pathnames are considered relative to



                                   - 12 -          Formatted:  March 4, 2024






 KNEWS(1)                                                           KNEWS(1)
                                    1996



      the current working directory, which for knews is always $HOME.  ~
      pathnames are not handled in #includes (if you want that you have to
      hack Xlib).

      The following global (i.e. per server) options exist.

      newsrcFile
      oldNewsrcFile
           These specify the newsrc file and oldnewsrc file for this server.
           ~ pathnames and the same % expansions as for saving are handled.
           If oldnewsrc is set to an empty string, no backup of the newsrc
           file will be created.

           The default values for these are the values of the resources
           Knews.newsrcTemplate and Knews.oldNewsrcTemplate, whose default
           values are ~/.newsrc-%s and ~/.oldnewsrc-%s, respectively.

           For a way of automatically using the standard file ~/.newsrc for
           a specific server, see the resource Knews.configNntpServer above.

      killFile
           The kill file. The default value is the value of the resource
           Knews.killFileTemplate, whose default value is ~/.kill-%s.

      cacheDir
           This directory is used for storing cached articles and thread
           data for groups.  The default is ~/.knews/cache-%s.

      readActiveFile
           Setting this to False will stop knews from reading the active
           file when connecting, using the groups in the newsrc file
           instead.  This will speed up connection on slow lines if you
           don't have too many subscribed groups.  The default is the value
           of the resource Knews.readActiveFile, whose default is True.

      retrieveDescriptions
           A boolean option indicating whether to retrieve newsgroup
           descriptions from the server. The default is the value of the
           resource Knews.retrieveDescriptions, whose default is True.
           Setting this to False may slightly speed up connection time.

      descriptionsFile
           If this is set, the given file will be used to cache group
           descriptions: when retrieveDescriptions is True, knews saves the
           descriptions to this file and when retrieveDescriptions is False,
           knews reads descriptions from this file instead of from the
           server.

      fillNewsrcFile
           Setting this to True will make knews write all groups it knows
           about to the newsrc file, which may be a good idea if the option



                                   - 13 -          Formatted:  March 4, 2024






 KNEWS(1)                                                           KNEWS(1)
                                    1996



           readActiveFile is set to False.  The default is the value of the
           resource Knews.fillNewsrcFile, whose default is False, which
           means only put information in the newsrc file.

      tryListActive
           When this is True (the default) and readActiveFile is False,
           knews will try the "LIST ACTIVE wildmat" nntp extension.  If this
           fails knews will complain and fall back to the old "GROUP" stuff.

      checkForNewGroups
           This is a boolean option indicating whether to check for new
           groups when connecting to this server. The default is True.  The
           atime (time of last access) of the config file will be used for
           the check.

      threadAheadGroups
           This is a white-space separated list of groups to be
           automatically scheduled for thread ahead when connecting.  The
           special values 'all' and 'All' may be used to designate all
           subscribed groups with unread articles and all subscribed groups,
           respectively.

      saveThreadInfo
           Setting this to True will allow 'thread ahead' data to be saved
           between sessions: knews will not remove the files with this data
           when quitting, and when connecting knews will check for these
           files for all subscribed groups.  If this is set, the options
           threadAheadGroups and keepThreadInfo will be ignored.

      rescanTimeout
           This indicates the time in minutes between automatic rescans.
           The default is 60 minutes, 0 means no automatic rescans.
           Regardless of this, rescans will only be performed at special
           points, to prevent a 'rescan-idle-rescan' loop.

      groupNameColumns
           The width of the group name in the group list, default is 42.

      askHowMany
           Setting this to True will make knews ask at which article the
           threading of a group should start.  A hack.

      postingAgent
           If this is specified, knews will use this for posting, instead of
           posting via NNTP.  If your server requires some kind of
           authentication that only inews understands, you could set this to
           'inews -h'.  Note that inews appends the signature, so you don't
           want knews to add one too.

           Also see the resource Knews.configPostingAgent above.




                                   - 14 -          Formatted:  March 4, 2024






 KNEWS(1)                                                           KNEWS(1)
                                    1996



      authInfoPass
      authInfoUser
           These are used to implement the NNTP AUTHINFO USER/PASS protocol
           if required by the server.  These exist mostly for backward
           compatibility; authentication is usually only required when
           posting, and then it is better to use inews for postingAgent,
           since presumably inews knows all about the required
           authentication.

      Here is an example of some settings that will improve things over a
      slow network connection:

      readActiveFile:          False
      retrieveDescriptions:    False
      descriptionsFile:        ~/.knews/cache-%s/descriptions
      fillNewsrcFile:          True

      but note that you will probably want to read the active file and group
      descriptions at least the first time you connect to a server.


      The following resources may be set on a per group basis; they should
      be prefixed with the name of the group they apply to.

      keepThreadInfo
           This tells knews whether to keep thread information in memory
           after the group is exited.  This will make reentering the group
           fast. Legal values are: True, Subscribed and False. 'Subscribed'
           means only do it if the group is subscribed, and exists to allow
           settings such as:

           *keepThreadInfo:    Subscribed

           to keep thread info for all subscribed groups.  The default value
           for this option is 'Subscribed' if the resource
           Knews.keepThreadInfo is set to True and 'False' otherwise.

      cacheAheadSize
      cacheTrailSize
           These two set the sizes of the two article caches, the defaults
           are 0.  The 'ahead cache' is used to prefetch articles from the
           server in the background using a second connection.  The 'trail
           cache' is used to keep articles that you have already read, so
           that going back, saving or uudecoding will be faster.  The
           maximum values for these are 32.

      sortThreads
           This indicates how the threads should be sorted.  A thread
           consists of several subjects.  These are sorted within the thread
           according to the order they occur.  Then the threads are sorted
           according to the setting of this option.  The legal values and



                                   - 15 -          Formatted:  March 4, 2024






 KNEWS(1)                                                           KNEWS(1)
                                    1996



           their meanings are:

           subject       Alphabetically by the first subject in the thread.
           size          Number of unread articles in the thread.
           full-size     Number of articles in the thread.
           hot           Number of hot articles in the thread.
           date          The date of the first unread article.
           average-date  The average date of unread articles in the thread.
           author        Alphabetically by the first From: line in the thread.
           none          No sorting.

           All these values may be prefixed with a minus sign to indicate a
           reversal of the order, or a plus sign which is a no-op.  The
           default value is none.

      expireKills
           Setting this to False will stop expirations from the kill file.
           The default is True, which means that Message-id kills will
           expire when you enter a group where the kill entry would have
           been applicable, but the article with that message-id was not
           found.

      attribution
           This string is used to attribute quotations when you post a
           followup. The default is

           In article %m,\n     %f writes:

           where \n is a newline.  The following %'s are expanded:

           %%    %
           %d    The date of the quoted article in the form 01 Jan.
           %f    The From: line of the article replied to.
           %i    The initials of the previous poster.
           %I    The initials of the previous poster, capitalized.
           %m    The message-id of the article replied to.
           %n    The current newsgroup.
           %r    The real name of the previous poster.
           %s    The subject of the quoted article.
           %t    The time of the quoted article in the form 18:24:02.
           %w    The week day of the quoted article.
           %y    The year of the quoted article.

           Thus '%w, %d %y %t GMT' will give the date in standard rfc822
           format.

      fullName
           This is the full name used in the 'From:' header in the articles
           you post. The default is $NAME, if set, otherwise the gecos field
           from the password file, suitably truncated.




                                   - 16 -          Formatted:  March 4, 2024






 KNEWS(1)                                                           KNEWS(1)
                                    1996



      headerFormat
           A colon and white-space separated list specifying which headers
           to show in the article window, and in what order. The default is

           Subject:Newsgroups:Followup-To:Reply-To:\
           Content-Description:Date:Organization:From:

           If the name of the header starts with a captial letter (From: as
           opposed to from:), knews will decode rfc1522 encoded words
           encountered in this header.  (Those are the weird things that
           look like =?iso-8859-1?q?stuff_here?=.)  Encoded 16-bit charsets
           are not decoded in headers yet.

      assemblePartials
           This boolean tells whether message/partial articles will be
           remembered and offered for assembly.

      quoteRegexp
           Lines in an article matching this regular expression will be
           considered quoted lines, and may be marked with a different color
           and font. The default is

           ^[ \t]*[:>|]

           which matches lines beginning with an arbitrary amount of white
           space (the \t denotes a tab, note that \t won't actually work)
           followed by a >, : or | character.

           You will probably want to have this expression anchored...

      defaultCharset
           The fonts for this charset will be used to display articles that
           lack MIME-headers.  If this is not set, us-ascii will be assumed.

           Also, rfc1522 encodings of this charset in the From and Subject
           header will be decoded when displayed in the article tree and the
           thread list.  In this case, iso-8859-1 is the default.

      showNumberLines
           A boolean option indicating whether to show the number of lines
           in articles in the thread tree.  The default is the value of the
           resource Knews.showNumberLines, whose default is False.

      signatureFile
           The contents of this file will be used to sign the articles you
           post (before editing). The default is ~/.signature.

      subjectColumns
           The width of the subject in the thread list, default is 56.

      quoteString



                                   - 17 -          Formatted:  March 4, 2024






 KNEWS(1)                                                           KNEWS(1)
                                    1996



      quoteQuoteString
           These strings are used for quoting when posting a followup
           article; the first one are used to quote lines that were not
           quoted in the original article, and the second one is used for
           lines that were already quoted.  What lines are considered quoted
           is determined by the quoteRegexp.  The defaults are "> " and ">"
           respectively.  In these strings, %i is expanded to the initials
           of the previous author and %I to the initials, capitalized.

      postedAndMailed
           This string will be instered into articles that are also mailed
           to the previous author.  The default is "[posted and mailed]".

      distribution
           If this is set, it will be used as the content of a
           'Distribution' header.  The default value is the value of the
           environment variable DEFNEWSDIS if set, otherwise empty.

      fullHeader
           A boolean specifying whether to show all headers in the article
           window. It also means turn off all MIME transformations. The
           default is False.

      replyTo
           A string used to construct the 'Reply-To:' header in the articles
           you post. The default is the value of the environment variable
           REPLYTO if set, otherwise empty.

      organization
           A string used to construct the 'Organization:' header in the
           articles you post. The default is $NEWSORG if set, otherwise
           $ORGANIZATION if set, otherwise nothing.

      processXrefs
           If this boolean is True, as it is by default, articles that are
           crossposted will be marked read in all groups when you read them,
           mark them read, kill them or catch them up.

           Note that this only applies to subscribed groups, and will only
           work if the server's overview file contains the Xref: headers.

      extraHeaders
           This string is inserted into the head of all articles you post
           (before editing). The default is empty.  This could be used to
           put in Mime headers, like this:

           *extraHeaders:   Content-Type: text/plain; charset=iso-8859-1

      followupHeaders
           This is a combination of extraHeaders and attribution: it is
           inserted in the headers of replies and followups and the same %'s



                                   - 18 -          Formatted:  March 4, 2024






 KNEWS(1)                                                           KNEWS(1)
                                    1996



           as in attribution are expanded.  An example:

           *followupHeaders:   X-Comment-To: %r

      uuDir
           Uudecoded files will end up in this directory.  Or rather, the
           forked off uudecoding process will be given this as its current
           working directory.  The default is ~/News.

      uuProgram
           This program will be used to uudecode files: it will be given the
           bodies of the relevant articles on standard input.  The default
           is NULL, which means that knews will do its best to filter out
           garbage and then pipe the rest to 'uudecode'.

      Here is an example of how to set different signatures for different
      newsgroups:

      swnet*signatureFile:     ~/.signature-svensk
      de*signatureFile:        ~/.signature-deutsch
      *linux*signatureFile:    ~/.signature-linux

      The first sets the file ~/.signature-svensk for all groups in the
      swnet hierarchy, the second one sets the file ~/.signature-deutsch for
      the de hierarchy, and the last one sets the file ~/.signature-linux
      for any group containing linux as a component (not merely a
      substring).  The file ~/.signature will be used for all other groups.



 ACTIONS
      Knews defines a number of actions that can be tied to keys and buttons
      via translations.  For the default translations, see the application
      defaults file.

      do-the-right-thing()
           Does the right thing.

      kill-append(field, scope [, color])
      kill-prepend(field, scope [, color])
           These action procedures append and prepend respectively entries
           to the kill file for the current group according to the currently
           selected article.

           Valid values for the 'field' parameter are "From", "Subject" and
           "Message-Id", and valid values for 'scope' are "Thread",
           "Subthread" and "Subject".  If the color parameter is present,
           the entry added is a hot-entry with that color, otherwise it is a
           kill-entry.

           It is probably a good idea to use these with field = "message-



                                   - 19 -          Formatted:  March 4, 2024






 KNEWS(1)                                                           KNEWS(1)
                                    1996



           id", since message-id kills are very efficient and expire with
           the corresponding article.

      popup-kill([group])
           This will popup a kill file editor for the supplied group.  If no
           group is given, the editor for the global kill file is popped up.

      mime-hack(content-type, content-transfer-encoding)
           This action procedure reloads the current article, pretending it
           had the specified Content-Type and Content-Transfer-Encoding
           headers.  For example mime-hack(image/jpeg, uue) reloads the
           current article pretending it has Content-Type image/jpeg and is
           uuencoded, thus makeing knews display it as an inline image.

           The default key-bindings have the following:
           ctrl-J      mime-hack(image/jpeg, uue)
           ctrl-G      mime-hack(image/gif, uue)
           ctrl-P      mime-hack(image/png, uue)

      tree-up(arg)
      tree-down(arg)
      tree-left(arg)
      tree-right(arg)
      tree-down-right(arg)
           These move around in the thread tree. If the arg is 'read', they
           will also read in the relevant article, if arg is 'fake', they
           will also try to read 'fake' articles.

      list-up(arg)
      list-down(arg)
           These move up and down in the lists. If arg is given, it is the
           number of steps, or if it contains a '.', the fraction of the
           window to move.

      enter-mode()
      exit-mode()
           These two actions moves between modes.

      tree-or-list-up(arg)
      tree-or-list-down(arg)
      tree-left-or-exit-mode(arg)
      tree-right-or-enter-mode(arg)
           These are combination actions.  E.g. tree-or-list-up(arg) does
           tree-up or list-up(1), depending on which is relevant.

      read-article(arg)
           This rereads the current article. If arg is given, the article is
           displayed with full header and no MIME transformations.

      view-thread(arg)
           This moves between the subject list and the thread tree. If arg



                                   - 20 -          Formatted:  March 4, 2024






 KNEWS(1)                                                           KNEWS(1)
                                    1996



           is 'toggle', it toggles, if arg is 'yes' it goes to the tree, and
           if arg is 'no', it goes to the subject list.

      followup(arg)
      reply(arg)
      followup-and-reply(arg)
      post-new()
           These correspond to the options on the post menu. If arg is given
           as 'yes' or 'no', it indicates whether to include quoted text.

      uudecode()
      clear-tagged()
      mark-read-article()
      mark-read-subject()
      mark-read-thread()
      mark-read-subthread()
      mark-read-to-current()
      mark-read-all()
      mark-read-tagged()
      mark-read-non-tagged()
      mark-read-cold()
      mark-unread-article()
      mark-unread-subject()
      mark-unread-thread()
      mark-unread-subthread()
      mark-unread-all()
      mark-unread-tagged()
      mark-unread-killed()
           These perform the corresponding functions on the misc menu.

      pipe(command, parts [, scope])
      save(filename, parts [, scope])
           Pipe and save actions.  The argument 'parts' is a combination of
           the characters 'f', 's', 'h', 'b', 'e', corresponding to the
           'bogus from', 'bogus subject', 'head', 'body' and 'empty line'
           options on the save popup window.  The 'scope' parameter is
           optional, and is one of 'window', 'article', 'subject', 'thread',
           'subthread' and 'tagged', corresponding to those options on the
           save popup.

      tag-thread([all])
      tag-subject([all])
           These tag the unread articles in a thread or subject.  If 'all'
           is specified, they tag all articles in the thread or subject.

      untag-thread()
      untag-subject()
           These untag the tagged articles in a thread or subject.

      tag-hot()
           This action tags all unread hot articles, same as on the misc



                                   - 21 -          Formatted:  March 4, 2024






 KNEWS(1)                                                           KNEWS(1)
                                    1996



           menu.

      catchup()
      unsubscribe()
      subscribe()
           Guess what.

      change-size(pixels)
           Changes the size of the upper portion of the main window by the
           specified number of pixels.

      schedule-thread-ahead()
           Causes a group to be scheduled for 'thread ahead'.

      popup-find-group()
           Popups the 'find group' popup, same as the 'find group' option on
           the misc menu.


 WIDGETS
      The X interface of knews is built with its own widget set plus the
      Layout Widget. You are welcome to use it if you like. Unfortunately
      there is no documentation.


 AUTHOR
      This software is Copyright 1995, 1996 by Karl-Johan Johnsson.


 ACKNOWLEDGMENTS
      The threading algorithm was inspired from trn. Thanks to Wayne
      Davison.

      Knews uses Keith Packard's Layout Widget.

      The distribution includes Henry Spencer's regex package for
      environments that do not have the POSIX.2 regular expression
      functions.

      Thanks to Mattias Jonsson for ardent testing.

      From the gif89a spec:

      "The Graphics Interchange Format(c) is the Copyright property of
       CompuServe Incorporated. GIF(sm) is a Service Mark property of
       CompuServe Incorporated."


      Any problems are of course entirely due to me.





                                   - 22 -          Formatted:  March 4, 2024






 KNEWS(1)                                                           KNEWS(1)
                                    1996



 SEE ALSO
      egrep(1), knewsd(1), trn(1), uudecode(1), mailcap(5), newsrc(5),
      regex(7).


 KNOWN PROBLEMS
      If the server doesn't support XOVER, threading will be very slow.

      The uudecode function may not recognize or correctly handle all cases.

      The dithering algorithm used for grayscale images and color gifs
      (essentially 'closest match') is very poor.

      AUTHINFO SIMPLE doesn't work for the second connection.

      When the last article in a group has been cancelled, the number of
      unread articles may be incorrect.


 BUGS
      Send bug reports to kjj@matematik.su.se

































                                   - 23 -          Formatted:  March 4, 2024