first commit - moved from local dev to git
7
mint/tools/toswin2/BUGS
Normal 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
@@ -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
@@ -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.
|
||||
614
mint/tools/toswin2/README.terminfo
Normal 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>
|
||||
|
||||
60
mint/tools/toswin2/allcolors.sh
Normal 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
|
||||
BIN
mint/tools/toswin2/de/toswin2.rsc
Normal file
BIN
mint/tools/toswin2/doc/clogo.img
Normal file
BIN
mint/tools/toswin2/doc/logo.img
Normal file
BIN
mint/tools/toswin2/doc/table.img
Normal file
895
mint/tools/toswin2/doc/toswin2.stg
Normal 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
|
||||
BIN
mint/tools/toswin2/screenshots/checklst.gif
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
mint/tools/toswin2/screenshots/lynx.gif
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
mint/tools/toswin2/screenshots/man_ls.gif
Normal file
|
After Width: | Height: | Size: 7.1 KiB |
BIN
mint/tools/toswin2/screenshots/man_ls2.gif
Normal file
|
After Width: | Height: | Size: 7.0 KiB |
BIN
mint/tools/toswin2/screenshots/mutt.gif
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
mint/tools/toswin2/screenshots/nlogin.gif
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
mint/tools/toswin2/screenshots/vim.gif
Normal file
|
After Width: | Height: | Size: 9.1 KiB |
BIN
mint/tools/toswin2/screenshots/yast.gif
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
mint/tools/toswin2/screenshots/yast2.gif
Normal file
|
After Width: | Height: | Size: 9.9 KiB |
BIN
mint/tools/toswin2/toswin2.app
Normal file
BIN
mint/tools/toswin2/toswin2.rsc
Normal file
BIN
mint/tools/toswin2/tw-call.app
Normal file
128
mint/tools/toswin2/twterm.src
Normal 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,
|
||||
144
mint/tools/toswin2/vttest.txt
Normal 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
|
||||