| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
variables. Thanks! xinit() and ttynew() had to be switched in their
call-appearance. Otherwise xw.win is not set.
|
|
|
| |
not emulate the vt100 behaviour of selecting all whitespaces. Thanks!
|
|
|
|
|
|
|
|
| |
write can write less bytes than we request, so it is necessary check the
return value, in case of error print a message and don't continnue writing
in the file.
---
st.c | 39 ++++++++++++++++++++++++++++++---------
1 file changed, 30 insertions(+), 9 deletions(-)
|
|
|
| |
should really learn opthalmology instead. :O
|
| |
|
|
|
|
|
|
|
|
|
| |
This sequence was used by DEC personal in to for verifying the screen adjust
of terminals. It is the unique test sequence implemented by all the
emulators, and I think it is because they want be conforms with vttest which
uses this sequence in some tests.
---
st.c | 31 +++++++++++++++++++++++--------
1 file changed, 23 insertions(+), 8 deletions(-)
|
|
|
|
|
|
|
|
| |
If vt100_0 is a automatic variable then it is initializated in each call to
tsetchar, but if the variable is static it is initializated only in compile
time.
---
st.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
|
|
|
| |
Do not send NUL character in the identification (use (sizeof(VT102ID) - 1),
and finish the sequence once you execute it.
---
st.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
|
|
|
|
|
|
|
| |
These sequences are used by the host in order to can detect which kind of
terminal is connected. St will answer like a vt102 terminal with this patch.
---
st.c | 9 +++++++++
1 file changed, 9 insertions(+)
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Non handled codes must be ignored, except in graphic mode. Also STR
sequences have higher priority than control codes, so they must be handled
before of them.
---
st.c | 160 ++++++++++++++++++++++++++++++++++++------------------------------
1 file changed, 87 insertions(+), 73 deletions(-)
|
|
|
|
|
|
|
|
|
| |
SI and SO allows change the G0 and G1 selection. This implementation is not
full vt100 compatible, but it is complatible with linux virtual terminal
implementation. For full vt100 compatibility we need remake a lot of stuff
relate to the different charmaps.
---
st.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
|
|
|
|
|
|
| |
These control codes reset any escape sequence already initialised.
---
st.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add the documentation from the vt100 manual programmer:
Control Octal Action Taken
Character Code
-------------------------------------------
NUL 000 Ignored on input (not stored in input buffer;
see full duplex protocol).
ENQ 005 Transmit answerback message.
BEL 007 Sound bell tone from keyboard.
BS 010 Move the cursor to the left one character position,
unless it is at the left margin,
in which case no action occurs.
HT 011 Move the cursor to the next tab stop,
or to the right margin if no further tab stops
are present on the line.
LF 012 This code causes a line feed or
a new line operation. (See new line mode).
VT 013 Interpreted as LF.
FF 014 Interpreted as LF.
CR 015 Move cursor to the left margin on the current line.
SO 016 Invoke G1 character set, as designated by SCS
control sequence.
SI 017 Select G0 character set, as selected by ESC ( sequence.
XON 021 Causes terminal to resume transmission.
XOFF 023 Causes terminal to stop transmitted all codes
except XOFF and XON.
CAN 030 If sent during a control sequence, the sequence is
immediately terminated and not executed. It also causes
the error character to be displayed.
SUB 032 Interpreted as CAN.
ESC 033 Invokes a control sequence.
DEL 177 Ignored on input (not stored in input buffer).
--------------------------------------------
---
st.c | 28 +++++++++++++++++++---------
1 file changed, 19 insertions(+), 9 deletions(-)
|
| |
|
|
|
| |
if something needs to be drawn close to it.
|
|
|
| |
infidels will be squashed too!
|
|
|
|
| |
Thank you!
|
|
|
| |
reasonable solution.
|
|
|
|
| |
the majority has bigger screens, this can be turned on by default again.
Thanks pancake, for the hint.
|
|
|
| |
Thanks to Peter A. Shevtsov!
|
|
|
|
| |
invert mode now works as expected. In the config.def.h autohint is set to
false, so the fonts are drawn correctly, without any overlapping.
|
|
|
| |
right choice.
|
| |
|
|
|
| |
The parameters were reordered according to the alphabet too.
|
| |
|
|
|
|
| |
This is a new opportunity to see if X11 somewhen handled colors in a strange
way.
|
|
|
| |
optimized. There is a speedup when resizing windows.
|
|
|
|
|
| |
sequences, so we have to support escape sequences in escape sequences that
escape sequences in escape sequences – setting a title won't notify you
anymore.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Taken from vt100 manual programmer:
Control characters (codes \0 to \37 inclusive) are specifically
excluded from the control sequence syntax, but may be embedded
within a control sequence. Embedded control characters are executed
as soon as they are encountered by the VT100. The processing of the
control sequence then continues with the next character received.
---
st.c | 68 +++++++++++++++++++++++++++++++++---------------------------------
1 file changed, 34 insertions(+), 34 deletions(-)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Taken from vt100 programmer manual:
Control characters have values of \000 - \037, and \177. The control
characters recognized by the VT100 are shown in Table 3-10. All
other control codes cause no action to be taken.
We have to take attention when we are using alternate charset, because in
this cases they are not used as control characters.
---
st.c | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
|
|
|
|
| |
patch to fix the font symbols in all fonts should make it easier to choose a
better font.
|
| |
|
| |
|
|
|
| |
charsets.
|
|
|
|
|
|
|
|
|
|
| |
If -f options is enabled then tputc() writes all the data to a file. Actual
code assumes that all the strings in 'c' parameters have always 1 byte
length, but this is not always true, because due to utf-8 encoding some
characters can have a diferent length. So it is necessary pass string length
to tputc in order it can call to write() correctly.
---
st.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
|
|
|
| |
activating antialiasing.
|
|
|
|
| |
allocated structures are wrong. The xclear() is now done on purpose. Please
keep X11 calls out of the way of pure tty-related calls.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The names of the terminal modes supported by vt102 are (taken from the VT220
programmer reference manual):
Table 4-7 ANSI-Standardized Modes
Name Mnemonic Parameter (Ps)
Error (ignored) - 0 (3/0)
Keyboard action KAM 2 (3/2)
Insert/replace IRM 4 (3/4)
Send/receive SRM 12 (3/1 3/2)
Line feed/new line LNM 20 (3/2 3/0)
Table 4-8 ANSI-Compatible DEC Private Modes
Name Mnemonic Parameter (Ps)
Error (ignored) - 0 (3/0)
Cursor key DECCKM 1 (3/1)
ANSI/VT52 DECANM 2 (3/2)
Column DECCOLM 3 (3/3)
Scroll DECSCLM 4 (3/4)
Screen DECSCNM 5 (3/5)
Origin DECOM 6 (3/6)
Auto wrap DECAWM 7 (3/7)
Auto repeat DECARM 8 (3/8)
Printer form feed DECPFF 18 (3/1 3/8)
Printer extent DECPEX 19 (3/1 3/9)
Text cursor enable DECTCEM 25 (3/2 3/5)
National replacement character sets DECNRCM 42 (3/4 3/2)
This patch adds a comment for each one of these sequences.
---
st.c | 26 +++++++++++++++++++++-----
1 file changed, 21 insertions(+), 5 deletions(-)
|
|
|
|
|
|
| |
LNM sequence is a standard ANSI mode, not a DEC private mode.
---
st.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
|
|
|
|
|
|
|
| |
This sequence lock/unlock the keyboard ignoring all the key pressing events
from X server.
---
st.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
|
|
|
|
|
| |
---
st.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
|
|
|
|
|
|
|
|
|
|
|
| |
tsetreset() is called when it is necessary a full initialization of the
terminal, so it also should clean the full X window and not only the
terminal content. It is necessary change the order of the
initialization in main(), and put xinit before of tnew(), because tnew()
calls to tsetreset(), and this can cause a call to xreset() with
incorrect values.
---
st.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
|
|\ |
|
| | |
|
|/ |
|
| |
|