#+OPTIONS: toc:nil * Basicterm A minimalist Linux terminal emulator written in C, utilizing SDL2 for keyboard input handling and text rendering. This project demonstrates low-level systems programming and graphics programming concepts. ** Project Overview Basicterm is a custom terminal emulator developed to provide hands-on experience with terminal implementation details and to deepen understanding of fundamental system tools. The project showcases C programming, SDL2 graphics programming, and POSIX terminal semantics. ** Technical Implementation The terminal emulator is built using: - *SDL2* for window management and input handling - *SDL2_ttf* for text rendering - Custom escape sequence parsing for color support - Direct shell process communication via pseudoterminals ** Current Features - Basic shell command execution - Keyboard input processing with backspace support - Partial ANSI color escape sequence parsing - Support for bash and dash shells - Cross-platform Linux compatibility ** Development Status This project is actively under development. Recent improvements include: - Migration from Raylib to SDL2 for better keyboard input handling - Implementation of basic text rendering pipeline - Foundation for ANSI escape sequence processing ** Planned Enhancements - Complete ANSI escape sequence support - Multi-line text rendering optimization - Extended shell compatibility (Fish, ZSH) - Improved terminal state management ** Build Instructions *Prerequisites:* - SDL2 development libraries - SDL2_ttf development libraries Install dependencies using your distribution's package manager, then build: #+BEGIN_SRC bash make build # Build the project make run # Build and run #+END_SRC ** License This project is licensed under the MIT License. See the LICENSE file for details.