summaryrefslogtreecommitdiff
path: root/st.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix XK_NO_MOD and XK_ANY_MOD behaviorRoberto E. Vargas Caballero2012-11-151-5/+7
| | | | | | | | | | | XK_NO_MOD match a key without modifiers and XK_ANY_MOD match a key does not matter what modifiers are pressed to. Like they are mask the best value for XK_ANY_MOD is all the bits to 1, so the and with any state will be equal to the state. This also imply that is necessary check the case for XK_NO_MOD (no modifiers at all) with some modifier in state, and the inverse (some mask different to XK_ANY_MOD or XK_NO_MOD and no modifiers in state). --- st.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-)
* Fix tab keyRoberto E. Vargas Caballero2012-11-141-1/+1
| | | | | | | | | | | When Shift + Tab is pressed X server send the event XK_ISO_Left_Tab with ShiftMask, so this is the entry we need in config.def.h This patch also revert the previous patch for this issue because it breaks the keyboard. --- config.def.h | 2 +- st.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
* Fixing the tab key, when no mask is wanted.Christoph Lohmann2012-11-141-1/+6
|
* The style inquisition was here again.Christoph Lohmann2012-11-131-5/+11
|
* Remove hardcoded keys form kpressRoberto E. Vargas Caballero2012-11-131-41/+30
| | | | | | | | | Some keys were in the Key array while others were hardcoded in kpress().This cause some problems with some keys which can generate more of one string based in the configuration of the terminal. --- config.def.h | 70 ++++++++++++++++++++++++++++++++++++++++----------------- st.c | 71 +++++++++++++++++++++++++--------------------------------- 2 files changed, 79 insertions(+), 62 deletions(-)
* Move Shift + Insert to shortcutRoberto E. Vargas Caballero2012-11-131-10/+3
| | | | | | | | Shift + Insert is used like a hot key for paste the selection, so it is more logical move it to shortcut array instead of having special code for it. --- config.def.h | 1 + st.c | 13 +++---------- 2 files changed, 4 insertions(+), 10 deletions(-)
* Fix keypad mode and cursor modeRoberto E. Vargas Caballero2012-11-131-2/+3
| | | | | | | | | | | | Keypad mode is used for detecting when keys in the auxiliary keypad are pressed, while cursor mode is used for detecting when a cursor is pressed, but they are different modes. St was mixing both modes and DECPAM and DECPNM modified the cursor mode, and this was incorrect. --- st.c | 5 +++-- st.info | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-)
* Add SRM sequenceRoberto E. Vargas Caballero2012-11-131-20/+56
| | | | | | This sequence enable/disable the local echo. --- st.c | 76 ++++++++++++++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 56 insertions(+), 20 deletions(-)
* Gc is not used anymore.Christoph Lohmann2012-11-111-3/+0
|
* Removing some xft naming cruft.Christoph Lohmann2012-11-111-39/+43
|
* Moving the alt declaration to the beginning of the function.Christoph Lohmann2012-11-081-1/+2
|
* Move unsupported sequences to ignored.Roberto E. Vargas Caballero2012-11-081-7/+7
| | | | | | | These sequences will be never implemented and in this moment they are generating a lot of noise. --- st.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-)
* Ignore DECARM sequenceRoberto E. Vargas Caballero2012-11-081-2/+1
| | | | | | | DECARM modify the auto repeat settings in the keyboard, and since we can not modify this setting in the Xserver the best solution is only ignore it. --- st.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
* Fix VPR sequenceRoberto E. Vargas Caballero2012-11-081-2/+2
| | | | | | | VPR stands for Move cursor down a number of rows, and the code was moving the cursor up instead of moving it down. --- st.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
* Add DECOM sequenceRoberto E. Vargas Caballero2012-11-081-7/+26
| | | | | | | | | DECOM sequence allows to the user defines a new home position. The home position is used as base for all the movement commands except HVP and VPA. It is important notice than DECSLM moves cursor to absolute position 0,0. --- st.c | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-)
* Save cursor position in terminal resetRoberto E. Vargas Caballero2012-11-081-0/+2
| | | | | | | After terminal reset saved terminal position is reset to 0, allowing know where cursor will go in next restore cursor operation. --- st.c | 2 ++ 1 file changed, 2 insertions(+)
* Clarify some or exclusive expressionsRoberto E. Vargas Caballero2012-11-081-7/+7
| | | | | | | Since relational expresions are always evaluated to 0 or 1, we can use bitwise xor operator instead of using more complex boolean expressions. --- st.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-)
* 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!