aboutsummaryrefslogtreecommitdiffstats
path: root/st.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix bug restoring cursor positionRoberto E. Vargas Caballero2012-11-081-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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(-)
* Adding scrollwheel support. Thanks Brandon Invergo!Christoph Lohmann2012-11-061-7/+12
|
* Fixing meta+return. Thanks Szabolcs Nagy!Christoph Lohmann2012-11-041-0/+3
|
* Removing the debugging for the last fix too.Christoph Lohmann2012-11-031-2/+0
|
* Fixing a resize bug, if a smaller amount than the lineheight is resized.Christoph Lohmann2012-11-031-2/+2
| | | Thanks c00kiemon5ter!
* Fixing bold fonts in reverse mode.Christoph Lohmann2012-11-031-3/+3
|
* Now italic and bold works.Christoph Lohmann2012-11-031-1/+1
|
* Fixing an out-of-bound bug in the selection code. Thanks Szabolczs Nagy!Christoph Lohmann2012-11-031-8/+23
|
* Fixing the italic-bold font check. Thanks nsz.Christoph Lohmann2012-11-021-1/+1
|
* Make it possible to use the corefont font description too. It is not veryChristoph Lohmann2012-11-021-1/+6
| | | useful, but easy to implement.
* Moving to the dwm config.h variable usage.Christoph Lohmann2012-11-021-40/+40
|
* Applying the patch of the little girl <yui@blekksprut.net> to make cjk inputChristoph Lohmann2012-10-281-1/+4
| | | possible. Thanks!
* Applying the tab expansion patch from koga.Christoph Lohmann2012-10-281-9/+13
|
* Adding a more flexible fontstring handling, shortcuts and a zoom function.Christoph Lohmann2012-10-281-74/+112
|
* Applying the patch of Roberto Caballero to set WINDOWID and all the pwuid()Christoph Lohmann2012-10-281-1/+14
| | | | variables. Thanks! xinit() and ttynew() had to be switched in their call-appearance. Otherwise xw.win is not set.
* Applying the patch of Rafa Garcia Gallega <rafael.garcia.gallego@gmail.com> toChristoph Lohmann2012-10-281-5/+6
| | | not emulate the vt100 behaviour of selecting all whitespaces. Thanks!
* Add error control to iofileRoberto E. Vargas Caballero2012-10-281-9/+30
| | | | | | | | 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(-)
* Well, I was confused. Damn state exams. Instead of discussing this shit IChristoph Lohmann2012-10-091-4/+1
| | | should really learn opthalmology instead. :O
* If there is really someone without SHELL set, help him/her.Christoph Lohmann2012-10-091-0/+3
|
* Add DEC alignment testRoberto E. Vargas Caballero2012-10-071-8/+23
| | | | | | | | | 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(-)
* Avoid initialization of vt100_0 in each call to tsetcharRoberto E. Vargas Caballero2012-10-071-1/+1
| | | | | | | | 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(-)
* Fix Identification sequencesRoberto E. Vargas Caballero2012-10-071-2/+3
| | | | | | | 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(-)
* Add DA and DECID sequencesRoberto E. Vargas Caballero2012-10-061-0/+9
| | | | | | | 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(+)
* Fixing a typo.Christoph Lohmann2012-10-061-1/+1
|
* Fixing a off-by-one error in the new border clearing code.Christoph Lohmann2012-10-061-1/+1
|
* Print control codes only in graphic modeRoberto E. Vargas Caballero2012-10-061-73/+87
| | | | | | | | 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(-)
* Add SI and SO control codesRoberto E. Vargas Caballero2012-10-061-2/+5
| | | | | | | | | 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(-)
* Add SUB and CAN control codesRoberto E. Vargas Caballero2012-10-061-2/+5
| | | | | | These control codes reset any escape sequence already initialised. --- st.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
* Add documentation to control codesRoberto E. Vargas Caballero2012-10-061-9/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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(-)
* Forgot to remove the xclearborders() definition from the last commit.Christoph Lohmann2012-10-061-1/+0
|
* Removing the xclearborders() hack. St now cleans up the parts of the border,Christoph Lohmann2012-10-061-28/+31
| | | if something needs to be drawn close to it.
* The style inquisition was here. Yes, making it a unified style. The lastChristoph Lohmann2012-10-061-135/+230
| | | infidels will be squashed too!
* Adding the patch of David Dufberg Töttrup to implement WM_DELETE_WINDOW. ↵Christoph Lohmann2012-10-051-3/+12
| | | | Thank you!
* Fixing the brightening on bold. For the 256 colors and greyscale I assumed aChristoph Lohmann2012-10-051-1/+18
| | | reasonable solution.
* When the drawing behaviour was changed underline was not corrected.Christoph Lohmann2012-10-051-1/+1
| | | Thanks to Peter A. Shevtsov!
* This adds the fontcache dependency to try something out. Additionally theChristoph Lohmann2012-10-041-29/+67
| | | | 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.
* Thanks to c00kiemon5ter. Not changing bold to bright colors seems to be theChristoph Lohmann2012-10-021-3/+1
| | | right choice.
* This changes -f to be the parameter for the font. Now -f is -o.Christoph Lohmann2012-09-301-16/+26
| | | The parameters were reordered according to the alphabet too.
* Remove the cruft of the user to have to define the different font styles.Christoph Lohmann2012-09-301-5/+55
|
* We need all the colors to be available, so die() on some not available.Christoph Lohmann2012-09-291-8/+2
| | | | This is a new opportunity to see if X11 somewhen handled colors in a strange way.
* All xcolors are not Xft colors and the clearing of the borders has beenChristoph Lohmann2012-09-291-30/+53
| | | optimized. There is a speedup when resizing windows.
* Vt escape sequences allow escape sequences in escape sequences and escapeChristoph Lohmann2012-09-271-0/+3
| | | | | 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.
* Allow control characters inside escape sequencesRoberto E. Vargas Caballero2012-09-261-34/+34
| | | | | | | | | | | | 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(-)
* Ignore all control characters not handledRoberto E. Vargas Caballero2012-09-261-10/+10
| | | | | | | | | | | | | 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(-)
* Implementing line drawing right.Christoph Lohmann2012-09-261-16/+36
|
* A reset should reset the line drawing too.Christoph Lohmann2012-09-251-1/+1
|
* Enabling enacs and adding compatibility to xterm and urxvt for alternativeChristoph Lohmann2012-09-251-0/+1
| | | charsets.
* Fix bug in tputc writing to io fileRoberto E. Vargas Caballero2012-09-251-4/+4
| | | | | | | | | | 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(-)
* The xinit() call needs to be behind all the tty init, otherwise all theChristoph Lohmann2012-09-241-2/+3
| | | | allocated structures are wrong. The xclear() is now done on purpose. Please keep X11 calls out of the way of pure tty-related calls.
* Add some documentetion to tsetmodeRoberto E. Vargas Caballero2012-09-241-5/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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(-)
remember that computers suck.