Setting up Xnews for Binaries

Copyright 2002 Sizer, all rights reserved.
Permission given to Luu Tran to display or distribute.


What's this About?

This is for you who have just downloaded Xnews and are mostly interested in using it to download binaries - Xnews is the best newsreader I know of for doing this, and I've used several others (and paid for two, Agent and Gravity). If you are mostly interested in just reading message groups and posting articles, Xnews is pretty good for that too, but I don't do much of that, so my setup is probably not the best for you and you can stop reading. If you're interested in downloading binaries, I don't claim to have the best setup, but at least it's a setup that you can look at and modify.

The manual included with Xnews is pretty decent, covers most of the features and is pretty well written, but is not intended to be a comprehensive tutorial, and isn't goal oriented (i.e., I want to download binaries, how should I set everything up?) . And Xnews does a lot more than you realize at first. It took me about a month to feel comfortable that I had things set up 'right', and about six months before I felt I couldn't tweak things any more. This may help you get up to speed.

I hope other people with other priorities will contribute alternate setup examples. The more the better, and I'm sure there's still stuff I haven't figured out yet either.

This document applies to Xnews/L5 (January 2002). There are new versions coming out fairly often, so this document could be out of date as you read it, but most things discussed will still apply as features rarely go away.

My Server Setup

You need to know about my servers and needs so you know why I made the setup choices I did - your needs may be different.

If you are only using one server, most of I'm doing will still apply regarding downloading binaries. Just ignore all the stuff about multiple servers and multiple server queues. However, if your provider has more than one news server, such as the multiple @Home news servers, you can make use of it, since often you'll find that the alternate server gets posts another one won't, and vice versa.

How Queues Work

Folders are where you store headers and articles from newsgroups, but they are not associated with any particular newsgroup (unless you set it up that way). A folder that stores entire articles in an Archive, and a folder that stores just article headers is a Queue. Archives are really only useful for discussion groups (saving a post you think is useful).

Queues (not Archives) are crucial for downloading large numbers of binaries for several reasons:

I do download from right from inside the group, without using a queue, if it's just a single small file. No use being a fanatic.


Deciding on Your Setup

So what do you want to do? You need to figure this out up front so you know how to set up your directories and download queues. I download everything to my F: drive:

F:\anime\ Anime music videos, raw epsisodes from alt.binaries.anime or alt.binaries.multimedia.anime or alt.binaries.anime.reposts.
F:\anime\pics\ Anime pictures from alt.binaries.pictures.anime
F:\games\ Any games, like from alt.binaries.games or alt.binaries.shareware
F:\mp3\ mp3s, from any .sounds. or .mp3. groups
F:\misc\ Anything else I forgot to specify.

You might want to just start out with a default download directory (D:\download\) and a maybe an mp3 directory (D:\download\mp3) since everyone in the universe wants to download mp3s, then expand later as you find other things that interest you.

Conveniently enough, once you figure out what your directories are, you know what your queues are. In the above case, my queues are going to be '_anime', '_pics', '_games', '_mp3', and '_Queue'. I put an underline before the name of every queue just to underscore (har har) that I'm in a queue, and not looking at a group or server window, and using '_Queue' instead of '_misc' just reminds me that this is the generic queue.

You might want a queue for each of your alternate news servers, so you can force downloads to happen from a particular server, but there's another way to do this in Xnews (Override Server) from any queue.

So in the very simple starting case you might decide on just '_Queue' and '_mp3' (or 'misc' and 'mp3', whatever you want). You'll also have an Archive folder just in case you want to Archive some articles from discussion groups. It doesn't hurt.


Setup Xnews

Some things can only be set by editing text files (later), but the most common things you set easily by going to the Special menu, Setup Xnews (or just Ctrl+F1).

You'll start out at the Servers tab. Add all your servers: just hit New, then enter the actual server name (news-server.san.rr.com for me, that won't work for you unless you're a san.rr.com customer), then a nickname like RoadRunner, or if you have multiple servers for one provider maybe home1, home2, etc. Set the Username and Password if required. You can leave the port number as 0 (it's the same as 119). I just put it in explicitly to remind myself.

Don't bother with the Servers/Custom tab. Instead, use the Identities tab to set up any identities you want to use for posting, and then set the identity here at the Servers tab. I just have one Identity, so it's easy.

Go to the Fonts & Colors tab and set up any colors you like:

I prefer a nice grey background, but use whatever looks good to you. The two important things are that the Grid color is slightly different from the Groups background color and the Articles background color, and even more important,

Make sure the Read and Unread font colors are different (and that it's easy to see the difference). They're not, by default, and this is crucial to easily being able to tell if you've done anything with a file.

The Display tab is pretty important:

You can leave 'Sorting and Threading' as it is - we'll override it later in groups.ini, but in general for any use you probably want 'Sort on' to be Subject/Ascending, and 'Thread multipart binaries in all groups' to be on.

I like 'Draw grid lines' set you may not. 'Show popup labels in articles listing' is very useful, and I can't think of many reasons that you would want it off - if you hover your mouse over a post subject that won't fit , it'll show you the whole thing. The Visible Headers thing is total preference, I suggest just leaving it as default.

The Files tab is mostly a matter of convenience:

We're going to specify explicitly where we want our decoded files to go later, but 'Save decoded files in directory' is where you set the default save location for anything we forget to specify later. I suggest you turn off 'Automatically save all attachments' and clear the 'automatically save' and 'automatically launch' type boxes. We're going to explicitly save what we want, and Xnews will display standard jpegs right inline - it's useless to have it show up in Xnews, be saved to disk, be decoded to your decode directory, and have a picture viewer launched!

The sounds are whatever you want them to be. The 'File done' is what you'll hear whenever a big queue full of files is done downloading, so pick a good one.

The Storage tab is extremely important:

You (probably) want 'Storage option' as Save headers, and set 'Purge after' to 0 days.

This way you only save the headers for articles that are actually on the server. That way you can go back to the articles if you need them later (because the download was corrupt, or you missed a file), but don't save any of the headers the server no longer has (what's the use?). This works pretty well for discussion groups, too, as long as you don't want to read articles offline.

Mr. Tran suggests using the default settings as they are - not saving headers makes it easier to instantly see what's new and saves memory. I like saving the headers because I quite often do want to go back to a message that I already saw - either because I missed it the first time, didn't think I'd need it at the time (for instance, mirror files), or the download was corrupt.

I'm not even going to show the Compose tab - just use the default, or whatever you like.

But there are a few choice bits in the Misc tab:

You can change the 'kill articles crossposted' setting to be more ruthless, but then you run the risk of losing some useful binaries that get crossposted to a lot of groups. You don't need 'Load read', because we're just saving the headers. I like having Xnews get a count of all the articles in my subscribed newsgroups when I start it, so I have 'Get all message counts on startup' checked. And I don't like it to 'Hide groups with no unread msgs', but this is your preference. Having it go out every 30 minutes or so to update the server message counts is your preference. You can just hit F6 in the groups window for the same effect, so I don't bother.

'Ignore Re: when sorting' is good, so you see comments about the binaries (like THIS DUZ NOT WORK!!) near the binary posting it applies to, and definitely do not 'Expand thread when tagging', because if you're downloading binaries you get huge threads that are just binary parts. The scorefile thing is up to you. If you're using a score file, you may want it to Reload without asking (or you can just choose Rescore this Window from the Special menu, or hit Ctrl-R).

Keyboard Mapping

The other very important window you should at least take a look at is Special, Keyboard Remapping (or Alt+K). This is your near complete list of assigned keys and functions that Xnews can perform. It's probably completely overwhelming right now, but definitely want to play with it later.


Setting up Your Groups

Once you've set up your servers, you need to choose which groups you want to read, otherwise you're just staring at a blank window. Go to the Server menu and choose your first server. Xnews will ask you if you want to retrieve the entire list of newsgroups from the server. This may take a while, but unless you know exactly which newsgroups you want to read, and only those, I suggest you let it. You'll get a list like this:

I'm squeezing the Xnews window way down for these screen captures, to keep the pictures small. You'll find things easier to work with if you open Xnews up to almost full screen.

The red dots mean they're new groups (everything is new the first time). I suggest you click on the All Groups header to have it sort the names. Now you figure out which groups you want. You can just search the entire list, but the easiest way is to use the little filter box there with the [ on the left and the X on the right - you're going to need to use it a lot in the groups, so you might as well get used to it. Just start typing in that box (for instance anime) and notice that Xnews filters the list on the fly, as you enter letters, so that when you're done you have nothing but groups with anime in the name. Now, you can highlight the name of the group and hit the (+) icon to the left of the box, or you can just click the red dot, which will turn into a cyan triangle. This means you have subscribed to the group.

You may noticed that some groups are misspelled, or there is for instance both 'alt.binaries.foobar' and 'alt.bainaries.foobar'. The Total column is very useful, because it tells you how many articles are in the group. If you look at the picture above, you can see that even if you go wild for Natalie Portman, alt.fan.natalie.portman.binaries has 0 articles in it, and nobody uses it.

Click the X to the right of the filter box to clear the filter (you don't have to here, but you do in the articles list, so it's a good habit to get into) and enter another filter string, like mp3, and boggle at the sheer number of mp3 groups. If you want to unsubscribe to a group, just click the arrow and it'll turn into a blue dot. Once you have all the groups you want, click the 'All' box over there on the left, and you'll get something like this:

(You can see that I haven't actually read any of the articles in any of these groups - it's just an example). If you ever want to get rid of a group in the future, just click on the cyan arrow to make it a blue dot. You can choose Delete, but be warned that this gets rid of it completely from even the list of all groups. If you want to add more groups, just click on the All box, then use the same process you used before to subscribe.

Now, these are pretty unorganized... I like to use the Subscription Folders, which are collections of related groups. Go to Group / New Subscription Folder (or just hit Alt+Ins). It'll ask you for a folder name - call it 'anime' or 'sounds' or whatever suits you, then drag the various related groups into the appropriate folders, like alt.binaries.anime into the anime folder. When it's done, you'll have something that looks like this, which is my actual groups screen:

Note that you can drag the columns around just by clicking and dragging the column, and change the size by clicking on the bar between the columns and dragging. I don't find read, First, Last, or keep to be any use at all for what I do, just Unread and Total, so I cut them off a little. You can click the folder lines to open and close them, showing or hiding the groups they contain. I usually leave them open all the time, and just use the folders for organization, but it's up to you.

The most useful key here is F6, which asks the server for the current count of unread articles in every group. You can see here that there are 2644 new articles in alt.binaries.anime since I looked at it, and I haven't looked at alt.binaries.squaresoft for so long that I'm completely past the expiration date of articles I haven't read yet. F5 does it for just one group.

Other useful things you can do:

You may be tempted to dive right in now and start downloading binaries. Resist the temptation till after you read 'Editing the .ini files' and 'Keyboard Configuration', please - you may get frustrated.


Cloning the Setup to other Servers

If you want all your servers to have the same list of groups (and I'd say that it's highly likely), you can do the following:

This is so useful that I have a very dumb little batchfile to copy my RoadRunner.XNewsrc to all my other server setups, since you'll need to do it whenever you change the groups/folders list. Then make a shortcut to this on your desktop.

CloneXnewsrc.bat:

rem 'e:\xnews\' is where I have Xnews. The drive and 'cd' MUST be separate lines.
e:
cd \xnews
copy RoadRunner.Xnewsrc newscene.Xnewsrc
copy RoadRunner.xnewsrc news2.Xnewsrc


Editing the .ini Files

Now we get into the nitty gritty of configuration. Fire up your text editor, or just use notepad to open the files by double clicking on them in file explorer. You'll see that (almost) every single option that gets set up in Xnews can be changed by just editing these files.

Make sure you are not running Xnews while editing the .ini files. It will write over xnews.ini when it quits, and possibly others depending on what you do, (saving what it thinks the settings are) , so you may lose everything you did and you will cry.

The .ini file hierarchy goes like this:

groups.ini settings override server.ini settings which override xnews.ini settings

This means you can set up your most basic stuff in xnews.ini, set up the configuration for server specific settings in server.ini, and set up per group (or folder) settings in groups.ini. In practice, I have no real need to set anything in servers.ini, that's all handled well enough by the UI.


Xnews.ini

This is the main configuration file - everything goes in here except the stuff that doesn't. Which means things that apply to every group, queue, folder, etc. The Xnews Manual info on xnews.ini is here.

[ID]
Name=Akai Majo Sizer

<etc>

[ID] has whatever you set up as your identity for posting. Use your own, not mine. Or my brother Emilio, he cut you.

[XOVER]

PromptThreshold=0
DefragGapSize=30

[XOVER] is what Xnews calls downloading the headers from the server. PromptThreshold prevents you from being overwhelmed by downloading too many headers at once (it can take a while) - if there are more than this many headers to download, it pops up a dialog box so you can choose how many you want. The default is 50000, but I suggest you set it to 0 (no checking at all) unless you're on a slow modem. After all, you have to download them sooner or later.

DefragGapSize relates to what happens when Xnews asks your server for new headers, and it gives you headers for articles #60-70, 72-86, 88, and 90-140. Then the next time you use Xnews to open the group, the articles that were missing before have shown up. This is extremely common - it's just how Usenet works. Xnews could ask the server for article 71, then article 87, then article 89 (and then 141 up), but it turns out it takes a while for each request to be processed, and it's often faster for it to just ask for articles 71 through 89, grab the whole chunk, and ignore the ones it already had! The default setting is 20, which means 'if you would end up getting 20 headers you already have, then split it into two separate requests'. I'm on a cable modem, so set mine to 30. If you're on a slow modem, or you have low download limits, you may want to set this to 0, and force Xnews to ask for each one individually.

[Display]

SortOn=Subject
<etc>

[Display] sets up how you want things shown to you. Nothing I do requires any specific settings here, and most things can be set easily from the UI, so I suggest you just look at this section in the Xnews manual if you're interested in changing things like date formats.

However, if you see garbage on your screen when you do a PageUp or PageDown, try adding the line 'FixFlashing=0'
[Misc]
AltServers=RoadRunner|newscene|news2
AutoGetMsgCounts=1
AutoResume=1
AutoResumeDelay=5
AutoSaveInterval=30
CatchUpButton=0
DecodeOpt=1

Queue=_Queue
SMTPHost=
LaunchTypes=
GotReplySound=c:\winnt\media\ding.wav
FileDoneSound=c:\winnt\media\ding.wav
QuoteRegex=^\s?\s?\s?[<>:=|]
MaxXPostKill=10
KeptScore=8888
AttachDir=E:\WIN\XNEWS\attachments\
SaveDir=E:\WIN\XNEWS\downloads\
PromptDecodeDir=0
DecodeDir=f:\misc\
IgnoreReWhenSorting=1
ExpandWhenTag=0
AutoSaveAttachments=0
LoadReadArticles=0
HideEmptyGroups=0
OpenNextGroup=0
ScoreFileLoadOpt=0
UpdateCountInterval=0
StorageExp=0
StorageOpt=2
SaveTypes=

[Misc] is where all the good stuff is! Most of this stuff you can set through the UI (and we already did up above) but some of them can only be set here.

The following [Misc] settings are very important:

AltServers is the list of servers to go to, in order, when you can't find an article you're downloading. So in this case, I go to RoadRunner, then newscene, then news2 (the nicknames for my servers). This is an extremely cool feature, and crucial to making good use of multiple servers.

PromptDecodeDir=0 is also very important. By default, Xnews assumes you're only downloading stuff every now and then, and whenever you tell it to download something, it will ask you where you want to put it. When you're downloading all the time, you don't want it to ask. We're just going to tell it where to download in our configuration files. DecodeDir=f:\misc\ is my catchall directory for anything I forgot to set in this case.

CatchUpButton is important, though you haven't seen one yet. When you're done looking at what's new in a group, you usually hit the CatchUp Button (or F8), which closes the group after doing something with the headers. It is very important that you have it set to 0, which is just 'CatchUp' and saves all the headers. Well, 1 (CatchUp and clear keep flags) is okay, but definitely not 2 or 3. See the manual if you want to know what those mean, but they involve throwing away headers. Fine for articles, not for binaries.

DecodeOpt is either 1 (overwrite existing file) or 2 (save with a new name). The default is 2, but I use 1, because almost always I'm redownloading a file with the same name on purpose because it was corrupt the first time.

And these are just kind of interesting:

You can set something like MaxConnPerServer=2, which tells Xnews that you're only allowed 2 connections at once to anyserver. If you don't do this, the server will just give you an error message and you can retry later.

Queue=_Queue tells Xnews what the name of your default queue folder is. We'll specify this more specifically later, by server, but it doesn't hurt to put it here, too.

If AutoResume is 1, then Xnews will try reconnecting after AutoResumeDelay seconds if there's a connection error. Default is 20 seconds, I set it to 5 since for cable modem or dsl, a connection error is more likely a transient server thing.

AutoSaveInterval=30 tells Xnews to save all the group info every 30 minutes. The default is zero, which turns it off entirely, but I like it saved in case of crashes.

The rest of the [Misc] settings are UI changeable, or not all that important.

The last two sections in xnews.ini are [Metrics] and [Opened], which are Xnews keeping track of its own stuff (which servers and folders you
had opened when you quit, for example). Don't dink with them.


Servers.ini

You don't usually need to set anything special in servers.ini since you can set up most of it through the UI (Special, Setup Xnews), but there are two things you might want to add, even though I don't. Here's a server entry from my file:

[newscene]
UserName=sizer

PassWd=<dream on, I wiped it>
LastUpdated=020106 214323

You could add Queue=_newscene if you wanted binaries queued from any newscene group to go in a _newscene queue folder by default.

You could also add an AltServers=RoadRunner|news2, where RoadRunner and news2 are the alternate servers you want to go to if an article can't be found on this server, in order. Since I've already set this in groups.ini, I've don't set these here too.


Setting up Your Queues (Folders.ini)

Remember waaaaay up there where we discuss How Queues Work and Deciding on Your Setup? It's finally time to set up your queues.

You could edit Folders.ini directly, Xnews makes it much easier. From anywhere in Xnews, choose Window, Open Folders (or just hit Shift+F12).

You'll see something like this (except without as many folders), and hopefully your window is a little larger! The two top icons are outgoing folders, where messages you've sent (Sent) and messages waiting to be sent (Outbox) are saved for future reference. Yellow folders are Archives, and the silver folders are Queues, which is what we're interested in. One per download directory, plus that annoying Archive folder. I have a _Queue2 in addition to a _Queue because occasionally you'll find it useful to shuffle stuff of to the side and force it to download from a different server, or to download two queues at once. It's good to have a spare.

To add own your queues, choose Organize, New, Queue, or do a Ctrl+Ins. Do not use just Ins, that'll add an archive. You can come here at any time and delete folders, create new ones, or change the file on disk associated with the folder (though you really shouldn't have to unless you're horribly short on disk space). Then close the Folders window when you're done.

 


Groups.ini

Finally, this is where we get to the MEAT of things. Groups.ini lets you override settings by group or queue name, so you can have different behavior for different types of groups, or even a specific group. This is the very last level of configuration - no other file overrides what you set here. The Xnews Manual info about groups.ini is here.

[.*]
OverrideTo=RoadRunner
Queue=_Queue
continue=1


[^_|binaries|sounds|mp3]
SortOn=Subject
SortOrder=1
ColumnLayout=2
MultipartThreading=1
ExpandAllThreads=0
FullScreen=1
VerticalSplit=0
OnLoaded=acvShowThNew
continue=1


[^_mp3|mp3|sounds]
Queue=_mp3
DecodeDir=f:\mp3\


[^_Queue]
; nothing special, we set DecodeDir in xnews.ini



[^_pics|^alt.binaries.pictures.anime]
Queue=_pics
DecodeDir=f:\anime\pics\


[^_anime|anime]
Queue=_anime
DecodeDir=f:\anime\


[^_games|games|shareware]
Queue=_games
DecodeDir=f:\games\

Let's dissect this: First, the [<blah>] sections are regular expressions that match against the name of a group or folder, and apply whenever you open that group/folder. I won't explain regular expressions (see the manual), but short form, it looks for what's between the brackets anywhere in the name of the group or folder, and a '|' acts as an 'or'. '^' means 'the start of the name'. So

[^_|binaries|sounds|mp3]

means any group (or folder) that starts with '_' (like all our queues) or has 'binaries', 'sounds', or 'mp3' in the name. It goes from the top down and uses the first one it finds that matches.

The [.*] is regexp-ese for match anything, ([,] works too), so this applies to every folder or group. In this case, OverrideTo=RoadRunner means I always want to try downloading from RoadRunner first, no matter where I was when I found the headers. Queue=_Queue means that whenever we hit the queue key or button while reading a group, everything we've tagged goes to the folder named _Queue to wait for download. You could put a default DecodeDir= here, but we do that in Xnews.ini, where it's still settable from the user interface if you want to.

The continue=1 is imporant - it means to go on to the next match. Otherwise we'd stop at the [.*], which matches everything, and never ever reach any of the other configuration info.

[binaries|sounds|mp3]
SortOn=Subject
SortOrder=1
ColumnLayout=2
MultipartThreading=1
ExpandAllThreads=0
FullScreen=1
VerticalSplit=0

OnLoaded=acvShowThNew
continue=1

The [binaries|sounds|mp3] means that these settings apply to just about every binary group on the planet. SortOn=Subject, SortOrder=1 means we want to sort things by Subject, in ascending order, which is crucial in keeping parts of binaries together. ColumnLayout=2 says we want to use a different column layout in binaries groups than in discussion groups. MultipartThreading=1 means it'll take all the different parts of a binary file and treat it as a single thread/chunk. If you didn't have this on in the default setting, you absolutely want this on for binaries, so we set it here. ExpandAllThreads=0 says we don't want to see all the individual parts of these chunks - that would completely defeat the purpose.

FullScreen=1 means not to split the screen into articles on top and article body on the bottom - you usually don't want to see article bodies for binaries, so this gives you more screen space for articles. VerticalSplit=0 says that if we do go into split screen mode later (there's a button for it), that we want it split top to bottom and not left to right.

OnLoaded=acvShowThNew tells Xnews that every time we load new headers (or refresh them), we just want to see threads with new headers. If you're dilligent about queueing headers, you might use acvShowNew instead of acvShowThNew - it'll only show headers that are definitely new, so you won't get any extra duplicate headers in queues. I don't mind a small overlap, since Xnews is smart enough to ignore the duplicates when downloading. OnLoaded (and OnOpen) are quite powerful and flexible - you should look at the manual to see what possibilities it offers, but I'm just using it for this.

Finally, continue=1 says keep looking down groups.ini for the next match (so we can get more specific).

[^_mp3|sounds|mp3]

Queue=_mp3
DecodeDir=f:\mp3\

continue=1

This means that for the folder '_mp3', or any group with 'sounds' or 'mp3' in the name, I want to queue headers to the _mp3 queue, and decode binaries to f:\mp3\. The '^_mp3' is actually redundant here, since 'mp3' would match '_mp3' too, but I like to have the queue name explicitly at the front.

The rest of the file is the same general idea. List the group/queue name, then what queue you want to use for it, and what decode directory.

The only other interesting note is that you can see I put '[^_pics|^alt.binaries.pictures.anime]' before '[^_anime|anime]'. That's because if I did it the other way around, the group alt.binaries.pictures.anime would get claimed by '[^_anime|anime]' before it ever got to '[^_pics|^alt.binaries.pictures.anime]', since things get matched in the order they're in the file.

 

AND NOW WE ARE FINALLY DONE SETTING THINGS UP. Glory be!

Downloading Files

Right, we're finally ready to download some stuff. Make sure you've saved all the .ini files you were editing, fire up XNews, go to the Servers menu and pick a server to use to get headers from (usually your fastest server, unless it drops a lot of headers). Open up a group to look at. I'm going to use alt.binaries.anime as an example, because it's high traffic.

The first thing you'll want to do (or at least I think so!) is grab the header of the Lines column and drag it all the way over to the left. Then take the header of the Q column all the way over to the left (to the left of the Lines column). Finally, grab the right edge of the Subject column and pull it way to the right (you need lots of room for the subject in binary groups). That'll give you something that resembles this:

I'm squeezing the Xnews window way down for this guide, to keep the pictures small. You'll find things easier to work with if you open Xnews up to almost full screen.

The little blue three-cube icon means a file that's missing some parts - you can see that the very top file, virus_buster_serge_-_02.P03 has 23 parts, but only four of them are actually on the server (Lines tells you this). The little notepad means it's either a small one-post binary or a text post (there's no way for Xnews to tell without actually downloading the article).

And, most important, the complete cyan cubes are binary files with all parts intact, all ready for queueing or download. The green dot in the middle of the icon (and the different color of the text) means that it's a file you've already done something with some time in the past. In this case, I've moved the first two binaries in Vandread_yadda_yadda to _Queue.

Here's how it works:

  1. Scroll down the list of stuff, looking for things you want to download, and either left-click in the Q column next to the file, or highlight it and hit Space. You'll see a number appear, like the 1 and 29 up there in the example. This means that these files are ready to be processed, and the #1 file will be processed first (it's actually 1-28, since there are 28 parts), and the #29 file will be processed next... you can tag files in any order. If you want to untag it, left click the Q column or hit Space again. You can multi select items like you do in Windows Explorer, by holding down Shift while scrolling with the mouse or keyboard, or Ctrl+click with the mouse.
  2. When you're done tagging, either hit F4 or click the little 27-piece cube in the toolbar if you want to start decoding them right from the group. But instead of that, I suggest you:
  3. Transfer all the files to a queue for downloading by choosing the queue from the Transfer menu, OR hold down shift and click the little folder with paper sticking out of it in the toolbar, OR hit the key you've assigned to Q-Archive (See the tip below). I suggest not using the little folder icon, because if you forget to hold down shift, you will be horribly surprised as it downloads every article, but not to the Archive folder, not where you want it on disk.
  4. When you've gotten everything you want, hit F8 or click the little folder with a check mark icon. The group will close. On to the next one.
I suggest going into the keyboard configuration (Alt-K) and assigning the Z key to the Q-Archive function. So you just select everything you want, hit Z, then F8, voila. The Q key already does something useful (shows only the articles that are queued), so I left that as it is.

Once you've gone through all the groups and chosen all the stuff you want to download, click on the Folder menu, and you'll notice that Xnews has a list of all your queues, and has helpfully put a check mark next to the ones that have article headers waiting. So:

  1. Go to the Folder menu, choose the queue you want to download from.
  2. Select Filter, Hide Incomplete Binaries (which is the B key by default) since you usually don't want to decode those.
  3. Hit Ctrl-A to select everything (Or Group/Selection/Select All).
  4. Hit F4 (or click the little 27-piece cube in the toolbar) to start downloading them.
  5. Wait for it to finish (*ding!*).
  6. Click the little trash can icon to clean out the queue and close the window.

That's it! As things are downloading, you can unselect or reselect things to download by selecting them and hitting space bar, or left-clicking in their Q column, just like selecting them in a group. Just don't unselect something that's currently being downloaded, you'll end up with the file only partly there.

If you want to jump something to the head of the queue, select it then hit Shift+Space. It will be the next file downloaded (after the one that's currently being worked on).
Xnews is multitasking. You can go do other stuff while a queues are downloading, like open another folder, or go back to the server page. See those little tabs at the bottom of the window? Those are your open servers, queues, and groups.

The next time you open the group, you'll get a list of any files that have new parts, even if you've seen parts of it before, because we put OnLoaded=acvShowThNew in groups.ini, which tells Xnews to show all of any thread that has any new parts. And it treats all the parts of one file as a thread.


Dealing With Incomplete Files

You'll find that very often, all parts of a post don't make it to your main server, but your alternate server has all of them. Or some parts are on the main server, and some parts are on the alternate server. You're stuck with the dreaded blue tricube. There are a couple ways to deal with this.

Method A (for the fastidious):

  1. Tag only the complete files on your main server and transfer them to the queue.
  2. Go to your alternate server, open up the same group, find the complete files you didn't get, and transfer them to the queue.
  3. Go to the queue and decode everything. If you've set up your AltServers= and OverrideTo= as I've shown you up above, it won't matter which server the headers came from and which parts are on which server - Xnews will Do the Right Thing.

Method B (brute force):

  1. Tag all the files you want to dowload on your main server, even if they're incomplete, and transfer them to the queue.
  2. Go to your alternate server, open up the same group, tag all the files, and transfer them to the queue.
  3. Go to the queue - you'll notice that even you've dumped a whole bunch of duplicate parts into the queue, Xnews is smart enough to ignore the duplicates, and only use the ones it needs!
  4. Tag and download 'em.

Method C (lazy):

  1. It's quite possible that the parts you want just haven't come in, and the next time you look they'll be there. For now, just tag all the files (including the ones with parts missing), and transfer them to the queue.
  2. Go to the queue and decode everything (including the incomplete ones), purge and close it.
  3. Later on, when you open up the group again, you notice that the file is complete now. Tag it and transfer it to the queue along with everything else you want.
  4. Go to the queue, decode everything. Xnews is smart enough to only download the parts it didn't get last time. (If you see strange 'filename_blah_error_part22' files in your download directory, these are the partially downloaded files. They'll go away when all parts are found).

Method D (XPAT)

  1. Select all the files you want, including the ones with missing parts, and transfer them to the queue.
  2. Open up the queue, select a file(s) with missing parts, and right-click on it. Choose Find Missing Parts (or if you have many missing parts, Find Missing Parts Extended), then choose which servers to look on. In theory this asks the server for any messages matching the correct subject(s), and adds them to the queue. In practice, this depends on the cooperation of the server, and I've never actually seen it work, even after making sure the parts were definitely there on the alternate server.
  3. Decode everything.

 

Dealing with Corrupt Articles

Every now and then I download a file and it's corrupt. No good reason why, just general Usenet and/or server flakiness. It's possible that the post was bad, and it'll be bad no matter where you get it from. But usually, if you re-download the file from another server it'll be okay. So you want to force Xnews to actually download from that other server - because if it goes to your primary server first, as you normally want it to do, it'll just get the corrupt version again.

  1. Find the file(s) you want to redownload on any server, and tag them.
  2. Optionally transfer them to a queue, then open up the queue window to continue this.
  3. Go to the Group menu, Override Server, then choose an alternate server.
  4. Decode the files. Since you've chosen Override Server, Xnews will go to that server first.
  5. Don't forget to turn off the Override Server when you're done! Or it'll go away when you close the group/queue.

If you've set DecodeOpt=1 in xnews.ini as I suggest up above, the new file will replace your old file, no fuss no muss. Otherwise you'll have to copy over the old one with the new one.

 

Deleting Duplicate Headers

If you're combining headers from multiple servers, you'll get a lot of duplicate headers in your download queues - if, while in a queue, you choose Group, Delete Duplicate Headers, Xnews will clean out all the extras - and it will try to do it fairly intelligently. It will try to keep the article belonging to the server that is highest up on your server list. So if you have ServerA, ServerB, and ServerC in that order, it will try to keep headers from ServerA if you havea header that is duplicated from A, B, and C. And if a header is duplicated from B and C, it will save the one from ServerB and toss the one from ServerC.

So now when you select all your files and hit download, it will get the ServerA headers from ServerA, the ServerB headers from ServerB, etc. You can change your server order by going to Special, Setup Xnews, then selecting a server and using the + and - keys to move it up and down.

This server ordering won't do any good if you have OverrideTo=ServerA set like I do, because then it will always go to ServerA first no matter what. But it will free up some memory, and most people probably won't have OverrideTo set.


Other Useful(?) Hints

I like opening up lots of groups at once and letting new headers download all at once. That's potentially a lot of menu clicking, and I like to do everything from the keyboard. Ctrl+Tab will switch you between Xnews's internal windows, and specifically it'll take you back to the last window you were at the first time you use it. So I can go to my server window, select a group, then hit Enter to open it. The window opens, the headers start downloading, then I hit Ctrl+Tab, move to the next newsgroup, hit Enter to open it, repeat!
Learn how to use the filter box on the status/icon bar (manual). It's extremely useful, and makes it easy to find specific files.
When you unsubscribe to a group, Xnews doesn't get rid of the headers for the group (after all, you may change your mind). You can either go into the group before you unsubscribe, choose all the messages, then hit delete. Or you can use the file explorer, go to the Xnews directory, into the Data folder, and find the file named '[<server>] <group>.hdr' and delete it.

Try right clicking on things. You'll find a lot of convenient menus.

Read the manual. This guide doesn't even begin to cover all the stuff Xnews can do, and the first part of the manual includes a lot of useful setup hints.
If you're the type who likes to download entire CDs (and you know who you are), you probably don't want to download a whole lot of mp3s all at once, because most people don't name them with the band/album name, just the song names. So you'll get the songs from several cds all jumbled together uselessly in one directory. Tag just the songs for one CD, download them, move them to their own folder. Repeat. Or - open up a Windows Explorer window looking at the directory you are going to download into, then download everything. And as long as you don't close the Explorer window, the mp3s will be in download order at the bottom!
If you mostly download binaries, and don't read groups often (like me!), you'll notice that the N key is normally set to Show New Headers Only. That's not what you want at all in a binary group, and I re-assign N to Show Threads With New Headers from the Keyboard Mapping box (Alt+K).

That's it, guide over, you're probably as exhausted as I am. I'm confident that after using it a while "Now you will learn the true power of the Xnews!" (and maybe even make a donation).

Copyright 2002 Sizer, all rights reserved.
Permission given to Luu Tran to display or distribute.