basicterm/README.org
2023-11-16 18:44:30 +07:00

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.