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; | * Basicterm | ||||||
| - [[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]] | 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 Render scrollback by rows | ||||||
| * DONE Handle color escape sequences | * DONE Handle color escape sequences | ||||||
| * DONE Switch to SDL2 | * DONE Switch to SDL2 | ||||||
| * TODO Clean up the rendering of the scrollback buffer | * DONE 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]] | * DONE 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 Render the scrollback line by line | ||||||
|  | * TODO Render lines by colored subsection | ||||||
|  | * TODO Handle raw mode | ||||||
| * TODO Only draw scrollback that is visible | * TODO Only draw scrollback that is visible | ||||||
|  | * TODO Handle non-canonical mode | ||||||
| * TODO Handle unicode characters | * TODO Handle unicode characters | ||||||
| * TODO Handle canonical and raw commands |  | ||||||
| * TODO Mouse copy/paste | * TODO Mouse copy/paste | ||||||
| * TODO Create basic vertical splits? | * TODO Create basic vertical splits? | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user