Bananymous 
							
						 
						
							
								88b8ca5b29 
								
							 
						 
						
							
							
								
								LibC: Fix some string functions  
							
							... 
							
							
							
							I was not casting some required values to char or handling length of
zero 
							
						 
						
							2024-10-13 22:04:08 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								fdddb556ae 
								
							 
						 
						
							
							
								
								LibC: Implement system() more properly  
							
							... 
							
							
							
							Old implementation did not ignore and block needed signals 
							
						 
						
							2024-10-13 22:03:15 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d36b64e0c8 
								
							 
						 
						
							
							
								
								LibImage: name color to u32 function to to_argb from to_rgba  
							
							... 
							
							
							
							This is the actual format that it returns 
							
						 
						
							2024-10-13 22:01:46 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8adc97980a 
								
							 
						 
						
							
							
								
								Shell: rewrite the whole shell to use tokens instead of raw strings  
							
							... 
							
							
							
							tab completion is still running with raw strings and that has to be
fixed in the future. 
							
						 
						
							2024-10-13 22:00:16 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3e68981b0b 
								
							 
						 
						
							
							
								
								userspace: Remove start-gui from shell builtins and make it an alias  
							
							... 
							
							
							
							This makes way more sense :D 
							
						 
						
							2024-10-07 18:01:33 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6fd76e8d1e 
								
							 
						 
						
							
							
								
								Shell: Rewrite alias parsing to allow chained commands  
							
							... 
							
							
							
							You can now have "chained" commands in alias
e.g. `alias foo='echo hello && ls` 
							
						 
						
							2024-10-07 18:01:33 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								dfcd15e7c4 
								
							 
						 
						
							
							
								
								Shell: Implement background processes with &  
							
							
							
						 
						
							2024-10-07 18:01:33 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5fa359c28d 
								
							 
						 
						
							
							
								
								ls: Print file name in quotes if it contains spaces  
							
							
							
						 
						
							2024-10-07 18:01:32 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5bcfc9dd50 
								
							 
						 
						
							
							
								
								Shell: Always print prompt to new line  
							
							... 
							
							
							
							This is only done on non banan-os targets if terminal is detected to
support cursor position querying 
							
						 
						
							2024-10-07 18:01:32 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f67cad326a 
								
							 
						 
						
							
							
								
								Shell: Don't crash when there are no tab completions available :D  
							
							
							
						 
						
							2024-10-07 14:26:07 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								9775e83374 
								
							 
						 
						
							
							
								
								Shell: Fix tab space escaping in tab completion  
							
							
							
						 
						
							2024-10-07 04:19:36 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								264d1798dc 
								
							 
						 
						
							
							
								
								Shell: Clenup code and fix some bugs  
							
							... 
							
							
							
							Don't list tab completion multiple times, allow `clear` to work even
when ANSI CSI 3K is not supported, reset buffer index when cancelling
command with ctrl+c 
							
						 
						
							2024-10-07 04:10:25 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1824988b9a 
								
							 
						 
						
							
							
								
								Shell: Add support for simple aliases  
							
							... 
							
							
							
							Aliases do not support chained commands with pipes, &&, ... but this is
a good start. 
							
						 
						
							2024-10-07 04:09:38 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c54d9b3f60 
								
							 
						 
						
							
							
								
								Shell: Implement simple tab completion for commands and files  
							
							
							
						 
						
							2024-10-07 01:44:44 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4f7828bab9 
								
							 
						 
						
							
							
								
								Shell: Allow escaping spaces in commands  
							
							
							
						 
						
							2024-10-07 01:44:44 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ae073a336d 
								
							 
						 
						
							
							
								
								Shell: Move builtin commands to a hash map  
							
							... 
							
							
							
							This allows accessing builtin commands outside of `execute_builtin` 
							
						 
						
							2024-10-07 01:44:44 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4f3c05851c 
								
							 
						 
						
							
							
								
								Shell: Expand ~ to home if its at the start of non quoted argument  
							
							
							
						 
						
							2024-10-06 01:38:43 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4b13055125 
								
							 
						 
						
							
							
								
								Shell: Make builtin exit command read exit value from argument  
							
							... 
							
							
							
							Shell used to unconditionally return with exit code of 0 
							
						 
						
							2024-10-06 01:24:34 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d542cd811d 
								
							 
						 
						
							
							
								
								Shell: Add support for &&, || and ;  
							
							
							
						 
						
							2024-10-06 01:24:24 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f75cebac7e 
								
							 
						 
						
							
							
								
								Shell: Mark all functions as static  
							
							
							
						 
						
							2024-10-05 19:11:58 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e302b6b635 
								
							 
						 
						
							
							
								
								Shell: Use sigaction instead of signal  
							
							... 
							
							
							
							This allows ctrl-c to work on linux :D 
							
						 
						
							2024-10-05 19:07:59 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f709e88994 
								
							 
						 
						
							
							
								
								Shell: Cleanup argument handling and exiting  
							
							
							
						 
						
							2024-10-04 17:54:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ab9a6d583b 
								
							 
						 
						
							
							
								
								Userspace: Set SHELL environment variable in init instead of shell  
							
							
							
						 
						
							2024-10-04 17:24:37 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								26d6bf338e 
								
							 
						 
						
							
							
								
								Shell: Ignore SIGTTOU and set pgroup from parent instead of child  
							
							... 
							
							
							
							This allows using the shell in linux! 
							
						 
						
							2024-10-04 17:23:31 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b6e040dfc2 
								
							 
						 
						
							
							
								
								Kernel/Shell: Fix backspace and delete key byte sequences  
							
							
							
						 
						
							2024-10-04 04:14:47 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7223e581a2 
								
							 
						 
						
							
							
								
								WindowServer: Fix 32 bit compilation with -Werror  
							
							... 
							
							
							
							There was a always false statement on 32 bit that the compliler was
warning about. 
							
						 
						
							2024-09-27 15:33:25 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e4982a1a5c 
								
							 
						 
						
							
							
								
								LibC: Fix printf with alternate format and zero values  
							
							
							
						 
						
							2024-09-26 15:25:16 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								cea6dedccc 
								
							 
						 
						
							
							
								
								Userspace: Compile programs and libraries with -Wall -Wextra -Werror  
							
							
							
						 
						
							2024-09-26 15:20:07 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								57ae74f908 
								
							 
						 
						
							
							
								
								Terminal: Implement more ANSI escape handling  
							
							... 
							
							
							
							This patch adds L and M codes for inserting and deleting lines and SGR 7
for inverting colors 
							
						 
						
							2024-09-26 15:07:08 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1a6804b4b4 
								
							 
						 
						
							
							
								
								Terminal: Make Terminal::handle_csi() return invalidated rectangle  
							
							... 
							
							
							
							When I updated Terminal to only do a single invalidation after all of
input text was printed, I forgot to change handle_csi 
							
						 
						
							2024-09-26 15:05:11 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								82e6a3582d 
								
							 
						 
						
							
							
								
								LibGUI: cleanup Window::shift_vertical and add copy_horizontal_slice  
							
							
							
						 
						
							2024-09-26 15:00:14 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								11a4e4faa2 
								
							 
						 
						
							
							
								
								LibImage: Add Adam7 support for PNG decoder  
							
							
							
						 
						
							2024-09-26 11:47:34 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								50a3533322 
								
							 
						 
						
							
							
								
								LibInput: Add value for ESC in key_to_utf8_ansi  
							
							... 
							
							
							
							This allows exiting vim when using this function for key mappings :D 
							
						 
						
							2024-09-24 18:08:34 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4e9f39384a 
								
							 
						 
						
							
							
								
								LibC: Initialize libc only once  
							
							... 
							
							
							
							This was breaking stuff with dynamic loader initializing libc and main
executable reinitializing it later :D 
							
						 
						
							2024-09-24 17:56:12 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1b0086217c 
								
							 
						 
						
							
							
								
								Terminal: Do scrolling in putchar if necessary  
							
							... 
							
							
							
							I overlooked that handling *newline* scrolls would be enough. You can
definitely scroll more if printing a lot of text which wraps to the next
line. 
							
						 
						
							2024-09-23 15:00:47 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1280528e4e 
								
							 
						 
						
							
							
								
								BuildSystem: Use -O2 for all libraries  
							
							... 
							
							
							
							I don't know why I had not specified optimization level for libraries.
Only LibImage was using explicit -O3. LibImage doesn't need O3 anymore
as O2 seems to be around the same speed. 
							
						 
						
							2024-09-20 20:04:49 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								fbb99de728 
								
							 
						 
						
							
							
								
								ls: Show symlink target with `-l`  
							
							
							
						 
						
							2024-09-17 19:12:34 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a6b973003b 
								
							 
						 
						
							
							
								
								WindowServer: chmod the correct file  
							
							
							
						 
						
							2024-09-17 18:35:27 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e431e90b20 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement all chown family function with fchownat  
							
							
							
						 
						
							2024-09-17 18:35:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4aa466b948 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement all chmod family functions using fchmodat  
							
							
							
						 
						
							2024-09-17 17:19:26 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								04ae53b6df 
								
							 
						 
						
							
							
								
								Shell: Add back accidentally deleted `cd` and `time` builtins  
							
							
							
						 
						
							2024-09-17 16:38:45 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3666525d24 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement `readlink` in terms of `readlinkat`  
							
							
							
						 
						
							2024-09-17 16:38:15 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f1a4bbce53 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement all stat family functions with fstatat  
							
							... 
							
							
							
							This patch gets rid of 2 unnecessary syscalls! 
							
						 
						
							2024-09-17 16:38:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								708a720d9d 
								
							 
						 
						
							
							
								
								Kernel: Remove SYS_OPEN  
							
							... 
							
							
							
							This can be done with SYS_OPENAT with fd set to AT_FDCWD 
							
						 
						
							2024-09-17 16:16:47 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7177da7d62 
								
							 
						 
						
							
							
								
								LibC: Implement dummy get_rusage  
							
							... 
							
							
							
							One port seems to use this function. This dummy just reports no used CPU
time for current process nor children 
							
						 
						
							2024-09-17 15:59:22 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d88ee5c9ee 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement `creat` with `open`  
							
							... 
							
							
							
							This allows getting rid of unnecessary SYS_CREATE. Directory creation
still has its own syscall, but I could combine it with SYS_OPEN also. 
							
						 
						
							2024-09-17 15:55:53 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a084f83f4c 
								
							 
						 
						
							
							
								
								Kernel: Rework kernel-side ELF loading  
							
							... 
							
							
							
							ELFs are now loaded as MemoryRegions so they don't need special handling
anywhere. This also allows file backed COW optimizations to work. This
was not the case before.
This patch removes now obsolete LoadableELF and unused ELF files from
LibElf. 
							
						 
						
							2024-09-15 23:57:34 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1a24d1839f 
								
							 
						 
						
							
							
								
								LibInput: KeyEvent to ansi string now handles delete key  
							
							... 
							
							
							
							This allows Terminal emulator to also handle delete key.
The value of `\0x7F` may be wrong as qemu's serial console seems to be
sending `\e[3~` 
							
						 
						
							2024-09-15 03:13:21 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c3040a04a3 
								
							 
						 
						
							
							
								
								Terminal: Optimize printing a lot  
							
							... 
							
							
							
							Terminal used to run `yes` at around 400 lines per second
This patch pumps that to over 100'000 lines per second!
There are 2 optimizations done:
  1. only invalidate window once after rendering is done
  2. if printing more than `rows()` newlines skip prior data 
							
						 
						
							2024-09-15 03:12:26 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d68ad893f0 
								
							 
						 
						
							
							
								
								Kernel/Shell: Add support for delete key  
							
							
							
						 
						
							2024-09-14 22:45:48 +03:00