Prev Up (Under construction)

xrn & Co

X interface to news.

dxrn and mxrn are versions for DECwindows/XUI and DECwindows/Motif, respectively, which are stuck at version 6.17 or 6.18.
xrn uses the Athena Widget set and xrn-motif is an attempt to make version 7.0 work with Motif.

RFC 3977 specifies the NNTP protocol.

xrn V9.02

Compilation

  1. Consult the README file.
  2. In the Imakefile add the desired installation destination directories and modify the respective Architecture branch(es):
    DESTDIR = /tmp/xrn-9.02/
     BINDIR = bin
     LIBDIR = lib
     MANDIR = man/mann
    
                            # HP-UX 10.20, native compiler
    XRN_DEFINES = -O -Ae -D_REENTRANT -D_FILE_OFFSET_BITS=64 +z
    SITE_DEFINES = -DCONFIG_H_IS_OK -DGRIPES=\"m.kraemer@gsi.de\"
    
  3. Then:
    xmkmf
    make
    make install
    make install.man
    
Note
I found the composition of the From: field to be inappropriate for use with my favourite nntp servers. They only seem to accept valid domain (not host) names after the '@'. Thus I added in compose.c, function buildFrom(), just before the output string is composed:
    {
    char *pc;
    
       if ( ( pc = strchr( host, '.' ) ) != NULL ) {
          host = pc+1;
       }
    
    }
so that only the domain name, if existing, is considered.

Installation and configuration

After package unpack:
  1. Put machine wide stuff into lib/X11/app-defaults/XRn, e.g.:
    xrn.nntpServer:         news.t-online.de
    xrn.organization:       home sweet home
    !xrn.replyTo:            Me.Myself@domain
    xrn.domainName:         .t-online.de
    
    (mind the leading dot !)
  2. Put user-specific stuff into $HOME/.Xdefaults
    xrn.replyTo:            Me.Myself@domain
    

xrn-motif V7.0

Compilation

  1. Adapt config.h, i.e. the definitions:
    #define CONFIG_H_IS_OK
    #define DOMAIN_NAME ".home.de" /* */
    #define ORG_NAME    "home"
    
    Other influential compile-time definitions are:
    #define SERVER_FILE "/usr/local/news/server"
    #define HIDDEN_FILE "/usr/local/news/hiddenhost"
    #define PATH_FILE   "/usr/local/news/pathhost"
    #define DOMAIN_FILE "/usr/local/news/domain"
    
  2. Adapt Imakefile, i.e. enable/add the definitions:
    #define UseMotif
            # installation shouldn't go into /usr/*/X11/  
    DESTDIR = /tmp/xrnmotif-7.0/
     BINDIR = bin
     LIBDIR = lib
     MANDIR = man/mann
                               
    #if defined(HPArchitecture)
       LEX = flex
      YACC = bison --yacc
    CCYACC = bison --yacc
    XRN_DEFINES = -DFUNCPROTO -DFUNCPROTO2
    #endif
    
    #if defined(AIXArchitecture)
    INSTALL=/usr/ucb/install -c -g biodev
    #endif
    
    
    HP-UX receives a special treatment because it lacks the yacc,lex utilities by default. Note however, that the freeware replacement bison needs to be properly configured.
  3. To compile and install, run:
    xmkmf
    make clean
    make
    make install
    make install.man
    
A file Xresources.sam is a sample of how you might customize xrn in your own X resources.

Installation and configuration

After installation in some target directory there are various ways to customize news reading.

One may test-post to newsgroups such as de.test without annoying people with junk postings.


Reminder for X priorities

The priority ranking for X resources is, in decreasing order:

  1. Command line.
  2. Directories defined in
    $XUSERFILESEARCHPATH
    $XAPPLRESDIR/$LANG/
    
    where $LANG is of the kind C, en_US, Ja_JP, zh_CN, etc.
  3. Directories as defined for example in:
    export XFILESEARCHPATH==/usr/local/lib/X11/app-defaults/%N:/usr/local/lib/app-defaults/%N
    
  4. File pointed to by environment variable $XENVIRONMENT, defaults to
    $HOME/.Xdefaults
    $HOME/.Xdefaults-<hostname>
    
  5. Directory
    $HOME
    
  6. Directories
    /usr/lib/X11/$LANG/app-defaults
    /usr/lib/X11/app-defaults
    
    Some packages are compiled to use
    /usr/local/lib/X11/$LANG/app-defaults
    /usr/local/lib/X11/app-defaults
    

Last updated: Tue Feb 26 17:05:50 CET 2013 , M.Kraemer

Impressum Data privacy protection