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