WHAT's First - Getting Started Using WHAT (2-Aug-10)

WHAT, Wolfberg's Helpful Anagramming Tool, is really a toolbox of powerful tools, with many facilities. You can make effective use of WHAT right away by using just a few of its features, and this tutorial introduces these features. It is easy to get started using WHAT to help you answer simple-to-state queries. Other similar documents cover more advanced features.

If you prefer to read the minimum to get started, look at "WHAT Common Queries Reference Sheet", which is available in both HTML as what_common_queries.html or as an MS Word document what_common_queries.doc. The latter does fit on one page, whereas the HTML version may not, according to you browser's font settings.


These are the sections of this document: Introduction, The Screen, Definitions, Command History, Commands, Command Type-In, Queries, Challenges.


WHAT is command language oriented, which means you type commands on the computer keyboard, many of which are interpreted as questions. But in addition, WHAT includes a graphical user interface (GUI) to help you formulate these commands. The GUI also serves to report on the meanings of the commands. You can learn a lot about the facilities by looking at the GUI, including the menus. This document eases you into the process of using WHAT. You will find the most common queries you want to make can be formulated with succinct command sequences, and by using the GUI you can be reminded just what those commands are. As you become familiar with WHAT's use, you will likely be using typed commands as your usual means of controlling the program.

The Screen

Notice the main workspace region of WHAT has a black background and occupies much of the WHAT window. If you start up WHAT in a "normal" (non-maximized) window, it attempts to center itself and set its width and height at 85% of the width and height of the computer screen. As in MS/Windows programs in general, you can adjust the size of the WHAT window by using the mouse to move the lower right corner of the window; you can also click the middle button in the upper right of the window to maximize it to fill the entire screen. Using WHAT in a maximized window is recommended, since the size of the workspace is then maximized.


The minimum screen size recommended to use this program is 1024 x 768 pixels, since the intended minimum size of the WHAT window is 918 x 700 pixels. If you want to play the Word-Building Game, the suggested minimim size is 960 x 642. If your screen has fewer pixels, some of the WHAT window will be off-screen. You may choose to run WHAT without its showing the left tabs. These are not required for most uses of the program, but they are helpful when formulating esoteric queries. If you are comfortable, turning off the left tabs, you can use WHAT with a minimum screen size of 800 x 575. If you run WHAT on a screen with a pixel density of less than 801 x 601, it will turn off showing the left tabs. According to the pixel density and window size, you may want to adjust the size of the font in the workspace. If you want specific instructions on how to alter the screen size on your computer, click here.

The numbers of pixels stated above assumes the computer is running with standard-sized fonts, which is 96 DPI. If you are running with larger fonts, such as 120, then you must increase those pixel numbers by the ratio of 120 to 96, which is 1.25. In this case, the minimum screen size would be 1000 x 719 instead of 800 x 575.

The WHAT status line runs across the bottom of the WHAT window. You can see the dimensions of the workspace window on the right sections of the status line. You can also see the size of the WHAT window in pixels by holding down the left mouse button when the cursor is anywhere within the status line. The central portion of the status line is used to report command errors when you specifically request WHAT to check a command. This section is also used to show a progress indicator when WHAT is taking a long time producing an answer. There are some questions you can ask of WHAT that cause it to devote more than an instant of computing. The left portion of the status line tells you if there is flashcarding in use and what wordlist is the basis for this. This part of the status line will also alert you to when you are using Lexicon Transition mode when adjudicating challenges. The subjects of flashcarding and Lexicon Transition mode are described in other documents.

Notice the two areas of the WHAT window with tabs for pagination. To the left of the workspace is a 3-tab choice of seeing either a tab for novices (especially for hand-held electronic word aid features), query construction info, or slate presentation info. You can switch between these 2 latter tabs by clicking on the tab or by pressing either Ctrl+P or Ctrl+Q on the keyboard. To return to the Novice tab you must click on the tab itself. You may turn off the showing of the left tabs via the menu pick Show Left Tabs... from the View menu. This is especially useful for using WHAT on a screen with low pixel density.

The other section of the WHAT window with tabs is in the upper right, where there are 8 tabs of choice. Some, but not all, of the things you can specify on these tabs are also available via menus. As a new WHAT user, you are likely to be interested only in the Lexicons tab. More info about lexicons is presented when you click on the Change Lexicon(s) button on the Lexicons tab. Click on the various tabs and make various menu picks to explore for possibilities of WHAT use. You can circulate through the 8 individual tabs by pressing Ctrl+\.


If you have provided WHAT with a definitions file (not a standard part of the WHAT distribution at present), you will see the middle upper section of the WHAT window has a Definitions area that is scrollable. This area presents definitions of words you have double-clicked on in the workspace and in the Definitions area itself. Definitions are also shown in the workspace as part of WHAT's presenting query results. This is the more typical place you will see definitions.

Command History

WHAT remembers most of the commands you have presented to it. You can review them in the Command History area of the WHAT window. If you select an old command from there, it will be placed as a command into the workspace.

The most typical use of the history is the bringing back of recent commands, using the up- and down-arrows in the lower right corner of the keyboard.

You can include the caret (^) as part of a command you are typing to represent the previous command. A commonly used command brings back the previous command and adds a blank. You can type the command as:

and press the Enter key to perform the command, or you can just press the F1 key, which has the same effect.


When WHAT is waiting for you to type a new command, it prompts with:

and you are then expected to type a command on that very line. The typical use of WHAT is to type single-line commands terminated by pressing the Enter key. If there is some error in your command, when you have pressed Enter, you will see the error message in the workspace, and you will often see the first offending character colored red. Alternatively, you have the option of asking WHAT to check the current command by holding down the Ctrl key while pressing Enter (denoted as Ctrl+Enter). If there is a detected error, you are shown an error message in the center part of the status line below, and the workspace will not be affected.

Some commands tell WHAT to make adjustments to its settings. When WHAT starts up, it has many default settings, and you can change these for the short-term, namely one command, or for the long-term. When you change a setting for the short-term the GUI shows you this change by coloring the indication yellow, and green coloring is used to show long-term settings. You indicate to WHAT that a command or command part is for the long-term by following it with an exclamation point. If you forget what character that is, notice there is a button just above the Command History area labeled "Make Long-Term". It is enabled only when its use is appropriate, and by clicking there, you will see an exclamation point added to your command in the workspace.

The most typical kind of command you will present to WHAT is to give it letters to anagram or a pattern to match, and this is described below in the "Queries" section.

Command Type-in

As you type a command line to WHAT, you have the ability to edit the line before submitting it for processing. These editing characters are supported:

Backspace - at the command start, do nothing; otherwise erase the character before the cursor and moves the cursor to the left by one character.
Ctrl+Backspace - erase one or more previous characters in the current command back such that what looks like the previous word is eliminated.
Delete - at the command end, do nothing; otherwise erase the character at the cursor and leave the cursor where it is.
Ctrl+Delete - erase all the characters in the current command and move the cursor to the position of the command start.
Insert - toggle between two modes of character input - inserting and overlaying.
Ctrl+Enter - check the current command and report any errors in the middle part of the status bar at the lower border of the WHAT window.
Ctrl+T - at the command start or end, do nothing; otherwise interchange the character to the left of the cursor with the character to the right of the cursor and then move the cursor to the right by a character.
Home - move the cursor to the start of the command.
Ctrl+Home - scroll the workspace to its beginning.
End - move the cursor to the end of the command.
Ctrl+End - scroll the workspace to its end.
left-arrow - at the command start, do nothing; otherwise move the cursor one character to the left.
right-arrow - at the command end, do nothing; otherwise move the cursor one character to the right.
Ctrl+A - select all text in the workspace.
Ctrl+B - same as left-arrow, Backup one character.
Ctrl+C - copy selected text (see below).
Ctrl+E - same as End.
Ctrl+F - same as right-arrow, go Forward one character.
Ctrl+V - paste text from the clipboard (see below).
Ctrl+X - cut (or copy) selected text (see below).

WHAT deals with selecting, cutting, and pasting, in conjunction with the system clipboard. Text may be inserted only on the command line to the right of the prompt. If the cursor is elsewhere when you attempt to paste, it is first moved to the end of the command line. Text to be inserted must be all on one line. If the clipboard includes more than one line of text, only the text on the first line is used in the paste operation. If you attempt to cut text that is not all within the current command (following the prompt), a copy is done instead. One exception to this is if you include part of the WHAT prompt in what you are cutting; in this case, a cut is done, but it does not include characters from the prompt.

If your mouse or your computer has a mouse wheel, WHAT will respond to the wheel by scrolling the workspace. Of course, you can also use the scroll bars of the workspace.


A query is a specific kind of WHAT command in which you indicate letters and blanks as the basis for anagramming or pattern matching. There are several other kinds of queries, but this document is an introduction, so it will describe only these two kinds of queries.

Letters of either case represent themselves, and a blank can be represented by either a question mark or a period. When a period is included in a query, it causes that query to be a pattern matching kind.

The model of use is there is virtual slate where WHAT "writes" its answers resulting from a query. The contents of the slate remain until another query is made. You can save the slate contents to one of 99 word lists, but this is not a typical need. A query, along with possible filtering, such as words of a certain length, fills the slate with the answer. There is the option to add to the slate instead of replacing its contents. Slate presentation is an independent issue. You have a great deal of control over how the slate is presented.

For the typical query, you type some letters and blanks and end the command by pressing the Enter key. The slate gets the answer, and the slate is presented according to the long-term and short-term settings.

Examples help demonstrate how to use WHAT; if you type the command:

this tells WHAT to list the anagrams of these letters (if any). In this kind of query, all of the given letters must appear in every word of the answer, so only 7-letter words are sought with this example. If there are no words, "(nothing)" colored red will be shown as the answer. You could have presented the letters in any order, and you could even have prefixed the E with a 2 as a count, instead of typing 2 E's. WHAT outputs to the workspace as a result of this query:
and then it reprompts. The default presentation of the slate is merely the words, presented in alphabetical order in columns. At this point, the slate has three words on it, and you have been shown these words. Had you typed
the slate presentation is set to showing nothing (for the short-term, namely this one command); however, the slate does have the answer, and before you see it, you may want to present the slate in some partial ways to quiz yourself. Here are some examples:
~ - are there any words on the slate (yes or no)?
4~ - are there 4 words on the slate (yes or no)?
# - how many words are on the slate?
/1 - show me the first word on the slate
2/3 - show me the 2nd letter of the 3rd word on the slate
' - show me all words on the slate
2' - show me the first 2 words on the slate
You can also request various data about presented words to be shown:
" - include definitions and present one word per line,
< - include front hooks,
> - include back hooks,
$ - include word scores (not interesting for this example).
These are just a few of the possibilities. Look at the Slate Presentation tab on the left side of the WHAT window to see all the possibilities.

The default kind of query is anagramming, and as with other settings, you can change this for the short-term or long-term. There are several kinds of queries, but pattern matching is the usual other choice. To specify the kind of query, include anywhere on the command line:

/A or /a - for anagramming,
/P or /p - for pattern matching.
If your query includes a period (which represents a pattern matching blank) or asterisk (which represents any number of pattern matching blanks), then pattern matching is assumed and you need not specifically force the query kind. For example:
yields all the words ending in V; a pattern match was assumed, and you can see this on the Query tab in the GUI, since the query kind would be shown as "Patterns" and colored yellow in the Query Kind box. There are 17 such words in the TWL98 lexicon. As WHAT is finding them, notice there is a progress indicator in the center of the status line showing you WHAT is "working". Many answers to queries are presented instantaneously, but this one takes WHAT about one second to produce.

Here is another example:

yields all the 3-letter words with a Z as the middle letter. In contrast:
yields all the 3-letter words in which Z is at least one of the letters.

If you type a query that results in more than 500 words to present, you will be given choices of how many WHAT will present. For example,

finds all the 4-letter words (so would "4?"), and there are 3903 of these in the TWL98 lexicon. Perhaps you just want to see the first 25 of these, and you can indicate this in the Large Slate Presentation Dialog that comes up.

It is often the case that you will ask WHAT to anagram using one or more blanks; for example, you might ask:

and WHAT will present the 4 words. The letter the blank represents in each of these words is colored green. Instead, as a quiz, you might have made the query along with an equal sign, namely:
and the slate presentation is reporting only:
 The one blank can be any of these letters: CNY

You might then issue a command with just a number sign to find out how many words in the answer.

You can specify how to sort the words in a slate presentation along various sort keys. See the lower part of the Slate Presentation tab. By default, sorting is by alphabetical order, as you can see.


When you WHAT in a club environment, it will likely be both for adjudicating challenges and for doing some postmortems. You can bring up the Challenge Dialog in many different ways:

The Challenge Dialog explains a few options of how to present words and how to get back to other WHAT use. Pressing Esc is the easiest way.

WHAT defaults to making a file of challenged words on Thursday evenings. You can override the default via the File menu or with the commands:

/+RC - turn on the recording of challenged words
/-RC - turn off the recording of challenged words

The WHAT initialization file, what.ini, specifies the beginning of the path to use when creating such files.

When you bring up the Challenge Dialog using a command of the form:    /<unlock-#>C

You can provide the up to 8-digit secret code that must be used to get out of the Challenge Dialog. This is useful at tournaments.

Without going into the Challenge Dialog, WHAT can tell you whether an individual word is acceptable in the primary and secondary lexicons:


When using this command, recording of the word is not done.

This introductory material should be sufficient for you to make effective use of the basic facilities of WHAT. There are considerably more facilities, which you can read about them in the WHAT User Guide and the other tutorials.