Updating README
This commit is contained in:
		
							parent
							
								
									bfb4e2a994
								
							
						
					
					
						commit
						392564dfad
					
				
							
								
								
									
										59
									
								
								README.org
									
									
									
									
									
								
							
							
						
						
									
										59
									
								
								README.org
									
									
									
									
									
								
							| @ -1,5 +1,56 @@ | ||||
| * Basic Term | ||||
| #+OPTIONS: toc:nil | ||||
| 
 | ||||
| Simple X11 VT100 terminal emulator, written in C. Using the following resources; | ||||
| - [[https://www.uninformativ.de/blog/postings/2018-02-24/0/POSTING-en.html][The very basics of a terminal emulator]] | ||||
| - [[http://mech.math.msu.su/~nap/2/GWindow/xintro.html][A Brief intro to X11 Programming]] | ||||
| * 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. | ||||
|  | ||||
							
								
								
									
										10
									
								
								bt.todo
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								bt.todo
									
									
									
									
									
								
							| @ -12,11 +12,13 @@ | ||||
| * DONE Render scrollback by rows | ||||
| * DONE Handle color escape sequences | ||||
| * DONE Switch to SDL2 | ||||
| * TODO Clean up the rendering of the scrollback buffer | ||||
| * TODO Get Backspace and Return to repeat properly [[https://github.com/raysan5/raylib/issues/2041][Why we switched to SDL]] | ||||
| * TODO Render the scrollback line by line | ||||
| * DONE Clean up the rendering of the scrollback buffer | ||||
| * DONE Get Backspace and Return to repeat properly [[https://github.com/raysan5/raylib/issues/2041][Why we switched to SDL]] | ||||
| * DONE Render the scrollback line by line | ||||
| * TODO Render lines by colored subsection | ||||
| * TODO Handle raw mode | ||||
| * TODO Only draw scrollback that is visible | ||||
| * TODO Handle non-canonical mode | ||||
| * TODO Handle unicode characters | ||||
| * TODO Handle canonical and raw commands | ||||
| * TODO Mouse copy/paste | ||||
| * TODO Create basic vertical splits? | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user