Xnews under Linux HOWTO

Daniel Quintiliani

<coredump0@mercurylink.net>

2003-08-31
Revision History                                                             
Revision 1.0             2003-09-01            Revised by: dq                
initial LDP releasesome updates                                              
Revision 0.12            2003-08-31            Revised by: dq                
conversion to XML (thanks to Greg Ferguson)various updates                   
Revision 0.11            2003-08-22            Revised by: dq                
various updates                                                              


 This document describes how to set up and use the Windows Usenet newsreader
Xnews under the Linux operating system using the Wine "emulator."

-----------------------------------------------------------------------------
Table of Contents
1. Introduction
    1.1. Prerequisites
    1.2. Copyright and License
    1.3. Disclaimer
    1.4. TODO for this document
   
   
2. Setting up Xnews
    2.1. Configuring Wine for Xnews
    2.2. Copying Required Files
   
   
3. Running Xnews
4. Problems
    4.1. Fixed-width fonts and alt.ascii-art
    4.2. Erasing sections of text
    4.3. Window sizing problems
   
   
5. Acknowledgements

1. Introduction

 One of the problems with Linux today is the lack of a decent newsreader,
where Windows has several. Under Windows, one of the most popular newsreaders
is Xnews.

 Xnews, created by Luu Tran, is a free newsreader for Windows, available from
the website [http://xnews.newsguy.com/] http://xnews.newsguy.com. Here is a
list of Xnews' features listed on the website:

*  100% GNKSA 2.0 (Good Net Keeping Seal of Approval) compliant.
   
*  Plonk file (aka bozo bin).
   
*  Quick filter (type in a regex and only articles whose subject/author
    match it will be shown).
   
*  Score file for advanced filtering.
   
*  Support for multiple servers/identities.
   
*  Subscribed groups can be organized into categories.
   
*  Remappable keyboard.
   
*  Binaries handling (mime, base64, uuencode, what have you).
   
*  Optional header and article caching; plus: folders for permanent
    archival.
   
*  more...
   

 Unfortunately, Luu Tran has decided neither to make his newsreader
open-source nor to release a Linux version. However, there is a way to get
Xnews to work under Linux, although it takes a bit of work.
-----------------------------------------------------------------------------

1.1. Prerequisites

 This HOWTO assumes that:

* The Wine "emulator" is installed properly on the Linux machine. To
    download Wine, visit [http://www.winehq.com/] http://www.winehq.com. The
    version used at the time of this writing was 20030813.
   
* The reader has access to a Windows machine. Certain files are needed
    from the Windows operating system. This HOWTO covers Windows 98SE and
    Windows XP.
   
* Xnews stable version 5.04.25 is used (the beta version was not tested at
    the time of this writing). The website for Xnews is [http://
    xnews.newsguy.com/] http://xnews.newsguy.com
   

-----------------------------------------------------------------------------
1.2. Copyright and License

  This document, Xnews under Linux HOWTO, is copyrighted (C) 2003 by Daniel
Quintiliani. Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License, Version 1.2
or any later version published by the Free Software Foundation; with no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts.
A copy of the license is available at [http://www.gnu.org/copyleft/fdl.html]
http://www.gnu.org/copyleft/fdl.html.

  Linux is a registered trademark of Linus Torvalds.
-----------------------------------------------------------------------------

1.3. Disclaimer

  No liability for the contents of this document can be accepted. Use the
concepts, examples and information at your own risk. There may be errors and
inaccuracies that could be damaging to your system, although any damage is
highly unlikely. Proceed with caution; the author(s) do not take any
responsibility.

  All copyrights are held by their by their respective owners, unless
specifically noted otherwise. Use of a term in this document should not be
regarded as affecting the validity of any trademark or service mark. Naming
of particular products or brands should not be seen as endorsements.
-----------------------------------------------------------------------------

1.4. TODO for this document

  This document may eventually contain:

*  Information on the use of binary newsgroups in Xnews. There may be some
    problems with the usage of binaries under Wine.
   
*  This document may be expanded to cover other Windows newsreaders such
    as 40tude Dialog.
   

-----------------------------------------------------------------------------
2. Setting up Xnews

2.1. Configuring Wine for Xnews

 Wine is capable of "emulating" many different versions of Windows. Wine is
not perfect, however; it runs slower than a normal Windows installation and
it is not a stable product. Certain problems occur when running Xnews; these
are discussed in the "Problems" section of the document.

 Before Xnews can run under Linux, certain files from a Windows installation
need to be copied to the Xnews root directory. Depending on which version of
Windows the reader of this document has access to, there will be different
files to copy and different instructions for configuring Wine. This document
currently covers a Windows 98SE and a Windows XP configuration. Below are the
instructions describing how to configure Wine for Xnews.
-----------------------------------------------------------------------------

2.1.1. Windows 98SE

 If the reader of this document has access to a Windows 98SE machine, the
Wine configuration (found at $HOME/.wine/config) must be set up according to
these instructions.

 First, find the section "[Version]" in your .wine/config, and make sure that
"win98" is the version Wine will imitate:
     [Version]                                                                                 
     ; Windows version to imitate (win95,win98,winme,nt351,nt40,win2k,winxp,win20,win30,win31) 
     "Windows" = "win98"                                                                       

 Second, add an entry to the "AppDefaults" section which will tell Wine to
use certain files from Windows rather than Wine.
    ;; sample AppDefaults entries                                            
                                                                             
    [AppDefaults\\Xnews.exe\\DllOverrides]                                   
    "commctrl.dll" = "native"                                                
    "comctl32.dll" = "native"                                                
    "riched32.dll" = "native"                                                
-----------------------------------------------------------------------------

2.1.2. Windows XP

 If the reader of this document has access to a Windows XP machine, the Wine
configuration (found at $HOME/.wine/config) must be set up according to these
instructions.

 First, find the section "[Version]" in your .wine/config, and make sure that
"winxp" is the version Wine will imitate:
     [Version]                                                                                 
     ; Windows version to imitate (win95,win98,winme,nt351,nt40,win2k,winxp,win20,win30,win31) 
     "Windows" = "winxp"                                                                       

 Second, add an entry to the "AppDefaults" section which will tell Wine to
use certain files from Windows rather than Wine.
    ;; sample AppDefaults entries                                            
                                                                             
    [AppDefaults\\Xnews.exe\\DllOverrides]                                   
    "comctl32.dll" = "native"                                                
    "riched32.dll" = "native"                                                
    "riched20.dll" = "native"                                                
-----------------------------------------------------------------------------

2.2. Copying Required Files

 Several DLL files must first be copied to the root Xnews directory from an
existing Windows installation.

 If Xnews lies on a Windows partition on the same machine, the DLL files must
be copied to the Xnews root directory. Xnews will be run from this directory
on the Windows partition.

 If Xnews is being run on a Linux-only machine, Xnews must be extracted (or
copied from a Windows machine) to the user's fake C drive (usually $HOME/c),
and the root Xnews directory must include the following DLL files.
-----------------------------------------------------------------------------

2.2.1. Windows 98SE

 If the reader has access to a Windows 98SE machine, the files commctrl.dll,
comctl32.dll, riched32.dll (usually in C:\WINDOWS\SYSTEM) must be copied to
the root Xnews directory.
-----------------------------------------------------------------------------

2.2.2. Windows XP

 If the reader has access to a Windows XP machine, the files comctl32.dll,
riched20.dll, riched32.dll (usually in C:\WINDOWS\SYSTEM32) must be copied to
the root Xnews directory.
-----------------------------------------------------------------------------

3. Running Xnews

 Using a terminal window, navigate to the root Xnews directory and type:
     wine Xnews.exe                                                          

 Use Xnews normally, noting the exceptions in the next section, entitled "
Problems" Note that these are problems with Wine's "emulation", not Xnews.
-----------------------------------------------------------------------------

4. Problems

4.1. Fixed-width fonts and alt.ascii-art

 ASCII art requires fixed-width fonts to view. Clicking the fixed font button
above the message headers will simply lock the message so the vertical
scrollbar won't work.

 The easiest way to deal with this is to go into "Special -> Setup Xnews ->
Fonts and Colors" and select a fixed font for all types of text. The default
"Fixed" will not work; use "Misc Fixed", size 12.
-----------------------------------------------------------------------------

4.2. Erasing sections of text

 Selecting sections of text with the mouse and pressing Backspace or Delete
will delete the text from the screen, but for some reason it might still be
there when the message is sent or posted, depending on the window manager.
KDE seems to work fine, but Gnome with Sawfish seems to cause problems.

 The only way to guarantee deleting sections of text is to press Backspace or
Delete for each character. Be careful when holding down keys.
-----------------------------------------------------------------------------

4.3. Window sizing problems

 There are several problems relating to the sizing of the windows. When the
CatchUp button is clicked, the main groups list window shrinks and must be
maximized. These are mostly minor annoyances, except...
-----------------------------------------------------------------------------

4.3.1. Closing Xnews

 Depending on the window manager (Sawfish has problems with this), it may be
impossible to close the Xnews window, and there is no "Exit" option in the
main menu. To get around this, make sure that the window is sized so that the
terminal used to launch Xnews is accessible, and close that terminal. Do not
press Ctrl-C, etc as this will cause problems. Be sure to click the Save
button to save the newsrc first.
-----------------------------------------------------------------------------

5. Acknowledgements

 First of all, I'd like to thank Luu Tran for releasing a great newsreader;
hopefully he will reconsider releasing it as open-source, the demand does
exist and is big.

 I'd also like to thank Vancouverite and the other people in the Gentoo forum
message who described how to run Xnews under Wine using Windows 98SE files. I
discovered how to do it using the XP files, and also how to deal with
fixed-width fonts and other problems.

 I'd like to thank Greg Ferguson, Tabatha Marshall, and Mark Garboden of the
Linux Documentation Project for helping me submit my first HOWTO. Greg
Ferguson translated my document from plain text to XML.

 Also, thanks go out to the people in news.software.readers for working with
me on this HOWTO, and to Usenet users everywhere.
