first commit - moved from local dev to git

This commit is contained in:
firebee
2022-10-02 10:09:40 +02:00
commit bbb3ef9333
1861 changed files with 167960 additions and 0 deletions

7
mint/tools/toswin2/BUGS Normal file
View File

@@ -0,0 +1,7 @@
- characters sets GF0, GR1, and GR2 missing
- function and cursor keys don't always work with tw52
- resizing the window may crash toswin, be careful. Will be fixed soon.
- some redraw errors with resizing and changing scrollback buffer
- other redraw errors
- memory violations (happening with changing scrolling region?)
- line drawing characters should be underlined in underline mode

154
mint/tools/toswin2/FAQ Normal file
View File

@@ -0,0 +1,154 @@
These are some of the more frequently asked questions and hopefully some
good answers to them.
Q: I want to log into another Unix box via ssh, telnet, or rlogin from
my MiNT box in a Toswin2 window. I get stuck because the remote
party insults me with something like `unknown terminal tw52, using
dumb instead' or `your terminal lacks required capabilities'.
A: Read the file `README.terminfo'.
Q: What is the recommended value for the "TERM" environment variable
on remote machines?
A: Read the file `README.terminfo'.
Q: I don't see anything at all in my window, looks like black characters
on black background.
A: If this happens when you open a window you have messed up your
color settings (foreground color = background color). Reconfigure
your window to sane settings.
If this happens in the middle of a session, some program has modified
the foreground and background color. Type `tput sgr0' (turn off
all attributes), `tput op' (original color pair) or `tput oc'
(original colors) into your shell.
Q: The display is completely messed up.
A: Reset the terminal to sane settings using either `tput sgr0' or
even stronger `tput is2' or `tput rs2'. This is _not_ the same
as `stty sane'.
Q: I see a lot of garbage on the screen, no characters at all but rather
line graphics
A: You have enabled the alternate character set which activates PC
graphics. Type `tput rmacs' into your shell (of course you have
to do that blindly).
Q: How can I configure something for all windows?
A: Close or iconify all windows and configure the window then. This
will manipulate the default settings.
Q: When I display manual pages, long lines are split by an ugly looking
`<AD>' in reverse video mode.
A: `AD' is the hexadecimal representation for decimal 173. Whenever
the program `less' (which is usually the pager used by the `man'
command) encounters a special (or 8 bit) character it assumes that
the terminal cannot display it and outputs the hex code in reverse
video instead. The copyright sign would be displayed as `<A9>'
according to that rule.
Fix: First make sure that your terminal is capable of displaying
ISO-8859-1 (aka Latin-1) correctly. Either select a font that is
coded in Latin-1 and configure your window for charset `AtariST'
or - if you select an ordinary GDOS font or the default system
font - let Toswin2 map your characters from AtariST to Latin-1 by
configuring your window with the codeset `ISO-8859-1'.
The trick is now to tell less about that capability: You have to
set the environment variable `LESSCHARSET' to `Latin1'. In the
Bourne shell (or bash or ksh) you do that by:
LESSCHARSET="Latin1"
export LESSCHARSET
In the C shell (csh or tcsh) you do it with
setenv LESSCHARSET "Latin1"
You can do that in your shell startup scripts (/etc/profile for
sh/bash/ksh or /etc/cshrc for csh/tcsh).
Q: Why is white suddenly gray?
A: The terminal capability `bold' was silently re-interpreted along
the years to `bright'. You can for instance display the pure
color red (RGB #ff0000) by using bright red. The `normal' red
is somewhat darker. All colors in `dim' (or half-bright) mode
are a little darker again).
The problem with white is that you cannot make it any brighter.
In ANSI mode white is therefore really some light gray. In order
to have a white background you have to choose bright (bold) white
in the window configuration dialog. Alternatively you can edit
your `toswin2.cnf' for the particular window to:
WinColorBG=7
WinColorFG=0
WinFGEffects=256
WinBGEffects=0
This may seem strange but many advanced curses applications draw
tiny white lines on gray blackground and achieve this by using
bright (resp. bold) white on normal white (which is really gray
background). This wouldn't work if white is really white.
A similar problem applies to black. A brighter black would actually
tend to gray. However, the `bold' (bright) attribute is usually
employed to emphasize a particular part of the text. Bold (bright)
black is therefore really displayed in a bold font instead of
changing the color.
By the way, if your video hardware cannot display enough colors
(at least 20 are required to define distinguishable colors for
all ANSI modes in all colors) Toswin2 is smart enough to detect
that and fall back to really using bold resp. dimmed fonts instead
of changing the color rgb values.
Q: I have an application that uses colors but the colors are not at
all what the application says they should look like.
A: There is no easy answer to that one.
First possibility: At startup Toswin2 will inspect the current
color map and pick the colors that come closest to the ones
desired. If another application changes the color map afterwards,
Toswin2 will currently not detect that and there is no other
possibility than restarting Toswin2 to make it re-read the color
map.
Second possibility: You use some legacy application for Toswin2
that doesn't use the terminfo database. Try to configure
`VDI colors' for that application in the window configuration
dialog. Alternatively you may edit your toswin2.cnf:
WinVDIColors=1
This is _not_ recommended as a default setting since applications
that use the terminfo database will look very ugly in these windows.
Third possibility: You are talking about the color yellow. The
Linux console (which is somewhat the `opinion leader' in terms
of color interpretation) has decided that yellow should rather be
some kind of dirty orange. Toswin2 follows this convention, merely
because it makes `yellow' readable even on white background. Another
reason is that many, many curses applications are optimized for
looking nice on the Linux console. They will also look nice in
Toswin2 windows then.
Q: What is this `tput'? Where can I learn more about all that terminal
stuff?
A: Take a week off from your job and start reading `man 5 terminfo'.
This manual page is installed with the `ncurses' package on your
system. The programs `tput' (enable/disable some named terminal
capability), `tic' (compile and install a terminfo description
file) and `tack' (convert a compiled terminfo description into
`/etc/termcap' for legacy termcap applications) also belong to
`ncurses'.

36
mint/tools/toswin2/NEWS Normal file
View File

@@ -0,0 +1,36 @@
Version 2.7 - 7 April 2001
* changed default cursor to underline (ugly block cursor is still
available as "very visible", i. e. "tput cvvis")
* colors are now fully ansi-compatible
* terminal capabilities `bold' and `dim' are now represented using
light resp. half-bright colors where applicable
* support for alternate character set (pc graphics)
* TERM is automatically set to `tw52-m' or `tw100-m' if less than
8 colors are available
* terminfo source files updated (many bugfixes), recompile
it with tic on the target system
* environment variable COLORTERM is set to 1 if color support available
* The horizontal slider has vanished. If you want to get it back
call me at office hours and keep your credit card at hand. Please
allow six weeks for delivery.
* The checkbox for so-called auto-wrapping has vanished. Explanation:
It really enabled semi-automatic margins, i. e. printing in the
last column caused a line-break. Now both tw52 and tw100 have
proper automatic margins and there is no more need for such a
user-definable feature.
* Ultra-smart srcolling. ;-)
Displaying large amounts of data is now 3-9 times faster.
* Implemented origin mode.
* Implemented full (RSI) and soft (DECSTR) terminal reset.

View File

@@ -0,0 +1,614 @@
The included file `twterm.src' contains the terminal description for
the toswin terminal emulations tw52 and tw100. To disable color support
you must currently manually set your $TERM to `tw52-m' and `tw100-m'
respectively. If you have less than 8 colors available toswin2 will
automatically disable color support.
The tw100 emulations are not yet included (because I haven't changed
them yet). You should however find them in most recent ncurses
installations.
Using Toswin2 To Remotely Log Into Other Unix Boxes
===================================================
If you frequently work remotely on other Unix machines in a Toswin2
window you will maybe come across some problems. It may be worth
the while reading on.
What Are Terminals?
-------------------
In the good old days a Personal Computer (PC) was something like a
personal yacht in terms of affordability. Computers were large and
expansive and were usually located in universities, big governmental
institutions, large companies or the like. Computer users were
normally employees or members of these institutions. They were sitting
in front of so-called terminals linked via teletype lines to these
big machines.
The terminals were more or less intelligent combinations of keyboards
and monitors. The display was completely text-based so were the
user interfaces of the programs. Window based environments were not
possible because these terminals were only capable of displaying
characters (usually 25 lines of a maximum of 80 characters each).
The basic mode of operation was somewhat like that: The user logged
into the remote machine, typing commands into the shell and reading
the output. From a more technical point of view `typing commands
into the shell' meant that the terminal detected that the user
has hit some keys on the keyboard, for example the keys `l', 's'
followed by RETURN for issuing the command 'ls'. This sequence of
keys was sent to the shell running on the remote machine and the
shell answered with a listing of the current directory.
Typing commands without seeing them becomes somewhat awkward and
therefore the terminals were usually put into `echo' mode, i. e.
characters were displayed on the screen as they were typed in.
Of course it is not possible to send `characters' through a network
line, you can only send and receive numbers. Luckily enough most
hardware manufacturers have agreed at least on a standard mapping
from numbers to characters and vice versa that was called ASCII
(or more exactly US-ASCII). ASCII defines standard meanings for
128 character codes in the range of 0-127, for instance the character
`A' has the numerical code 65, the character `7' (i. e. the screen
representation of a seven) has the code 55. A computer needs 7 bits
in order to represent these 128 characters, the eighth bit (eight
bits make up one byte or octet) was needed for the hardware protocol.
These 128 characters were sufficient to represent the 26 characters
of the latin alphabet both in upper and lower case, the digits 0-9,
some interpunctation marks like the colon, comma, period and so on.
The character codes 0-31 represent so-called control characters.
These control characters are invisible on the display but are rather
commands that control the displaying terminal. They include commands
like a carriage return (move the cursor resp. current writing position
to the beginning of the line), the newline (move the cursor to the
next line), ring a bell, and so on.
This set of characters was sufficient to display most English texts.
Most languages however use special national characters like accented
characters in French, Italian, Portuguese, Irish, Spanish, Czech,
Polish, or the Umlaute (vowels with a diaeresis) or the SZ-Ligature
in Germany, or even non-latin alphabets like Hebrew, Arabic, Asean
or cyrillic. This wasn't a big problem those days because people
in the non-English-spoken regions of the world were still jumping
from tree to tree, throwing bananas and coconuts at the American tourists
with their notebooks, palms and cell phones. It became a problem
later however. Type `lynx http://www.unicode.org/' to learn how
it was solved.
Anyway, the existing solution was sufficient for programs like `ls',
`echo', even `cc' that were basically one-shot applications. The
user typed in the command with options and arguments and saw the
result on the screen. One big problem however was the task of editing
texts, see `man ed', `man sed', or `man ex' to get an impression how
it was done those days. Editing was done with these line-based editors,
and they were really line-based. You could only see one line of text
at a time and had to issue cryptic keystroke combinations to manipulate
the text. Other popular editors like `sed' (yep, this is really an
editor, the Stream EDitor) weren't even interactive.
It only took a decade or so to realize that editing files becomes much
more handy if you see more than one line of text at once and may even
be capable of freely moving a cursor. That was when a revolution in
user interfaces took place, it was the birth of a comfortable text
editor with a revolutionary user interface, the `vi', the visual editor.
The `vi' was capable of displaying a screenful of text at once, you
were able to move a cursor, it distinguished between a command and
an edit mode and it was even a little WYSIWYG (what you see is what you
get) since it immediately displayed your changes on the screen. Advanced
versions even offered the possibility to issue commands with special
keys like the cursor (arrow) keys instead of typing hard-to-remember
characters or character combinations in command mode.
How was this done? We earlier learned that these terminals could only
handle characters, digits, and so on. But there were still these control
characters in the range of 0-31 (plus the character code 127). People
simply assigned a new meaning to certain combinations of these control
characters, which then became control sequences. Many of these sequences
were introduced by the character number 27 (escape), for example the
sequence escape (27) followed by E (69) was interpreted by the terminal
as a command to clear the screen and put the cursor into the topmost
line. If you have a terminal that is compatible to the DEC vt52 you
can try that with
echo -n -e '\033E'
(For the curious: `033' is the octal representation of decimal 27).
In order to use these new features modern keyboards were equipped with
additional keys like the cursor keys, function keys, the home key, and
so on. Pressing these keys caused the terminal to send the appropriate
sequence to the remote machine and update the screen. For example
in Toswin2, pressing the cursor up key will cause the terminal to send
the sequence escape + A, and move the cursor up one line.
Terminal Emulations
-------------------
Real (hardware) terminals are rarely used today. First the terminals
turned into workstations, later into personal computers. The dumb
terminals that could only interpret keyboard strokes and display
characters turned into intelligent machines with their own CPU.
However, the screen manipulation remained basically the same. Instead
of sending everything through a teletype line, the machine managed the
user interaction on its own behalf and displayed the results on the
monitor attached to the workstation. However, most hardware manufacterers
still used the same or similar control sequences for the user
interaction. Thus it was still possible to use these workstations
or PCs as terminals for remote machines and software written for
terminal based applications did not have to be rewritten from scratch.
With the improvement of video hardware, graphical environments like
X11, GEM or the Apple Macintosh became more and more popular.
Applications now ran in movable windows, and were operated with a
mouse. However, you still needed a command line shell and if you
wanted to run applications on remote machines via a network link the
majority of these remote applications still expected a terminal attached.
One solution for these remote applications is X11 which provides a
network enabled graphical user interface; but most systems (even
X based) still provide pseudo terminals that emulate a hardware terminal
inside a window.
These terminal emulations (no matter if they run in a window environment
or not) appear to the application they run more or less like a terminal
and they still use the same mechanisms. Thus it is still possible to
use the terminal-based applications, which is very important especially
in networked environments.
The File `/etc/termcap'
-----------------------
Years before there were only few hardware manufacturers and it was still
easy to agree on a standard mapping from characters to numbers and vice
versa. In the days of vi and friends the situation was different. Many
different terminals with distinct capabilities were available and
disagreement on the meaning of certain control sequence became a major
problem.
The solution was to maintain a database that mapped symbolic names for
terminal capabilities or keys on the keyboards to the appropriate control
sequences. The standard location for that database was the file
`/etc/termcap'. The file is human-readable, text-based and consists
of entries for each terminal type followed by the mapping from symbolic
names to the control sequences (type `man 5 termcap' to learn more about
that).
A program like `vi' for example basically worked like this: It read
the environment variable `TERM' to inquire the name of the terminal
being used. It then searched the termcap database for an entry for
that terminal and processed the mapping (an alternative method in
absence of the variable `TERM' is to read the correct definition from
the environment variable `TERMCAP'). When it wants to clear the
screen for instance, it looks up the correct control sequence and
prints that control sequence on the terminal. The terminal will
hopefully react in the desired way then.
The other way round works as well: When the user presses for instance
the cursor up key, the terminal will send the (hard-coded) control
sequence for that key to the application. The application is able
to interpret that key stroke with the help of the termcap database in
the correct manner.
The Terminfo Database
---------------------
The main drawback of the termcap database is that it is very inefficient
to use. As more and more terminals with more and more features appeared
the database became larger and larger. It was relatively easy to handle
for humans because they were able to read and edit it with standard text
editors but imposed a considerable performance penalty on the application
because it had to read and process that text file. Modern versions of
the termcap database are typically close to one megabyte in size and if
the definition for your particular terminal happens to be the last in
the database, your application has to read almost one megabyte of garbage
before it can start (it is therefore a good idea to move the definitions
for the terminals you often use to the front of that file).
The next progress was therefore the curses library which uses terminal
definitions that are compiled into a binary representation. These
binary terminal descriptions are a lot faster to process. Furthermore
there is only one terminal definition per file, i. e. the application
only has to read the stuff it really needs.
The terminfo database is expected to reside in a standard location,
usually `/usr/share/terminfo' or `/usr/lib/terminfo'. If you have
compiled your curses library yourself, it may also be expected in
`/usr/local/share/terminfo' or `/usr/local/lib/terminfo', see
`man curses' or `man ncurses' for details on your system or below
`Environment Variable' for more information.
The database layout is file-system based and very simple. For instance
the definition for the terminal `tw52' is looked up in
/path/to/terminfo/t/tw52
i. e., the first character of the terminal name (case matters, t is not
the same as T) denotes the directory and the filename is the name of
the terminal itself. Most terminals also have alias names, for example
the terminal `tw52' is also known as `tw52-color'.
Termcap, Curses And Ncurses
---------------------------
There are three main programming libraries available that character
screen based applications are written with. The first one was the
termcap library that uses the database in `/etc/termcap'. This
library is considered obsolete today and some Unix distributions
have even ceased to install it completely.
BSD Unix introduced the curses library that already makes use of the
terminfo database instead of termcap. This library is still shipped
with many commercial Unix systems but is getting more and more replaced
by the new curses library `ncurses' which is distributed under the
terms and conditions of the GNU General Public License. It is mostly
an enhanced version of the original curses implementation.
Atari And Terminals
-------------------
One common misunderstanding is that the Atari-ST and its successors
have a `vt52' terminal emulation built in. The truth is that the
Atari-ST and its successors all have a terminal emulation built in
that is mostly backwards compatible to the `vt52' terminal.
The VT52 was one of the earliest hardware terminals available. Decades
ago it has quickly become a de-facto standard for other terminals, today
it would be completely obsolete. This is the exhaustive description
for all its capabilities as they are coded into today's termcap and
terminfo databases:
* 80 columns and 24 lines
* Control-H performs a backspace
* hardcoded tabulators every eighth character
* ability to display graphical characters (block graphic characters)
* audible bell
* ability to clear from the current cursor position to the end of the
screen
* ability to clear from the current cursor position to the end of the
current line
* clear the screen
* put cursor into top-left corner
* move cursor to arbitrary position on the screen
* carriage return
* move cursor up/down one line
* a backspace key
* cursor left/right/up/down key
* move cursor one character to the left/right
* scroll forward/backward one line
* move to next hardware tab
These capabilities would suffice to run most curses based applications
but the actual descriptions available on many systems silently omit
some capabilities and keys. You may easily end up with a program
telling you that your terminal is too dumb to run the application.
The hard-coded terminal emulation in the Atari-ST (present in the VDI
and on the console, i. e. the white screen you see when you don't start
GEM) shows a number of differences to the core vt52:
* no capability to display block graphics characters
* depending on the hardware the Atari console allows you to change
the current foreground and background color
* erase from cursor position to beginning of screen
* turn the cursor on and off
* save and restore the current cursor position
* erase current line (and move cursor to first column)
* erase from current cursor position to beginning of line
* turn on/off reverse video mode (inverted text for emphasis)
* turn on/off automatic line feed in last column
This is still primitive compared to modern terminal emulations but
far more than the VT52 had to offer. A major drawback of the Atari
console compared to the VT52 is the lack of block graphical characters
which are often used to compose fancy looking user interfaces with
lines and line fragments.
Remote Logins From The Atari
----------------------------
If you want to login from an Atari into a remote machine via ssh,
telnet or rlogin you have to tell the applications that run on the
remote machine which kind of terminal you use and which capabilities
it has. The basic way to do this is via the environment variable
`TERM'. You can check if your terminal emulation has already set this
environment variable with the command `echo $TERM' typed into your
shell. If this is not the case you should issue the commands
TERM="tw52"
export TERM
at your shell prompt (note that from now on csh users are left alone,
they have to figure out themselves how to set their environment).
Now you can login to the target machine:
telnet machine.employer.com
Why should you set the environment variable before the login?
First of all you should always keep in mind that after the login
all applications will completely run on the remote machine. These
applications will therefore of course check the environment on
the remote host, not your own. And, don't forget that, in a telnet
or rlogin session, the first commands executed on the remote machine
are probably the program `login' and then your login shell. Both
programs already need to know about your terminal or they may mess
up the display. If for instance the remote login program thinks that
it can hide your password by changing your terminal into invisible
or blank mode but your terminal misinterprets the command, you will
probably not be very happy. The same applies to your login shell.
Even the shell itself may make use of the information retrieved from
the terminfo and termcap database. Even if it doesn't need that
information, it will execute one or more scripts upon each login
and these scripts may contain commands that need the information.
It is not unusual after all that these startup scripts perform some
initialization tasks based on the terminal you use.
One drawback of that procedure is that you may be forced to set
`TERM' to a value that is not valid on your local machine. In order
to avoid the necessity of setting back `TERM' to a locally usable value
after you finished your remote session is to temporarily set the
environment variable for that single command:
TERM="tw52" telnet machine.employer.com
This syntax requires a POSIX compatible shell, for example the Bourne
Again Shell `bash' or the Korn Shell `ksh'.
Environment Variables
---------------------
As we have learned before the environment variable `TERM' tells
the programs on the remote machine under which name they should look
up the description of your terminal in the terminfo or termcap database.
The remote login protocols ssh, telnet and rlogin all exchange information
about the terminal and the environment variable will have the same
setting on the remote machine.
Unfortunately not all terminfo and termcap installations are always
up-to-date. You may happen to log into a machine with your `TERM' set
to `tw52' and the remote machine does not know about this terminal
(emulation). It may also happen that the information available on
the remote machine is buggy or does not yet contain the latest
nitty-gritty features that your terminal provide. If you simply want
to quickly login, don't want to use any advanced curses software or
don't care about messed up display, you should try the following list
of advices step by step, until your satisfied. If you want to use
as many features as possible you should however go as far as possible,
respectively start trying in backward order.
a) TERM=vt52
The first try is to set `TERM' to `vt52'. This terminal emulation
should be known to every Unix machine. But as stated before, none
of the terminal emulations for the Atari ST is fully compatible
to the VT52. The `tw52' is at least fully backwards compatible, all
other terminal emulators will not fully work. This will often result
in poor rendering on the screen. For example, from the Atari console
you may see something like
tqqqqqqqqqqu tqqqqqqqqqqu
x OK x x Cancel x
mqqqqqqqqqqj mqqqqqqqqqqj
and you can only guess that this should really represent two buttons
labelled with OK and Cancel (beginning with Toswin2 version 2.7 the
line graphics are correctly rendered, even in VT52 mode).
You remember that the DEC VT52 had neither color support nor support for
a reverse video mode. Reverse video mode is particular important for
curses applications because these applications are often menu driven
or even use buttons or combo boxes. The reverse video mode is used
to emphasize the current selection from the background and it may
become very awkward to operate these applications when you cannot
see what you have currently selected.
As mentioned before, many VT52 terminal descriptions found on remote
machines are buggy and will make programs display only garbage on
your terminal. This may even lead to the result that the remote
program refuses to work because it has no way to render its user
interface because of lacking capabilities. Often these programs will
become very slow because of missing capabilities: For example to erase
the screen from the current cursor position to the beginning of the
screen the application has to print a space on every character cell
although your terminal would happily do that with one single command.
In other words: With a core VT52 terminal and lynx it is no fun to
browse the web.
b) TERM=st52
It may surprise you that despite of the economical failure of Atari
Corp. its terminal description is available and installed on many
(also on commercial) Unix systems. The most commonly available is
probably `st52'. But you may also be lucky with `tt52' if you run
a console on an Atari TT (the TT hardware console has some annoying
incompatibilities). Other possibilities are `at', `atari', `at52',
or `stv52' for the MiNT virtual consoles (provided that they run
on your machine). There may even be a description for `stv52pc',
an enhanced version of the MiNT virtual console with block graphics
character. If you can use one of these terminal descriptions you
will already be lucky with many applications, they contain commands
for reverse video mode, for advanced cursor positioning and maybe
even for color support (but the used color maps are mostly buggy
and will not show the desired results). If color support actually
makes the rendition on screen worse, you may also have a try with
the monochrome versions `st52-m', `tt52-m', and so on.
Even the block character graphics are now approximated more or less
correctly:
+----------+ +----------+
| OK | | Cancel |
+----------+ +----------+
c) TERM=tw52
Even the terminal description for Toswin and its successor Toswin2
is available on many systems. Unfortunately, the development of
Toswin2 has not been as continuous as desirable. Some features have
been added in the course of time, some features have changed, and
the main problem is the terminal description itself which may be
completely buggy or inaccurate on the remote machine. If you use
Toswin(2), setting `TERM' to `tw52' is always an option worth trying
but be prepared for funny results. If the colors are unbearable, try
it with `tw52-m' instead. Downgrading your terminal by setting `TERM'
to one of the various hardware consoles like `st52', `st52-m' and so
on may also be an option.
d) TERM=tw100 or TERM=vt100
Some time ago an attempt has been made to code an emulation of the
popular DEC VT100 terminal into Toswin2. Unfortunately both the
implementation in Toswin2 and the terminal descriptions have changed
a lot. The results that you achieve therefore heavily depend on the
combination of your Toswin version and the terminal descriptions
available on the remote system. If you want to have a try you will
of course have to choose "tw100" in the window configuration dialog.
e) TERMCAP=/path/to/private/termcap
If none of the above settings fulfill your demands, you may also
try to set the environment variable `TERMCAP' to the name of a
file with alternative terminal descriptions (which you may upload
from your local machine). Whether this works or not depends on
several factors:
* the remote termcap implementation must really evaluate the
`TERMCAP' environment variable, most do not ...
* the termcap file you upload should work on your local machine
* the application you run remotely must be linked against the
termcap library, most modern applications are curses ...
An alternative possibility with `TERMCAP' is to put the entire
terminal description into that environment variable. Search for
your terminal in your local `/etc/termcap', copy the relevant section
to a file, upload it to the remote machine and there do something like
TERMCAP=`cat /path/to/my/private/termcap`
export TERMCAP
This may or may not work.
Of course, if you have the appropriate privileges on the remote machine
or your system administrator is a nice guy, you can also simply update
the termcap database on the remote machine.
f) Updating The Remote Terminfo Database
As mentioned above, the terminfo database is simply a directory tree
with precompiled terminal descriptions. For example the compiled
descriptions for the various Toswin emulations will be found in
/usr/share/terminfo/t/tw52
/usr/share/terminfo/t/tw52-color
/usr/share/terminfo/t/tw52-m
/usr/share/terminfo/t/tw100
/usr/share/terminfo/t/tw100-color
/usr/share/terminfo/t/tw100-m
Please ask `man ncurses' or `man 5 terminfo' for the exact location.
Variations include `/usr/local' instead of `/usr' and `lib' instead
of `share'.
The compiled binary files should be compatibible across architectures.
It should therefore be possible to simply copy the terminal descriptions
from your MiNT box to the remote machine, provided that you have the
privilege to do that.
Another possibility is to compile the terminfo description from the
file `twterm.src' on the remote machine using the terminfo compiler
`tic':
tic -o /home/guido/.terminfo twterm.src
The command line option `-o' tells `tic' to output the database into
the directory `/home/guido/.terminfo' instead of the standard location
`/usr/share/terminfo'. ATTENTION: The file `twterm.src' does only
contain descriptions for Toswin terminal emulations, not for the rest
of the world. I also vaguely remember that early versions of `tic'
expected an empty output directory. Without the appropriate care you
may therefore end up with a wiped out terminfo database that only
consists of Toswin terminal descriptions afterwards. Explicitely
specifying the output directory with `-o' should avoid this but I
cannot guaranty that. Ask your system administrator or consult the
manual page tic(1) before you do anything.
g) TERMINFO=/path/to/your/own/terminfo
Recent ncurses implementations look for the terminfo database
at different locations. When you don't have the privileges to update
the terminfo database on your remote machine you may still point
ncurses to a non-standard directory to look for terminal descriptions.
This directory must have the same hierarchical structure as the
standard directory `/usr/share/terminfo'. You can either manually
create the directory structure and copy the description files or
do it in one go as described above.
Recent ncurses looks for the terminfo database in the following order:
1) the directory specified in the environment variable `TERMINFO'
2) in the directory `.terminfo' in your home directory (or
`$HOME')
3) in the system-wide database, usually `/usr/share/terminfo'
Even without superuser privileges you will often be able to use your
terminal description on the remote machine like this. Consult
the `man curses', `man ncurses', `man terminfo', or `man 5 terminfo'
on the remote system or ask your system administrator for details.
Hopeless Cases
--------------
Both termcap and curses/ncurses provide means to access terminal
capabilities in a portable manner. There are however some hopeless
cases where certain terminal capabilities (mostly the PC console,
`ansi', `linux', or `xterm') are hard-coded into the applications.
If such an application issues commands for a Linux console, Toswin2
in tw52-mode will output a lot of garbage, because it misinterprets
the control sequences. To avoid this you may check the progress
that the `tw100' emulation has made and configure your terminal
window to use that instead.
One example for such an application is the program `ls' which is
configured to represent the file type with colors. The control
sequences used to turn on/off a particular color are often those
of the target system and not usable with your terminal. In order
to fix that you can either run `ls' with the option `--color=never'
or read the manual page ls(1) for more information.
The curses based web browser `w3m' is also a nuisance with respect
to curses compliance. Type `o' for options, move your cursor to the
color settings and don't forget to press `OK' at the bottom of the
page to make your changes active.
Many init scripts also use hard-coded terminal capabilities of the
target system. You are generally left alone there.
Terminfo/Termcap vs. stty
-------------------------
You may also have heard of the program `stty' that is used to influence
some settings of your terminal. It is often useful but actually has
nothing to do with (n)curses or termcap. It is a means to provide
access to low-level terminal settings like the line speed or certain
control characters.
A major nuisance especially when a Linux system is involved is the
function of the backspace key. These problems can often be solved
by typing
stty erase ...
Instead of the dots simply hit the key that you want to use instead
for backspace. See the manual page stty(1) for details.
Guido Flohr <guido@freemint.de>

View File

@@ -0,0 +1,60 @@
#! /bin/sh
#set -x
bold=`tput bold`
dim=`tput dim`
normal=`tput sgr0`
all=`seq 0 9`
for i in $all; do
eval "setab$i=\"`tput setab $i`\""
eval "setaf$i=\"`tput setaf $i`\""
done
cat <<EOF
Normal colors
=============
EOF
for bg in $all; do
eval "echo -n \$setab${bg} Background no. $bg: "
for fg in $all; do
eval "echo -n \$setaf${fg}"
echo -n " fg $fg "
done
echo $normal
done
cat <<EOF
Bold
====
EOF
for bg in $all; do
eval "echo -n \$setab${bg} Background no. $bg: $bold"
for fg in $all; do
eval "echo -n \$setaf${fg}"
echo -n " fg $fg "
done
echo $normal
done
cat <<EOF
Dimmed
======
EOF
for bg in $all; do
eval "echo -n \$setab${bg} Background no. $bg: $dim"
for fg in $all; do
eval "echo -n \$setaf${fg}"
echo -n " fg $fg "
done
echo $normal
done
echo -n $normal

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,895 @@
@if VERSION >= 6
@os atari
@charset atarist
@inputenc atarist
@lang "de"
@endif
@database "TosWin2"
@author "Christian Felsch"
@$VER: 2.7
@subject "Dokumentation/Sonstiges"
@options "+z -s"
@node "Titel" "TosWin2: Inhalt"
@limage logo.img 36
TosWin2
Version 2.7
von
Christian Felsch
@{U}Inhalt:@{0}
Allgemeines
Systemvoraussetzungen
Installation
@{"Die Men<65>leiste" link Men<65>leiste}
@{"Das Klemmbrett" link Klemmbrett}
@{"Die Kommandozeile" link Kommandozeile}
@{"Das Programm tw-call.app" link tw-call.app}
@{"Das Environment" link Environment}
@{"Unterst<73>tzte Protokolle" link Protokolle}
@{"Bekannte Fehler" link Fehler}
Interna
Entwicklungsgeschichte
@endnode
@pnode "Christian Felsch"
Kontaktaufnahme:
Christian Felsch
Adalbert-Stifter-Str 33
63477 Maintal
email: C.Felsch@@gmx.de
Christian Felsch @@ HH
@endnode
@node "Allgemeines" "TosWin2: Allgemeines"
@{U}Allgemeines@{0}
@autorefoff
Unter Multitasking-Umgebungen ist es n<>tig, da<64> die Ausgaben von TOS-
Programme nicht direkt auf den Bildschirm geschrieben sondern in ein
Fenster umgeleitet werden. Diese Funktion wurde bereits von den alten
Versionen von TosWin mehr oder weniger komfortabel gel<65>st.
TosWin2 ist nun der Versuch, die verschiedenen Versionen von TosWin 1.4
in einer einzigen zu vereinigen. Folgende alten TosWin-Versionen sind in
TosWin2 eingeflossen:
<20> das Original von Eric Smith (Version 1.4)
<20> die Erweiterungen von Warwick Allison
<20> der VT100-Emulator von Julian Coleman (TW100)
TosWin2 ist, wie alle anderen Versionen auch, Public Domain. Das
Programm und die Quellen d<>rfen frei verteilt werden.
TosWin2 besteht aus folgenden Dateien:
<20> toswin2.app Das Programm mit Resource
toswin2.rsc
<20> tw-call.app Das Programm zur Kommunikation AES -> TosWin2
<20> term/tcapinf Die Terminal-Definitionen von Petr Stehlik.
<20> term/test100.vt Eine Datei zum Test des VT100-Emulators.
Einfach mit `cat test.vt` ausgeben lassen.
<20> hyp/* Der Hypertext f<>r ST-Guide
<20> xconout/* Das Device f<>r die Console
Die aktuelle Version ist hier zu finden:
<20> Mailboxen
Maus Hamburg (040 - 53897013)
<20> Internet
http://www.tu-harburg.de/~alumnifc/
@autorefon
@endnode
@node "Systemvoraussetzungen" "TosWin2: Systemvoraussetzungen"
@{U}Systemvoraussetzungen@{0}
Die wichtigsten Unterschiede zu den alten Versionen sind folgende:
@{B}TosWin2 l<>uft nicht mehr als Accessory@{0}
@{B}TosWin2 l<>uft z.Zt. nur N.AES bzw. AES >= 4.1!@{0}
TosWin2 benutzt diverse AES-Erweiterungen des AES 4.1, ohne vorher
explizit auf deren Vorhandensein zu testen.
Der von TosWin2 ben<65>tigte GEMDOS-Call Pfork() ist inzwischen zwar auch
in MagiC (ab 6.10) verf<72>gbar aber leider gibt es noch verschiedene
Inkompatibilit<EFBFBD>ten, so da<64> TosWin2 derzeit noch nicht mit MagiC eingesetzt
werden kann. Da der Programmierer von MagiC aber kontinuierlich am GEMDOS
von MagiC arbeitet, k<>nnte es sein, da<64> TosWin2 in Zukunft auch damit
benutzt werden kann!
@endnode
@node "Installation" "TosWin2: Installation"
@{U}Installation@{0}
Die Installation von TosWin2 gestaltet sich relativ einfach. Die Dateien
sollten alle im gleichen Verzeichnis liegen.
Das Kommunikationsprogramm tw-call.app sollte bei N.AES angemeldet werden,
und zwar in der Datei N_AES.CNF mit der Zeile
export TOSRUN=c:\system\toswin\@{tw-call.app ignore}
Es bietet sich an, TosWin2 automatisch beim Booten zu starten. Dazu kann
man ebenfalls in der N_AES.CNF folgende Zeile eintragen:
run x:\...\toswin2.app
Der Hypertext kann irgendwo abgelegt werden, ST-Guide sollte ihn aber
finden.
Falls es die Datei /etc/termcap im System bereits gibt, sollte der Inhalt
aus den Dateien tw52.tc und tw100.tc dort eingef<65>gt werden. <20>ber Termcap
informieren sich UNIX-Programme <20>ber die F<>higkeiten der Emulationen von
TosWin2.
Zur Installation des xconout-Devices zum Umleiten der Console-Ausgaben
wird auf das beiliegende ReadMe verwiesen.
@endnode
@node "Men<65>leiste" "TosWin2: Men<65>leiste"
@{U}Die Men<65>leiste@{0}
Datei Fenster Optionen
@line 1 74 0 0 1
@box 2 28 4 0
@box 31 16 4 0
@box 48 26 8 0
TOS-Programm starten... O Console <20>ffnen Fensterwechsel global
Shell starten @{G}----------------@{0} Men<65>-Shortcuts benutzen
@{G}----------------------------@{0} Wechseln W Immer Loginshell
Ende Q Schlie<69>en U @{G}--------------------------@{0}
Console konfigurieren...
Fenster konfigurieren...
@{G}--------------------------@{0}
Einstellungen sichern S
@index "Men<65>-Shortcuts <20>ndern"
Die Shortcuts werden aus der Resource ermittelt, so da<64> sie dort auch
ver<EFBFBD>ndert werden k<>nnen. Dazu d<>rfen folgende Zeichen verwendet werden:
<20> Alle Buchstaben, Zahlen und Sonderzeichen
<20> Funktionstasten: F1 .. F10
<20> Schl<68>sselw<6C>rter: DEL, ESC, HELP, HOME, INS, TAB, UNDO
Zus<EFBFBD>tzlich k<>nnen den o.g. Zeichen noch die drei <20>blichen Umschalttasten
vorangestellt werden (auch kombiniert):
 f<>r Shift
^ f<>r Control
 f<>r Alternate
@index Men<65>-Hilfe
Wird ein Men<65>punkt mit gedr<64>ckter Control-Taste angeklickt, wird die
entsprechende Position im Hyptertext angesprungen. Daf<61>r setzt TosWin2
voraus, da<64> ST-GUIDE bereits gestartet ist und den Hypertext findet.
@endnode
@node "TOS-Programm starten" "TosWin2: TOS-Programm starten"
@{U}TOS-Programm starten@{0}
<EFBFBD>ber diesen Men<65>punkt kann ein neues TOS-Programm gestartet werden. Dazu
wird einfach die Programmdatei in der Dateiauswahlbox ausgew<65>hlt.
Nachdem man ein Programm ausgew<65>hlt hat, bekommt man noch die M<>glichkeit,
Start-Parameter einzugeben.
@endnode
@node "Shell starten" "TosWin2: Shell starten"
@index Loginshell
@index utmp-Datei
@index wtmp-Datei
@index passwd-Datei
@{U}Shell starten@{0}
<EFBFBD>ber den Men<65>punkt ist es m<>glich, eine Kommandoshell zu starten.
Welche Kommandoshell gestartet werden soll, wird in der Datei /etc/passwd
festgelegt. TosWin2 verwendet aus dieser Datei Homeverzeichnis und
Loginshell des aktuellen Users. Um den aktuellen User zu ermitteln wertet
TosWin2 zun<75>chst die Variable LOGNAME aus. Ist diese nicht gesetzt, wird
die effektive User-ID verwendet.
Je nachdem Men<65>-Schalter Immer Loginshell werden entweder alle oder
nur die erste Shell als sogenannte Loginshell gestartet. Von der
Loginshell wird der User in die Dateien /etc/utmp und /var/adm/wtmp
vermerkt und au<61>erdem wertet die Shell zus<75>tzliche Dateien aus
(bash: ~/.bash_login, tcsh: ~/.login).
F<EFBFBD>r jede gestartete Shell werden die Environmentvariablen HOME und SHELL
mit den entsprechenden Werten aus der /etc/passwd besetzt.
Die Shell-Funktion wird insbesondere vom GEMinit-Paket von Ulrich Kaiser
benutzt.
@endnode
@node "Ende" "TosWin2: Ende"
@index SIGHUP
@{U}Ende@{0}
<EFBFBD>ber diesen Men<65>punkt wird TosWin2 beendet.
Dabei werden s<>mtliche Fenster geschlossen, eventuell noch laufenden
Prozesse erhalten ein SIGHUP. Wenn noch eine Loginshell offen ist, wird
der User korrekt aus /etc/utmp und /var/adm/wtmp abgemeldet.
@endnode
@node "Console <20>ffnen" "TosWin2: Console <20>ffnen"
@index xconout2
@{U}Console <20>ffnen@{0}
Damit die Console benutzt werden kann, mu<6D> das Device xconout2 von Torsten
Scherer (TeSche) installiert sein. Dieses Device f<>ngt s<>mtliche
Ausgaben ab, die Programme direkt auf den Bildschirm machen und stellt
sie einem anderen Programm <20>ber eine Pipe zur Verf<72>gung.
TosWin2 bietet die M<>glichkeit, diese Ausgaben in ein Fenster umzuleiten,
so da<64> sie nicht mehr direkt auf dem Bildschirm landen.
Wird das Fenster iconifiziert, <20>ffnet es sich automatisch, sobald neue
Ausgaben kommen.
Wird das Fenster geschlossen, meldet sich TosWin2 bei xconout2 ab und die
Ausgaben erscheinen wieder direkt auf dem Bildschirm. Es bietet sich also
an, die Console immer durch TosWin2 <20>ffnen zu lassen und man braucht sich
nie mehr <20>ber wilde Ausgaben zu <20>rgern!
Ob TosWin2 die Console <20>berwacht kann man daran erkennen, ob die Datei
u:\dev\tw-con existiert.
@endnode
@node "Fensterwechsel global" "TosWin2: Fensterwechsel global"
@index AV-Server
@{U}Fensterwechsel global@{0}
Ist dieser Schalter aktiviert, wird der Fensterwechsel nicht von TosWin2
durchgef<EFBFBD>hrt, sondern eine entsprechende Anweisung an den AV-Server
geschickt. Vorteil ist der, da<64> man von Fenstern von TosWin2 zu denen
des Desktops und anderen Programmen gelangt (sofern diese Programme ihre
Fenster beim AV-Server angemeldet haben).
Damit das funktioniert, mu<6D> der AV-Server (in aller Regel ein Desktop wie
Thing oder Jinnee) entsprechend im Environment (n_aes.cnf) angemeldet
sein:
export AVSERVER=THING
@endnode
@node "Men<65>-Shortcuts benutzen" "TosWin2: Men<65>-Shortcuts benutzen"
@{U}Men<65>-Shortcuts benutzen@{0}
<EFBFBD>ber diesen Schalter kann man einstellen, ob TosWin2 die im Men<65> ein-
getragenen Shortcuts benutzt oder nicht. Wenn ein Shortcut ausgewertet
wurde, steht dieser nat<61>rlich nicht mehr als Eingabe im obersten
Fenster zur Verf<72>gung!
Wer also eine Tastenkombination aus dem Men<65> unbedingt als Eingabe in
das Fenster ben<65>tigt, kann entweder diesen Schalter vor<6F>bergehend
abschalten oder aber den Shortcut dauerhaft aus der Resource
(toswin2.rsc) l<>schen.
@endnode
@node "Immer Loginshell" "TosWin2: Immer Loginshell"
@{U}Immer Loginshell@{0}
Wird dieser Schalter gesetzt, werden alle Shells als @{Loginshell link "Shell starten"} gestartet.
Ansonsten ist nur die erste Shell eine Loginshell.
@endnode
@node "Console konfigurieren" "TosWin2: Console konfigurieren"
@{U}Console konfigurieren@{0}
<EFBFBD>ber den Dialog kann das Verhalten des @{Console-Fensters link "Console <20>ffnen"} eingestellt
werden.
Folgende Parameter stehen zur Verf<72>gung:
<20> Beim Start anlegen Dieser Schalter veranlasst TosWin2 das
Console-Fenster automatisch beim Start
zu <20>ffnen.
<20> Bei Ausgaben <20>ffnen Ist dieser Schalter gesetzt, wird das
iconifizierte oder eingeklappte (shaded)
Console-Fenster wieder ge<67>ffnet, sobald
neue Ausgaben kommen.
<20> Mitschrift in Datei Die im Fenster erscheinenden Ausgaben
k<>nnen in einer Datei abgelegt werden.
Sollte die Option "Bei Ausgaben <20>ffnen" deaktiviert sein, werden neue
Ausgaben im iconifizierten Fenster durch ein optisch ver<65>ndertes Icon
angezeigt.
@endnode
@node "Fenster konfigurieren" "TosWin2: Fenster konfigurieren"
@{U}Fenster konfigurieren@{0}
Bei TosWin2 k<>nnen die Parameter f<>r jedes Programm individuell einge-
stellt werden. Im Gegensatz zu den alten Versionen merkt sich TosWin2
nicht nur verschiedene Fensterattribute sondern auch die Position des
Fenster. Das bedeutet, da<64> z.B. die Loginshell immer an der gleichen
Position ge<67>ffnet wird.
Nachteil der neuen Methode: da es pro Programm nur einen Satz Parameter
gibt, beziehen sich <20>nderungen immer auf alle offenen Fenster, in denen
das betroffene Programm l<>uft. Au<41>erdem ist es z.Zt. nicht m<>glich, da<64>
TosWin2 sich gestartete Programme merkt und sie beim n<>chsten Mal
automatisch startet.
<EFBFBD>ber den Men<65>punkt wird der Konfigurationsdialog aufgerufen. Ist gerade
kein Fenster offen, das konfiguriert werden kann, k<>nnen die Standard-
Einstellungen gemacht werden. Wof<6F>r die Konfiguration wirksam wird,
erkennt man an dem eingeblendeten @{Titel ignore}.
F<EFBFBD>r jedes Fenster k<>nnen folgende Parameter eingestellt werden:
<20> Gr<47><72>e: Spalten und Zeilen geben die maximal Gr<47><72>e des
Fenster an, d.h. die Gr<47><72>e, die eingestellt wird,
wenn man den Fuller bet<65>tigt.
Wird ein Puffer angegeben (xxx Zeilen), werden
die Ausgaben gepuffert und man kann im Fenster
xxx Zeilen zur<75>ckscrollen.
<20> Zeichensatz: Es kann ein beliebiger, nicht-proportionaler GDOS-
Zeichensatz verwendet werden.
F<>r die Auswahl mu<6D> ein xFSL-kompatibles Programm
(z.B. Calvino) oder WDialog ()MagiC-Auswahl) vor-
handen bzw. ein Font-Server abgemeldet sein (z.B.
Thing).
Unter "Tabelle" kann man einstellen, wie die
Tastendr<64>cke interpretiert werden. Derzeit stehen
Atari und ISO-Codierung zur Verf<72>gung.
<20> Sonstiges: Mit dem Schalter "Zeilen umbrechen" wird eingestellt,
ob lange Zeilen, die nicht in das Fenster passen,
umbrochen werden oder nicht.
<20>ber den Schalter "autom. schlie<69>en" kann eingestellt
werden, ob das Fenster nach Beendigung des Programms
sofort geschlossen wird.
<20> Elemente: Es kann frei definiert werden, welche Elemente das
Fenster habe soll.
Au<41>erdem kann ein @{Titel ignore} eingegeben werden.
Wird kein Titel eingetragen, wird der Programmname
verwendet.
<20> Terminal: TosWin2 bietet sowohl die tw52 als auch die tw100-
Emulation. Da TosWin2 VT52 bzw. VT100 nicht komplett
emuliert, verwendet es die eigenen Terminal-Namen.
Eine <20>nderung der Emulation wirkt erst nach erneutem
Start des betroffenen Programms aus.
Neben dem Terminal-Typ k<>nnen au<61>erdem noch die
Vorder- und Hintergrundfarbe eingestellt werden.
Neben den im Dialog get<65>tigten Einstellungen merkt sich TosWin2 die
Position der Fenster und ob sie beim Sichern der Einstellungen
iconifiziert sind.
@endnode
@node "Einstellungen sichern" "TosWin2: Einstellungen sichern"
@index toswin2.cfg
@{U}Einstellungen sichern@{0}
Die Parameter werden in die Datei toswin2.cfg gespeichert. Dabei werden
die Daten in einer lesbaren Form abgelegt. Wer die Datei von Hand in
einem Editor <20>ndert, sollte genau wissen, was er tut :-)
Beim Start sucht TosWin2 diese Datei auf verschiedenen Pfaden:
1. Auf dem Pfad in der Variablen HOME
2. Auf dem Pfad HOME/defaults
3. Im Startverzeichnis von TosWin2
4. Im aktuellen Verzeichnis
@endnode
@node "Klemmbrett" "TosWin2: Klemmbrett"
@index Blockmarkierung
@{U}Das Klemmbrett@{0}
TosWin2 unterst<73>tzt das GEM-Klemmbrett.
In allen Fenstern k<>nnen Textbereiche mit der Maus selektiert werden.
Die bekannten Funktionen "Kopieren" und "Einf<6E>gen" werden dabei z.T.
automatisch ausgel<65>st. Folgende Funktionen stehen zur Verf<72>gung:
<20> Linke Taste dr<64>cken, halten und ziehen zum Markieren von Text.
Wird die Taste losgelassen, wird der markierte Text sofort auf
das Klemmbrett geschrieben.
Ist bereits ein Block markiert, kann durch Dr<44>cken der Shift-
Taste die Markierung ver<65>ndert werden.
<20> Durch einen Doppelklick-Links kann ein Wort markiert werden.
Ein Wort besteht aus Buchstaben, Zahlen und den g<>ngigen Zeichen
f<>r Dateinamen.
<20> Mit einem Rechts-Klick wird der Inhalt der Klemmbrett in dem
aktuellen Fenster eingef<65>gt.
<20> Durch Dr<44>cken der HELP-Taste wird der markierte Text an ST-Guide
geschickt.
@index StringServer
<20> Wird ein markierter Bereich einmal angeklickt, wird der Text an
den StringServer geschickt.
StringServer ist ein n<>tzliches Tool, das Strings an verschiedene
Programme verschickt. So kann z.B. in TW2 eine URL mariert werden
und <20>ber den Server an CAB geschickt werden.
N<>heres dazu: http://www.bright.net/~atari/files/sspb2909.lzh
TosWin2 schreibt den Text genau so in das Klemmbrett, wie er von dem
TOS-Programm ausgegeben wurde, d.h. es werden keinerlei Blanks ein-
gef<EFBFBD>gt oder Zeilenenden ver<65>ndert.
@endnode
@node "Kommandozeile" "TosWin2: Kommandozeile"
@{U}Die Kommandozeile@{0}
TosWin2 wertet beim Start seine Kommandozeile aus. Derzeit werden
folgende Kommandos ausgewertet:
<20> "-l" bewirkt, da<64> TosWin2 nach dem Start sofort ein Fenster mit
einer (Login)-Shell <20>ffnet.
<20> Ein Programmname wird <20>bergeben. Dabei enth<74>lt das erste Argument
den Pfad des Programmes (in TOS- oder UNIX-Schreibweise), alle
weiteren Argumente werden von TosWin2 an das gestartet Programm
weitergereicht.
Beispiel: toswin /bin/sh -c script
@endnode
@node "tw-call.app" "TosWin2: tw-call.app"
@{U}Das Programm tw-call.app@{0}
Das Programm tw-call.app sollte von N.AES zum Nachstarten von TOS-
Programmen benutzt werden (-> Installation).
Der Sinn von tw-call besteht darin, die Daten des zu startenden TOS-
Programms an TosWin2 weiterzuleiten. Dadurch wird erreicht, da<64> immer
nur @{I}ein@{0} TosWin2 laufen mu<6D>, das sich um @{I}alle@{0} TOS-Programme k<>mmert.
Dabei reicht tw-call nicht nur, wie das alte RunTos, Programmname und
Argument sondern zus<75>tzlich noch das aktuelle @{Environment ignore} und das
Standardverzeichnis an TosWin2 weiter.
Neben dem Weitereichen der Programmdaten hat tw-call noch eine andere
Aufgabe: Wenn ein GEM-Programm ein TOS-Programm nachstartet (z.B.
eine TeX-Shell das tex.ttp) erwartet die Shell in der Regel eine
Nachricht, wann das TOS-Programm beendet ist. Au<41>erdem kann der
R<EFBFBD>ckgabewert des TOS-Programms von Interesse sein.
Das alte RunTos hat sich sofort nach der <20>bermittlung der Programm-
daten beendet, die TeX-Shell bekommt also von dem eigentlichen @{Ende ignore}
des tex.ttp <20>berhaupt nichts mit.
Das neue tw-call verh<72>lt sich anders: nachdem es die Daten an TosWin2
<EFBFBD>bermittelt hat, wartet es so lange, bis TosWin2 es informiert, da<64>
das TOS-Programm sich beendet hat. TosWin2 <20>bergibt dabei an tw-call
den R<>ckgabewert des TOS-Programms. Mit diesem Wert beendet sich
schlie<EFBFBD>lich tw-call. F<>r das aufrufende Programm sieht es nun so aus,
als ob die eintreffende CH_EXIT-Meldung von dem TOS-Programm selbst
stammt und es kann den korrekten R<>ckgabewert verarbeiten.
tw-call ist damit derzeit die einzige M<>glichkeit, um unter N.AES die
erweiterten Modi von @{"shel_write()" link tos.hyp/shel_write} (<28>bergabe von Startverzeichnis und
@{Environment ignore}) und korrekte CH_EXIT-Meldungen auch bei TOS-Programmen
zu realisieren.
tw-call tr<74>gt sich in dem Programm-Men<65> von N.AES mit dem Namen des
TOS-Programms ein. Wird solch ein Eintrag angeklickt, schickt tw-call
eine Nachricht an TosWin2 und das zugeh<65>rige Fenster wird getoppt.
Wird tw-call mit "-l" als Parameter z.B. direkt vom Desktop aus gestartet,
schickt es TosWin2 eine Nachricht, woraufhin dieses eine neue Shell
startet. Damit wird die Funktionalit<69>t "Shell starten" aus TosWin2
herausgereicht und man kann sie <20>ber ein Icon auf dem Desktop oder durch
Belegung einer F-Taste schnell erreichen.
Wird tw-call ohne irgendwelche Parameter gestartet, schaut es lediglich
nach, ob TosWin2 bereits l<>uft und startet es ggf. nach.
@endnode
@node "Environment" "TosWin2: Environment"
@{U}Das Environment@{0}
F<EFBFBD>r die nachgestarteten Programme tr<74>gt TosWin2 ein Environment ein.
Dazu wird beim Programmstart <20>ber Men<65> bzw. beim Start einer Shell
eine Kopie des aktuellen @{B}AES@{0}-Environments angelegt. Das AES-
Environment wird benutzt, da es sich zur Laufzeit <20>ndern kann. Beim
Start durch tw-call wird das <20>bergeben Environment benutzt.
TosWin2 tr<74>gt einige zus<75>tzliche Variablen ein. In allen drei F<>llen
sind das:
<20> TERM mit "tw52" bzw. "tw100", je nach der benutzen Emulation.
<20> LINES,
COLUMNS mit der aktuelle Fenstergr<67><72>e.
Zus<EFBFBD>tzlich werden f<>r die Shell zwei weitere Variablen gesetzt:
<20> HOME mit dem Homeverzeichnis aus der /etc/passwd
<20> SHELL mit der Loginshell aus der /etc/passwd
Falls es die Anzahl der Argumente beim Start durch tw-call erfordert,
wendet TosWin2 das ARGV-Verfahren an.
@endnode
@node "Protokolle" "TosWin2: Protokolle"
@index Cookies
@index xFSL
@index AP_TERM
@index VA_START
@index AV_STARTED
@index Drag&Drop
@index SC_CHANGED
@{U}Unterst<73>tzte Protokolle@{0}
TosWin2 pr<70>ft einige Cookies und unterst<73>tzt verschiedene Protokolle
bzw. AES-Nachrichten.
@{U}Cookies@{0}
<20> xFSL Fontauswahl mit Clavino oder HuGo.
@{U}Empfangene Nachrichten@{0}
<20> AP_TERM TosWin2 meldet dem AES, da<64> es diese Nachricht
versteht und verh<72>lt sich bei derem Empfang genau
so, wie wenn man den Men<65>punkt Ende w<>hlt.
<20> VA_START Bisher wird als Argument nur "-l" verstanden. Es
bewirkt, das TosWin2 ein neues Shell-Fenster <20>ffnet.
<20>ber diese Nachricht kann jedes anderen Programm
TosWin2 dazu veranlassen, eine neue Shell zu starten.
TosWin2 antwortet mit AV_STARTED, damit der Aufrufer
den Speicher wieder freigeben kann.
<20> AP_DRAGDROP TosWin2 unterst<73>tzt das Drag&Drop-Protokoll:
Vom Desktop k<>nnen Programme und Verzeichnisse, von
anderen Programmen Texte auf den Fenstern abgelegt werden.
Wird ein Verzeichnis auf ein Fenster mit einer Shell
gelegt, schickt TosWin2 es mit einem vorgestellten
"cd " an die Shell, so da<64> diese das Verzeichnis
wechselt. Dateiname oder Pfad werden in UNIX-
Schreibweise (/c/auto/...) gewandelt und das be-
troffenen Fenster wird getopped.
<20> FONT_CHANGED Antwort des Font-Servers.
@{U}Verschickte Nachrichten@{0}
<20> AV-Protokoll F<>r Fensterwechsel <20>ber AV meldet sich TosWin2 mit
entsprechenden Meldungen beim AV-Server an.
<20> Drag&Drop In TosWin markierte Text-Bl<42>cke k<>nnen als ".TXT"
in andere Fenster gezogen werden.
<20> FONT_SELECT Wird an einen Font-Server geschickt.
<20> SC_CHANGED Nachdem TosWin2 das Klemmbrett ver<65>ndert hat, werden
alle anderen Applikationen dar<61>ber informiert.
<20> VA_START An ST-Guide f<>r die Online-Hilfe bzw. an den
StringServer.
@endnode
@node "Fehler" "TosWin2: Fehler"
@{U}Bekannte Fehler@{0}
<20> Das neue Parameterkonzept f<>r die Fenster erlaubt z.Zt. kein
automatisches Starten von Programmen beim Start von TW selbst.
<20> Das wortweise Selektieren mittels Doppelklick ist manchmal etwas
schwierig, da man den Doppelklick innerhalb der Zeit f<>r die
Timerevents (50ms) schaffen mu<6D> :-))
<20> Aus bisher unerfindlichen Grunden ist die VT100-Ausgabe beim
Scrolling etwas tr<74>ger als die VT52-Ausgabe.
<20> Bei mindestens zwei Leuten treten Probleme im Zusammenhang mit
einer PPP-Verbindung zu einem UNIX-Rechner auf. Keiner wei<65>, was
hier passiert!?
@endnode
@node "Interna" "TosWin2: Interna"
@index TIOCSWINSZ
@index SIGWINCH
@index Pipe
@index Font-Protokoll
@index VT100-Grafik
@{U}Interna@{0}
Hier noch ein paar Informationen, die f<>r den reinen Anwender kaum
von Interesse sein d<>rften und eher f<>r den Programmierer gedacht
sind.
<20> @{"Protokoll zwischen tw-call und TosWin2" link TW-Protokoll}.
<20> TosWin2 teilt die aktuelle Fenstergr<67><72>e dem Proze<7A> bei dessen
Start <20>ber Fcntl(fd, &tw, TIOCSWINSZ) mit.
Wird die Gr<47><72>e ge<67>ndert, w<>hrend ein Proze<7A> l<>uft, setzt TosWin2
folgendes ab:
Fcntl(t->fd, &tw, TIOCSWINSZ);
Pkill(-t->pgrp, SIGWINCH);
Die Shells bash und tcsh z.B. reagieren darauf, in dem sie die
Werte in den Variablen LINES und COLUMNS entsprechend anpassen.
<20> TosWin2 benutzt f<>r die Pipes zu MiNT-Net kompatible Namen.
Angelegt werden die Pipes unter u:\pipe\ttyp[0-9a-f], es sind
also maximal 16 Fenster gleichzeitig m<>glich. Wenn TosWin2 die
Pipe anlegt, wird automatisch ein Link in u:\dev mit gleichem
Namen erzeugt, da einige Programme das TTY im Device-Ordner
erwarten.
<20> TosWin2 unterst<73>tzt die Fontauswahl nach dem Font-Protokoll.
Dazu ruft es den <20>ber die Environment-Variable "FONTSELECT"
angemeldete Fontauswahl auf.
Au<41>erdem kann aus einer entsprechenden Fontauswahl (z.B. Thing)
ein Font per D&D auf ein offenes Fenster gezogen werden.
<20> VT100-Grafik:
TosWin2 wertet die Steuersequenzen ShiftIn (0x0E) und ShiftOut
(0x0f) bzw. ESC-(0 und ESC-(B zur Umschaltung zwischen ASCII-
und Grafikzeichensatz aus. Ist der Grafikzeichensatz aktiv,
werden die Buchstaben entsprechend der Abbildung auf die Grafik-
zeichen umgemappt. TosWin2 verh<72>lt sich dabei so wie ein XTerm
unter UNIX. Damit das funktioniert, mu<6D> ein entsprechender ANSI-
Zeichensatz (TMAIL, Connect Light) eingestellt sein.
@limage table.img 10
@endnode
@node "TW-Protokoll" "TosWin2: TW-Protokoll"
@{U}Kommunikation zwischen tw-call und TosWin2@{0}
Die Kommunikation zwischen tw-call und TosWin2 l<>uft <20>ber mehrere
Nachrichten ab. Zum Datenaustausch wird Shared-Memory benutzt, so
da<EFBFBD> es keine Probleme mit der Memory Protection gibt.
Folgende Nachrichten werden ausgetauscht:
TWSTART (0x0CF1), tw-call -> TosWin2
tw-call fragt bei TosWin2 an, ob dieses bereit ist, Daten
zu empfangen.
TWOK (0x0CF2), TosWin2 -> tw-call
Antwort von TosWin2 auf TWSTART.
TWWRITE (0x0CF3), tw-call -> TosWin2
tw-call hat die Daten im SharedMem abgelegt. Der Block steht
unter dem Namen u:\shm\tw-call.xxx zur Verf<72>gung, wobei xxx
f<>r die GEM-ID von tw-call steht. Der Block hat folgende
Struktur:
char name[256] Programmname mit Pfad.
char pfad[256] Aktuelles Verzeichnis.
char arg[4096] Die Argumente, getrennt durch "\n".
char env[4096] Das @{Environment ignore} als Kopie aus der
Basepage von tw-call.
TWREAD (0x0CF4) TosWin2 -> tw-Call
TosWin2 hat die Daten ausgelesen.
TWERR (0x0CF5) TosWin2 -> tw-call
Beim Auslesen trat ein @{Fehler ignore} auf.
Neben den Nachrichten f<>r die <20>bergabe der Programmdaten, werden
noch folgende verschickt:
TWTOP (0x0CF6) tw-call -> TosWin2
Der Men<65>eintrag eines TOS-Programms wurde angeklickt und
TosWin2 soll das zugeh<65>rige Fenster toppen.
TWSHELL (0x0CF7) tw-call -> TosWin2
Wird tw-call mit der Option "-l" gestartet, schickt es TosWin2
diese Nachricht, woraufhin TosWin2 eine neue Shell startet.
@endnode
@node "Entwicklungsgeschichte" "TosWin2: Entwicklungsgeschichte"
@{U}Entwicklungsgeschichte@{0}
@autorefoff
@{U}Version 2.7 from 07.04.01@{0}
<20> changed default cursor to underline (ugly block cursor is still
available as "very visible", i. e. "tput cvvis")
<20> colors are now fully ansi-compatible
<20> terminal capabilities `bold' and `dim' are now represented using
light resp. half-bright colors where applicable
<20> support for alternate character set (pc graphics)
<20> TERM is automatically set to `tw52-m' or `tw100-m' if less than
8 colors are available
<20> terminfo source files updated (many bugfixes), recompile
it with tic on the target system
<20> environment variable COLORTERM is set to 1 if color support available
<20> The horizontal slider has vanished. If you want to get it back
call me at office hours and keep your credit card at hand. Please
allow six weeks for delivery.
<20> The checkbox for so-called auto-wrapping has vanished. Explanation:
It really enabled semi-automatic margins, i. e. printing in the
last column caused a line-break. Now both tw52 and tw100 have
proper automatic margins and there is no more need for such a
user-definable feature.
<20> Ultra-smart srcolling. ;-)
Displaying large amounts of data is now 3-9 times faster.
<20> Implemented origin mode.
<20> Implemented full (RSI) and soft (DECSTR) terminal reset.
@{U}Version 2.6 vom 09.09.00@{0}
<20> Wenn keine Fontauswahl verf<72>gbar ist und man trotzdem versucht, den
Font zu <20>ndern, werden die Fontdaten nicht mehr zerst<73>rt.
<20> 'Gl<47>ckchen'-Problem der tw100-Emulation gefixed.
<20> Timeout f<>r den Fall eingebaut, da<64> tw-call nicht antwortet.
<20> NULs in Ausgaben werden ignoriert.
<20> TW2 nutzt das neue Farb-Popups von Heiko Achilles (CF-Lib).
@{U}Version 2.5 vom 19.09.99@{0}
<20> Da TW2 die Emus vt52 und vt100 nicht vollst<73>ndig abbildet, wird
jetzt TERM jetzt wieder auf tw52 bzw. tw100 gesetzt.
<20> Korrekturm am Redraw des Icon-Fensters.
<20> Man kann markierten Text per D&D in andere Fenster ziehen,
au<61>erdem werden jetzt auch D&D-Daten vom Typ ".TXT" akzeptiert.
<20> tw-call meldet sich beim AES mit dem Namen des TOS-Programms an,
soda<64> ein appl_find(TOSName) die ID von tw-call liefert und dar<61>ber
das Fenster erreichbar ist.
@{U}Version 2.4 vom 16.04.99@{0}
<20> TW2 l<><6C>t sich jetzt mit PureC <20>bersetzen, so da<64> sich deutlich
kompaktere Programme ergeben.
<20> Text-Markierung <20>ber Fenstergrenzen hinweg.
<20> Das autom. Schlie<69>en der Fenster ist jetzt lokale Option.
<20> Neue Funktionen f<>r die Console: <20>ffnen bei Ausgaben, Mitschrift
in Datei, optische Anzeige im Icon bei neuen Ausgaben.
<20> TW2 benutzt nun die Standard-Terminals vt52/vt100 statt tw52/tw100.
<20> Diverse Bugfixes und Korrekturen.
@{U}Version 2.3 vom 29.10.98@{0}
<20> Markierte Bl<42>cke k<>nnen an ST-Guide bzw. an StringServer geschickt
werden (Dank an Jo Even Skarstein)
<20> Zeichentabelle w<>hlbar (Atari, ISO Latin1) (Dank an Jo Even Skarstein)
<20> Vorder/Hintergrundfarbe im Fenster sind konfigurierbar.
<20> RSC-Versions-Kontrolle
@{U}Version 2.2 vom 19.07.98@{0}
<20> Umgestellt auf @{CF-Lib link cflib.hyp/main}
<20> Men<65>-Shortcuts werden jetzt aus der RSC ermittelt. Tasten, die
Shortcuts sind, kommen nat<61>rlich nicht mehr im Fenster an.
<20> Fontauswahl im Fenster (xFSL, FONTSERVER, MagiC)
<20> TW2 verschickt AV_STARTED als Antwort auf VA_START, damit
der Aufrufer den Speicher freigeben kann. (Bei der 2.1 kam
es in diesem Zusammenhang zu Speicherm<72>ll, der z.B. zu fehler-
haften Font-Daten oder Abst<73>rzen f<>hrte)
<20> Beim Fensterwechsel werden nun auch die Dialoge beachtet.
<20> Fensterwechsel <20>ber AV-Server m<>glich.
<20> Neuer Men<65>schalter, um die Auswertung der Shortcuts abzuschalten.
<20> Neuer Men<65>schalter, damit alle Shells als Loginshell gestartet
werden.
<20> Die aktuelle Fenstergr<67><72>e wird in der CFG gesichert, bisher wurde
das Fenster immer in max. Gr<47><72>e (Zeilen/Spalten) ge<67>ffnet.
@{U}Version 2.1 vom 19.02.98@{0}
<20> <20>nderung der Parameter:
tw-call.app ohne alles startet nur noch TW2.
"-l" (toswin2.app und tw-call.app) startet Loginshell.
<20> Die Fensterverwaltung kam beim Toppen/UnToppen/OnToppen durch-
einander, so da<64> Tasteneingaben ins falsche Fenster gingen.
<20> D&D beim Draggen mehrere Dateien korrigiert.
<20> Neue termcap/terminfo und ein paar Patches f<>r die Farbdarstellung
von Petr Stehlik.
<20> Ein paar Korrekturen an den USERDEFs f<>r prop. Systemfonts.
<20> Korrektur am Fensteredraw bei High/TrueColor Aufl<66>sungen.
<20> Fontprotokoll (Dank an Jo Even Skarstein).
<20> Fensterdialoge.
<20> Zwar noch keinen englischen Hyp, daf<61>r aber wenigstens eine RSC.
@{U}Version 2.0 vom 05.08.97@{0}
Erste <20>ffentliche Version. Darin haben sich folgende Dinge gegen<65>ber
der alten Version ge<67>ndert ("-": entfernt, "+": neu):
- Die sogenannten "Application Menus", d.h. die Men<65>s, die f<>r das
jeweilige Programm mit einer MNU-Datei definiert wurden, wurden
entfernt.
- Die Copyrightbox im Fenster mit dem Icon f<>r das Klemmbrett ist
durch eine normale, ohne Fenster ersetzt.
- Die Unterscheidung zwischen "Std Window" und "Alt Window" wurde
abgeschaft. Au<41>erdem macht TosWin2 keine direkten Zugriffe auf
LineA mehr.
- Konfigurierbarkeit des Klemmbretts ersatztlos entfallen.
- Die Men<65>shortcuts k<>nnen nicht mehr im Programm eingestellt werden.
- Konfiguration des Environments ist nicht mehr m<>glich.
- Die globalen Optionen "Florishes", "Point to type" und "Smooth
scrolling" sind entfallen. "Align Windows" ist Standard und kann
nicht abgeschaltet werden.
- Das Men<65> zur Ausl<73>sen von Fensteraktionen (Gadges).
- Wegen grober Rechenzeitverschwendung gibt es kein Cursor-Blinken
mehr.
- Die TOSRUN-Pipe wird nicht mehr ben<65>tigt.
+ Externe Resource.
+ Neues, auf das wesentliche reduziertes @{Men<65> link Men<65>leiste}.
+ Hypertext und Men<65>-Hilfe.
+ Neue Dialoge mit modernen Elementen.
+ Neue @{Klemmbrettverwaltung link Klemmbrett}.
+ Neue Funktion @{Shell link "Shell starten"}.
+ Neue Funktion @{Console link "Console <20>ffnen"}.
+ Neues Konzept zur @{Fensterkonfiguration link "Fenster konfigurieren"}.
+ TosWin2 wertet seine Kommandozeile aus.
+ @{TW-Call link tw-call.app}
+ TosWin2 kann jetzt VT52 und VT100. VT100 kann mit geeignetem Font
+ @{"Drag&Drop" link Protokolle}.
+ Fontauswahl <20>ber UFSL (XUFSL, Calvino, HuGo).
+ Diverse Kleinigkeiten wie echtes Iconify, Nutzung der MiNT-Domain,
Fenster k<>nnen nach hinten gestellt werden.
@autorefon
@endnode

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,128 @@
#############################################################################
#
# Atari ST terminals.
# From Guido Flohr <guido@freemint.de>
#
# The Toswin terminfo descriptions have been changed. ANSI colors
# are now mapped to higher indexed VDI colors to enhance readability.
# The resulting colors are generally darker and generally look better.
# The new escape sequence "\Eu" is used to reset the colors to the
# original color pair. You will therefore need at least Toswin 2.7
# to use the new stuff.
tw52|tw52-color|Toswin window manager with color,
colors#8, pairs#64, it#8,
setaf=\E3%p1%{48}%+%c,
setab=\E4%p1%{48}%+%c,
setf=\E3%p1%{48}%+%c,
setb=\E4%p1%{48}%+%c,
am, xenl,
bce,
ma#999,
dch1=\Ea,
oc=\Eu, op=\Eu,
smso=\EyQ, rmso=\EzQ, smul=\EyH, rmul=\EzH,
bold=\E3}, dim=\E3~, rev=\EyP, sgr0=\Ez_\Eu^O,
ul,
is2=\Ev\Eq\Ez_\Ee\Ei\Eu^O, rs2=\Ev\Eq\Ez_\Ee\Ei\Eu^O,
clear=\EE,
el1=\Eo, il1=\EL, dl1=\EM, mir,
civis=\Ef, cnorm=\Ee, eo,
kcub1=\ED, kcuf1=\EC, kcuu1=\EA, kcud1=\EB, khome=\EE,
kf1=\EP, kf2=\EQ, kf3=\ER, kf4=\ES, kf5=\ET,
kf6=\EU, kf7=\EV, kf8=\EW, kf9=\EX, kf10=\EY,
kf11=\Ep, kf12=\Eq, kf13=\Er, kf14=\Es, kf15=\Et,
kf16=\Eu, kf17=\Ev, kf18=\Ew, kf19=\Ex, kf20=\Ey,
kbs=^H, kdch1=\177, kich1=\EI, knp=\Eb, kpp=\Ea,
khlp=\EH, kLFT=\Ed, kRIT=\Ec, kund=\EK,
npc,
cols#80, it#8, lines#24,
bel=^G, cr=^M, el=\EK, ed=\EJ,
hpa=\EY^M%p1%{32}%+%c%,
cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cud1=\EB, home=\EH,
cub1=\ED, cuf1=\EC, cuu1=\EA, kbs=^H,
nel=^M^J, ind=^J,
ri=\EI, ht=^I,
sc=\Ej, rc=\Ek,
rmacs=\EG, smacs=\EF,
acsc=``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~..\,\,++--00,
tw52-m|Toswin window manager monochrome,
colors#2, pairs#2, it#8,
am, xenl,
bce,
ma#999,
dch1=\Ea,
oc=\Eu, op=\Eu,
smso=\EyQ, rmso=\EzQ, smul=\EyH, rmul=\EzH,
bold=\Eya, dim=\EyB, rev=\EyP, sgr0=\Ez_\Eu,
ul,
is2=\Ev\Eq\Ez_\Ee\Ei, rs2=\Ev\Eq\Ez_\Ee\Ei,
clear=\EE,
el1=\Eo, il1=\EL, dl1=\EM, mir,
civis=\Ef, cnorm=\Ee, eo,
kcub1=\ED, kcuf1=\EC, kcuu1=\EA, kcud1=\EB, khome=\EE,
kf1=\EP, kf2=\EQ, kf3=\ER, kf4=\ES, kf5=\ET,
kf6=\EU, kf7=\EV, kf8=\EW, kf9=\EX, kf10=\EY,
kf11=\Ep, kf12=\Eq, kf13=\Er, kf14=\Es, kf15=\Et,
kf16=\Eu, kf17=\Ev, kf18=\Ew, kf19=\Ex, kf20=\Ey,
kbs=^H, kdch1=\177, kich1=\EI, knp=\Eb, kpp=\Ea,
khlp=\EH, kLFT=\Ed, kRIT=\Ec, kund=\EK,
npc,
cols#80, it#8, lines#24,
bel=^G, cr=^M, el=\EK, ed=\EJ,
hpa=\EY^M%p1%{32}%+%c%,
cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cud1=\EB, home=\EH,
cub1=\ED, cuf1=\EC, cuu1=\EA, kbs=^H,
nel=^M^J, ind=^J,
ri=\EI, ht=^I,
sc=\Ej, rc=\Ek,
msgr,
tw100|tw100-color|toswin vt100 window mgr,
am,
civis=\E[?25l,
cnorm=\E[34h\E[?25h,
cvvis=\E[34l,
ech=\E[%p1%dX,
enacs=\E(B\E)0,
ind=^J,
invis=\E[8m,
is2=\E[!p\E[?3;4l\E[4l\E>,
ll=\EF,
meml=\El,
memu=\Em,
ri=\EM,
rmacs=^O,
rmam=\E[?7l,
rmir=\E[4l,
rs1=\Ec,
rs2=\E[!p\E[?3;4l\E[4l\E>,
setab=\E[4%p1%dm,
setaf=\E[3%p1%dm,
sgr0=\E[m^O,
smacs=^N,
smam=\E[?7h,
smir=\E[4h,
vpa=\E[%i%p1%dd,
xenl,
eo, mir, msgr, xon,
colors#8, cols#80, it#8, lines#24, pairs#64, vt#3,
acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~..--++\,\,hhII00,
bel=^G, blink=\E[5m, bold=\E[1m,
clear=\E[2J\E[H, cr=^M, csr=\E[%i%p1%d;%p2%dr,
cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\EB,
cuf=\E[%p1%dC, cuf1=\EC, cup=\E[%i%p1%d;%p2%dH,
cuu=\E[%p1%dA, cuu1=\EA, dch1=\Ea, dim=\E[2m, dl=\E[%p1%dM,
dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, home=\E[H, ht=^I,
hts=\EH, ich=\E[%p1%d@, il1=\EL,
kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
kdch1=\177, kf1=\EOP, kf10=\EOY, kf11=\Ep, kf12=\Eq,
kf13=\Er, kf14=\Es, kf15=\Et, kf16=\Eu, kf17=\Ev, kf18=\Ew,
kf19=\Ex, kf2=\EOQ, kf20=\Ey, kf3=\EOR, kf4=\EOS, kf5=\EOT,
kf6=\EOU, kf7=\EOV, kf8=\EOW, kf9=\EOX, khlp=\EH,
khome=\E\EE, kich1=\EI, knp=\Eb, kpp=\E\Ea, kund=\EK,
nel=\EE, op=\E[30;47m, oc=\E[30;47m, rc=\E8, rev=\E[7m,
rmcup=\E[?7h, rmkx=\E[?1l\E>,
rmso=\E[m, rmul=\E[m,
sc=\E7,
smcup=\E[?7l, smkx=\E[?1h\E=,
smso=\E[7m, smul=\E[4m, tbc=\E[3g,

View File

@@ -0,0 +1,144 @@
These are the results of the vttest program (Dickey version 2.7 from
2 Aug 2000) on Toswin in tw100 emulation:
Test Of Cursor Movements
========================
[x] DECALN in 80 column mode
[x] DECALN in 132 column mode
[x] Cursor control characters in ESC sequences
[x] Test of leading zeros in ESC sequences
Test Of Screen Features
=======================
[x] Wrap around
[x] Tab setting/resetting
[x] 132 column mode, light background
[x] 80 column mode, light background
[x] 132 column mode, dark background
[x] 80 column mode, dark background
[x] Soft scroll down 1
[x] Soft scroll down 2
[x] Jump scroll down 1
[x] Jump scroll down 2
[x] Origin mode test
[x] Graphic rendition dark background
[x] Graphic rendition light background
[x] Test of save/restore cursor
Test Of Character Sets
======================
[x] Test of character sets
Test Of Double-Sized Characters
===============================
[ ] 80 column mode, test 1
[ ] 80 column mode, test 2
[ ] 132 column mode, test 1
[ ] 132 column mode, test 2
[ ] centered frame
[ ] bottom frame
Remark: Double-sized character are not supported but at
least the screen does not get messed up (as for example
in KDE konsole,
Test Of Keyboard
================
[ ] LED Lights
[ ] Auto repeat
Keyboard layout
[ ] US ASCII
[ ] Swedish national layout D47
[ ] Swedish national layout E47
[x] Cursor keys
[x] Numeric keypad
[ ] Answerback
[x] Control keys
Test Of Terminal Reports
========================
[x] <ENQ> (AnswerBack Message
[x] Set/Reset Mode - LineFeed/Newline
[x] Device Status Report (DSR)
[x] Primary Device Attributes (DA)
[ ] Secondary Device Attributes (DA)
[ ] Tertiary Device Attributes (DA)
[ ] Request Terminal Parameters (DECREQTPARM)
Test Of VT52 Mode
=================
[x] Full screen
[x] Character sets
[x] Terminal Response to IDENTIFY COMMAND
Test Of VT102 Features
======================
[x] Screen accordeon test 80
[x] AX 80
[x] A**B 80
[x] Delete character 80
[x] Staggered 1 80
[x] Staggered 2 80
[x] ANSI Insert Character 80
[x] Screen accordeon test 132
[x] AX 132
[x] A**B 132
[x] Delete character 132
[x] Staggered 1 132
[x] Staggered 2 132
[x] ANSI Insert Character 132
Known Bugs
==========
[ ] Bug A: smooth scroll to jump scroll
[x] Bug B: Scrolling region
[x] Bug C: Wide to narrow screen
[x] Bug D: Narrow to wide screen
[x] Bug E: Cursor move from double- to single-wide line
[x] Bug F: Column mode escape sequence
[x] Wrap around with cursor addressing
[x] Erase right half of double width lines
[x] Funny scroll regions
Test Of Reset And Self-Test
===========================
[x] Reset to initial state (RIS)
[x] Invoke Terminal Test (DECTST)
[x] Soft Terminal Reset (DECSTR)
Test Of Non-VT100 Features
==========================
1. Test of VT220/VT320 features
[ ] Test 8-bit controls
[ ] Test Device Status Report (DSR)
[ ] Test Keyboard Status
[ ] Test Printer Status
[ ] Test UDK Status
[ ] Test Locator Status
[x] Test Erase Char (ECH)
[ ] Test Printer (MC)
[ ] Assign printer to active session (MC)
[ ] Start printer-to-host session (MC)
[ ] Enable Printer-Extent mode (DECPEX)
[ ] Enable Print Form Feed Mode (DECPFF)
[ ] Test Auto-print mode (MC - DEC private mode)
[ ] Test Printer-controller mode (MC)
[ ] Test Print-page (MC)
[ ] Test Print composed main-display (MC)
[ ] Test Print all pages (MC)
[ ] Test Print cursor line (MC)
[ ] Test Protected-Areas (DECSCA)
[ ] Test Soft Character Sets (DECDLD)
[ ] Test Terminal Modes
[x] Test Send/Receive mode (SRM)
[x] Test Visible/Invisible Cursor (DECTCEM)
[ ] Test user-defined keys (DECUDK)
To be continued ...
2. Test of VT420 features
3. Test ISO-6429 cursor-movement
4. Test ISO-6429 colors
5. Test other ISO-6429 features
6. Test XTERM special features