Commit graph

328 commits

Author SHA1 Message Date
Christoph Lohmann
4e14a4a97f A fix for the XopenIM() errors. 2013-01-01 13:15:43 +01:00
Christoph Lohmann
c99db5b017 Increasing font cache for speeding up UTF8 demos. 2012-12-30 17:35:41 +01:00
Christoph Lohmann
44e1b79abf Removing the warning about extents. 2012-12-30 17:35:15 +01:00
Christoph Lohmann
08e06ef079 Fixing the font unloading in case of zoom. 2012-12-29 16:24:33 +01:00
Christoph Lohmann
addc848345 Speeding up the drawing, then all characters are known. 2012-12-29 15:03:03 +01:00
Christoph Lohmann
9c44229c62 Adding fallback support to st. 2012-12-28 23:52:04 +01:00
Christoph Lohmann
082bab29f3 Fixing a compile error. 2012-12-22 19:50:02 +01:00
Christoph Lohmann
ac4c6da4ef Fixing a off-by-one error in the penultimate row drawing. 2012-12-22 13:39:27 +01:00
Christoph Lohmann
4d37763ee7 Fixing a precedence problem. Thanks tridactyla! 2012-12-18 13:00:00 +01:00
Christoph Lohmann
fc2b366968 Checking for the lower X11 special keys too. Thanks Benjamin R. Haskell! 2012-12-13 20:57:15 +01:00
Christoph Lohmann
3c6ec1995d Adding error checks for XCreateIC and XOpenIM. 2012-12-11 08:32:08 +01:00
Christoph Lohmann
2696f81875 Be careful about mar77i's patches. 2012-12-10 23:02:58 +01:00
Christoph Lohmann
78215c8ee0 Fixing the nasty selection bug. Thanks p37sitdu@lavabit.com! 2012-12-10 20:45:46 +01:00
Christoph Lohmann
373a8f5628 The style inquisition was here. 2012-11-25 09:23:34 +01:00
Roberto E. Vargas Caballero
172f65436c Add key for toogling numlock handling
Keypad will generate keycodes when keypad application mode is enabled. It
can cause problems with some programs like vi, which operates in such
mode.

This patch change by default don't generate the keycodes never, but this
behaviour can be changed using the combination Alt + NumLock.
---
 config.def.h |   34 ++++++++++++++++++----------------
 st.c         |   17 +++++++++++++++--
 2 files changed, 33 insertions(+), 18 deletions(-)
2012-11-25 09:23:02 +01:00
Christoph Lohmann
b26df1d0d3 Fixing the calculation of the base tty pixel size. 2012-11-21 20:38:15 +01:00
Christoph Lohmann
440a19a662 Getbuttoninfo is always used the same and just a helper function. Shrinking it
a bit. Thanks nsz!
2012-11-15 21:42:58 +01:00
Roberto E. Vargas Caballero
6312f76ca4 Fix speech error in comment
---
 st.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2012-11-15 20:57:37 +01:00
Roberto E. Vargas Caballero
0df350cd0b Remove unused fields in cursor_movement
---
 st.c |    4 ----
 1 file changed, 4 deletions(-)
2012-11-15 20:57:33 +01:00
Christoph Lohmann
1cea02be8d Removing my debug fprintf(). 2012-11-15 20:25:16 +01:00
Christoph Lohmann
2b6521f5d2 Optimizing the key lookup to the X11 function key. It is still possible to
remap other keys.
2012-11-15 20:19:35 +01:00
Roberto E. Vargas Caballero
90e1427632 Fix Shift + Insert shortcut
This patch apply the same code for shortcuts that it is used now for defined
keys. So it is possible use now XK_NO_MOD and XK_ANY_MOD for defining shortcuts.
---
 st.c |   35 ++++++++++++++++++++---------------
 1 file changed, 20 insertions(+), 15 deletions(-)
2012-11-15 19:01:16 +01:00
Christoph Lohmann
d5640c7729 Fixing the return and keypad enter sent characters. Terminals produce \r. And
some minor style changes.
2012-11-15 16:26:50 +01:00
Christoph Lohmann
801ea034b6 Import the patch of Eckehard Berns to add insert mode. Thanks! 2012-11-15 16:21:23 +01:00
Roberto E. Vargas Caballero
88bb76c1bc Fix XK_NO_MOD and XK_ANY_MOD behavior
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(-)
2012-11-15 15:36:13 +01:00
Roberto E. Vargas Caballero
16ccf344de Fix tab key
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(-)
2012-11-14 11:14:29 +01:00
Christoph Lohmann
461aac159c Fixing the tab key, when no mask is wanted. 2012-11-14 06:37:24 +01:00
Christoph Lohmann
7474a2fc37 The style inquisition was here again. 2012-11-13 20:13:39 +01:00
Roberto E. Vargas Caballero
ea782bfc5d Remove hardcoded keys form kpress
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-13 20:04:45 +01:00
Roberto E. Vargas Caballero
93f31166bf Move Shift + Insert to shortcut
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-13 20:04:39 +01:00
Roberto E. Vargas Caballero
69ee3ba3a7 Fix keypad mode and cursor mode
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-13 20:04:34 +01:00
Roberto E. Vargas Caballero
73177ba366 Add SRM sequence
This sequence enable/disable the local echo.
---
 st.c |   76 ++++++++++++++++++++++++++++++++++++++++++++++++------------------
 1 file changed, 56 insertions(+), 20 deletions(-)
2012-11-13 20:04:26 +01:00
Christoph Lohmann
ace789a79f Gc is not used anymore. 2012-11-11 19:46:34 +01:00
Christoph Lohmann
c4a9ccec19 Removing some xft naming cruft. 2012-11-11 19:38:41 +01:00
Christoph Lohmann
5d5a7c627a Moving the alt declaration to the beginning of the function. 2012-11-08 17:22:48 +01:00
Roberto E. Vargas Caballero
8665905216 Move unsupported sequences to ignored.
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-08 17:22:04 +01:00
Roberto E. Vargas Caballero
27468403cc Ignore DECARM sequence
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-08 17:21:41 +01:00
Roberto E. Vargas Caballero
d5b80e05e8 Fix VPR sequence
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-08 17:21:24 +01:00
Roberto E. Vargas Caballero
5260a9ea22 Add DECOM sequence
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-08 17:21:10 +01:00
Roberto E. Vargas Caballero
ee3e0a9fd0 Save cursor position in terminal reset
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-08 17:20:15 +01:00
Roberto E. Vargas Caballero
ba9d0365ac Clarify some or exclusive expressions
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-08 17:17:26 +01:00
Roberto E. Vargas Caballero
950ff21e17 Fix bug restoring cursor position
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-08 17:15:26 +01:00
Christoph Lohmann
5d39afc902 Adding scrollwheel support. Thanks Brandon Invergo! 2012-11-06 23:44:37 +01:00
Christoph Lohmann
0fbe1559c8 Fixing meta+return. Thanks Szabolcs Nagy! 2012-11-04 00:04:56 +01:00
Christoph Lohmann
86261187ab Removing the debugging for the last fix too. 2012-11-03 14:05:45 +01:00
Christoph Lohmann
9888c5064b Fixing a resize bug, if a smaller amount than the lineheight is resized.
Thanks c00kiemon5ter!
2012-11-03 14:05:15 +01:00
Christoph Lohmann
f8db65439a Fixing bold fonts in reverse mode. 2012-11-03 13:43:20 +01:00
Christoph Lohmann
76a8e5f72b Now italic and bold works. 2012-11-03 08:35:32 +01:00
Christoph Lohmann
abe85c0e99 Fixing an out-of-bound bug in the selection code. Thanks Szabolczs Nagy! 2012-11-03 03:24:22 +01:00
Christoph Lohmann
091ae143ce Fixing the italic-bold font check. Thanks nsz. 2012-11-02 23:19:56 +01:00