44 lines
1.6 KiB
Org Mode
44 lines
1.6 KiB
Org Mode
#+OPTIONS: toc:nil
|
|
|
|
* Basicterm
|
|
|
|
Linux terminal emulator, written in C. Keyboard input handling and text
|
|
rendering are done with ~SDL2~ and ~SDL2_ttf~. I got the idea of working on the
|
|
project by reading through [[https://www.uninformativ.de/blog/postings/2018-02-24/0/POSTING-en.html][this]] tutorial.
|
|
|
|
** Another terminal?
|
|
|
|
This is part of my attempt to gain a deeper understanding of the tools I use on
|
|
a daily basis.
|
|
|
|
** Status
|
|
This is very much a work-in-progress. Work was started last year and initially
|
|
used Raylib for the rendering, however, an [[https://github.com/raysan5/raylib/issues/2041][issue]] with handling keyboard input at
|
|
the time of implementation meant it wasn't ideal. The project was shelved with a
|
|
~TODO: Switch to SDL2~ and I finally got around to making the switch.
|
|
|
|
Project is now using SDL2 and it renders a bash shell and running commands work
|
|
for the most part. It's handling backspace but not much else. It has some color
|
|
escape code parsing in place but the text rendering currently only renders line
|
|
by line so it's on the TODO list to get that working.
|
|
|
|
Eventually, I'll revisit this project when I want to learn more about this
|
|
topic.
|
|
|
|
** Shell support
|
|
|
|
Currently, Fish and ZSH do not work. Only bash and dash.
|
|
|
|
** Building
|
|
|
|
You need to install ~SDL2~ and ~SDL2_ttf~, ideally from your distro's package
|
|
manager. I probably should setup the includes and whatnot properly according to
|
|
[[https://nullprogram.com/blog/2023/01/08/][this blog post]] but I'll leave that for another day.
|
|
|
|
You can then run ~make build~ or ~make run~
|
|
|
|
** LICENSE
|
|
|
|
Basicterm is licensed under the terms of the MIT license. For more information,
|
|
see the included LICENSE file.
|