Screens

A screen is the primary component of w3browse in order to interact with the user. There are two different kinds of screens, depending on the system under which w3browse is actually running and on how the application is being invoked (see also sections "Invoking W3Browse" and "Environment Variables"):

GUI
A screen is displayed within a native GUI window of the graphical user interface of the system. An arbitrary number of concurrent screens with different settings including fonts and colors may be created by the help of the dialog "Screen Settings".

Depending on the underlying system, a keyboard and/or a pointer device is supported and both can be used if available. The keyboard may be emulated by the system on a part of the display, as found on some PDAs. The pointer device may be a stylus instead of a mouse, which appears like a mouse having only one (left) button. Clicking is achieved by tapping with the stylus on the display surface, whereas dragging is a kind of scraping.

tty
The screen is displayed on the associated terminal itself, which is normally the controlling tty (/dev/tty). Only one screen is available. The font and the colors are fixed and cannot be changed, but perhaps it may be possible to set them up by the help of other tools prior to starting the application.

There is no support for a pointer device, only a keyboard is supported and even that may be restricted, because some key combinations may not generate escape sequences or similar means of their invocation. The display output makes use of escape sequences for positioning, character attributes and colors.

Common to all screens is that they are only able to display characters, using a fixed-width and fixed-height font that is composed of characters from the IBM437 code page. There is no support for inline images or the like, but it is possible to attach foreground and background color attributes to characters, each selected from a palette of 16 colors. Cursors and selection bars, which are markers that point to the current (input) position, are emulated by highlighting the current character or line.

Notes about History

The implementation of screens in the described manner has historical reasons and is more or less obviously based on the similar concept of text mode displays found on IBM-compatible PCs. The IBM437 code page, compared to the ISO-8859-1 character set for instance, provides block graphic characters for drawing frames and similar things, and is therefore still a quite good choice. Not being able to display all possible characters is always a problem and has been solved rather satisfactorily by transliterating other characters to the target character set (a description may be provided elsewhere later).