| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
|
|
|
|
|
| |
LEN(str) is one larger than strlen(str) because it also counts the zero
terminator. The original code would include the .notdef glyph (since it'll
try to encode character 0, which gets encoded to the .notdef glyph) when
measuring the average dimensions of printable ascii characters.
This causes problems with fonts like GNU Unifont where the .notdef glyph is
not the same width as the usual half-width characters.
Signed-off-by: Christoph Lohmann <20h@r-36.net>
|
|
|
|
|
|
|
|
|
| |
The y-position of a character found by asking fontconfig for a matching
font does not take the border pixels into account, resulting in a
slightly misaligned vertical position.
Signed-off-by: Ton van den Heuvel <tonvandenheuvel@gmail.com>
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>
|
|
|
|
| |
Thanks Ton van den Heuvel for the proposal!
|
|
|
|
|
|
|
| |
This prevents accessing to a potentially out-of-bounds memory section.
Signed-off-by: Lucas Gabriel Vuotto <l.vuotto92@gmail.com>
Signed-off-by: Christoph Lohmann <20h@r-36.net>
|
|
|
|
|
|
|
|
|
|
| |
Scratch the preceding patch, this one is more correct
(don't forget to 'git am --scissors' ;))
-- >8 --
Also reformat the strings in a saner layout
Signed-off-by: Christoph Lohmann <20h@r-36.net>
|
|
|
|
|
|
|
| |
This way we can call cresize() to set the terminal size before creating
a tty or spawning a process, which will start with the correct size.
Signed-off-by: Christoph Lohmann <20h@r-36.net>
|
|
|
|
| |
This is just redundant metadata. Please add Java comment meta classes too.
|
|
|
|
| |
Signed-off-by: Christoph Lohmann <20h@r-36.net>
|
|
|
|
| |
Signed-off-by: Christoph Lohmann <20h@r-36.net>
|
|
|
|
|
| |
dvtm is too fast in starting up. It will then have a race condition in finding
the right. terminal size.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Ttyread() calls to ttywrite, so if we check for reading before
that for writing in ttywrite we can get a circular call sequence.
|
|
|
|
|
|
|
| |
ARGUM isn't used and ARGNUMF uses estrtol() that isn't defined anywhere.
Those were probably copied from sbase arg.h.
Signed-off-by: Christoph Lohmann <20h@r-36.net>
|
| |
|
|
|
|
|
|
|
| |
ttywrite was assuming that if it could not write then it could
read, but this is not necessarily true, there are some situations
where you cannot read or write. The correct behaviour is to detect
if you can read or/and write.
|
|
|
|
|
|
| |
Keep everyone happy
Signed-off-by: Christoph Lohmann <20h@r-36.net>
|
|
|
|
| |
Keep the debile happy.
|
| |
|
|
|
|
| |
Signed-off-by: Christoph Lohmann <20h@r-36.net>
|
| |
|
|
|
|
|
|
|
| |
If we want to show a custom selected cursor color, we must not set the
revert attribute to the drawn glyph.
Signed-off-by: Christoph Lohmann <20h@r-36.net>
|
|
|
|
| |
»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.
|
| |
|
|
|
|
|
|
| |
Before the fix the cursor wouldn't obey if it's in a selection. If it is
inside it will now change to the reverse. This patch also adds that the
defaultcs will be reversed for the manually drawn cursors.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before this patch, when pasting over BUFSIZE (8192 bytes here), st would
do the following:
\e[200~...8192 bytes...\e[201~\e[200~...remaining bytes...\e[201~
With this patch, the start marker is only sent when the offset is 0 (at
the beginning of selnotify) and the end marker is only sent when the
remaining bytes to read are 0 (at the end).
For short pastes, both conditions are true in the same iteration.
For long pastes, it removes the extra markers in the middle, keeping the
intended wrapping:
\e[200~...8192 bytes......remaining bytes...\e[201~
Signed-off-by: Christoph Lohmann <20h@r-36.net>
|
|
|
|
|
|
|
| |
gcc would warn about an unused result. We know it is 0 and dup()
can't fail in these circumstances, as we closed fd0 previously.
Using dup2() to do the same saves one line and shuts gcc up, bringing
us a clean build back.
|
|
|
|
|
| |
The antialiasing was false due to circumstances that do not exist anymore. We
need antialiasing on big screens with big fonts. Autohinting too.
|
|
|
|
|
|
|
| |
When a line has no any character linelen is 0, so last = &term.line[y][MIN(lastx, linelen-1)]
generated a pointer to the end of the previous line. The best thing we can do in this case
is to add a newline, because we don't have a glyph to print (and consult its state of
wrapping).
|
| |
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
| |
For completeness and documentation add all C1 control codes.
|
|\ |
|
| |
| |
| |
| |
| |
| | |
wcwidth() returns -1 for all the non visible characters, but it doesn't
necessarilly mean that they are incorrect. It only means that they are not
printable.
|
|/ |
|
|
|
|
|
| |
The current acsc entry, copied from xterm was not exposing capability to
display arrows.
|