Basic Principles
This section is addressed to end users. It describes how LUWRAIN looks, sounds, and behaves from the user's point of view.
The Screen and the Tiles
When LUWRAIN starts, the screen is divided into one or more rectangular tiles. Each tile belongs to an application and contains an area — a list, a tree, a text editor, a form, or some other control. Every tile shows only text. Fonts and colours can be adjusted to the user's preference; the visual representation has no meaning beyond making the text legible.
At any moment, exactly one application is active, and within that application exactly one area is active (focused). The active area is what the user is currently working with, and it is the source of everything the speech synthesizer announces.
The user does not arrange tiles manually. The position and size of each tile are calculated automatically by LUWRAIN from a tree of tiles defined by the application. The user only needs to know which areas the current application contains and how to switch between them.
Keyboard Navigation
LUWRAIN is fully keyboard-driven. A mouse is not required and, in most cases, not useful.
The most important key combinations are:
- Tab / Shift+Tab — move between areas within the active application.
- Alt+Tab — switch between running applications.
- Alt+X — open the system-wide command line popup. From here the user can launch any application or invoke any system action by typing its name. This is faster than navigating menus and is particularly convenient in noisy environments.
- The main menu — equivalent in spirit to the "Start" menu, listing all applications and system actions.
- Arrow keys — navigate inside the focused area (character by character, line by line, item by item).
- Ctrl as a modifier — when held during navigation, suppresses supplementary spoken information and announces only the essential text. This lets the user switch quickly between "tell me everything" and "tell me only the name."
How Controls Speak
Every control in LUWRAIN follows a small number of consistent rules:
- Text editors announce the character under the cursor when moving left or right, and the whole line when moving up or down. Each typed character is spoken. Reaching the top, bottom, or end of a line produces a distinct notification.
- Lists and menus announce each item on up/down movement. Within an item, the cursor can also move horizontally, letter by letter, so the user can verify the exact spelling of any name. This is essential because speech synthesizers cannot always be trusted to pronounce unusual words correctly.
- Trees behave like lists, but items that have children are marked with a
+or-sign on the screen and with a spoken cue. Pressing Enter expands or collapses the branch. Indentation reflects the level. - Forms place each control on a separate line with a textual label. Drop-down lists open as popup areas. If a form contains a multiline text editor (for example, the body of an email message), it is always placed at the bottom and occupies the rest of the space.
Selecting, Copying, and Searching Text
Selection in LUWRAIN does not rely on visual highlighting. The user places a mark at the start of the desired fragment, moves the cursor to the end, and then performs the action (copy, cut, delete, paste). The affected fragment is announced aloud, so the user has immediate confirmation.
Every textual area also supports incremental substring search. In a form, the search covers both editable values and control labels, so the user can jump straight to "Recipient" without going through every field.
Popups
Many interactions in LUWRAIN happen through*popup areas — temporary areas that appear in response to a command and remain in focus until the user closes them. Dialogs, menus, drop-down lists, the command line (Alt+X), and the main menu are all popups. They behave like any other area: text-based, keyboard-driven, fully spoken.