commit 09ec6ba
uint
·
2026-08-13 14:32:42 +0000 UTC
parent 8c67496
add csi intermediate byte stubbing and update README
2 files changed,
+20,
-18
+16,
-17
1@@ -2,9 +2,9 @@
2 Is a tiny, cross-platform terminal emulator (written in C).
3
4 #### Note
5-macOS and Wayland won't build as libmaus doesn't have implementations for
6-those. If you would be interested in making one for your own platform, it would
7-be amazing if you could contribute!
8+macOS won't build as libmaus doesn't have implementations for it. If you would
9+be interested in making one for your own platform, it would be amazing if you
10+could contribute!
11
12 ### Building:
13 ``` sh
14@@ -16,26 +16,25 @@ cp cterm /usr/local/bin # or where you want it
15 ### About
16 cterm is a tiny terminal emulator I built from frustrations of not being able
17 to use [st](https://st.suckless.org/) across different platforms. Much like
18-_st_, it is very, very small--even smaller than _st_. For this reason,
19-however, cterm does not have the "standard" terminal emulator features such as
20-mouse selection, scrollback, fancy graphics, configuration files, the like;
21-this is because, I find all of them useless. If you want to achieve that, use a
22-terminal multiplexer or even VIM (it can function very well as a modal
23-multiplexer).
24+_st_, it is very, very small--even smaller than _st_. For this reason, however,
25+cterm does not have the "standard" terminal emulator features such as mouse
26+selection, scrollback, fancy graphics, configuration files, the like; this is
27+because, I find all of them useless. If you want to achieve that, use a
28+terminal multiplexer or even VIM (it can function well as a multiplexer).
29
30 cterm also doesn't rely on any extra dependancies like
31-[FreeType](https://freetype.org/). Well it sort of does, but I chose to vendor
32-libmaus as that is a really simple windowing library I created so that it can
33-be cross platform.
34+[FreeType](https://freetype.org/) (well... it sort of does, but I just vendored
35+libmaus as it's a really small windowing library I made so that it can be cross
36+platform.
37
38 ### Info
39 Only BDF fonts are supported as for now. If requested (or contributed), I have
40 no problem with adding other formats but no vector font support! If you want to
41 convert your vector font, you can use something like `otf2bdf` (thats what I
42-do!).
43+do).
44+> There is also a  provided which
45+> uses `otf2ttf` to scale any font in a libary if needed.
46
47-Reloading the font can be done with `AltR + r`
48-
49-There is also a  provided which uses
50-`otf2ttf` to scale any font in a libary if needed.
51+Reloading the font can be done with `AltR + r` by default and there is also now
52+copy paste functionality
53
+4,
-1
1@@ -700,7 +700,10 @@ bool term_write(Term* t, Caret* c, const char* s, size_t n)
2 else if (ch == '?' || ch == '>' || ch == '=') {
3 /* private CSI marker */
4 }
5- else {
6+ else if (ch >= 0x20 && ch <= 0x2f) {
7+ /* CSI intermediate byte */
8+ }
9+ else if (ch >= 0x40 && ch <= 0x7e) {
10 csi_dispatch(t, c, ch);
11 t->state = TSTATE_NORMAL;
12 }