Age | Commit message (Collapse) | Author |
|
When using st with screen, I've bound next, prev, new screen to
combinations like Ctrl-Alt-Right,Left,Down; xterm and (u)rxvt work fine
when this combination of modifiers is pressed, st does not seem to
transport all of them; a single modifier key is fine (e.g. Ctrl-Up,
Alt-Down etc., but combinations are not). While I'm not terribly
familiar with this, I have tried to hack config.h in a more or less
systematic way to generate the expected sequences.
|
|
If fontconfig gives us a font without the attributes we asked for,
display an alternative color instead.
|
|
We launch dmenu for getting a codepoint, then convert it and send it to
the terminal.
|
|
|
|
If you don't make sure that the terminal does not expand tabs to spaces, of
course such a setting won't work.
|
|
st.info needs to be changed too, when tabspaces are changed.
|
|
The default config specifies BackSpace as "\177". The default behavior
should persist across modifier keys, commonly Mod1 (Alt or Meta) which
is widely used to delete a word on readline and text editors, notably
Emacs.
This will make Alt+BackSpace behaves as expected, i.e. sends "\033\177"
instead of "\033\010" as previous default behavior.
Signed-off-by: Christoph Lohmann <20h@r-36.net>
|
|
|
|
This fix is needed to use dual-width fonts, which have double-width
glyphs (e.g. CJK unified ideographs).
Signed-off-by: Ryusei Yamaguchi <mandel59@gmail.com>
Signed-off-by: Christoph Lohmann <20h@r-36.net>
|
|
Keep the debile happy.
|
|
»IBeam« is now »Bar« because it's named like that in the source code.
|
|
|
|
This adds an awareness commit for the big key array too.
|
|
|
|
The antialiasing was false due to circumstances that do not exist anymore. We
need antialiasing on big screens with big fonts. Autohinting too.
|
|
|
|
Signed-off-by: Christoph Lohmann <20h@r-36.net>
|
|
|
|
This configuration is basically 38400 8N1, without echo and
in raw mode. Kernel will not process any of the characters
sent by the user.
|
|
|
|
|
|
This practice proved itself in sbase, ubase and a couple of other
projects.
Also remove the True and False defined in X11 and FcTrue and FcFalse
defined in Fontconfig.
Signed-off-by: Christoph Lohmann <20h@r-36.net>
|
|
|
|
Not always is desirable to create a pseudo terminal, and some times
we want to open a terminal emulator over a tty line. With this new
patch is possible to do someting like:
$ st -l /dev/ttyS0 115200
Without this option was needed to launch another terminal emulator
over st (for example minicom, picocom, cu, ...).
|
|
|
|
Thanks to Alex Pilon <alp@alexpilon.ca>!
Now there is a distinction between the primary and clipboard selection. With
Mod + Shift + c/v the clipboard is handled. The old Insert behavious does
reside.
|
|
XN_ANY_MOD makes that any combination of backspace will return always
DEL. This patch lets to X to decide which value returns.
|
|
|
|
The majority now using the Linux behaviour. Minorities have to live in their
ghettos.
|
|
|
|
Thanks mvdan@mvdan.cc for proposing this.
|
|
St runs an interactive shell and not a login shell, and it means
that profile is not loaded. The default terminal configuration
in some system is not the correct for st, but since profile is
not loaded there is no way of getting a script configures the
correct values.
St doesn't update the utmp files, this is the job of another
suckless tool, utmp. Utmp also opens a login shell (it is the
logical behaviour when you create a new user record) it is a
good option execute utmp and then get a correct input in
utmp, wtmp and lastlog file, and execute the content of the
profile.
|
|
DEL key has to generate the sequence ^[P in application mode,
because such sequence means delete current character. It implies
that the character sent in keypad mode must be ^? (DEL character).
|
|
VT102ID is the sequence that the terminal returns when it is inquired
to identify itself. This value should be configurable in the same
way that another st parameters.
|
|
Signed-off-by: Roberto E. Vargas Caballero <k0ga@shike2.com>
|
|
Similar to xterm or urxvt holding shift before selecting text with the mouse
allows to override copying text. For example in tmux with "mode-mouse on" or
vim (compiled with --with-x), mc, htop, etc.
forceselmod in config.h sets the modifier to use this mode, by default
ShiftMask.
Signed-off-by: Hiltjo Posthuma <hiltjo@codemadness.org>
|
|
|
|
Backspace key must generate the backspace character (\010) and
Delete key must generate the delete character (\0177). In
some systems the kernel configuration for erasing previous character
is \0177, so some programs (for example cat, ed, mail, ...), can not
understand the correct meaning of backspace. In this cases it is only
needed this command:
stty erase
|
|
This is very usefull in order to can select what is sent
to the plumber.
|
|
These new combinations generate the same behaviour (basically) of
vt102. It is a good way of communicating st with other programs.
[0] http://www.vt100.net/docs/vt102-ug/chapter2.html
|
|
|
|
If CONTROL + INSERT inserts a line then it seems natural CONTROL + DELETE
removes a line.
|
|
The AppMode and AsciiMode were inverted in the definition of this
combination.
Signed-off-by: Christoph Lohmann <20h@r-36.net>
|
|
|
|
|
|
Shitf modifier adds 12 to the function number of the function keys,
while Control adds 24, so Control + F4 generates F28
|
|
Conflicts:
config.def.h
st.c
|
|
|
|
\a is the character for bell, and st is only marking the window as urgent
if it is not active. This patch adds an audible bell which can be disable
with bellvolume variable.
Signed-off-by: Christoph Lohmann <20h@r-36.net>
|
|
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().
|