Bananymous 
							
						 
						
							
								74ae411b69 
								
							 
						 
						
							
							
								
								WindowServer: Skip invalidation on other windows in fullscreen mode  
							
							
							
						 
						
							2024-11-15 20:42:07 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d458592fb1 
								
							 
						 
						
							
							
								
								WindowServer: Don't focus unfocusable windows on window creation  
							
							
							
						 
						
							2024-11-15 20:41:42 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								627c89a62d 
								
							 
						 
						
							
							
								
								LibGUI: Actually set window attributes when creating a window  
							
							
							
						 
						
							2024-11-14 23:33:12 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a859558840 
								
							 
						 
						
							
							
								
								LibGUI: Window Creation takes attributes as an argument  
							
							... 
							
							
							
							This reduces windows showing/moving once they are opened and setting
their attributes. 
							
						 
						
							2024-11-14 20:57:34 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								bda2c663da 
								
							 
						 
						
							
							
								
								WindowServer: Implement fullscreen windows  
							
							... 
							
							
							
							If window size does not match framebuffer size, window data will be
scaled to framebuffer using nearest sampling for best performance. 
							
						 
						
							2024-11-13 19:10:15 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5e041e6e5a 
								
							 
						 
						
							
							
								
								WindowServer: Make all terminating signals exit cleanly  
							
							... 
							
							
							
							This allows window server to restore input handling to TTY if window
server crashes on page fault or some other unexpected exception. 
							
						 
						
							2024-11-13 17:32:13 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d19264eea8 
								
							 
						 
						
							
							
								
								WindowServer: Implement partial window resizing  
							
							... 
							
							
							
							This patch adds support for client side resizing, so clients can request
the server to resize their windows. WindowServer will respond with
resize event when and if the resizing is complete. 
							
						 
						
							2024-11-13 17:30:12 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7542e55cb2 
								
							 
						 
						
							
							
								
								LibC: Add option to debug userspace malloc family calls  
							
							
							
						 
						
							2024-11-10 14:03:25 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6bd51ac345 
								
							 
						 
						
							
							
								
								LibGUI: Client window now exits if it loses connection from server  
							
							... 
							
							
							
							This can be prevented by installing callback for socket errors. 
							
						 
						
							2024-11-10 14:02:23 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								cf21eb4b39 
								
							 
						 
						
							
							
								
								TaskBar: Cleanup TaskBar string generation  
							
							
							
						 
						
							2024-11-08 02:57:35 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								da8170c5b6 
								
							 
						 
						
							
							
								
								LibGUI: Add support for focusable windows and mouse capturing  
							
							... 
							
							
							
							These are essential parts of a window server! This allows making TaskBar
non-focusable. 
							
						 
						
							2024-11-08 02:55:10 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								12bc7480e0 
								
							 
						 
						
							
							
								
								LibC: Implement _Exit  
							
							... 
							
							
							
							This just calls _exit as POSIX says they can be equivalent 
							
						 
						
							2024-11-08 02:52:12 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								92862fdf39 
								
							 
						 
						
							
							
								
								LibC: Implement nan{,f,l} as functions  
							
							... 
							
							
							
							One port was using function pointers to these functions so macros don't
work. 
							
						 
						
							2024-11-08 02:49:21 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a356d90445 
								
							 
						 
						
							
							
								
								LibC: Fix libc compilation for 32 bit target  
							
							
							
						 
						
							2024-11-04 10:51:31 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f4be37700f 
								
							 
						 
						
							
							
								
								Kernel/userspace: rework floating point math  
							
							... 
							
							
							
							SSE is now unconditionally enabled any where and most of math.h is now
actually implemented. using __builtin_<func> lead to many hangs where
the builtin function would just call itself. 
							
						 
						
							2024-11-03 20:28:15 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2464fccadd 
								
							 
						 
						
							
							
								
								LibC: Fix *scanf consuming extra characters  
							
							
							
						 
						
							2024-10-19 12:43:23 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5fde2cf91a 
								
							 
						 
						
							
							
								
								TaskBar: Ignore window close events and exit on connection close  
							
							... 
							
							
							
							This prevents user from killing the task bar with keyboard shortcuts 
							
						 
						
							2024-10-18 17:19:05 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d57e797147 
								
							 
						 
						
							
							
								
								WindowServer: Don't kill window on key event, instead send close event  
							
							... 
							
							
							
							This allows notifying the client about window close and let client
handle it as it wants 
							
						 
						
							2024-10-18 17:17:58 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e99a271465 
								
							 
						 
						
							
							
								
								Userspace: Implement basic task bar  
							
							... 
							
							
							
							This bar only shows current time but its something to work on later! 
							
						 
						
							2024-10-18 03:36:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d266c7f93b 
								
							 
						 
						
							
							
								
								LibGUI: Implement attributes for windows  
							
							... 
							
							
							
							Windows can now change whether they have title bar, rounded corners,
alpha channel and whether they are movable. Also windows can also change
their own position 
							
						 
						
							2024-10-18 03:32:12 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d7e5c56e94 
								
							 
						 
						
							
							
								
								userspace: Use SOCK_STREAM instead of SOCK_SEQPACKET for WindowServer  
							
							... 
							
							
							
							This makes more sense if we have longer packages 
							
						 
						
							2024-10-17 01:44:48 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								91381546d5 
								
							 
						 
						
							
							
								
								Shell: Don't crash if history file does not exist :D  
							
							
							
						 
						
							2024-10-16 00:41:28 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								41e2b898ab 
								
							 
						 
						
							
							
								
								Shell: Implement history file for persistent history storage  
							
							
							
						 
						
							2024-10-16 00:21:58 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6e981d1222 
								
							 
						 
						
							
							
								
								Shell: Add support for inline environment variables  
							
							... 
							
							
							
							e.g. `foo=$(echo lol) Shell -c 'echo $foo'` will now print lol! 
							
						 
						
							2024-10-15 23:45:08 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8317bb13ca 
								
							 
						 
						
							
							
								
								Shell: Cleanup code by defining argument types as nested types  
							
							
							
						 
						
							2024-10-15 23:44:06 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c40f244dff 
								
							 
						 
						
							
							
								
								Shell: remove `env` builtin and add `type`  
							
							... 
							
							
							
							other shells don't seem to implement as a builtin, so i won't either 
							
						 
						
							2024-10-15 23:42:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a6aa048be0 
								
							 
						 
						
							
							
								
								userspace: Implement `env` as an executable  
							
							
							
						 
						
							2024-10-15 23:42:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6a46a25f48 
								
							 
						 
						
							
							
								
								image: Add benchmark flag to measure performance of image operations  
							
							
							
						 
						
							2024-10-13 22:05:13 +03:00  
				
					
						
							
							
								
								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  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4ca147699d 
								
							 
						 
						
							
							
								
								Shell: use printf and putchar instead of fprintf and fputc  
							
							
							
						 
						
							2024-09-14 22:37:09 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								abed41b8fa 
								
							 
						 
						
							
							
								
								Shell: Remove builtin tests  
							
							... 
							
							
							
							Test should be programs in /bin instead 
							
						 
						
							2024-09-14 22:28:33 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2604a55f80 
								
							 
						 
						
							
							
								
								Shell: Make ctrl+c start a new command  
							
							
							
						 
						
							2024-09-14 22:27:32 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7f25ddc229 
								
							 
						 
						
							
							
								
								userspace: Add missing alpha channels  
							
							
							
						 
						
							2024-09-12 20:53:45 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								97da386ed6 
								
							 
						 
						
							
							
								
								WindowServer: Make focused window bounce by pressing F2  
							
							... 
							
							
							
							This was an awesome idea by [@Dcraftbg](https://github.com/Dcraftbg ) 
							
						 
						
							2024-09-12 20:09:23 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c706829a91 
								
							 
						 
						
							
							
								
								WindowServer: Make corner-radius a variable in config file!  
							
							
							
						 
						
							2024-09-12 20:07:30 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6cd246a38e 
								
							 
						 
						
							
							
								
								WindowServer: Add support for rounded corners and transparency  
							
							
							
						 
						
							2024-09-12 19:35:44 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								43e88c0ae0 
								
							 
						 
						
							
							
								
								Terminal: Add alpha channel to colors  
							
							... 
							
							
							
							This doesn't do anything yet, but will when I add transparency support
for WindowServer 
							
						 
						
							2024-09-12 19:34:25 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								bf01b935bd 
								
							 
						 
						
							
							
								
								WindowServer: Start Terminal with Super+Enter  
							
							... 
							
							
							
							this allows doing something in GUI after Terminal is closed
also WindowServer is now stopped with Super+Shift+E 
							
						 
						
							2024-09-11 22:18:08 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								98c011e6a6 
								
							 
						 
						
							
							
								
								WindowServer: Open all fds as CLOEXEC  
							
							... 
							
							
							
							This will allow forking the window server cleanly :D 
							
						 
						
							2024-09-11 22:17:31 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								86dcb5c471 
								
							 
						 
						
							
							
								
								init: Don't leak pwent fd to child processes  
							
							
							
						 
						
							2024-09-11 22:11:05 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								467ac6c365 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement SOCK_CLOEXEC and SOCK_NONBLOCK  
							
							... 
							
							
							
							This removes the need for fcntl after creating a socket :) 
							
						 
						
							2024-09-11 21:59:11 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4006a04817 
								
							 
						 
						
							
							
								
								DynamicLoader: Don't do file backed mapping over file bounds  
							
							
							
						 
						
							2024-09-11 19:30:35 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4189a1c729 
								
							 
						 
						
							
							
								
								LibC: Make _init and _fini weak symbols  
							
							... 
							
							
							
							These seem to be missing sometimes when making shared executables 
							
						 
						
							2024-09-11 14:39:07 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a07cbabcb3 
								
							 
						 
						
							
							
								
								LibC: Define function sizes for setjmp and longjmp  
							
							... 
							
							
							
							dynamic linking was complaining about these not existing 
							
						 
						
							2024-09-10 16:21:20 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								19d16620a6 
								
							 
						 
						
							
							
								
								DynamicLoader: Don't do file backed mapping for filesz == 0  
							
							
							
						 
						
							2024-09-05 14:50:05 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e8bcebfb8e 
								
							 
						 
						
							
							
								
								DynamicLoader: Use file backed mmap when possible  
							
							
							
						 
						
							2024-09-05 13:59:39 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6affef76b1 
								
							 
						 
						
							
							
								
								test-shared: Add more shared tests  
							
							
							
						 
						
							2024-09-05 12:59:48 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								32ba4d07e2 
								
							 
						 
						
							
							
								
								Userspace: Remove unnecessary mov instruction from crt0  
							
							
							
						 
						
							2024-09-05 12:59:05 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ddaaf89c87 
								
							 
						 
						
							
							
								
								BuildSystem: Make default libc a shared library  
							
							
							
						 
						
							2024-09-05 12:58:35 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								9aed8dbe6b 
								
							 
						 
						
							
							
								
								Toolchain: Build crtbeginS.o crtendS.o and shared libgcc  
							
							
							
						 
						
							2024-09-05 12:58:21 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								aa7e92b275 
								
							 
						 
						
							
							
								
								Userspace: Write a dynamic loader  
							
							... 
							
							
							
							This allows running executing dynamically linked executables! 
							
						 
						
							2024-09-05 12:58:21 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f30947336a 
								
							 
						 
						
							
							
								
								BuildSystem: Cleanup cmake files  
							
							
							
						 
						
							2024-09-05 12:52:25 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								0bb44d7b75 
								
							 
						 
						
							
							
								
								LibC: Fix errno to work with shared libraries  
							
							
							
						 
						
							2024-09-04 21:16:04 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								35743cc8e6 
								
							 
						 
						
							
							
								
								LibC: Compile both static and shared version of LibC  
							
							... 
							
							
							
							libc target is now set as an alias for libc-static 
							
						 
						
							2024-09-02 21:28:02 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5f92807fdd 
								
							 
						 
						
							
							
								
								userspace: Allow building without SSE  
							
							... 
							
							
							
							I had added changes that had broken compilation without sse support 
							
						 
						
							2024-09-02 21:25:00 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								700c3444f5 
								
							 
						 
						
							
							
								
								LibELF: Add more values and macros for interpreting fields  
							
							
							
						 
						
							2024-09-02 20:40:38 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2ae2ede0b2 
								
							 
						 
						
							
							
								
								LibELF: Add value definitions for DT_  
							
							
							
						 
						
							2024-08-30 15:35:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8da2f12ba6 
								
							 
						 
						
							
							
								
								Kernel: Only load program headers of interpreter if its present  
							
							... 
							
							
							
							I was loading program headers of both executable and interpreter but
that is incorrect. The interpreter will itself load the program headers
of the executable. 
							
						 
						
							2024-08-28 21:19:37 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								50ab391133 
								
							 
						 
						
							
							
								
								test-globals: print something when calling main  
							
							... 
							
							
							
							This shows that constructors and destructors are called in correct order 
							
						 
						
							2024-08-28 17:09:07 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								991647bc8f 
								
							 
						 
						
							
							
								
								Userspace: Add shared library test  
							
							... 
							
							
							
							I will use this while testing my dynamic loader 
							
						 
						
							2024-08-28 17:08:37 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								57300687ff 
								
							 
						 
						
							
							
								
								LibC: Cleanup and fix missing LibC headers  
							
							
							
						 
						
							2024-08-28 17:07:58 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d559339f5f 
								
							 
						 
						
							
							
								
								LibC: Compile shared libc as well as static  
							
							
							
						 
						
							2024-08-28 17:07:15 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2bf65ef512 
								
							 
						 
						
							
							
								
								Kernel: Invoke ELF interpreter instead if it is specified  
							
							
							
						 
						
							2024-08-28 17:06:32 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5121d0d934 
								
							 
						 
						
							
							
								
								Kernel: Allow loading PIEs  
							
							... 
							
							
							
							This is initial work towards implementing dynamic loader and shared
library support. 
							
						 
						
							2024-08-27 17:32:22 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2c520391eb 
								
							 
						 
						
							
							
								
								Kernel/LibC: Add support for init_array and fini_array  
							
							
							
						 
						
							2024-08-27 00:47:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								991ae4383a 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement fchmod  
							
							
							
						 
						
							2024-08-25 15:07:42 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								bec3e8654f 
								
							 
						 
						
							
							
								
								Shell: Implement escaping quotes in quoted strings  
							
							
							
						 
						
							2024-08-24 17:13:50 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								500f774b7f 
								
							 
						 
						
							
							
								
								LibC: Add a lot of stub implementations for different libc functions  
							
							... 
							
							
							
							some ports want to link against these, but they are not ever called
based on simple testing
This patch adds stubs for
- openlog
- syslog
- getrusage
- mlock
- mprotect
- getpeername
- shutdown
- tzset
- mktime 
							
						 
						
							2024-08-22 15:10:41 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ca8832c0e1 
								
							 
						 
						
							
							
								
								LibC: Implement getaddrinfo and freeaddrinfo, add stub for getnameinfo  
							
							
							
						 
						
							2024-08-22 15:10:41 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1cbba113fd 
								
							 
						 
						
							
							
								
								LibC: Add and cleanup some networking structures and definitions  
							
							
							
						 
						
							2024-08-22 15:10:41 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								45b4b33a3d 
								
							 
						 
						
							
							
								
								LibC: Add definitions for some integer sizes to limits.h  
							
							
							
						 
						
							2024-08-22 15:10:41 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c453a8e2dc 
								
							 
						 
						
							
							
								
								LibC: Implement poll() using select  
							
							
							
						 
						
							2024-08-22 15:10:41 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								72f3fe0b12 
								
							 
						 
						
							
							
								
								LibC: Add empty files sys/param.h and sys/file.h  
							
							... 
							
							
							
							For some reason some ports include these files even when they detect
that they are not available 
							
						 
						
							2024-08-22 14:47:59 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								46b34817d2 
								
							 
						 
						
							
							
								
								snake: Remove random goto statements when regenerating apple's position  
							
							
							
						 
						
							2024-08-16 17:36:37 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								723e458bd7 
								
							 
						 
						
							
							
								
								Kernel/Terminal: Update terminal color themes and fix TTY bright/dark  
							
							
							
						 
						
							2024-08-12 21:15:55 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								25a47f0df3 
								
							 
						 
						
							
							
								
								LibC: Implement ungetc()  
							
							... 
							
							
							
							I didn't really test this, but I think this implementation does what it
needs to :) 
							
						 
						
							2024-08-12 19:14:55 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1bd7b86e60 
								
							 
						 
						
							
							
								
								Terminal: Implement cursor blinking  
							
							... 
							
							
							
							This looks much nicer than the old static cursor 
							
						 
						
							2024-08-12 14:24:17 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								18e7cf2069 
								
							 
						 
						
							
							
								
								Terminal: Add cursor rendering  
							
							... 
							
							
							
							Cursor is now shown at the current position. It can be hidden (or shown)
with the ansi `\033[?25h` or `\033[?25l` 
							
						 
						
							2024-08-12 00:50:06 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								60b4d90608 
								
							 
						 
						
							
							
								
								LibGUI: Add Window::get_pixel()  
							
							... 
							
							
							
							This is fine as its not reading from video memory 
							
						 
						
							2024-08-12 00:49:35 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5197000124 
								
							 
						 
						
							
							
								
								LibC: Fix qsort for types bigger than 64 bytes  
							
							
							
						 
						
							2024-08-11 18:00:05 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								9e79ef2a91 
								
							 
						 
						
							
							
								
								Terminal: Use pseudo terminal instead of pipes  
							
							... 
							
							
							
							Terminal can now send signals from keyboard (ctrl+c) to programs running
in the terminal! 
							
						 
						
							2024-08-11 01:02:59 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a5a097fa4a 
								
							 
						 
						
							
							
								
								Kernel/LibC: Add initial pseudo terminal support  
							
							... 
							
							
							
							This patch implements posix_openpt() and ptsname()
grantpt() and unlockpt() are left in LibC as stubs, as posix_openpt
currently does all of the needed work. 
							
						 
						
							2024-08-11 01:02:59 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ad645f31d0 
								
							 
						 
						
							
							
								
								Kernel/LibC: Add setsid()  
							
							
							
						 
						
							2024-08-11 00:58:12 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f08d429851 
								
							 
						 
						
							
							
								
								Terminal: Add utf8 parsing for input  
							
							... 
							
							
							
							This patch adds possibility to render multibyte utf8 codepoints! 
							
						 
						
							2024-08-11 00:54:51 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a12bfe4639 
								
							 
						 
						
							
							
								
								LibC: Don't crash when calling tcflush()  
							
							
							
						 
						
							2024-08-09 17:03:21 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6cda639869 
								
							 
						 
						
							
							
								
								LibC: Add stubs for tmpfile, mktemp and fchmod  
							
							
							
						 
						
							2024-08-09 17:02:49 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2797fe116f 
								
							 
						 
						
							
							
								
								LibC: Add stubs for some functions in {dlfcn,ftw,utime,wchar}.h  
							
							
							
						 
						
							2024-08-09 17:01:41 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e768cd53fb 
								
							 
						 
						
							
							
								
								LibC: Add definition for SIGWINCH  
							
							... 
							
							
							
							This is actually not yet sent, but programs can install signal handlers
for it! 
							
						 
						
							2024-08-09 17:00:13 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								83e2ad40d6 
								
							 
						 
						
							
							
								
								LibC: Implement gai_strerror and add stubs for {get,free}addrinfo  
							
							
							
						 
						
							2024-08-09 16:59:49 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7ebd0699e3 
								
							 
						 
						
							
							
								
								LibC: Add _PC* definitions to unistd.h  
							
							... 
							
							
							
							These are not used for anything yet 
							
						 
						
							2024-08-09 16:58:58 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								46b1d4d194 
								
							 
						 
						
							
							
								
								LibC: Remove cxx abi stuff from libc  
							
							... 
							
							
							
							These will cause multiple definitions when linking with libstdc++ 
							
						 
						
							2024-08-09 16:58:11 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f60e265397 
								
							 
						 
						
							
							
								
								LibC: Add ldexp to math.cpp  
							
							
							
						 
						
							2024-08-09 16:57:16 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2e642327ea 
								
							 
						 
						
							
							
								
								LibC: Implement localeconv()  
							
							
							
						 
						
							2024-08-09 16:56:48 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a87ce41030 
								
							 
						 
						
							
							
								
								LibC: rename fd_set internal variable  
							
							... 
							
							
							
							binutils seems to need access to the internal type and uses this name
for lookup. 
							
						 
						
							2024-08-09 16:55:52 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								0c8cae4cc3 
								
							 
						 
						
							
							
								
								LibC: Move ioctl to <sys/ioctl.h>  
							
							... 
							
							
							
							Some ports seem to be assuming that ioctl exists there and not in
stropts.h 
							
						 
						
							2024-08-09 16:54:30 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1c67b5e812 
								
							 
						 
						
							
							
								
								Kernel: Fix wait syscall to report status of exited children  
							
							
							
						 
						
							2024-08-09 16:52:35 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6fedf06150 
								
							 
						 
						
							
							
								
								LibC: Implement {sig,_,}{longjmp,setjmp}  
							
							
							
						 
						
							2024-08-09 15:58:56 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								91d513a672 
								
							 
						 
						
							
							
								
								2000th COMMIT: userspace: Implement basic fetch program bananfetch  
							
							... 
							
							
							
							This patch adds a obligatory fetch program to banan-os!
This program (`bananfetch`) fetches some basic information about the
operating system and the hardware its running on! 
							
						 
						
							2024-08-09 15:58:56 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								44f0ec601f 
								
							 
						 
						
							
							
								
								Kernel: Expose /proc/meminfo and fix /proc/<pid>/meminfo  
							
							... 
							
							
							
							Thread was unconditionally calling <stack>->size() without validating
that the stack actually exists 
							
						 
						
							2024-08-09 15:58:56 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2a659a9d03 
								
							 
						 
						
							
							
								
								BuildSystem: Fix enable sse definition  
							
							... 
							
							
							
							__enable_sse was never actually defined for any targets. This also adds
__arch definition for libc (so `utsname` works). 
							
						 
						
							2024-08-09 15:52:42 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3b23458ecc 
								
							 
						 
						
							
							
								
								LibC: Start work on locales  
							
							... 
							
							
							
							This patch adds 2 locales, POSIX locale and UTF8 locale.
functions `mbstowcs()` and `strcoll()` use locales to do convertions and
comparison respectively. 
							
						 
						
							2024-08-09 15:52:42 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7afdfb150f 
								
							 
						 
						
							
							
								
								LibC: Rewrite sigprocmask in terms of pthread_sigmask  
							
							... 
							
							
							
							Also don't fail SYS_SIGPROCMASK if how is invalid and set is NULL. 
							
						 
						
							2024-08-07 17:01:35 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								fe94d6cf89 
								
							 
						 
						
							
							
								
								LibC: Implement dummy rename() so vim can save files  
							
							... 
							
							
							
							vim calls rename when saving a file. This patch adds dummy
implementation that only works for regular files and does a copy instead
of proper rename. 
							
						 
						
							2024-08-05 20:16:05 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4d96ae56ac 
								
							 
						 
						
							
							
								
								LibC: Add stubs for ungetc(), tcflush() and symlink()  
							
							
							
						 
						
							2024-08-05 01:48:24 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								adadb10b15 
								
							 
						 
						
							
							
								
								LibC: Fix strsignal() and implement psignal()  
							
							
							
						 
						
							2024-08-05 00:59:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a749b9806e 
								
							 
						 
						
							
							
								
								LibC: Add definition for h_errno  
							
							... 
							
							
							
							Nothing uses this yet, but linking will succeed 
							
						 
						
							2024-08-05 00:58:06 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								615d9d4abe 
								
							 
						 
						
							
							
								
								LibC: Add INADDR_LOOPBACK  
							
							... 
							
							
							
							Some port was using this. Loopback addresses are not supported, but they
will be 127.0.0.1. 
							
						 
						
							2024-08-05 00:56:42 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								aa03274093 
								
							 
						 
						
							
							
								
								LibC: Remove O_DIRECTORY from opendir()  
							
							... 
							
							
							
							opendir() did not work on symlinks after with this flag... 
							
						 
						
							2024-08-05 00:55:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e7a06979ec 
								
							 
						 
						
							
							
								
								LibC: Implement usleep()  
							
							... 
							
							
							
							This is not a POSIX function, but some ports seem to be using it either
way 
							
						 
						
							2024-08-05 00:54:17 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3651306f57 
								
							 
						 
						
							
							
								
								LibC: Implement strto{u,i}max()  
							
							
							
						 
						
							2024-08-05 00:53:27 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5dce4e6aea 
								
							 
						 
						
							
							
								
								LibC: Implement strftime()  
							
							... 
							
							
							
							I did not test this at all, this might very well be broken 
							
						 
						
							2024-08-05 00:49:44 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1d9041f2aa 
								
							 
						 
						
							
							
								
								LibC: make opendir() fail if path is not a directory  
							
							
							
						 
						
							2024-08-01 22:57:46 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a578527012 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement ioctl(TIOCGWINSZ)  
							
							... 
							
							
							
							This allows ncurses to get the window size! 
							
						 
						
							2024-08-01 22:56:26 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a33b63d066 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement alarm() and setitimer()  
							
							... 
							
							
							
							This makes vim able to start! 
							
						 
						
							2024-08-01 21:09:56 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6de350ce9d 
								
							 
						 
						
							
							
								
								Kernel/LibC: Cleanup, fix and implement a lot of signal code  
							
							... 
							
							
							
							This patch implements sigsets and some of their usages 
							
						 
						
							2024-08-01 17:01:18 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								401b460d75 
								
							 
						 
						
							
							
								
								LibC: Implement setbuf() and setvbuf()  
							
							
							
						 
						
							2024-08-01 01:30:00 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c440204fa5 
								
							 
						 
						
							
							
								
								LibC: Implement dummy strcoll()  
							
							
							
						 
						
							2024-07-31 23:58:10 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								adf50dffd8 
								
							 
						 
						
							
							
								
								LibC: Implement uname()  
							
							
							
						 
						
							2024-07-31 23:54:26 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								20d38ed28c 
								
							 
						 
						
							
							
								
								LibC/Shell: Implement gethostname() and shell uses it for hostname  
							
							
							
						 
						
							2024-07-31 23:53:55 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								edc30cd71d 
								
							 
						 
						
							
							
								
								LibC: Compile without exceptions  
							
							... 
							
							
							
							This allows libc to not require __gxx_personality_v0. I can maybe add
C++ back to libc... :D I don't know why I did not research earlier what
this symbols was used for 
							
						 
						
							2024-07-31 23:33:41 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								10ce03a1e7 
								
							 
						 
						
							
							
								
								LibC: Implement ctime() and asctime()  
							
							
							
						 
						
							2024-07-31 23:26:10 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5fca5c774a 
								
							 
						 
						
							
							
								
								LibC: Implement umask()  
							
							
							
						 
						
							2024-07-31 23:26:10 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								fc6c39e670 
								
							 
						 
						
							
							
								
								LibC: Implement gettimeofday()  
							
							
							
						 
						
							2024-07-31 23:26:06 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e52dac3b25 
								
							 
						 
						
							
							
								
								LibC: Implement tmpnam()  
							
							... 
							
							
							
							This implementation is not really spec compliant as rand() does not
guarantee TMP_MAX different outputs + seeding 
							
						 
						
							2024-07-30 12:02:30 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								62db9a8ef3 
								
							 
						 
						
							
							
								
								LibC: Implement C++ static guards  
							
							
							
						 
						
							2024-07-30 12:02:05 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f0be4f86a6 
								
							 
						 
						
							
							
								
								LibC/Kernel: Implement access  
							
							
							
						 
						
							2024-07-30 11:51:07 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e5bb843059 
								
							 
						 
						
							
							
								
								LibC/Kernel: Implement ttyname  
							
							
							
						 
						
							2024-07-30 11:41:18 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ca774dfeb5 
								
							 
						 
						
							
							
								
								LibC: Implement setlocale() for C locale  
							
							
							
						 
						
							2024-07-30 11:33:02 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								681d8327f5 
								
							 
						 
						
							
							
								
								LibC/Kernel: Cleanup termios code  
							
							... 
							
							
							
							This is still not correct, but much better than it used to be 
							
						 
						
							2024-07-30 11:10:43 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e00efca170 
								
							 
						 
						
							
							
								
								Userspace: Pprogram template and loadfont mark install as optional  
							
							
							
						 
						
							2024-07-21 17:41:40 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3ab1214012 
								
							 
						 
						
							
							
								
								LibC: Fix _toupper and _tolower definitions  
							
							... 
							
							
							
							They were using C++ global namespace, which of course does not exist for
C targets. 
							
						 
						
							2024-07-18 01:10:51 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								61f0043cd8 
								
							 
						 
						
							
							
								
								resolver: Fix infinite debug printing loop, if client disconnects  
							
							
							
						 
						
							2024-07-16 15:05:07 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5b8fdbc82d 
								
							 
						 
						
							
							
								
								LibC: Don't expose math.h in stdlib.h  
							
							
							
						 
						
							2024-07-16 12:47:38 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a5cb4057f9 
								
							 
						 
						
							
							
								
								Kernel: Implement unified input files for device hot-plugging support  
							
							... 
							
							
							
							/dev/keyboard and /dev/mouse can be read for events from any attached
keyboard or mouse respectively. This makes device hot-plugging support
pretty much automatic for TTY, GUI, and whatever takes input. 
							
						 
						
							2024-07-15 22:11:15 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								442ea8a692 
								
							 
						 
						
							
							
								
								BAN: Remove Optional emplace constructor  
							
							... 
							
							
							
							This was kind breaking some initializations. Emplacing is still possible
through Optional::emplace 
							
						 
						
							2024-07-14 01:53:50 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a97a574718 
								
							 
						 
						
							
							
								
								Kernel: Rewrite the whole input system  
							
							... 
							
							
							
							PS/2 code is now kind of messed up, but it works. Keyboards and mice are
now an abstract class that is automatically exposed to userspace. This
will make adding USB input much nicer. 
							
						 
						
							2024-07-14 01:53:50 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8ddab05ed3 
								
							 
						 
						
							
							
								
								BuildSystem: Cleanup userspace directory layout  
							
							... 
							
							
							
							userspace programs are now in userspace/programs
userspace tests are now in userspace/tests
This makes listing userspace projects much cleaner. Libraries were
already separated to their own directory, so other programs should also. 
							
						 
						
							2024-07-03 09:18:02 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5dc441c4af 
								
							 
						 
						
							
							
								
								Kernel/userspace: Implement KD_LOADFONT and loadfont program  
							
							
							
						 
						
							2024-07-03 09:02:49 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d58a569660 
								
							 
						 
						
							
							
								
								WindowServer: Limit msync to 60 Hz and only sync necessary pages  
							
							... 
							
							
							
							This speeds up GUI a lot. I can now run GUI on real hardware at almost
60 Hz. 
							
						 
						
							2024-06-29 19:00:58 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								0c645ba867 
								
							 
						 
						
							
							
								
								LibGUI: Window now uses double buffering  
							
							... 
							
							
							
							This allows data in shared memory object be always up to date. With this
change window server can update lazily, and not necessarily on all
invalidate calls 
							
						 
						
							2024-06-27 00:39:59 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f538dd5276 
								
							 
						 
						
							
							
								
								test-tcp: Fix printing of "connection reset" when tcp connection closed  
							
							
							
						 
						
							2024-06-27 00:39:22 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								66905fcc08 
								
							 
						 
						
							
							
								
								http-server: Make http-server actually usable  
							
							... 
							
							
							
							http-server now implements basic static content from a specified
directory. 
							
						 
						
							2024-06-25 19:36:10 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								af4b138094 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement realpath  
							
							... 
							
							
							
							realpath is implemented as a syscall. This is not really required but it
was the easiest way to get it working as there is already path
canonicalization at kernel level. 
							
						 
						
							2024-06-25 19:32:40 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								95681a7a05 
								
							 
						 
						
							
							
								
								LibImage: Cleanup bicubic calculations  
							
							
							
						 
						
							2024-06-25 11:04:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								67dfe0bcf3 
								
							 
						 
						
							
							
								
								BAN: Allow String::formatted to fail  
							
							
							
						 
						
							2024-06-25 11:04:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								61aa1ea11f 
								
							 
						 
						
							
							
								
								sudo: Fix installation permissions  
							
							... 
							
							
							
							I had accudentally removed SETUID bit from sudo. This required to
elevate the permissions. 
							
						 
						
							2024-06-24 15:00:08 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								20aa7c79d1 
								
							 
						 
						
							
							
								
								BuildSystem: Fix crt file installation  
							
							... 
							
							
							
							crt files should be installed always before userpace programs are
linked. 
							
						 
						
							2024-06-22 17:30:00 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								22548a3f4a 
								
							 
						 
						
							
							
								
								BuildSystem: Fix crt file installation  
							
							... 
							
							
							
							crt files for userspace are now a dependency of libc, which means that
everytime libc gets installed, crt files will also install.
This fixes the problem when building libc 
							
						 
						
							2024-06-21 17:10:58 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								9e1b5cbaab 
								
							 
						 
						
							
							
								
								BuildSystem: Cleanup CMake code to allow libc only installation  
							
							... 
							
							
							
							There was no way to just install libc which is required for stdlibc++ 
							
						 
						
							2024-06-21 01:45:14 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1488ec5a03 
								
							 
						 
						
							
							
								
								Userspace: Implement the most basic http server  
							
							... 
							
							
							
							This server just responds with static http "hello world" to every
incoming request 
							
						 
						
							2024-06-20 13:29:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ad6d95ba52 
								
							 
						 
						
							
							
								
								BuildSystem: Rework the whole cmake build system  
							
							... 
							
							
							
							Now files are installed using the install() command instead of manually
copying files to their destinations. This allows automatic recompilation
of headers that did not work previously 
							
						 
						
							2024-06-19 09:40:03 +03:00