xdeview - a powerful decoder for binary files
Contents
Description
XDeview is a smart decoder for attachments that you have received in encoded form via electronic mail or
from the usenet. It is similar to the standard uudecode(1) command, yet with more comfort and
flexibility. XDeview supports the uuencoding,xxencoding,Base64 and BinHex encoding methods, and is
able to handle split-files (which have been sent in multiple parts) as well as multiple files at once,
thus greatly simplifying the decoding process. Usually, you will not have to manually edit files to
prepare them for decoding.
If you don't really need a graphical frontend for these kinds of jobs, have a look at uudeview(1) and
uuenview(1).
After invoking the program, it will scan all the given files for encoded data. If any of them were
directories, they will be recursively dived into. You don't need to give files on the command line; you
can also select files later from within the program. After completing the initial scan, you will be
presented with a list of files that seem like they can be decoded properly. You can then pick files
individually for decoding.
File List
The File List is a list box displaying all the files that have been picked up while scanning the encoded
data. These files are ready for decoding, previewing or anything. The list can be scrolled using the
scrollbar on the right of the list.
Individual files can be selected simply by clicking on them. Multiple files can be selected by holding
down the CTRL key and clicking on the individual files.
Name
xdeview - a powerful decoder for binary files
Notes
If you cannot execute xdeview, and it reports something like "command not found", but are sure that the
file itself can be found, check the reference to the main file uuwish at the top of the file.
Options
There's no real need to set options on the command line; they can also be set from within the program.
Note that options must be preceded by a double-hyphen '--', otherwise they might be mistaken for display
options.
-d Sets the program into desperate mode. It will then offer you to decode incomplete files. This is
useful if you are missing the last part of a 50-parts posting, but in most cases the desperately-
decoded files will simply be corrupt and unusable. The degree of usefulness of an incomplete file
depends on the file type.
-f Uses fast mode for file scanning. The program assumes that each input file holds at most one part,
which is usually true for files in a news spool directory. This option breaksdecoding of input
files with multiple articles. Also, certain sanity checks are disabled, probably causing erroneous
files to be presented for decoding. Sometimes you'll get error messages when decoding, sometimes
you'll just receive invalid files. Don't use -f if you can't live with these problems.
-o Gives the OK to overwrite files already there on decoding. The default is to prompt the user
whether to overwrite, rename or skip the file.
-v Disables verbosity. Normally, the program prints some status messages while reading the input
files, which can be very helpful if something should go wrong. Use if these messages disturb you.
-ppath
Sets the path where decoded files shall be written to. This must be a valid pathname, or you'll
get errors when trying to decode anything. Defaults to the current working directory.
-b This changes xdeview's policy of finding a part number on a subject line and may only be needed in
some rare cases when part numbers are found in () parentheses as well as in [] brackets, for
example in a series of multi-part postings. By default, xdeview uses the numbers found in ()
parentheses first. But if this number indicates the file's number in the series and the part
number is given in [] brackets, use this parameters to make the program read the other number
first. This does not affect decoding of files with only one or neither type of brackets. If you
prefer, you can also use the option as -b[]-s Read "minus smartness". This option turns off automatic part number detection from the subject
line. Try this option if xdeview fails to parse the subject line correctly and makes errors at
guessing part numbers, resulting in incorrect ordering of the parts. With this option, parts are
always put together sequentially (so the parts must be correctly ordered in the input file).
Note: The correct part number found in proper MIME files is still evaluated.
-t Use plaintext messages. Usually, XDeview only presents encoded data for decoding. With this option
set, text parts from MIME messages and non-encoded messages are also offered. Plaintext messages
frequently don't have an associated filename, so they're assigned a unique name from a sequential
four-digit number.
Runtime Messgages
If you have enabled verbose mode, progress messages will appear in an own text window titled RuntimeMessages. The messages generated during the scanning phase are extremely helpful in tracing what the
program does, and can be used to figure out the reason why files cannot be decoded, if you understand
them. This section explains how to interpret them. Understanding this section is not necessary to operate
the program.
First, there are "Loading" messages, which begin with the string "Loaded". Each line should feature the
following items:
SourceFile
The first item is the source file from which a part was loaded. Many parts can be detected within
a single file.
SubjectLine
The complete subject is reproduced in single quotes.
Identifier
The program derives a unique identification for this thread from the subject line, for grouping
articles that look like they belong to the same file. The result of this algorithm is presented in
braces.
Filename
If a filename was detected on the subject line or within the data (for example, on a begin line,
or as part of the Content-Type information).
PartNumber
The part number derived from the subject line, or, in the case of properly MIME-formatted
messages, from the "part" information.
Begin/End
If a "begin" or "end" token was detected, it is printed here.
EncodingType
If encoded data was detected within this part, either "UUdata", "Base64", "XXdata" or "Binhex" is
printed here.
More messages are printed after scanning has completed. A single line will be printed for each group of
articles. The contents of this line are best understood by looking at an example. Here is one:
Found'mailfile.gz'State16UUDataPartsbegin12345end6OK
This indicates that the file mailfile.gz has been found. The file was uuencoded ("UUData") and consists
of 6 parts. The "begin" token was found in the first part, and the "end" token was found in the sixth
part. Because it looks like everything's there, this file is tagged as being "OK". The State is a set of
bits, where the following values may be or'ed:
1 Missing Part
2 No Begin
4 No End
8 No encoded data found.
16 File looks Ok
32 An error occurred during decoding of the file.
64 File was successfully decoded.
Save Path
This is the path where decoded files will be written to.
See Also
uudeview(1), uuenview(1), uudecode(1), uuencode(1), The uudeview homepage on the Web, http://www.fpx.de/fp/Software/UUDeview/ June 1996 XDEVIEW(1)
Setup File
If it exists, the file .xdeviewrc in your home directory will be executed in the Tcl interpreter during
program initialization. It must be a valid Tcl program, which you can use to set certain options by
default. For the Tcl-illaterate: variables can be set using the following syntax:
setvar_namevalue
The following variables (options) can be set (look at the text above for an explanation of what they're
doing)
OptionFast
If set to 1, use fast scanning mode.
OptionBracket
If set to 1, use the alternate bracket policy.
OptionOverwrite
If set to 1, assume it's Ok to overwrite files without asking.
OptionDesperate
If set to 1, switch into desperate mode.
OptionVerbose
If set to 1, print progress messages.
SaveFilePath
This is a string variable with the default Save Path, where you want decoded files to go.
EncodeMaxLines
Maximum number of lines per file for encoding. "0" for unlimited.
EncodeEncoding
Default encoding to use. "0" for UUencoding, "1" for XXencoding and "2" for Base64 encoding.
NNTPServer
The address of your NNTP server (only needed on some systems). Can also be set (preferredly) in
your environment variable NNTPSERVER.Status
A short message what the program is currently doing or what it expects you to do.
Status List
The Status Lists notes the corresponding status for each file in the FileList, Usually, you'll just see
"OK" here; otherwise, an error message is shown describing why the file cannot be decoded properly. There
are the following states:
OK All parts of the file have been found, and the encoded data looks correct on first sight. There
are certain problems that might only appear when decoding the file, but usually everything is
fine.
Incomplete
This file is missing one or more parts. If you decode this file, the output data will be corrupt
and usually unusable.
NoBegin
The file doesn't have a beginning. The decoded file will be most certainly corrupt and unusable.
NoEnd No end was found on the file. This usually means that one or more parts at the end are missing.
The degree of usefulness of a decoded file depends on the file type.
Error A previous attempt to decode the file has failed.
Synopsis
xdeview[Xtoptions][--options][file(s)]
