Navigation
Prev | Chapter 3. Introduction to the World of ELinks | Next

## Navigation

ELinks provides various ways to navigate documents. Depending on how documents are structured, it can be a great help to change navigation style. The navigation styles can roughly be divided into page-oriented, link-oriented and screen-oriented. They overlap in many ways, so this separation is mostly used as a mean to present them.

### Page-Oriented Navigation

This involves scrolling documents horizontally and vertically. Documents can be scrolled page-wise, where the next or previous subpage will be displayed. It is also possible to scroll documents in steps, either line-wise (vertically) or column-wise (horizontally). The step size can be configured and by default is 2 lines and 8 columns. Alternatively, whole documents can be scrolled to the start or the end.

The basic default controls:

Keys | Action
--- | ---
Insert/Delete | Scroll up/down line-wise. (vertically)
PageUp/PageDown | Scroll up/down page-wise.
[/] | Scroll left/right column-wise. (horizontally)
Home/End | Scroll to the start/end of the document.

### Link-Oriented Navigation

For hypertext documents, access to the links makes it more practical to navigate by jumping between links in the document. There are two ways to do this; either you can move between links relationally or by number. Using relational link navigation it is possible to focus the next/previous link or move in a directional manner to the link in a certain direction such as left/right/up/down.

In order to navigate using link numbers, you have to first toggle link numbering on; this will prefix all links with a number using the notation [number]. `[23]` indicates link number 23. When link numbering is enabled, pressing any number key will pop up a "Go to link"-dialog where the complete link number can be entered. By pressing Enter the entered link number will be focused, but only if it is a valid link number.

Note: it is also possible to jump to links by searching the link text; check the documentation on searching.

The basic default controls:

Keys | Action
--- | ---
Up/Down | Move to the previous/next link.
. | Toggle link numbering.
Enter/Right | Follow the current focused link.

No keys are by default configured for directional link navigation.

### Position-Oriented Navigation

Positional navigation (sorry, bad word) uses the either the position of the cursor or the mouse click to navigate the document. If you are familiar with the w3m text-browser you will be familiar with cursor routing. Basically, you move the cursor around — kind of like a mouse — in the document area of the user interface. When the cursor is over a link, the link is highlighted, and when the cursor moves outside the current document view, it will cause the document view to scroll.

The possibilities when using the mouse to navigate the document depend on what terminal you are using. In some terminals, it is possible to scroll by using the mouse wheel. Scrolling is however also possible by clicking in the edge areas of the document view. Highlighting links can be done by clicking on a link but waiting to release the mouse button until the link is no longer under the mouse pointer.

No keys are by default configured for cursor routing.

### Forms

The status bar will indicate the type and name of the field.

Input text/Password fields
  These will be displayed as `________`. Note that passwords will be obscured using `*` characters. Status bar will display something like "Text field, name q", or "Password field, name password" for password fields.
Textarea boxes
  These will be displayed as multiple lines consisting of `_`. Status bar will display something like "Text area, name comment"
Buttons
  These will be displayed as `[ Go ]`. Status bar will display something like "Submit form to …", "Post form to …" for submit buttons.
Checkboxes
  These will be displayed as `[ ]` or `[X]`. Status bar will display something like "Checkbox, name c, value 1". To set one just press ENTER on it.
Radio buttons
  These will be displayed as `( )` or `(X)`. Status bar will display something like "Radio button, name radio1". To set one, you may use ENTER.
Select lists
  These will be displayed as `[first item____]`. Note that if multiple attribute is used, these are displayed as a group of checkboxes instead. Status bar will display something like "Select field, name list" To select one entry, press ENTER, then navigate using UP/DOWN, then press ENTER again.

Prev | Up | Next
LED status indicators | Home | Searching