webbed-site/html/thoughts/terminal-emulators

54 lines
2.6 KiB
Plaintext
Raw Normal View History

2024-09-07 00:19:13 -07:00
<!-- TITLE: terminal emulators -->
<!-- DATE: 2024-09-06 23:18:59 -->
2024-10-08 17:35:24 -07:00
natalie thinks that its requirements for a terminal emulator are very simple. apparently they are not.
2024-09-07 00:19:13 -07:00
<hr>
2024-10-08 17:35:24 -07:00
things that it does not want in a terminal:
2024-09-07 00:19:13 -07:00
<ul>
<li>startup times exceeding 75ms</li>
2024-10-08 17:35:24 -07:00
<li>memory leaks (while it was testing wezterm, the terminal process once got to 9.8 gigabytes of memory useage)</li>
2024-09-07 00:19:13 -07:00
<li>tab/multiplexing features. tmux exists.</li>
</ul>
2024-10-08 17:35:24 -07:00
things that it does want in a terminal emulator:
2024-09-07 00:19:13 -07:00
<ul>
<li>w3m image rendering</li>
<li>reasonable text rendering</li>
<li>resizeable such that text doesn't disappear</li>
</ul>
2024-10-08 17:35:24 -07:00
a nice bonus is a terminal being wayland native.
2024-09-07 00:19:13 -07:00
<hr>
2024-10-08 17:35:24 -07:00
prior to now, it had been using its own build of st.<br>
today, it got annoyed about text being lost when it shrinks the window.<br>
now, it will use foot.
2024-09-07 00:19:13 -07:00
<hr>
2024-10-08 17:35:24 -07:00
it is mildly annoyed by this because foot does not support w3m images, only sixel images.
it does not actually use w3m images very often, but it does like being able to look at pictures of the wuppertal schwebebahn using w3m in its terminal.
2024-09-07 00:19:13 -07:00
<hr>
on the other hand, foot's ability to have different fonts for different faces is very nice.
2024-10-08 17:35:24 -07:00
it likes its friend's bitmap font inspired by ibm selectric, but it also likes gohufont. now it gets to use both.
also, it keeps hearing about suckless developers being nazis.
it does not know if that's the case (it tends towards not believing such claims, given it has yet to see evidence of such a thing (not that it has researched the topic)), but if it is the case it would generally prefer not to use software made by people that would likely want it dead.
2024-09-07 00:19:13 -07:00
additionally, foot seems to be faster:
<pre>
~ λ hyperfine "st -e '/tmp/aoeu.sh'" -m30 -M30
Benchmark 1: st -e '/tmp/aoeu.sh'
Time (mean ± σ): 53.3 ms ± 41.5 ms [User: 19.7 ms, System: 10.9 ms]
Range (min … max): 27.4 ms … 233.4 ms 30 runs
</pre>
<pre>
~ λ hyperfine "foot '/tmp/aoeu.sh'" -m30 -M30
Benchmark 1: foot '/tmp/aoeu.sh'
Time (mean ± σ): 25.3 ms ± 1.8 ms [User: 19.5 ms, System: 9.4 ms]
Range (min … max): 22.8 ms … 32.1 ms 30 runs
</pre>
this is even more apparent when using the client:
<pre>
~ (130) λ hyperfine "footclient '/tmp/aoeu.sh'" -m30 -M30
Benchmark 1: footclient '/tmp/aoeu.sh'
Time (mean ± σ): 10.9 ms ± 1.0 ms [User: 0.7 ms, System: 0.5 ms]
Range (min … max): 9.9 ms … 14.3 ms 30 runs
</pre>
2024-09-07 06:17:48 -07:00
<hr>
addendum as of 2024-09-07 06:13:54:
<br>
foot supports the relevant escape codes for vim's spell hlgroups. this is ideal as now misspelled words are underlined in red, whereas improperly capitalized words are underlined in yellow.