| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The alternate screen is not properly initialized when st starts. To see
this, set defaultbg in config.h to anything other than 0 (for example, swap
defaultfg and defaultbg), and run:
./st -e sh -c 'tput smcup; read'
You should see that the top-left 80x24 rectangle is black (or whatever
colorname[0] is), while the rest of the screen (if any) has the desired
colorname[defaultbg] color.
The attached patch fixes this by initializing term.c.attr in tnew() before
calling tresize(). It also removes the unnecessary xcalloc() calls, which
misled me on this bug hunt since it is really tclearregion() which
initializes term.lines and term.alt in tresize().
|
|
|
|
|
| |
The bounding boxes for characters can be scaled using "cwscale" and "chscale"
to scale the width and height respectively.
|
| |
|
|
|
|
| |
Signed-off-by: Christoph Lohmann <20h@r-36.net>
|
| |
|
|
|
|
| |
Thanks Alexander Rezinsky <alexrez@gmail.com>!
|
| |
|
|
|
|
| |
Thanks Alexander Rezinsky <alexrez@gmail.com> for the suggestion!
|
| |
|
|
|
|
|
|
|
| |
To have a more visible cursor on unfocused windows this patch makes st draw a
rectangle around the terminal cell.
Thanks Mark Hills <mark@xwax.org> for the suggestion!
|
| |
|
|
|
|
| |
Thanks to stargrave@stargrave.org for the suggestion!
|
|
|
|
| |
Thanks stargrave@stargrave.org!
|
|
|
|
| |
Thanks stargrave@stargrave.org!
|
|
|
|
| |
Thanks Mantas Mikulėnas <grawity@gmail.com> for the patch!
|
|
|
|
| |
Thanks Alexander Sedov <alex0player@gmail.com>!
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Thanks Mihail Zenkov <mihail.zenkov@gmail.com> for giving the hint!
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Shift + End : Delete until end of line.
- Control + End : Delete until end of screen.
When the End key is pressed without any modifier is not generated the
correct sequence for it (going to the end of the screen), because the size
of the terminal is not known, so it is not possible write a sequence for
this purpouse.
---
config.def.h | 10 ++++++++--
st.info | 2 ++
2 files changed, 10 insertions(+), 2 deletions(-)
|
|
|
|
|
|
|
|
|
| |
Del : Delete character under cursor.
Shift + Del : Delete the line under cursor.
Ctrl + Del: Delete the full screen.
---
config.def.h | 16 ++++++++++++----
st.info | 2 ++
2 files changed, 14 insertions(+), 4 deletions(-)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Insert key stands for a key which allows enter or leaves insert mode, so let
it generates the correct sequence to change between these modes:
- Insert: Enter in insert mode.
- Shift + Insert: Leave insert mode (replace mode).
- Control + Insert: Insert a blank line.
Like Shift + Insert also paste text, if a user want this feature be full
functional he has to modify such shortcut.
---
config.def.h | 16 ++++++++++++----
st.info | 3 +++
2 files changed, 15 insertions(+), 4 deletions(-)
|
|
|
| |
xft/fontcache.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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(-)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The commit 'Fixing some key issues with mc' fix the problem where mc didn't
recognize home key because the generated code and the terminfo entry were
different (terminfo khome = \E[1~ but generates \033[H).
Home key in ansi mode should generate the sequence CUP (\033[H) to 0,0 (home
position), but it is also interesting generate a application code which
identifies the key. Real vt520 only generates the ansi sequence CUP, linux
console generates only the application code \033[1~, xterm generates CUP in
ansi mode and \033OH in cursor application mode, rxvt only generates the
application code \033[7~.
This patch sets CUP in ansi mode and \033[1~ in cursor application mode, so
it can be used in both modes and the application mode value is similar to
near values (insert = \033[2~, Prior = \033[5~, Next = \033[6~, End =
\033[4~, Supr = \033[3).
---
config.def.h | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
|
| |
|
|
|
| |
remap other keys.
|
| |
|
| |
|
|
|
| |
some minor style changes.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Usually terminal emulators don't generate any sequence for a combination
they don't have registered, for example Shift + Next, but st behavior
previous to the keyboard patch generates the sequence without the modifier,
in this example Next. This patch uses the XK_ANY_MOD in order to get this
same behaviour.
---
config.def.h | 114 ++++++++++++++++++++++++++++++----------------------------
1 file changed, 59 insertions(+), 55 deletions(-)
|
|
|
|
|
|
|
|
|
|
|
| |
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(-)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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(-)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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(-)
|
|
|
|
|
|
|
|
|
| |
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(-)
|
|
|
|
|
|
|
|
| |
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(-)
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
the majority has bigger screens, this can be turned on by default again.
Thanks pancake, for the hint.
|