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 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 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
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.