Contents of the NABBIT.DOC file
* * * * * * * * * * * * * * * *
* Nabbit (tm) Version 2.0 *
* Copyright 1991 by RSE Inc *
* October 16, 1992 *
* * * * * * * * * * * * * * * *
*** Welcome! ***
Nabbit lets you grab ASCII characters off your screen and save them into
a file, or send them to your printer to print envelopes, labels, or
partial screen dumps. It also lets store the captured characters in a
buffer and insert them into another application at some later time. In
this way you can easily exchange data between different programs. Nabbit
is an extremely useful tool, one you will constantly find new uses for.
Nabbit is copyrighted by RSE Inc. It is user-supported shareware. As
such, you are encouraged to freely distribute copies of the NAB??.EXE
file to whomever you please, as long as you don't charge anything for the
copies. Please don't distribute the individual "extracted" files as it
defeats the virus check, and causes other complications. Only distribute
If after evaluating Nabbit you decide to continue using it, then you
need to become a register user sending $15 + $1 shipping to:
Nabbit Visa or MC customers: Modem-It! to:
1157 57th Drive SE call or FAX (206) 939-4105 (206) 939-2312
Auburn, WA 98002 Compuserve: 72371,1557 Product ID: NB
Add $1 extra for 3.5 disk and $5 extra for overseas orders.
Our Instruction Manual containing printed documentation for all 12 of
our shareware products (including Nabbit) is available for an extra $5.
(Modem-It! (tm) is a free program that lets you use your modem to easily
place orders 24 hours a day with any participating merchant. Look for it
on any bulletin board.)
Registered users receive the following benefits:
1. No more annoying "please register" messages.
2. Our "Variety Pak" which contains the latest versions of our
shareware products, including PC-Directory, Playback, PC-Images,
PC-FileNotes, BriteLine, Conjecture, Remind Me! and Trash-It.
3. Technical support, the latest version of Nabbit, and a "decoder"
which converts all future versions to registered versions.
4. Our sincere thanks for supporting our efforts.
Those using Nabbit in a commercial environment must register within 30
days. Site licenses are available. Please write for details.
*** Nabbit Instructions ***
Nabbit is a small TSR (Terminate and Stay Resident) program. You load it
once at the beginning of a session and it stays hidden until you press
its "hot key". Then it goes to work. When you're done with it, your
original program continues as tho nothing had happened.
When I said it was a small program, I meant small. It only takes up
about 2.6K of memory, plus whatever you allocate for the insert buffer
(more on that later).
** To load Nabbit into memory **
-- Go to the disk or subdirectory where NAB.COM is and enter NAB at the
You'll notice the information displayed when Nabbit is loaded contains a
menu of the keys you'll use to operate it. If you're familiar with
TSR's you could probably just use this information to figure out how
things work. However, there are a number of things you will miss if you
don't read these instructions, so please continue on.
** Changing the printer number **
By default, Nabbit sends all its printer output to LPT1. If you'd like
to use another printer the use the "/#" command line switch. For
example, if you want Nabbit to send its printer output to LPT2 then you'd
activate Nabbit like this: "nab/2".
** Specifying the file to save the captured screen data **
If you elect to use Nabbit to save screen data to a disk file then by
default the data is appended to a file called "SCREEN.DAT" in the
directory you are in at the time you pop-up Nabbit. If you want to
change this file then you can do so like this:
Just enclose the pathname of the desired file with "*".
** To remove Nabbit from memory **
If you need to remove Nabbit from memory enter "nab/u" at the DOS prompt.
Remember, you must remove TSR's in the reverse order in which they were
loaded. If you don't, Nabbit may not be able to remove itself or your
computer may lock up requiring a re-boot.
** Activating Nabbit **
You activate Nabbit by pressing its "hot key". The default is Ctrl-G
(press the Ctrl and the G key at the same time), but you can change the
"hot key" by using the Configuration program. We'll discuss the
Configuration program later.
-- Activate Nabbit by pressing Ctrl-G
Hear those two low beeps. They're letting you know Nabbit's ready.
Nabbit also makes the cursor bigger when it's activated. The cursor may
or may not be located at the same place as the cursor being used in your
application. If you can't find Nabbit's cursor, check the upper left
corner of the screen.
** Escaping **
If you need to exit Nabbit, just press the Escape key. You'll hear one
low beep indicating Nabbit has finished. Your cursor will be restored to
its original size and location.
** Marking your text **
Once you've activated Nabbit you need to tell it what part of the screen
you want to capture. First, you mark the upper left corner of the area
you want captured. Use the cursor keys (up, down, left, and right arrow
keys), Tab, Home (move to start of line) or End (move to last column in
line) to move the cursor to the upper left corner of the characters you
want to get. Press S (for Start). You'll hear an ascending series of
beeps letting you know that this is the starting place.
-- Mark the upper left corner of the area you want to capture by moving
the cursor to that point and pressing S for Start.
Now that you've marked the start, it only makes sense to mark the end.
This time move the cursor to the end (the lower right corner) of the area
you want to capture. Then press E (for End). A menu will appear that
gives you the following options:
Press: L if you want to print a label, or just send the text to the
E to print a regular size envelope
B to print on a big envelope
F to append the data to the SCREEN.DAT file
I to store the data in the Insert buffer
** A Sample **
Load Nabbit into memory (if you haven't already) by entering "nab" at the
DOS prompt. Let's say you want to register Nabbit so you need to print
an envelope to put the $16 in. Activate Nabbit by pressing Ctrl-G. Move
the cursor to the upper left corner of the address (the N in Nabbit) and
press S to signal that this is the start of the block. Move the cursor
to the lower right corner of the address (on the zip code line, directly
below the E in SE) and press E to signify the end of the block. Turn on
your printer, insert an envelope, and press E (for Envelope). That's it.
Tough huh? (We'll talk about adjusting the printer output later)
** What Nabbit Nabs **
Envelopes and labels grab like this:
However, if you select "File" or "Insert buffer" you will be presented
with the following menu that lets you grab the data in a variety of ways:
Box Grab the area as described above (a box with
where you pressed S and E defining the corners)
leaving the format as it appears on screen.
Unformatted box Grab the "box" area as described above but strip
out tabs, multiple spaces, and carraige returns.
Grab all Grab as illustrated below, leaving the format
as it appears on screen:
Grab all - unformated Grab as illustrated above, however, strip out
tabs, multiple spaces, and carraige returns.
Nabbit uses a BIOS call (a built-in function of your computer) to grab
the characters off the screen. In text mode it recovers everything
(although Nabbit doesn't capture the color of the characters). In
graphics modes it really depends on what your application is doing.
Programs like desktop publishers which use a WYSIWYG display aren't going
to capture anything. On the other hand, there are many other
applications that do fine. As a general rule, if your screen is showing
more than one typestyle, or more than one size of type, then you're
probably not going to be able to grab anything. The only way to know is
to try. Nabbit is one of those programs wher if it works, it works. (I
went to college so I could write like this....)
In addition, in graphics mode Nabbit's cursor is a thin line and the
menus will not display correctly, therefore you'll have to memorize what
to do. But because most of the menu options make sense you shouldn't
have any problems remembering them.
** Printing **
The only difference between pressing E, B, or L is how many spaces the
printer moves over before it starts printing and how many lines it
scrolls after it's done. The table below shows the default values. You
can change these using the infamous configuration program we'll discuss
06 # of lines for label
FormFeed big envelope
0 Tab spaces for label
50 big envelope
"# of lines" needs some explaining. When Nabbit finishes printing what
you captured, it continues scrolling until it reaches a multiple of the
"# of lines" value. For example, if the # of lines for labels is 6, and
you print a label and the area you capture is 4 lines long, then Nabbit
would scoll another two lines after it was done printing, for a total of
6 lines. If the captured area had been 8 lines long, then it would've
scrolled 4 lines upon completion, for a total of 12 lines, an even
multiple of 6. If you set the "# of lines" to "FormFeed" then Nabbit
sends a form feed to the printer when it's done. This normally causes
the printer to scroll to the end of a normal 11 inch long page.
** Controlling Print Style **
When you print Envelopes or Big Envelopes you can have Nabbit send an 18
code Initialization string to the printer before printing, and a 12
character Reset code when printing is done. This lets you tell your
printer, via printer codes, how you want to print. For example, you may
want it to print in bold, or italics, or both. You define these strings
using the Configuration program, which we'll discuss later.
** Linefeeds before printing **
You can put linefeeds (Character 10) in the Initialization string thereby
causing the printer to jump down so many lines before printing starts.
This is useful for laser printers or any other printer where you can't
align the print head before printing.
** What's that obnoxious noise? **
If you try to print something and you hear a continuing series of low
notes that sound like they're pronouncing impending doom, Nabbit's
telling you it can't send the material to the printer. It continues
making this noise until the problem is fixed or you press a key. Usually
someone forgot to turn the printer on. If that someone tries turning on
the printer, things will probably work just fine. If it's not the power,
then check if the printer has paper.
** Partial Screen Prints **
The normal DOS print screen function works fine if you want to print the
entire screen. But what if you only want to print out part of the
screen? No sweat. Just use Nabbit, and print a Label.
If you find yourself doing partial screen prints a lot (it's addicting)
and you hardly ever use Nabbit to print real labels then you might want
to use the Configuration program to change the "# of lines for labels" to
"FormFeed". That way when you do a partial screen print using Nabbit,
the printer will scroll to the end of the page after it's done.
** Inserting text **
When you press I at the option menu, Nabbit puts what it grabs into the
Insert buffer. You can adjust the size of the buffer from 256 bytes to
3072 bytes by using the configuration program. The default value is 256
bytes. Nabbit only grabs as much as the buffer holds, even if you try to
grab more. Therefore, if Nabbit inserts less than you grabbed, then you
grabbed more than the buffer can hold. Use the configuration program to
increase the size of the buffer.
Once you've grabbed something and put it into the Insert buffer, it stays
there waiting for you to press the Insert "hot key" (Ctrl-I by default).
When you press the Insert "hot key" Nabbit waits until the program you're
using goes looking for an input from the keyboard. Nabbit then jumps in
and gives your program what's in the Insert buffer instead. The effect
is the same as if you were typing the "grabbed" stuff in yourself.
This can be really handy. The most obvious use is to copy data from one
application to another. For example, the letter you wrote Bob last week
has a paragraph in it you want to put in Freds letter. You bring up
Bob's letter, capture the paragraph using Nabbit, and then edit Fred's
letter. Move to where you want to place the paragraph and press the
Insert "hot key". The paragraph will be inserted as though you were
typing it in anew.
You could have just as easily entered the paragraph into your spreadsheet
program, data base, or desktop publisher.
Let's say you want to write an instruction manual and you want to insert
part of directory listing. Since format is important here, you'd grab
the directory listing using the "Box" grab option. Remember,
"Box" grabs the area within the box and leaves all multiple spaces and
carriage returns intact while "Unformatted box" strips them out.
You can also use this feature as a keystroke expander. For example,
you're writing a letter and there's a particular word or phrase that
occurs over and over again. Use Nabbit to capture it and then use the
Insert "hot key" to type it in whenever you need it.
How fast the stuff gets inserted depends on how fast the original
application goes looking for keystrokes, and how high you adjust the
"Rate" value in the configuration program. Setting the Rate value to one
sends about 18 characters a second. This may sound fast, it's really
not. Setting the value to 15 (the highest value, and also the default
value) attempts to insert 273 characters a second. Remember though, most
of the time the limiting factor is how fast the original application goes
looking for keyboard input. Nabbit won't insert characters any faster
than they are requested. However, some programs continue looking for
characters even when they can't accept them anymore (go figure). In
these cases you may want to reduce the Rate value so the program has time
to catch up with itself between each character.
** Repeat operations **
In some applications it may be handy to grab information from the same
spot on the screen over and over. It sure would be nice if you didn't
have to define the same capture area each time. Well there's an easier
If you activate Nabbit and press R then Nabbit will grab from the same
area and do the same operation as the last Nabbit operation.
As an example let's say that instead of just printing one envelope you
want to print two. You'd activate Nabbit and print an envelope just as
we discussed earlier. However, for the second envelope you'd just
activate Nabbit and press R for Repeat. Since you didn't move the cursor
the second time Nabbit grabs stuff from the same area as it did the
Another example: You're working with a data base program where the name
and address of the person always appears in the same place on the screen.
You want to print envelopes for each. You'd only have to define the
capture area the first time. From then on you would just activate Nabbit
and press R (for Repeat).
** The Configuration program **
We've mentioned several items that you can change using the configuration
program. Here's how:
-- Go to the subdirectory where all the Nabbit files reside
-- Enter "NAB_CFG" at the DOS prompt
-- A list will appear of the items you can change, and their current
-- Press the up and down arrow keys to select the item you want to
-- Press the left and right arrow keys to change the value of the
To change a "hot key" you first select the shift state of that hot key
and select either Ctrl, Alt, or Ctrl-Alt. Then select the item below it,
press the right arrow key, and then press the key that goes with the
shift state. For example to change the Insert "hot key" to "Alt-F10"
you'd first select the Insert Shift State, press the right arrow key
until "Alt" appears, move down one line, press the right arrow key once,
and then press the F10 key.
** Printer Codes **
The last two items (Init and Reset) are ways you can control your printer
output during the printing of envelopes. The Init string will be sent to
your printer before the envelope is printed, the Reset string afterward.
Each string consists of decimal ASCII characters separated by commas.
The Init string can be 18 control codes long, the Reset 12. If you enter
more than these amounts the string will be truncated. These numbers
refer to the number of codes entered, not the number of characters. For
example, "27,69,27,46" is 4 codes long, not 11.
You can find what control codes your printer uses by checking your
printer manual. Make sure you use decimal ASCII codes, not hex ASCII.
As an example, on my printer, the code to set boldface is 27,69. It is
also referenced as "E" and 1B,45 (hex). Once again, make sure you
use the decimal ASCII values and seperate each code by a comma. You can
put linefeeds (ASCII code 10) in your Initialization string if you
Your Reset string should reset your printer to the way it was before you
sent the Init string. Often a printer will have a reset code, like
"27,64" or similar. If you don't want to use these strings just leave
To change or enter the Init or Reset string, use the up/down cursor keys
to select the desired string, press the left/right cursor key to indicate
that you want to change it, and then input the new string as instructed.
Remember, its a comma delimited decimal ASCII string.
Example: This sets up envelope printing on HP-IIp LaserJet:
(Because the Reset string ends a formfeed, you'll want to change the "#
of lines" for the envelope to something besides formfeed, like 6.)
(If you want to use the above codes why not nab them and insert them into
the conifiguration program?)
** Saving the changes **
When you're done press the Escape key and the new values will be inserted
into Nabbit. If Nabbit is currently in memory then you'll have to re-
boot and reload it to notice the changes.
** Problems, etc. **
If you try to print an envelope and the printer doesn't print anything
and yet Nabbit acts as tho it did (doesn't beep at you) then grab your
printer manual, find out what character sequence is used to reset the
computer, and use the configuration program to set your Initialization
string to the reset character sequence. On my computer the sequence is
"27,64". Yours may be different. This should clear up the problem.
If what Nabbit inserts is less than what you grabbed, then you grabbed
more than the buffer can hold. Reduce the size of what you grab or use
the configuration program to increase the size of the insert buffer.
Nabbit doesn't work with some programs, particularly those that interface
directly with the keyboard hardware without using DOS or BIOS function
calls. Likewise, Nabbit won't insert data into certain applications.
These applications vary, but often they are telecommunications software
or games. If you can't activate Nabbit or you can't insert using Nabbit,
then the program you're trying to activate it from is either misbehaved
or has good reasons for not letting you interrupt. Either way you're
In 256 color VGA graphic modes, the cursor doesn't erase itself, but
instead leaves a trail of cursors behind it. Because I can't imagine too
many programs that deal with text using the 256 color graphics modes I've
decided not to burden Nabbit with the extra code needed to correct this
annoyance. If I'm wrong, please let me know.
Sometimes Nabbit may be able to grab a character off the screen but your
printer won't be able to print it. Worse yet, the character might be a
printer code that sends your printer off doing things you hadn't
intended. If you're grabbing strange characters and your printer is
acting up, this is probably the reason why.
If you run into any problems and you can't find an answer in these
instructions then give us a call at (206) 939-4105. Technical support is
for registered users, so have your registration number handy. That's
about it. I hope you find Nabbit useful and worthy of your support.
*** Disclaimer ***
RSE Incorporated specifically disclaims all warranties expressed or
implied, including, without limitation, any implied warranties of
merchantability or fitness for a particular purpose. The software itself
is licensed "As Is", without any express or implied warranties
whatsoever. In no event shall RSE Incorporated, its distributors or
dealers, be liable for any loss of profit or any other commercial damage,
including, without limitation, special, incidental, consequential or
other damages. In no case shall any liability exceed the price paid for