summaryrefslogtreecommitdiff
path: root/st.c
AgeCommit message (Collapse)Author
2012-11-08Fix bug restoring cursor positionRoberto E. Vargas Caballero
Sequences like DECSC, DECRC, ESC [?1047l or ESC [?1047h save and restore cursor attributes, than taken from vt100 manual are: Save Cursor (DECSC) ESC 7 =========================== Saves the following in terminal memory. - cursor position - graphic rendition - character set shift state - state of wrap flag - state of origin mode Restore Cursor (DECRC) ESC 8 =========================== Restores the states described for (DECSC) above. If none of these characteristics were saved, the cursor moves to home position; origin mode is reset; no character attributes are assigned; and the default character set mapping is established. This implies that hide attribute of the cursor should not be saved/restored in these sequences. The best way to fix this problem is moving hide attribute into the terminal mode, instead of having it in the cursor state. --- st.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
2012-11-06Adding scrollwheel support. Thanks Brandon Invergo!Christoph Lohmann
2012-11-04Fixing meta+return. Thanks Szabolcs Nagy!Christoph Lohmann
2012-11-03Removing the debugging for the last fix too.Christoph Lohmann
2012-11-03Fixing a resize bug, if a smaller amount than the lineheight is resized.Christoph Lohmann
Thanks c00kiemon5ter!
2012-11-03Fixing bold fonts in reverse mode.Christoph Lohmann
2012-11-03Now italic and bold works.Christoph Lohmann
2012-11-03Fixing an out-of-bound bug in the selection code. Thanks Szabolczs Nagy!Christoph Lohmann
2012-11-02Fixing the italic-bold font check. Thanks nsz.Christoph Lohmann
2012-11-02Make it possible to use the corefont font description too. It is not veryChristoph Lohmann
useful, but easy to implement.
2012-11-02Moving to the dwm config.h variable usage.Christoph Lohmann
2012-10-28Applying the patch of the little girl <yui@blekksprut.net> to make cjk inputChristoph Lohmann
possible. Thanks!
2012-10-28Applying the tab expansion patch from koga.Christoph Lohmann
2012-10-28Adding a more flexible fontstring handling, shortcuts and a zoom function.Christoph Lohmann
2012-10-28Applying the patch of Roberto Caballero to set WINDOWID and all the pwuid()Christoph Lohmann
variables. Thanks! xinit() and ttynew() had to be switched in their call-appearance. Otherwise xw.win is not set.
2012-10-28Applying the patch of Rafa Garcia Gallega <rafael.garcia.gallego@gmail.com> toChristoph Lohmann
not emulate the vt100 behaviour of selecting all whitespaces. Thanks!
2012-10-28Add error control to iofileRoberto E. Vargas Caballero
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(-)
2012-10-09Well, I was confused. Damn state exams. Instead of discussing this shit IChristoph Lohmann
should really learn opthalmology instead. :O
2012-10-09If there is really someone without SHELL set, help him/her.Christoph Lohmann
2012-10-07Add DEC alignment testRoberto E. Vargas Caballero
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(-)
2012-10-07Avoid initialization of vt100_0 in each call to tsetcharRoberto E. Vargas Caballero
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(-)
2012-10-07Fix Identification sequencesRoberto E. Vargas Caballero
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(-)
2012-10-06Add DA and DECID sequencesRoberto E. Vargas Caballero
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(+)
2012-10-06Fixing a typo.Christoph Lohmann
2012-10-06Fixing a off-by-one error in the new border clearing code.Christoph Lohmann
2012-10-06Print control codes only in graphic modeRoberto E. Vargas Caballero
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(-)
2012-10-06Add SI and SO control codesRoberto E. Vargas Caballero
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(-)
2012-10-06Add SUB and CAN control codesRoberto E. Vargas Caballero
These control codes reset any escape sequence already initialised. --- st.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
2012-10-06Add documentation to control codesRoberto E. Vargas Caballero
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(-)
2012-10-06Forgot to remove the xclearborders() definition from the last commit.Christoph Lohmann
2012-10-06Removing the xclearborders() hack. St now cleans up the parts of the border,Christoph Lohmann
if something needs to be drawn close to it.
2012-10-06The style inquisition was here. Yes, making it a unified style. The lastChristoph Lohmann
infidels will be squashed too!
2012-10-05Adding the patch of David Dufberg Töttrup to implement WM_DELETE_WINDOW. ↵Christoph Lohmann
Thank you!
2012-10-05Fixing the brightening on bold. For the 256 colors and greyscale I assumed aChristoph Lohmann
reasonable solution.
2012-10-05When the drawing behaviour was changed underline was not corrected.Christoph Lohmann
Thanks to Peter A. Shevtsov!
2012-10-04This adds the fontcache dependency to try something out. Additionally theChristoph Lohmann
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.
2012-10-02Thanks to c00kiemon5ter. Not changing bold to bright colors seems to be theChristoph Lohmann
right choice.
2012-09-30This changes -f to be the parameter for the font. Now -f is -o.Christoph Lohmann
The parameters were reordered according to the alphabet too.
2012-09-30Remove the cruft of the user to have to define the different font styles.Christoph Lohmann
2012-09-29We need all the colors to be available, so die() on some not available.Christoph Lohmann
This is a new opportunity to see if X11 somewhen handled colors in a strange way.
2012-09-29All xcolors are not Xft colors and the clearing of the borders has beenChristoph Lohmann
optimized. There is a speedup when resizing windows.
2012-09-27Vt escape sequences allow escape sequences in escape sequences and escapeChristoph Lohmann
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.
2012-09-26Allow control characters inside escape sequencesRoberto E. Vargas Caballero
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(-)
2012-09-26Ignore all control characters not handledRoberto E. Vargas Caballero
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(-)
2012-09-26Implementing line drawing right.Christoph Lohmann
2012-09-25A reset should reset the line drawing too.Christoph Lohmann
2012-09-25Enabling enacs and adding compatibility to xterm and urxvt for alternativeChristoph Lohmann
charsets.
2012-09-25Fix bug in tputc writing to io fileRoberto E. Vargas Caballero
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(-)
2012-09-24The xinit() call needs to be behind all the tty init, otherwise all theChristoph Lohmann
allocated structures are wrong. The xclear() is now done on purpose. Please keep X11 calls out of the way of pure tty-related calls.
2012-09-24Add some documentetion to tsetmodeRoberto E. Vargas Caballero
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(-)