VT100TerminalView.st
author Claus Gittinger <cg@exept.de>
Tue, 01 Feb 2000 18:40:59 +0100
changeset 1667 54c87dace343
parent 1420 7564d09aa1b2
child 2076 60558bc12d09
permissions -rw-r--r--
checkin from browser
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1361
04c4b21dfc74 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1357
diff changeset
     1
"
04c4b21dfc74 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1357
diff changeset
     2
 COPYRIGHT (c) 1998 by eXept Software AG
04c4b21dfc74 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1357
diff changeset
     3
              All Rights Reserved
04c4b21dfc74 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1357
diff changeset
     4
04c4b21dfc74 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1357
diff changeset
     5
 This software is furnished under a license and may be used
04c4b21dfc74 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1357
diff changeset
     6
 only in accordance with the terms of that license and with the
04c4b21dfc74 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1357
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
04c4b21dfc74 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1357
diff changeset
     8
 be provided or otherwise made available to, or used by, any
04c4b21dfc74 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1357
diff changeset
     9
 other person.  No title to or ownership of the software is
04c4b21dfc74 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1357
diff changeset
    10
 hereby transferred.
04c4b21dfc74 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1357
diff changeset
    11
"
04c4b21dfc74 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1357
diff changeset
    12
04c4b21dfc74 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1357
diff changeset
    13
04c4b21dfc74 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1357
diff changeset
    14
930
3186aa6efe72 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
    15
TerminalView subclass:#VT100TerminalView
998
4915be34a1d7 state instvar moved
Claus Gittinger <cg@exept.de>
parents: 978
diff changeset
    16
	instanceVariableNames:'currentParam parameters lastCursorLine'
920
7827037bca8e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
	classVariableNames:''
7827037bca8e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
	poolDictionaries:''
7827037bca8e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
	category:'Views-TerminalViews'
7827037bca8e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
!
7827037bca8e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
    22
!VT100TerminalView class methodsFor:'documentation'!
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
    23
1361
04c4b21dfc74 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1357
diff changeset
    24
copyright
04c4b21dfc74 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1357
diff changeset
    25
"
04c4b21dfc74 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1357
diff changeset
    26
 COPYRIGHT (c) 1998 by eXept Software AG
04c4b21dfc74 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1357
diff changeset
    27
              All Rights Reserved
04c4b21dfc74 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1357
diff changeset
    28
04c4b21dfc74 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1357
diff changeset
    29
 This software is furnished under a license and may be used
04c4b21dfc74 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1357
diff changeset
    30
 only in accordance with the terms of that license and with the
04c4b21dfc74 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1357
diff changeset
    31
 inclusion of the above copyright notice.   This software may not
04c4b21dfc74 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1357
diff changeset
    32
 be provided or otherwise made available to, or used by, any
04c4b21dfc74 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1357
diff changeset
    33
 other person.  No title to or ownership of the software is
04c4b21dfc74 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1357
diff changeset
    34
 hereby transferred.
04c4b21dfc74 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1357
diff changeset
    35
"
04c4b21dfc74 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1357
diff changeset
    36
04c4b21dfc74 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1357
diff changeset
    37
04c4b21dfc74 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1357
diff changeset
    38
!
04c4b21dfc74 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1357
diff changeset
    39
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
    40
documentation
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
    41
"
1418
32a6131b304b documentation
Claus Gittinger <cg@exept.de>
parents: 1361
diff changeset
    42
    A VT100 terminal emulator.
32a6131b304b documentation
Claus Gittinger <cg@exept.de>
parents: 1361
diff changeset
    43
    Most of the functionality is inherited from my superclass,
32a6131b304b documentation
Claus Gittinger <cg@exept.de>
parents: 1361
diff changeset
    44
    I redefine/specialize certain methods for VT100 escape sequences
32a6131b304b documentation
Claus Gittinger <cg@exept.de>
parents: 1361
diff changeset
    45
    and vt100 keyboard codes
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
    46
1419
55972fc3268f documentation
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
    47
    BUGS:
55972fc3268f documentation
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
    48
        VT100 wrapMode (at right margin) is not supported
55972fc3268f documentation
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
    49
        this may lead to wrong display when a vi is started in a small window.
55972fc3268f documentation
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
    50
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
    51
    [start with:]
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
    52
        VT100TerminalView openShell
1418
32a6131b304b documentation
Claus Gittinger <cg@exept.de>
parents: 1361
diff changeset
    53
32a6131b304b documentation
Claus Gittinger <cg@exept.de>
parents: 1361
diff changeset
    54
    [see also:]
32a6131b304b documentation
Claus Gittinger <cg@exept.de>
parents: 1361
diff changeset
    55
        VT52TerminalView
32a6131b304b documentation
Claus Gittinger <cg@exept.de>
parents: 1361
diff changeset
    56
        TelnetTool
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
    57
"
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
    58
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
    59
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
    60
! !
920
7827037bca8e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
932
af0236d38242 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 930
diff changeset
    62
!VT100TerminalView methodsFor:'defaults'!
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
    63
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
    64
vt100KeyCodes
1420
7564d09aa1b2 documentation
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
    65
    "return a vt100 keyCode table"
7564d09aa1b2 documentation
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
    66
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
    67
    ^ IdentityDictionary withKeysAndValues:
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
    68
        #(
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
    69
             #CursorUp    '\e[A'
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
    70
             #CursorDown  '\e[B'
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
    71
             #CursorRight '\e[C'
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
    72
             #CursorLeft  '\e[D'
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
    73
             #Home        '\e[H'
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
    74
             #Escape      '\e'
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
    75
             #BackSpace   '\b'
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
    76
             #Return      '\r'
976
40af522dda86 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 956
diff changeset
    77
             #Delete      '\0177'
1357
8e7e0d17389e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
    78
             #Tab         '\t'
1352
b10f36808e3e F-key codes
Claus Gittinger <cg@exept.de>
parents: 1340
diff changeset
    79
b10f36808e3e F-key codes
Claus Gittinger <cg@exept.de>
parents: 1340
diff changeset
    80
             #F1          '\eOP'
b10f36808e3e F-key codes
Claus Gittinger <cg@exept.de>
parents: 1340
diff changeset
    81
             #F2          '\eOQ'
b10f36808e3e F-key codes
Claus Gittinger <cg@exept.de>
parents: 1340
diff changeset
    82
             #F3          '\eOR'
b10f36808e3e F-key codes
Claus Gittinger <cg@exept.de>
parents: 1340
diff changeset
    83
             #F4          '\eOS'
b10f36808e3e F-key codes
Claus Gittinger <cg@exept.de>
parents: 1340
diff changeset
    84
             #F5          '\eOt'
b10f36808e3e F-key codes
Claus Gittinger <cg@exept.de>
parents: 1340
diff changeset
    85
             #F6          '\eOu'
b10f36808e3e F-key codes
Claus Gittinger <cg@exept.de>
parents: 1340
diff changeset
    86
             #F7          '\eOv'
b10f36808e3e F-key codes
Claus Gittinger <cg@exept.de>
parents: 1340
diff changeset
    87
             #F8          '\eOl'
b10f36808e3e F-key codes
Claus Gittinger <cg@exept.de>
parents: 1340
diff changeset
    88
             #F9          '\eOw'
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
    89
         )
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
    90
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
    91
    "Created: / 10.6.1998 / 15:13:01 / cg"
1357
8e7e0d17389e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
    92
    "Modified: / 5.5.1999 / 15:01:32 / cg"
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
    93
! !
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
    94
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
    95
!VT100TerminalView methodsFor:'functions'!
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
    96
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
    97
addLines
1420
7564d09aa1b2 documentation
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
    98
    "Add the appropriate number of blank lines (param 1) 
7564d09aa1b2 documentation
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
    99
     at the cursor position."
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   100
1420
7564d09aa1b2 documentation
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
   101
    self addLines:((parameters at:1) max:1).
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   102
    self endOfSequence
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   103
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   104
    "Created: / 10.6.1998 / 14:48:03 / cg"
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   105
!
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   106
1420
7564d09aa1b2 documentation
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
   107
addLines:aNumber
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   108
    "Add aNumber blank lines at the position indicated by the cursor."
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   109
1420
7564d09aa1b2 documentation
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
   110
    aNumber timesRepeat:[
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   111
        self insertLine:'' before:cursorLine
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   112
    ]
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   113
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   114
    "Created: / 10.6.1998 / 14:49:30 / cg"
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   115
!
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   116
949
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   117
autoMargin:aBoolean
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   118
    "set/clear autowrap at end of line (not yet implemented)"
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   119
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   120
    "Created: / 12.6.1998 / 21:42:06 / cg"
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   121
!
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   122
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   123
clearLines
1420
7564d09aa1b2 documentation
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
   124
    "Clear some part of the current line, as indicated by the first parameter:
7564d09aa1b2 documentation
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
   125
     0 - clear to EOL
7564d09aa1b2 documentation
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
   126
     1 - clear from beginning to cursorCol
7564d09aa1b2 documentation
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
   127
     2 - clear entire line
7564d09aa1b2 documentation
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
   128
    "
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   129
1001
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   130
    |arg|
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   131
1420
7564d09aa1b2 documentation
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
   132
    arg := parameters at:1.
1001
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   133
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   134
    arg = 0 ifTrue: [^self doClearToEndOfLine].
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   135
    arg = 1 ifTrue: [^self doClearFromBeginningOfLine].
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   136
    arg = 2 ifTrue: [^self doClearEntireLine]
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   137
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   138
    "Created: / 10.6.1998 / 14:44:22 / cg"
1001
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   139
    "Modified: / 21.7.1998 / 20:07:42 / cg"
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   140
!
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   141
949
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   142
deleteCharacters
1420
7564d09aa1b2 documentation
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
   143
    "Delete the appropriate number of characters (param 1)
7564d09aa1b2 documentation
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
   144
     at the cursor position."
949
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   145
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   146
    |n|
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   147
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   148
    n := ((parameters at: 1) max: 1).
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   149
    self deleteFromLine:cursorLine col:cursorCol toLine:cursorLine col:cursorCol+n-1.
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   150
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   151
    "Created: / 12.6.1998 / 21:19:02 / cg"
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   152
    "Modified: / 12.6.1998 / 21:19:15 / cg"
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   153
!
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   154
1420
7564d09aa1b2 documentation
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
   155
displayMode:anInteger
7564d09aa1b2 documentation
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
   156
    "Set the current display mode (emphasis) as specified by param 1."
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   157
1352
b10f36808e3e F-key codes
Claus Gittinger <cg@exept.de>
parents: 1340
diff changeset
   158
    |p1|
b10f36808e3e F-key codes
Claus Gittinger <cg@exept.de>
parents: 1340
diff changeset
   159
b10f36808e3e F-key codes
Claus Gittinger <cg@exept.de>
parents: 1340
diff changeset
   160
    p1 := parameters at:1.
b10f36808e3e F-key codes
Claus Gittinger <cg@exept.de>
parents: 1340
diff changeset
   161
1020
035490ba97f2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1016
diff changeset
   162
"/    self endEntry.
1352
b10f36808e3e F-key codes
Claus Gittinger <cg@exept.de>
parents: 1340
diff changeset
   163
    p1 == 1 ifTrue:[
951
a9e48f549763 fixed scroll-range
Claus Gittinger <cg@exept.de>
parents: 949
diff changeset
   164
        "/ ESC-[-1-m  -> bold
a9e48f549763 fixed scroll-range
Claus Gittinger <cg@exept.de>
parents: 949
diff changeset
   165
1287
48e6c847a554 use red color instead of bold
Claus Gittinger <cg@exept.de>
parents: 1056
diff changeset
   166
        "/ workaround: windows bold fonts are
48e6c847a554 use red color instead of bold
Claus Gittinger <cg@exept.de>
parents: 1056
diff changeset
   167
        "/ wider, leading to ugly looking output
48e6c847a554 use red color instead of bold
Claus Gittinger <cg@exept.de>
parents: 1056
diff changeset
   168
        "/ Therefore, use red color instead of bold
1667
54c87dace343 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1420
diff changeset
   169
        device platformName = 'WIN32' ifTrue:[
1287
48e6c847a554 use red color instead of bold
Claus Gittinger <cg@exept.de>
parents: 1056
diff changeset
   170
            self color:Color red.
48e6c847a554 use red color instead of bold
Claus Gittinger <cg@exept.de>
parents: 1056
diff changeset
   171
        ] ifFalse:[
48e6c847a554 use red color instead of bold
Claus Gittinger <cg@exept.de>
parents: 1056
diff changeset
   172
            self bold.
48e6c847a554 use red color instead of bold
Claus Gittinger <cg@exept.de>
parents: 1056
diff changeset
   173
        ].
951
a9e48f549763 fixed scroll-range
Claus Gittinger <cg@exept.de>
parents: 949
diff changeset
   174
        ^ self.
a9e48f549763 fixed scroll-range
Claus Gittinger <cg@exept.de>
parents: 949
diff changeset
   175
    ].
1352
b10f36808e3e F-key codes
Claus Gittinger <cg@exept.de>
parents: 1340
diff changeset
   176
    p1 == 4 ifTrue:[
b10f36808e3e F-key codes
Claus Gittinger <cg@exept.de>
parents: 1340
diff changeset
   177
        "/ ESC-[-4-m  -> underline
b10f36808e3e F-key codes
Claus Gittinger <cg@exept.de>
parents: 1340
diff changeset
   178
b10f36808e3e F-key codes
Claus Gittinger <cg@exept.de>
parents: 1340
diff changeset
   179
        self underline.
b10f36808e3e F-key codes
Claus Gittinger <cg@exept.de>
parents: 1340
diff changeset
   180
        ^ self.
b10f36808e3e F-key codes
Claus Gittinger <cg@exept.de>
parents: 1340
diff changeset
   181
    ].
b10f36808e3e F-key codes
Claus Gittinger <cg@exept.de>
parents: 1340
diff changeset
   182
    p1 == 5 ifTrue:[
b10f36808e3e F-key codes
Claus Gittinger <cg@exept.de>
parents: 1340
diff changeset
   183
        "/ ESC-[-5-m  -> blink
b10f36808e3e F-key codes
Claus Gittinger <cg@exept.de>
parents: 1340
diff changeset
   184
b10f36808e3e F-key codes
Claus Gittinger <cg@exept.de>
parents: 1340
diff changeset
   185
        self color:Color blue.
b10f36808e3e F-key codes
Claus Gittinger <cg@exept.de>
parents: 1340
diff changeset
   186
        ^ self.
b10f36808e3e F-key codes
Claus Gittinger <cg@exept.de>
parents: 1340
diff changeset
   187
    ].
b10f36808e3e F-key codes
Claus Gittinger <cg@exept.de>
parents: 1340
diff changeset
   188
    p1 == 7 ifTrue:[
b10f36808e3e F-key codes
Claus Gittinger <cg@exept.de>
parents: 1340
diff changeset
   189
        "/ ESC-[-7-m  -> reverse
951
a9e48f549763 fixed scroll-range
Claus Gittinger <cg@exept.de>
parents: 949
diff changeset
   190
978
8f6dee49a562 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 976
diff changeset
   191
        self reverse.
8f6dee49a562 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 976
diff changeset
   192
        ^ self.
8f6dee49a562 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 976
diff changeset
   193
    ].
1020
035490ba97f2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1016
diff changeset
   194
978
8f6dee49a562 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 976
diff changeset
   195
    "/ ESC-[-any-m  -> normal
8f6dee49a562 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 976
diff changeset
   196
    self normal.
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   197
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   198
    "Created: / 10.6.1998 / 15:01:16 / cg"
1352
b10f36808e3e F-key codes
Claus Gittinger <cg@exept.de>
parents: 1340
diff changeset
   199
    "Modified: / 5.5.1999 / 00:53:15 / cg"
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   200
!
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   201
1001
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   202
doClearDisplay
1420
7564d09aa1b2 documentation
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
   203
    "Clear some part of the current screen, as indicated by the first parameter.
7564d09aa1b2 documentation
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
   204
     0 - clear to endOfScreen
7564d09aa1b2 documentation
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
   205
     1 - clear from beginning of screen to cursorCol
7564d09aa1b2 documentation
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
   206
     2 - clear entire screen
7564d09aa1b2 documentation
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
   207
    "
1001
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   208
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   209
    |arg|
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   210
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   211
    arg := parameters at: 1.
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   212
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   213
    arg = 0 ifTrue: [^self doClearToEndOfScreen].
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   214
    arg = 1 ifTrue: [^self doClearFromBeginningOfScreen].
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   215
    arg = 2 ifTrue: [^self doClearEntireScreen]
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   216
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   217
    "Created: / 21.7.1998 / 20:05:07 / cg"
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   218
    "Modified: / 21.7.1998 / 20:07:36 / cg"
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   219
!
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   220
1020
035490ba97f2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1016
diff changeset
   221
insertCharacters
1420
7564d09aa1b2 documentation
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
   222
    "Insert the appropriate number of spaces (param 1) at the cursor position."
949
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   223
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   224
    |s|
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   225
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   226
    s := String new:((parameters at: 1) max: 1).
1420
7564d09aa1b2 documentation
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
   227
    self insertStringWithoutCRs:s atLine:cursorLine col:cursorCol.
949
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   228
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   229
    "Modified: / 12.6.1998 / 21:14:25 / cg"
1020
035490ba97f2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1016
diff changeset
   230
    "Created: / 28.7.1998 / 00:53:51 / cg"
949
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   231
!
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   232
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   233
move
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   234
    "Move to the locations indicated by the first and second parameters."
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   235
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   236
    self moveToX: ((parameters at: 2) max: 1) y: ((parameters at: 1) max: 1).
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   237
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   238
    "Created: / 10.6.1998 / 14:40:01 / cg"
978
8f6dee49a562 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 976
diff changeset
   239
    "Modified: / 20.6.1998 / 18:49:12 / cg"
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   240
!
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   241
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   242
moveToX: xLocation y: yLocation
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   243
    "Position the cursor at the location given by xLocation and yLocation.
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   244
     Ignore the command if the parameters are outside the allowable range."
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   245
978
8f6dee49a562 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 976
diff changeset
   246
"/ Transcript show:'numberOfColumns '; showCR:numberOfColumns.
8f6dee49a562 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 976
diff changeset
   247
"/ Transcript show:'numberOfLines '; showCR:numberOfLines.
8f6dee49a562 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 976
diff changeset
   248
8f6dee49a562 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 976
diff changeset
   249
"/    (xLocation < 1 or: [xLocation > numberOfColumns]) ifTrue: [^self].
8f6dee49a562 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 976
diff changeset
   250
"/    (yLocation < 1 or: [yLocation > numberOfLines]) ifTrue: [^self].
952
b83678ff6770 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 951
diff changeset
   251
949
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   252
    self cursorVisibleLine:yLocation col:xLocation.
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   253
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   254
    "Created: / 10.6.1998 / 14:40:49 / cg"
978
8f6dee49a562 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 976
diff changeset
   255
    "Modified: / 20.6.1998 / 20:27:11 / cg"
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   256
!
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   257
944
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   258
reportTerminalType
1420
7564d09aa1b2 documentation
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
   259
    "currently, only cursor position is supported (param 6)"
7564d09aa1b2 documentation
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
   260
944
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   261
    (parameters at: 1) == 6 ifTrue:[
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   262
        "/ report position
1020
035490ba97f2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1016
diff changeset
   263
        self endEntry.
035490ba97f2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1016
diff changeset
   264
944
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   265
        inStream nextPut:(Character esc).
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   266
        inStream nextPutAll:'[' 
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   267
                            , cursorLine printString 
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   268
                            , ';' 
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   269
                            , cursorCol printString
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   270
                            , 'R'.
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   271
        ^ self
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   272
    ].
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   273
    (parameters at: 1) == 7 ifTrue:[
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   274
        "/ display name 
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   275
    ].
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   276
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   277
    "Created: / 11.6.1998 / 23:05:50 / cg"
1020
035490ba97f2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1016
diff changeset
   278
    "Modified: / 28.7.1998 / 00:54:30 / cg"
944
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   279
!
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   280
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   281
resetDefaults
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   282
    "Reset the default parameters"
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   283
949
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   284
    |l1 c1 l2 c2|
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   285
978
8f6dee49a562 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 976
diff changeset
   286
949
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   287
    l1 := (parameters at: 1).
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   288
    l2 := (parameters at: 2).
978
8f6dee49a562 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 976
diff changeset
   289
"/ Transcript show:'resetDefaults:'; show:l1;show:' ';showCR:l2.
949
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   290
    (l1 ~~ 0 and:[l2 ~~ 0]) ifTrue:[
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   291
        rangeStartLine := l1.
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   292
        rangeEndLine := l2.
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   293
    ] ifFalse:[
978
8f6dee49a562 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 976
diff changeset
   294
"/        self halt.
949
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   295
    ].
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   296
978
8f6dee49a562 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 976
diff changeset
   297
"/    (rangeStartLine == 1 and:[rangeEndLine == numberOfLines]) ifTrue:[
8f6dee49a562 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 976
diff changeset
   298
"/        rangeEndLine := rangeStartLine := nil.
8f6dee49a562 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 976
diff changeset
   299
"/    ].
8f6dee49a562 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 976
diff changeset
   300
8f6dee49a562 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 976
diff changeset
   301
"/    autoLineFeed := false.
8f6dee49a562 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 976
diff changeset
   302
"/    autoMargin := true.
8f6dee49a562 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 976
diff changeset
   303
"/    displayMode := 0.                "Normal display"!! !!
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   304
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   305
    "Created: / 10.6.1998 / 14:50:53 / cg"
978
8f6dee49a562 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 976
diff changeset
   306
    "Modified: / 20.6.1998 / 20:28:26 / cg"
920
7827037bca8e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   307
! !
7827037bca8e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   308
7827037bca8e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   309
!VT100TerminalView methodsFor:'initialization'!
7827037bca8e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   310
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   311
initialize
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   312
    super initialize.
949
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   313
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   314
    self endOfSequence
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   315
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   316
    "Created: / 10.6.1998 / 14:46:07 / cg"
953
59167fd29632 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 952
diff changeset
   317
    "Modified: / 13.6.1998 / 13:58:01 / cg"
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   318
!
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   319
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   320
initializeKeyboardSequences
1420
7564d09aa1b2 documentation
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
   321
    "setup my keyboard sequences for a vt100"
7564d09aa1b2 documentation
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
   322
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   323
    kbdSequences := (self vt100KeyCodes)
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   324
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   325
    "Modified: / 9.6.1998 / 20:49:21 / cg"
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   326
    "Created: / 10.6.1998 / 15:12:32 / cg"
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   327
! !
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   328
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   329
!VT100TerminalView methodsFor:'processing - input'!
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   330
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   331
addToParameter: char
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   332
    "The parameter char is a digit. Add it to the current parameter."
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   333
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   334
    | param |
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   335
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   336
    param := parameters at:currentParam.
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   337
    parameters at:currentParam put:(param * 10 + char digitValue)
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   338
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   339
    "Created: / 10.6.1998 / 14:39:00 / cg"
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   340
!
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   341
1420
7564d09aa1b2 documentation
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
   342
endOfSequence
7564d09aa1b2 documentation
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
   343
    "private - reset state-machine at end of escape-sequence"
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   344
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   345
    state := 0. 
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   346
    currentParam := 1. 
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   347
    parameters := Array new:8 withAll:0.
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   348
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   349
    "Created: / 10.6.1998 / 14:30:40 / cg"
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   350
    "Modified: / 10.6.1998 / 14:30:57 / cg"
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   351
!
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   352
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   353
nextPut:char
937
9823aad16498 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 934
diff changeset
   354
    "process a character (i.e. the shells output)"
9823aad16498 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 934
diff changeset
   355
944
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   356
"/ Transcript show:state; show:' '; showCR:char storeString.
932
af0236d38242 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 930
diff changeset
   357
933
de456e07697e much better asynchronous display
Claus Gittinger <cg@exept.de>
parents: 932
diff changeset
   358
    state == #gotReturn ifTrue:[
de456e07697e much better asynchronous display
Claus Gittinger <cg@exept.de>
parents: 932
diff changeset
   359
        state := 0.
de456e07697e much better asynchronous display
Claus Gittinger <cg@exept.de>
parents: 932
diff changeset
   360
        char == Character nl ifTrue:[
de456e07697e much better asynchronous display
Claus Gittinger <cg@exept.de>
parents: 932
diff changeset
   361
            "/ cr-nl
de456e07697e much better asynchronous display
Claus Gittinger <cg@exept.de>
parents: 932
diff changeset
   362
            "/ stay in buffering mode.
de456e07697e much better asynchronous display
Claus Gittinger <cg@exept.de>
parents: 932
diff changeset
   363
            super nextPut:Character cr.
de456e07697e much better asynchronous display
Claus Gittinger <cg@exept.de>
parents: 932
diff changeset
   364
            ^ self.
de456e07697e much better asynchronous display
Claus Gittinger <cg@exept.de>
parents: 932
diff changeset
   365
        ].
de456e07697e much better asynchronous display
Claus Gittinger <cg@exept.de>
parents: 932
diff changeset
   366
        self endEntry.
de456e07697e much better asynchronous display
Claus Gittinger <cg@exept.de>
parents: 932
diff changeset
   367
        self cursorToBeginOfLine.
de456e07697e much better asynchronous display
Claus Gittinger <cg@exept.de>
parents: 932
diff changeset
   368
        "/ continue in initial state
de456e07697e much better asynchronous display
Claus Gittinger <cg@exept.de>
parents: 932
diff changeset
   369
    ].
de456e07697e much better asynchronous display
Claus Gittinger <cg@exept.de>
parents: 932
diff changeset
   370
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   371
    state == 0 ifTrue:[
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   372
        "/ Currently, we are in initial state.  
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   373
        "/ Decide what to do on the basis of the parameter char.
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   374
1001
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   375
        char asciiValue < 32 ifTrue:[
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   376
            (char == Character esc) ifTrue:[ 
1020
035490ba97f2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1016
diff changeset
   377
                state := #gotESC. 
035490ba97f2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1016
diff changeset
   378
                ^ self 
1001
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   379
            ].
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   380
            (char == Character nl) ifTrue:[ 
951
a9e48f549763 fixed scroll-range
Claus Gittinger <cg@exept.de>
parents: 949
diff changeset
   381
                self endEntry.
1001
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   382
                ^ self doCursorDown:1.
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   383
            ].
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   384
            (char == Character return) ifTrue:[ 
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   385
                (rangeEndLine notNil and:[rangeEndLine ~~ numberOfLines]) ifTrue:[
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   386
                    self endEntry.
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   387
                    self cursorToBeginOfLine.
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   388
                ] ifFalse:[
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   389
                    state := #gotReturn.
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   390
                ].
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   391
                ^ self.
951
a9e48f549763 fixed scroll-range
Claus Gittinger <cg@exept.de>
parents: 949
diff changeset
   392
            ].
1001
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   393
            (char == Character backspace) ifTrue:[ 
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   394
                self endEntry.
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   395
                ^ self cursorLeft. "/ doBackspace
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   396
            ].
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   397
            (char == Character bell) ifTrue:[
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   398
                self beep.
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   399
                ^ self 
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   400
            ].
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   401
            (char == (Character value:5)) ifTrue:[
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   402
                "/ terminal-type query
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   403
                self reportTerminalType.
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   404
                ^ self 
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   405
            ].
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   406
            (char == (Character value:16rf)) ifTrue:[
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   407
                "/ SO
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   408
                ^ self 
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   409
            ].
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   410
            (char == (Character value:16re)) ifTrue:[
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   411
                "/ SI
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   412
                ^ self 
7fe14ad43ae3 fixed clear-to-end-of-screen function.
Claus Gittinger <cg@exept.de>
parents: 998
diff changeset
   413
            ].
978
8f6dee49a562 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 976
diff changeset
   414
            char ~~ Character tab ifTrue:[
8f6dee49a562 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 976
diff changeset
   415
                char asciiValue ~~ 0 ifTrue:[
1340
494d79438431 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1287
diff changeset
   416
                    ('VT100 [info]: unhandled control key: ' , char storeString) infoPrintCR.
978
8f6dee49a562 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 976
diff changeset
   417
                ].
8f6dee49a562 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 976
diff changeset
   418
                ^ self.
8f6dee49a562 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 976
diff changeset
   419
            ]
8f6dee49a562 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 976
diff changeset
   420
        ].
934
b450dbaeedac checkin from browser
Claus Gittinger <cg@exept.de>
parents: 933
diff changeset
   421
        ^ super nextPut:char
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   422
    ].
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   423
944
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   424
    state == #gotESC ifTrue:[
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   425
        "/ Currently, we are in ESC state.  
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   426
        "/ Decide what to do on the basis of the parameter char.
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   427
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   428
        char == $[ ifTrue: [ 
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   429
            "/ ESC-[
944
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   430
            state := #gotCSI. 
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   431
            ^ self
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   432
        ].
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   433
        char == $] ifTrue: [ 
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   434
            "/ ESC-]
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   435
            "/xterm sequence
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   436
            state := #gotXTERMCSI. 
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   437
            ^ self
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   438
        ].
944
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   439
        char == $( ifTrue: [ 
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   440
            "/ ESC-(
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   441
            "/ todo: set-charset 0 ...
1056
4390f680fcce ignore ESC-(-X sequences.
Claus Gittinger <cg@exept.de>
parents: 1020
diff changeset
   442
            state := #gotCSI3.
4390f680fcce ignore ESC-(-X sequences.
Claus Gittinger <cg@exept.de>
parents: 1020
diff changeset
   443
            ^ self
944
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   444
        ].
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   445
        char == $) ifTrue: [ 
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   446
            "/ ESC-(
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   447
            "/ todo: set-charset 1 ...
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   448
            ^ self doNothing
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   449
        ].
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   450
        char == $7 ifTrue:[
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   451
            "/ ESC-7
1020
035490ba97f2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1016
diff changeset
   452
            self endEntry.
944
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   453
            self saveCursor.
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   454
            ^ self endOfSequence
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   455
        ].
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   456
        char == $8 ifTrue:[
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   457
            "/ ESC-7
1020
035490ba97f2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1016
diff changeset
   458
            self endEntry.
944
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   459
            self restoreCursor.
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   460
            ^ self endOfSequence
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   461
        ].
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   462
        char == $M ifTrue:[
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   463
            "/ ESC-M
1020
035490ba97f2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1016
diff changeset
   464
            self endEntry.
951
a9e48f549763 fixed scroll-range
Claus Gittinger <cg@exept.de>
parents: 949
diff changeset
   465
            self doCursorUp:1.
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   466
            ^ self endOfSequence
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   467
        ].
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   468
        char == $D ifTrue:[
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   469
            "/ ESC-D
1020
035490ba97f2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1016
diff changeset
   470
            self endEntry.
951
a9e48f549763 fixed scroll-range
Claus Gittinger <cg@exept.de>
parents: 949
diff changeset
   471
            self doCursorDown:1.
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   472
            ^ self endOfSequence
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   473
        ].
944
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   474
        char == $E ifTrue:[
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   475
            "/ ESC-E
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   476
            "/ TODO add_lines
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   477
            ^ self doNothing
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   478
        ].
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   479
        (char == $Z) ifTrue:[
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   480
            "/ terminal-type query 2
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   481
            self reportTerminalType.
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   482
            ^ self endOfSequence
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   483
        ].
978
8f6dee49a562 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 976
diff changeset
   484
        char == $= ifTrue: [
8f6dee49a562 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 976
diff changeset
   485
            "/ ESC-=
8f6dee49a562 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 976
diff changeset
   486
            ^ self doNothing
8f6dee49a562 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 976
diff changeset
   487
        ].
8f6dee49a562 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 976
diff changeset
   488
        char == $< ifTrue: [
8f6dee49a562 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 976
diff changeset
   489
            "/ ESC-<
8f6dee49a562 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 976
diff changeset
   490
            ^ self doNothing
8f6dee49a562 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 976
diff changeset
   491
        ].
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   492
        ^ self doNothing
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   493
    ].
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   494
944
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   495
    state == #gotCSI ifTrue:[
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   496
        "/ Currently, we are in ESC-[ state.  
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   497
        "/ Decide what to do on the basis of the parameter char.
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   498
978
8f6dee49a562 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 976
diff changeset
   499
        char == $? ifTrue: [
8f6dee49a562 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 976
diff changeset
   500
            state := #gotCSI2.
8f6dee49a562 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 976
diff changeset
   501
            ^ self
8f6dee49a562 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 976
diff changeset
   502
        ].
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   503
        char == $; ifTrue:[
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   504
            currentParam := (currentParam + 1) min: 8.
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   505
            ^ self
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   506
        ].
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   507
        char isDigit ifTrue: [
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   508
            ^ self addToParameter:char
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   509
        ].
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   510
        char == $@ ifTrue: [
1020
035490ba97f2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1016
diff changeset
   511
            self endEntry.
951
a9e48f549763 fixed scroll-range
Claus Gittinger <cg@exept.de>
parents: 949
diff changeset
   512
            self insertCharacters.
a9e48f549763 fixed scroll-range
Claus Gittinger <cg@exept.de>
parents: 949
diff changeset
   513
            ^ self endOfSequence
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   514
        ].
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   515
        char == $A ifTrue: [
1020
035490ba97f2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1016
diff changeset
   516
            self endEntry.
951
a9e48f549763 fixed scroll-range
Claus Gittinger <cg@exept.de>
parents: 949
diff changeset
   517
            self doCursorUp:((parameters at: 1) max: 1).
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   518
            ^ self endOfSequence
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   519
        ].
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   520
        char == $B ifTrue: [
1020
035490ba97f2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1016
diff changeset
   521
            self endEntry.
1016
2d8e8b9bb9a5 fixed cursorLeft / cursorDown escape sequences.
Claus Gittinger <cg@exept.de>
parents: 1001
diff changeset
   522
            self doCursorDown:((parameters at: 1) max: 1).
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   523
            ^ self endOfSequence
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   524
        ].
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   525
        char == $C ifTrue: [
1020
035490ba97f2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1016
diff changeset
   526
            self endEntry.
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   527
            self doCursorRight:((parameters at: 1) max: 1).
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   528
            ^ self endOfSequence
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   529
        ].
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   530
        char == $D ifTrue: [
1020
035490ba97f2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1016
diff changeset
   531
            self endEntry.
1016
2d8e8b9bb9a5 fixed cursorLeft / cursorDown escape sequences.
Claus Gittinger <cg@exept.de>
parents: 1001
diff changeset
   532
            self doCursorLeft:((parameters at: 1) max: 1).
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   533
            ^ self endOfSequence
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   534
        ].
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   535
        char == $H ifTrue: [
1020
035490ba97f2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1016
diff changeset
   536
            self endEntry.
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   537
            self move.
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   538
            ^ self endOfSequence
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   539
        ].
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   540
        char == $J ifTrue: [
1020
035490ba97f2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1016
diff changeset
   541
            self endEntry.
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   542
            self doClearDisplay.
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   543
            ^ self endOfSequence
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   544
        ].
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   545
        char == $K ifTrue: [
1020
035490ba97f2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1016
diff changeset
   546
            self endEntry.
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   547
            self clearLines.
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   548
            ^ self endOfSequence
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   549
        ].
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   550
        char == $L ifTrue: [
1020
035490ba97f2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1016
diff changeset
   551
            self endEntry.
944
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   552
            self insertLines.
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   553
            ^ self endOfSequence
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   554
        ].
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   555
        char == $M ifTrue: [
1020
035490ba97f2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1016
diff changeset
   556
            self endEntry.
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   557
            self deleteLines.
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   558
            ^ self endOfSequence
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   559
        ].
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   560
        char == $P ifTrue: [
1020
035490ba97f2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1016
diff changeset
   561
            self endEntry.
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   562
            self deleteCharacters.
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   563
            ^ self endOfSequence
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   564
        ].
944
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   565
        (char == $c) ifTrue:[
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   566
            "/ terminal-type query 3
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   567
            self reportTerminalType.
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   568
            ^ self endOfSequence
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   569
        ].
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   570
        char == $f ifTrue: [
1020
035490ba97f2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1016
diff changeset
   571
            self endEntry.
944
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   572
            self move.
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   573
            ^ self endOfSequence
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   574
        ].
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   575
        char == $n ifTrue: [
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   576
            self report.
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   577
            ^ self endOfSequence
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   578
        ].
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   579
        char == $m ifTrue: [
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   580
            self displayMode: (parameters at: 1).
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   581
            ^ self endOfSequence
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   582
        ].
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   583
        char == $r ifTrue: [
1020
035490ba97f2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1016
diff changeset
   584
            self endEntry.
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   585
            self resetDefaults.
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   586
            ^ self endOfSequence
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   587
        ].
939
54698a16b65c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 937
diff changeset
   588
        ^ self doNothing
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   589
    ].
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   590
944
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   591
    state == #gotCSI2 ifTrue:[
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   592
        "/ Currently, we are in ESC-[-? state.  
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   593
        "/ Decide what to do on the basis of the parameter char.
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   594
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   595
        char == $; ifTrue: [
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   596
            currentParam := (currentParam + 1) min: 8.
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   597
            ^ self
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   598
        ].
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   599
        char isDigit ifTrue: [
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   600
            self addToParameter: char.
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   601
            ^ self
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   602
        ].
949
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   603
        (char == $l 
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   604
        or:[char == $h]) ifTrue: [
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   605
            "/ (parameters at: 1) = 1 ifTrue: [app_cur_keys:(char == $h)].
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   606
            "/ (parameters at: 1) = 2 ifTrue: [mode132:(char == $h)].
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   607
            "/ (parameters at: 1) = 4 ifTrue: [smoothScroll:(char == $h)].
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   608
            "/ (parameters at: 1) = 5 ifTrue: [reverseVideo:(char == $h)].
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   609
            "/ (parameters at: 1) = 6 ifTrue: [decom:(char == $h)].
1020
035490ba97f2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1016
diff changeset
   610
            self endEntry.
949
1a6071a5c370 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 944
diff changeset
   611
            (parameters at: 1) = 7 ifTrue: [self autoMargin:(char == $h)].
951
a9e48f549763 fixed scroll-range
Claus Gittinger <cg@exept.de>
parents: 949
diff changeset
   612
            ^ self endOfSequence
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   613
        ].
939
54698a16b65c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 937
diff changeset
   614
        ^ self doNothing
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   615
    ].
933
de456e07697e much better asynchronous display
Claus Gittinger <cg@exept.de>
parents: 932
diff changeset
   616
1056
4390f680fcce ignore ESC-(-X sequences.
Claus Gittinger <cg@exept.de>
parents: 1020
diff changeset
   617
    state == #gotCSI3 ifTrue:[
4390f680fcce ignore ESC-(-X sequences.
Claus Gittinger <cg@exept.de>
parents: 1020
diff changeset
   618
        "/ Currently, we are in ESC-(-? state.  
4390f680fcce ignore ESC-(-X sequences.
Claus Gittinger <cg@exept.de>
parents: 1020
diff changeset
   619
        "/ Decide what to do on the basis of the parameter char.
4390f680fcce ignore ESC-(-X sequences.
Claus Gittinger <cg@exept.de>
parents: 1020
diff changeset
   620
4390f680fcce ignore ESC-(-X sequences.
Claus Gittinger <cg@exept.de>
parents: 1020
diff changeset
   621
        "/ currently not supported
4390f680fcce ignore ESC-(-X sequences.
Claus Gittinger <cg@exept.de>
parents: 1020
diff changeset
   622
        ^ self doNothing.
4390f680fcce ignore ESC-(-X sequences.
Claus Gittinger <cg@exept.de>
parents: 1020
diff changeset
   623
    ].
4390f680fcce ignore ESC-(-X sequences.
Claus Gittinger <cg@exept.de>
parents: 1020
diff changeset
   624
944
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   625
    state == #gotXTERMCSI ifTrue:[
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   626
        "/ Currently, we are in ESC-] state.  
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   627
        "/ Decide what to do on the basis of the parameter char.
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   628
        ^ self doNothing
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   629
    ].
c59be5892714 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 941
diff changeset
   630
927
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   631
    self doNothing
b0b5b368e80f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 920
diff changeset
   632
1020
035490ba97f2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1016
diff changeset
   633
    "Modified: / 28.7.1998 / 00:18:01 / cg"
920
7827037bca8e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   634
! !
7827037bca8e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   635
930
3186aa6efe72 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
   636
!VT100TerminalView methodsFor:'queries'!
3186aa6efe72 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
   637
3186aa6efe72 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
   638
terminalType
1420
7564d09aa1b2 documentation
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
   639
    "returns a string describing this terminal (usually, this is
7564d09aa1b2 documentation
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
   640
     passed down to the shell as TERM environment variable).
7564d09aa1b2 documentation
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
   641
     Here, 'vt100' is returned."
7564d09aa1b2 documentation
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
   642
1355
df09d1e16165 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1352
diff changeset
   643
    ^ 'vt100'
930
3186aa6efe72 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
   644
3186aa6efe72 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
   645
    "Created: / 10.6.1998 / 16:22:39 / cg"
1355
df09d1e16165 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1352
diff changeset
   646
    "Modified: / 5.5.1999 / 11:22:40 / cg"
930
3186aa6efe72 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
   647
! !
3186aa6efe72 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
   648
920
7827037bca8e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   649
!VT100TerminalView class methodsFor:'documentation'!
7827037bca8e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   650
7827037bca8e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   651
version
1667
54c87dace343 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1420
diff changeset
   652
    ^ '$Header: /cvs/stx/stx/libwidg2/VT100TerminalView.st,v 1.32 2000-02-01 17:40:59 cg Exp $'
920
7827037bca8e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   653
! !