aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-11-13Add missed key definitionsRoberto E. Vargas Caballero
This patch adds the keys for the keypad (in both modes, application mode or ansi mode) and function keys. It uses the same convention than xterm and instead of using the XK_Fxx values it generates them using F1-F12 and modifiers. For example: F1 -> ^[OP F1 + Shift = F13 -> ^[[1;2P F1 + Control = F25 -> ^[[1;5P F1 + Mod2 = F37 -> ^[[1;6P F1 + Mod1 = F49 -> ^[[1;3P F1 + Mod3 = F61 -> ^[[1;4P It is also important notice than the terminfo capability kIC (shifted insert key) only can be generated using the keypad keyboard, because the shorcut for selection paste is using the same combination. After this path the number of elements in the Key array becomes high, and maybe a sequencial search is not enough efficient now. --- TODO | 6 +--- config.def.h | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++- st.info | 70 ++++++++++++++++++++++++++++++++++++++-- 3 files changed, 169 insertions(+), 9 deletions(-)
2012-11-13Add control and meta combinations for arrow keysRoberto E. Vargas Caballero
Since there isn't any terminfo capability for control and meta modifiers for arrows keys it is necessary use the same that almost terminal emulators use, because there are a lot of programs which have these codes hardcoded. This cause also that shift combinations are also changed, but in this case this is not a problem since there are terminfo capabilities for them. After this patch shift-up and shift-down continue not working in emacs with TERM=st, but they work with TERM=xterm, so it is possible some other changes are necessary in the terminfo entry. --- config.def.h | 16 ++++++++++++---- st.info | 8 ++++---- 2 files changed, 16 insertions(+), 8 deletions(-)
2012-11-13Fix arrow keys terminfo capabilitiesRoberto E. Vargas Caballero
Usually the arrow keys generate the ANSI sequence which terminal will understand like a movement, so it is not necessary any dealing for them, the program can not know if the sequence is generate for a echo key or directly from the program. If you need really know if the key was pressed then you need activate the keypad mode where the keys will generate a special code for each keypad key. The terminfo capabilities kcub1, kcud1, kcuf1 and kcuu1 are used for this keypad code, not for the sequence generate in the ansi mode. --- st.info | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
2012-11-13Remove hardcoded keys form kpressRoberto E. Vargas Caballero
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(-)
2012-11-13Move Shift + Insert to shortcutRoberto E. Vargas Caballero
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(-)
2012-11-13Fix keypad mode and cursor modeRoberto E. Vargas Caballero
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(-)
2012-11-13Add SRM sequenceRoberto E. Vargas Caballero
This sequence enable/disable the local echo. --- st.c | 76 ++++++++++++++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 56 insertions(+), 20 deletions(-)
2012-11-11Gc is not used anymore.Christoph Lohmann
2012-11-11Removing some xft naming cruft.Christoph Lohmann
2012-11-08Moving the alt declaration to the beginning of the function.Christoph Lohmann
2012-11-08Move unsupported sequences to ignored.Roberto E. Vargas Caballero
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(-)
2012-11-08Ignore DECARM sequenceRoberto E. Vargas Caballero
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(-)
2012-11-08Fix VPR sequenceRoberto E. Vargas Caballero
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(-)
2012-11-08Add DECOM sequenceRoberto E. Vargas Caballero
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(-)
2012-11-08Save cursor position in terminal resetRoberto E. Vargas Caballero
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(+)
2012-11-08Clarify some or exclusive expressionsRoberto E. Vargas Caballero
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(-)
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-05Changing the license to MIT/X.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-02Added tag 0.3 for changeset 9d54ce4daf34Christoph Lohmann
2012-11-020.3 release.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-31Adding a FAQ to reference utmp(1).Christoph Lohmann
2012-10-31Cleaning up the TODO file.Christoph Lohmann
2012-10-28Removing the now senseless comment in config.def.h. Thanks to bnwe!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(-)